随笔分类 - Java相关
摘要:Java的线程有6个状态,分别是 State 状态 解释 时机 NEW 新建 新建出来的线程 执行Thread的start方法前 RUNNABLE 运行 可以细分为运行中和就绪,正在运行或者等待CPU调度。 执行Thread的start方法后。yield后。Object.notify、Object.
阅读全文
摘要:JIT优化 1.公告子表达式消除 如果一个表达式的出现多次,并且每次的参数值没有改变,那只需要计算一次,接下来的碰到这个表达式,都会直接取上一次计算的结果 如:int x = a*b+c+d*(a*b); // a*b是一个公共子表达式,计算了一遍以后,第二次的时候,这个子表达式的参数值都没有变化,
阅读全文
摘要:https://blog.csdn.net/zhxdick/article/details/125289970 我的启动脚本 path=`pwd`LOG_PATH=$path/logDUMP_PATH=$path/dump java -XX:+UnlockDiagnosticVMOptions -X
阅读全文
摘要:一般来说,要停止的线程,要么是在执行业务代码(比如while循环),要么在sleeping/waiting/joining 对于while循环,可以设置一个flag作为while的条件,想让线程停下来,就可以设置flag的值 static volatile boolean keepRun = tru
阅读全文
摘要:synchronized 解释:java语言的一个关键字 作用:实现同步机制,控制多线程的访问,确保同一时刻只有一个线程可以进入临界区执行同步代码。 用法:加在代码块上、加在方法上、加在一个对象, 原理:不管是那种用法,都会有一个对象(指定的对象、class的实例对象、class对象),这个对象又会
阅读全文
摘要:java NIO有2种模式,一种是非阻塞,一种是阻塞式的,阻塞式的和传统的BIO类似,不过可靠性不如BIO,故一般不用 以下关注非阻塞的方式, NIO是非阻塞同步IO,工作在一个线程中,由selector去轮询channel,是否有请求连接就绪/读取就绪,有就进行连接/读取到buffer 当然从另一
阅读全文
摘要:前些天看到一个有意思的说法,当HashMap的key为Integer时,map就是有序的,我来研究一下。 我们都知道HashMap是无序的,TreeMap是有序的,数组和链表也是有序的,为啥会变成有序呢?我们先来随便测试一下 果然,key是0到100的时候都是有序的,不管使用keySet还是entr
阅读全文
摘要:转载自https://blog.csdn.net/weixin_43735348/article/details/127580774
阅读全文