自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(247)
  • 收藏
  • 关注

原创 我的2021秋招之路 -- 字节跳动提前批三面面经(已 offer)

投的抖音,感觉他们组不是用 Java 的,一脸尴尬。。这里得夸下字节跳动,博主 6.29 投的简历,6.30 HR 就来约面了,可能因为候选人比较多,直接约到了 7.6。一面7.6:60min项目(直接问了25 min)Java map 讲一下线程的同步机制线程安全osi 七层模型三次握手,四次挥手TCP UDP 区别智力题:A,B 丢硬币,硬币正反概率均为1/2,先丢到正面的人赢,A 先丢,问 A,B 赢的概率算法题:42. 接雨水一面后感觉答得一般般,不过面试官还是给了机会,H

2020-07-09 12:05:42 2350 3

原创 博主在阿里笔试中拿了0分,竟是因为分不清楚 Java 输入类 nextLine 与 next 两个方法的区别

前言以前做算法题,都是实现一个方法,需要的参数会在方法参数中直接给出,而且需要的返回值直接在方法中 return 就好了。但是,这次阿里笔试,让博主遭遇百万点暴击,需要的参数居然要到输入流中读取,而且返回结果居然直接输出到控制台上!由于没有见过这种套路,博主的心态极差,且十分惊奇地发现,当使用 Java 输入类 nextLine 方法读取输入流中的字符串时,总会莫名其妙地少读一部分!然后...

2020-04-01 20:53:46 115367 50

转载 初探 Go 的编译命令执行过程

