2018年4月6日

生产者消费者和虚假唤醒

摘要: 1 定义 虚假唤醒,即spurious wakeups。wait需要在while循环内使用,原因就是因为存在虚假唤醒。 2 Monitor 还是放上这个神图来复习下线程间通信 线程在竞争锁失败的情况下会放到Entry Set中,图中2表示线程可以获取锁 获取到锁的线程可以调用wait方法,让线程 阅读全文

posted @ 2018-04-06 21:07 吼吼吼的吼 阅读(468) 评论(0) 推荐(0) 编辑

JAVA DAEMON线程的理解

摘要: java线程分两种:用户线程和daemon线程。daemon线程或进程就是守护线程或者进程,但是java中所说的daemon线程和linux中的daemon是有一点区别的。 linux中的daemon进程实际是指运行在后台提供某种服务的进程,例如cron服务的crond、提供http服务的httpd 阅读全文

posted @ 2018-04-06 17:15 吼吼吼的吼 阅读(347) 评论(0) 推荐(0) 编辑

jvm参数总结

摘要: 之前一直对jvm参数都是现学现用,对有些地方没有总结,比如 XX 和 X有什么区别,无意中看到oracle的官网对于jvm参数的介绍,下面做个简单的总结和翻译。 首先献上oracle官方链接: 1. http://www.oracle.com/technetwork/java/javase/ 阅读全文

posted @ 2018-04-06 13:41 吼吼吼的吼 阅读(713) 评论(0) 推荐(0) 编辑

读懂jstack

摘要: 1 jstack jstack是JDK自带的一种线程栈跟踪工具,用于生成java虚拟机当前时刻线程快照。在定位线程卡顿、死锁、block等原因的时候非常有用。使用方法是: jstack [ l] pid 2 Monitor Monitor是java中用以实现线程同步和互斥的主要手段,每一个对象有且只 阅读全文

posted @ 2018-04-06 12:21 吼吼吼的吼 阅读(938) 评论(1) 推荐(0) 编辑

导航