解析ReentrantLock实现原理
摘要:在Java中通常实现锁有两种方式,一种是synchronized关键字,另一种是Lock(Lock的实现主要有ReentrantLock、ReadLock和WriteLock)。synchronized是基于JVM层面实现的,而Lock是基于JDK层面实现的。synchronized是基于Monit
阅读全文
posted @
2019-03-28 23:56
kosamino
阅读(386)
推荐(0) 编辑
多线程同步synchornized、volatile、Atomic、CountDownLatch示例
摘要:synchronized关键字 锁对象。synchronized(this)和synchronized方法都是锁当前对象。 同步方法 - static:静态同步方法,锁的是当前类型的类对象。在代码中就是类名.class 同步方法 - 原子性 加锁的目的: 就是为了保证操作的原子性。 同步方法 - 同
阅读全文
posted @
2019-03-28 23:37
kosamino
阅读(345)
推荐(0) 编辑
synchronized锁机制 之 代码块锁(转)
摘要:synchronized同步代码块 用关键字synchronized声明方法在某些情况下是有弊端的,比如A线程调用同步方法执行一个较长时间的任务,那么B线程必须等待比较长的时间。这种情况下可以尝试使用synchronized同步语句块来解决问题。看一下例子: 下面例子是优化后的例子使用代码块锁,原先
阅读全文
posted @
2019-03-28 01:59
kosamino
阅读(4054)
推荐(0) 编辑
执行mvn 报错 source-1.5 中不支持 diamond运算符
摘要:maven工程执行mvn操作时,报以下错误: 是因为未指定Maven的版本和Maven使用的jdk版本。因此,指定Maven的版本,并且指定Maven使用的jdk版本即可。 在Maven项目的pom文件中加入以下引用:
阅读全文
posted @
2019-03-27 09:24
kosamino
阅读(827)
推荐(0) 编辑
Git常用命令及场景
摘要:Git命令推送到远程分支 1、登录GitHub创建一个远程仓库。 https://github.com 2、git init 本地创建一个目录,并初始化一个git仓库。 3、git add 添加文件到当前目录下,然后执行git add ,将“修改”从当前工作区存放到暂存区。 4、git commit
阅读全文
posted @
2019-03-26 23:47
kosamino
阅读(266)
推荐(0) 编辑
mysql数据库导入与导出
摘要:导出 导出数据和表结构: mysqldump -u用户名 -p 数据库名 > 数据库名.sql mysqldump -uroot -p dbname > dbname .sql //之后输入密码 只导出表结构 mysqldump -u用户名 -p -d 数据库名 > 数据库名.sql //之后输入密
阅读全文
posted @
2019-03-18 09:31
kosamino
阅读(949)
推荐(0) 编辑
Linux磁盘空间分析及清理(df、du、rm)
摘要:1、df磁盘空间查看 df可以查看一级文件夹大小、使用比例、档案系统及其挂入点。 -T:可以用来查看分区的文件系统。 -h:表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Moun
阅读全文
posted @
2019-03-07 03:34
kosamino
阅读(71164)
推荐(5) 编辑
java命令分析线程死锁以及内存泄漏
摘要:一、介绍 jstack是java虚拟机自带的一种堆栈跟踪工具。jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式: 命令格式 主要分为两个功能:
阅读全文
posted @
2019-03-06 02:26
kosamino
阅读(6171)
推荐(0) 编辑
Jstack定位CPU使用最多的线程及代码
摘要:jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多。下面我们来一个实例找出某个Java进程中最耗费CPU的Java线程并定位堆栈信息,用到的命令有ps、top、printf、jstack、grep。 寻找进程 执行命令jps找出Java进程ID,
阅读全文
posted @
2019-03-06 01:44
kosamino
阅读(1782)
推荐(0) 编辑
Sublime Text3快捷键大全
摘要:选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本。 Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选中并更改所有相同的变量名、函数名等。 Ctrl+L 选中整行,继续操作则继续选择下一行,效果和 Shift+↓ 效果一样。 Ctr
阅读全文
posted @
2019-03-01 14:49
kosamino
阅读(336)
推荐(0) 编辑