文章目录理解 Go 的环境变量GOROOTGOPATH命令源码文件:库源码文件测试源码文件GOBINPATH初探 Go 的编译过程go rungo buildgo installgo get理解 Go 的环境变量GOROOT该环境变量的值为 Go 语言的当前安装目录。GOPATH该环境变量的值为 Go 语言的工作区的集合(意味着可以有很多个)。工作区类似于工作目录。每个不同的目录之间用:分隔。(不同操作系统,GOPATH 列表分隔符不同,UNIX-like 使用 :冒号,Windows 使用;分号

2021-02-24 19:21:14 421

转载 Goroutine 并发调度模型深度解析之手撸一个高性能 goroutine 池

文章目录1 前言2 Goroutine & Scheduler2.1 线程那些事儿2.1.1 用户级线程模型2.1.2 内核级线程模型2.1.3 两级线程模型2.2 G-P-M 模型概述2.3 G-P-M 模型调度2.3.1 用户态阻塞/唤醒2.3.2 系统调用阻塞3 大规模 Goroutine 的瓶颈3.1 一个 http 标准库引发的血案3.2 釜底抽薪4 实现一个 Goroutine Pool4.1 设计思路4.2 实现细节4.2.1 首先是 Pool struct :4.2.2 初始化 Po

2021-02-23 17:38:55 782

原创 Linux 从入门到跑路第二十五讲 -- 日志管理与启动管理

文章目录常见日志日志文件格式系统运行级别常见日志日志文件格式Linux 中采用 rsyslogd 进行日志管理,所以所有日志的格式基本相同,我们可以打开一个日志文件:可见,一个基本日志格式包含以下四列:事件发生的时间发生事件的服务器的主机名发生事件的服务名或程序名事件的具体信息系统运行级别...

2020-12-28 20:22:16 357

原创 Linux 从入门到跑路第二十四讲 -- 系统管理

文章目录查看系统中的所有进程查看系统健康状态查看进程树kill 命令killall 命令查看系统中的所有进程可以执行以下两条命令中的任意一条ps auxps -le我们分析一下显示的结果,每一行代表一个进程,每一列的作用如下:查看系统健康状态查看系统健康状态可以使用 top 命令top [选项]常用选项如下:执行结果如下:我们先来看一下上面五行,每一行的定义如下:查看进程树查看进程树可以使用 pstree 命令pstree [选项]kill 命令

2020-12-28 17:49:22 217 2

原创 Linux 从入门到跑路第二十三讲 -- 流程控制

文章目录单分支 if 语句双分支 if 语句多分支 if 语句case 语句for 语句while 语句until 语句单分支 if 语句if [ 条件判断式 ];then 程序fi 我们编写一个程序,用来查看分区使用率是否超过了我们的预期,如果超过了则发出警告,程序如下:#!/bin/bashrate=$(df -h | grep /dev/vda1 | awk '{print $5}' | cut -d "%" -f 1)if [ $rate -ge 5 ];then

2020-12-28 17:48:22 165

原创 Linux 从入门到跑路第二十二讲 -- 条件判断

文章目录判断文件是否存在判断文件权限两个文件之间比较整数之间的比较判断文件是否存在测试文件是否存在判断文件权限两个文件之间比较整数之间的比较

2020-12-26 18:52:06 148

原创 Linux 从入门到跑路第二十一讲 -- 字符串截取

文章目录正则表达式正则表达式

2020-12-26 18:51:14 2212 4

原创 Linux 从入门到跑路第二十讲 -- Shell 基础(二)

文章目录本地变量环境变量系统常见环境变量位置参数变量预定义变量接收键盘输入本地变量定义一个变量变量叠加查看变量使用 set 命令可以查看系统中的所有变量,如果我们想查看我们定义的 name 变量,可以执行以下命令:使用 unset 命令可以删除指定变量环境变量用户自定义变量只在当前 shell 生效,而环境变量会在当前 shell 和这个 shell 的所有子 shell 当中生效。如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的 shell 中生效。设置环境变量

2020-12-24 11:29:21 250

原创 Linux 从入门到跑路第十九讲 -- Shell 基础(一)

文章目录第一个脚本第一个脚本我们创建一个文件[root@VM-0-4-centos sh]# vim hello.sh然后输入以下内容:#!bin/Bashecho "Hello World"通过 bash 调用执行脚本。

2020-12-24 11:28:01 353 2

转载 可能是全网介绍 OAuth2 最详细的一篇文章(下)

文章目录想让 OAuth2 和 JWT 在一起愉快玩耍?无状态登录什么是有状态什么是无状态如何实现无状态JWT简介JWT 数据格式JWT 交互流程JWT 存在的问题OAuth2 中的问题改造方案授权服务器改造资源服务器改造测试原理想让 OAuth2 和 JWT 在一起愉快玩耍?前面的文章松哥侧重于和大家理清楚 OAuth2 的登录流程,对于一些登录细节则没有去深究,接下来松哥会和大家把这些案例一一进行晚上。今天松哥主要和大家分享如何把 OAuth2 和 JWT 套在一起玩!传统的通过 session

2020-12-20 23:08:10 1488

转载 可能是全网介绍 OAuth2 最详细的一篇文章(上)

文章目录为什么需要 OAuth2?快递员问题授权机制的设计互联网场景令牌与密码什么是 OAuth2四种模式授权码模式简化模式密码模式客户端模式OAuth2 授权码模式的实现案例架构授权服务器搭建资源服务器搭建第三方应用搭建测试另外三种模式的实现简化模式密码模式客户端模式刷新 tokenOAuth2 令牌还能存入 Redis ?令牌往哪里存?客户端信息入库第三方应用优化为什么需要 OAuth2?关于我们为什么需要 OAuth2 的问题,网上的文章很多,我们常见的第三方登录就是一个 OAuth2 的典型应用

2020-12-20 23:04:30 771 1

原创 Docker 原理剖析(三)rootfs

文章目录前言Change Rootrootfsrootfs 的组成前言我们之前介绍过了 Linux 最基础的两种技术,Namespace 和 Cgroups。Namespace 的作用是隔离,它可以让进程只能看到 Namespace 里面的世界;Cgroups 的作用是限制,给这个世界围上了一堵墙。这样,这个进程便真的与世隔绝了。现在世界已经有了墙,那么如果容器低头看向了地面,它能看到什么呢?或者说,容器里的进程看到的文件系统又是什么样子的呢?Change Root你可能会说这是一个 Mount

2020-12-17 16:50:29 2473

原创 Docker 原理剖析(二)限制

文章目录前言Linux CgroupsCgroups 存在的问题总结前言在上一篇文章中我已经介绍了 Linux 容器实现隔离的手段 – Namespace。Namespace 技术实际上修改了应用进程看待整个计算机视图,即它的视线被操作系统做了限制,只能看到某些指定的内容。但其实对宿主机来说,这些隔离了的进程与其他进程并无多大区别。在介绍完隔离技术后,我们再来介绍一下容器的限制技术。Linux Cgroups也许你会问,我们不是通过 Linux Namespace 创建了一个容器了嘛,为什么还是需

2020-12-17 16:49:26 265

原创 Docker 原理剖析(一)隔离

文章目录引子手段测试原理引子我们之前说过,容器是一种沙盒技术,通俗地说,容器可以像一个集装箱一样把我们的应用装起来。这样,应用与应用之间便有了边界,不会互相干扰,被放进集装箱的应用也可以被我们搬来搬去,完美!那么,你可知道这功能是如何实现的呢?今天,我们便来聊聊边界的实现手段。手段我们先下结论,容器技术的核心功能,就是通过约束和修改进程的动态表现,从而为其创造出一个边界。对于一个进程来说,它的静态表现就是程序,平时就呆在磁盘上。当它运行起来了,就变成了计算机里的数据和状态的总和,包括计算机内存中的

2020-12-17 10:52:25 499

原创 查看及修改运行环境参数:jinfo

想要查看及修改运行环境参数?来试试 jinfo 吧!

2020-12-14 10:02:46 817 4

原创 监控 JVM 的资源和性能:jstat

不会监控 JVM 的资源和性能?jstat 了解一下。

2020-12-13 21:40:53 159 1

原创 查看当前用户启动的 Java 进程:jps

jps 都不会?耗子喂汁吧。

2020-12-12 21:43:24 1210 2

原创 查看堆内对象的工具:jmap

jmap,Java 程序员不能说不会

2020-12-12 13:23:36 1963 2

原创 什么?同步太慢了?为什么不试试异步处理呢?

我说我不会异步处理,老板劝我耗子喂汁

2020-12-11 16:48:56 595 2

原创 处理数据你还用单线程?OUT 了老兄!赶快来试试多线程吧!

我跟老板说我只会单线程,他通知我去找财务把工资结一下

2020-12-10 20:20:28 285 6

原创 分析线程状态的利器:jstack

bug 你不讲武德,还好我有 jstack 这个帮手,不然真被你坑了!

2020-12-10 10:45:06 455

原创 带你一步一步使用 Docker 部署一个 SpringBoot 项目

好家伙,原来使用 Docker 来部署一个 SpringBoot 项目这么简单

2020-12-09 14:59:07 249

原创 Linux 从入门到跑路第十六讲 -- 用户和用户组管理命令

文章目录useradd 命令passwd 命令usermod 命令chage 命令userdel 命令id 命令su 命令groupadd 命令groupmod 命令groupdel 命令gpasswd 命令useradd 命令该命令可以添加用户。该命令格式如下:useradd [选项] 用户名常用的选项如下:passwd 命令在使用 useradd 命令添加用户之后,该用户是无法使用的,为什么呢?因为它没有设置密码。那么我们如何才能给用户设置密码呢?很简单,使用 passwd 命令就好了

2020-12-04 10:07:46 101

原创 Linux 从入门到跑路第十五讲 -- 用户管理相关文件

文章目录用户的家目录用户的邮箱用户模板目录用户的家目录我们可以这么理解,每个用户登录之后,总得有一个起始登录位置,那我们便把这个用户起始登录位置称为用户的家目录。家目录存放着用户数据,用户在家目录中默认拥有所有权限。普通用户:家目录为 /home/用户名,所有者和所属组都是此用户,权限为700超级用户:家目录为 /root,所有者和所属组都是 root 用户,权限是550用户的邮箱Linux 会按照 /var/spool/mail/用户名 的路径为每个用户创建一个邮箱。用户模板目录如果我

2020-12-04 10:07:10 86

原创 Springboot 如何使用外部配置文件

文章目录引子实现总结引子我们现在大部分的项目都是直接打包成 jar 运行,如果我们把配置文件放置在项目之中,那么我们在修改配置文件的时候就需要重新打包,效率十分的低下。那么,我们能不能在引入一个外部配置文件,直接从这个外部配置文件中读取配置信息,在修改时不需要重新打包呢?说干就干,我们来测试一下。实现项目配置文件 application.propertiesserver.port=8082demo.test.name=uu然后我们实现一个接口package com.example.demo

2020-12-03 17:55:43 555

原创 Linux 从入门到跑路第十八讲 -- 文件系统管理

文章目录df 命令du 命令dumpe2fs 命令mount 命令umount 命令df 命令该命令用于文件系统查看,格式如下:df [选项] [挂载点]常见的选项如下:du 命令该命令用于统计目录或文件大小,格式如下:du [选项] [目录或文件名]常用选项如下:du 命令与 df 命令的区别dumpe2fs 命令该命令用于显示磁盘状态,格式如下:dumpe2fs 分区设备文件名mount 命令该命令用于实现查询与自动挂载,例如:该命令显示了系统中已经挂载的

2020-11-27 14:01:25 102

原创 Linux 从入门到跑路第十七讲 -- 权限管理命令

文章目录

2020-11-27 14:00:40 106

原创 Linux 从入门到跑路第十四讲 -- 用户配置文件

文章目录前言/etc/passwd/etc/shadow/etc/group/etc/gshadow前言在 Linux 中主要通过用户配置文件来查看和修改用户信息。因此,对用户配置文件的学习是学习 Linux 的一个重要步骤,下面就让我们一起走进用户配置文件的世界吧!/etc/passwd这是一个用户信息文件,每一个用户的基本信息都保存在此文件中。我们使用 Vim 打开这个文件:其显示如下:咦,这看起来密密麻麻的,我怎么知道它的具体含义啊?莫急,且待我为你慢慢介绍各个字段的含义,下面我们的

2020-11-19 17:09:55 148

原创 Linux 从入门到跑路第十三讲 -- 软件包管理之 yum 在线管理

文章目录前言查询查询所有可用软件包列表搜索服务器上所有和关键字相关的包安装升级卸载前言我们在前一讲中提到过 rpm 命令管理,那么,既然有了 rpm 命令管理,为什么还需要 yum 在线管理呢?其实,这是因为 RPM 包的依赖性实在是太烦人了,安装起来十分的麻烦。yum 是为了解决 RPM 包的依赖性而开发的一种安装方法,你只要告诉系统,你要安装哪一个软件包,它就会自动下载软件包,连带软件包所需要的依赖也会一起下载下来。由于 yum 是在线管理,所以需要连接网络。查询查询所有可用软件包列表yu

2020-11-19 17:09:06 109

原创 Linux 从入门到跑路第十二讲 -- 软件包管理之 rpm 命令管理

文章目录软件包分类RPM 包命名原则RPM 包依赖性包全名和包名RPM 包的安装,升级与卸载RPM 包安装RPM 包升级RPM 包卸载RPM 包的查询查询是否安装查询软件包详细信息查询包中文件安装位置查询系统文件属于哪个 RPM 包查询软件包的依赖性RPM 包的校验和文件提取RPM 包的校验RPM 包的文件提取软件包分类在 Linux 下,软件包可以分为两类:源码包:顾名思义,就是把源代码直接给你二进制包:又称 RPM 包,也称系统默认包,与源码包不同,二进制包是经过编译的,可以加快安装速度,简化

2020-11-18 09:34:57 172

原创 Linux 从入门到跑路第十一讲 -- 文本编辑器 Vim

文章目录什么是 Vim?Vim 工作模式插入命令定位命令删除命令复制和剪切命令替换和取消命令搜索和搜索替换命令保存和退出命令导入命令执行结果什么是 Vim?Vim 是一个文本编辑器,其作用为建立,编辑,显示文本文件。Vim 没有菜单,只有命令。Vim 工作模式Vim 有三种工作模式,分别是:命令模式:输入 vi filename 进入,输入 :wq 退出插入模式:在命令模式中输入 iao 进入,按 ESC 键退出到命令模式编辑模式:以回车结束运行,回到命令模式中插入命令我们可以输入

2020-11-18 09:34:09 238

原创 Linux 从入门到跑路第十讲 -- 关机重启命令

文章目录shutdown 命令logout 命令shutdown 命令该命令用于关机重启,其语法如下:shutdown [选项] 时间常用的几个选项如下:-c:取消前一个关机命令-h:关机-r:重启如果我们想要立即重启,可以执行以下命令:logout 命令该命令可以退出登录。...

2020-11-16 19:21:35 121

原创 Linux 从入门到跑路第九讲 -- 网络命令

文章目录write 命令wall 命令ping 命令ifconfig 命令mail 命令last 命令traceroute 命令netstat 命令write 命令该命令给用户发送信息(需要对方在线),语法如下:write 用户名需要注意的是,write 命令以 Ctrl + D 保存结束。下面我们来做一个测试,使用 root 给用户 ling 发送信息。首先我们在 root 上执行 write 命令。write 命令下面跟要传输的信息。然后我们打开 ling 用户,发现可以获取 root

2020-11-16 11:19:24 116

原创 Linux 从入门到跑路第八讲 -- 压缩解压命令

文章目录

2020-11-16 11:18:43 172

原创 Linux 从入门到跑路第七讲 -- 用户管理命令

文章目录useradd 命令passwd 命令who 命令useradd 命令该命令用于添加新用户,执行权限为 root,语法为:useradd 用户名passwd 命令该命令用于设置用户密码,root 可以更改任何用户的密码,而普通用户只能更改自己的密码,passwd 命令的语法如下:passwd 用户名例如,我们想为用户 ling 修改一下密码,命令可以写成这个样子:wh...

2020-11-15 22:07:34 73

原创 Linux 从入门到跑路第六讲 -- 帮助命令

文章目录man 命令help 命令man 命令该命令可以获取命令或配置文件的帮助信息(查看配置文件的帮助并不需要写配置文件的绝对路径,直接写配置文件名就行了),其语法为:man [命令或配置文件]下面我们来示范一下,如何获取 ls 命令的帮助信息。可见,我们可以获取相应的 ls 命令的作用,选项等一系列信息。help 命令该命令可以获取 shell 内置命令的帮助信息,其语法为...

2020-11-15 12:07:10 98

原创 Linux 从入门到跑路第五讲 -- 文件搜索命令

前言文件搜索是一个很耗费系统资源的操作,我们应该尽量少执行这样的操作,特别是不要在服务器高峰时期进行查找,而且搜索范围越小越好。find 命令该命令可用于文件搜索,其语法为;find [搜索范围] [匹配条件]根据文件名搜索一般我们用的最多的就是根据文件名搜索,这个在 Linux 中需要使用 -name 选项,例如,如果我们需要在目录 /etc 中查找文件 init,命令可以这么写:...

2020-11-13 09:13:56 165

原创 Linux 从入门到跑路第四讲 -- 权限管理命令

文章目录chmod 命令默认权限chown 命令chgrp 命令chmod 命令该命令用于改变文件或目录权限(只有 root 或拥有者才能修改权限),其语法如下:chmod [{ugoa}{+-=}{rwx}] [文件或目录]chmod [mode=421] [文件或目录]加上选项 -R 表示递归修改。我们先来解释第一个命令,u 表示所有者,g 表示所属组,o 表示其它人,a 则表示...

2020-11-13 09:12:52 121

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除