菜单

Bob's Blog Bob's Blog
JVM

jvm为什么把-Xms和-Xmx的值设置成一样

-Xms: 指定虚拟机堆内存初始值大小-Xmx: 指定虚拟机堆内存最大值大小把两者设置为一致,是为了避免频繁扩容和GC释放堆内存造成的系统开销/压力

波波 波波 发布于 2021-03-12
JVM

jvm -XX:

java -XX:+PrintFlagsFinal -version

波波 波波 发布于 2021-03-01
JVM

一道偏门的面试题

public class String58Demo { public static void main(String[] args) { String str1 = new StringBuilder("58").append("tongcheng&

波波 波波 发布于 2020-11-12
JVM

使用jstat命令查看jvm的GC情况,并且计算出full GC的时间

jstat命令命令格式: jstat [Options] vmid [interval] [count] 参数说明: Options,选项,我们一般使用 -gcutil 查看gc情况 vmid,VM的进程号,即当前运行的java进程号 interval,间隔时间,单位为秒或者毫秒 count,打印次

波波 波波 发布于 2020-06-20
JVM

测试下以前代码支持的最大并发处理数,结果。。。

不停的用线程去发送消息给MQ,看之前写的那个handler的处理最大能支持多少。 这个handler里的线程池创建方式是直接用 Executors.newFixedThreadPool(300); //这样的方式是会有问题的,后面测试完给他改了,再看看效果 测试过程其实就是发送一个消息,会回复一

波波 波波 发布于 2020-06-19
JVM

volatile指令重排内存屏障和总线风暴

指令重排 java语言规范规定JVM线程内部维持顺序化语义。即只要程序的最终结果与它顺序化情况的结果相等,那么指令的执行顺序可以与代码顺序不一致,此过程叫指令的重排序。 从源码到最后执行的指令序列过程是: 源码->编译器优化重排序->指令级并行重排序->内存系统重排序->最后执行的指令序列 内存屏障

波波 波波 发布于 2020-05-29