logo头像

BUG本天成,妙手偶得之

Linux实践 - 创建用户

目标创建一个admin用户用于日常操作(root权限太高,不宜直接使用)。 创建新用户 adduser [用户名] 1[root@VM_0_8_centos ~]# adduser admin 设置密码 passwd [用户名] ...

Linux实践 - 开发环境

目标搭建JAVA开发环境,可以支持简单的web应用。 Java 8 Git Mysql Maven Nginx Java 8推荐两种方式: yum 安装 官网下载.rpm文件安装 yum 安装查看可安装的包,通过关键词过滤一下...

分布式场景下的定时任务实践

分布式场景下的定时任务实践

背景应用中常会需要一些定时执行的任务,在spring中通过@Scheduled注解可以轻松实现。 然鹅现在正儿八经的项目一般不会只部署一个实例,至少也得搞两台支持不中断服务的发布,壕一点的部署个十几台、几十台的问题不大。 这样一来我们...

从TCP的三次握手和四次挥手说起

从TCP的三次握手和四次挥手说起

只知道它有三次握手和四次挥手是不足以应付严格的面试官的… 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。 我们熟悉的HTTP就是基于TCP来...

JAVA中有趣的移位操作

JAVA中有趣的移位操作

<<, >>, >>> 这些符号什么意思?有哪些容易被遗漏的细节? 上次介绍了JAVA中有趣的位运算,知道了位运算是直接对一个整形的二进制位进行操作,效率上比起加减乘除高不少,因此常运用在...

JAVA中有趣的位运算

&, |, ^, ~ 这些符号什么意思?有什么妙用?一起来感受它们的神奇吧~ 当我们看一些源码的时候,经常会看到诸如 &、|、^、~ 的符号,这些就是位运算符。 位运算是直接对一个整形的二进制位进行操作,效率上比起...

探索JAVA并发 - 悲观锁和乐观锁

什么是悲观锁,什么是乐观锁,它们是如何实现的? 定义 悲观锁:对世界充满不信任,认为一定会发生冲突,因此在使用资源前先将其锁住,具有强烈的独占和排他特性。 乐观锁:相信世界是和谐的,认为接下来的操作不会和别人发生冲突,因此不会上锁...

探索JAVA并发 - 可重入锁和不可重入锁

什么是可重入锁,什么是不可重入锁,它们是如何实现的? 定义 可重入锁:当线程获取某个锁后,还可以继续获取它,可以递归调用,而不会发生死锁; 不可重入锁:与可重入相反,获取锁后不能重复获取,否则会死锁(自己锁自己)。 不可重入锁用...