Java内存模型(Java Memory Model,JMM),Java虚拟机规范中定义的来屏蔽掉各种硬件和操作系统的内存访问差异, 以实现让Java程序在各种平台下都能达到一致的内存访问结果。 1、主内存与工作内存 Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到 ...
分类:
编程语言 时间:
2019-04-23 17:25:17
阅读次数:
172
-XX: MaxDirectMemorySize >设置直接内存,不设置与Java堆内存最大值一致,就是jvm虚拟机运行可支配的内存 -XX:PermSize(老年代大小)和-XX:MaxPermSize(永久代大小) >设置方法区大小 -Xoss >设置本地方法栈大小(实际无效,栈容量只由-Xss ...
分类:
其他好文 时间:
2019-04-22 15:14:37
阅读次数:
346
概述 Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息 ...
分类:
编程语言 时间:
2019-04-21 16:05:41
阅读次数:
133
Java并发编程:volatile关键字解析 volatile 有序性、可见性 volatile可以保证一定程度上有序性,即volatile前面的代码先于后面的代码先执行。 但是前、后代码,各自里面的顺序性是无法保证的。 可见性: 在Java内存模型中,允许编译器和处理器对指令进行重排序,但是重排序 ...
分类:
其他好文 时间:
2019-04-21 09:26:25
阅读次数:
137
在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对于CPU和内存的消耗比较大,所以,当需要模拟数以万计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误。为了让jmeter工具提供更大的负载能力,这时可以使用Jmeter提供的分布式功 ...
分类:
其他好文 时间:
2019-04-18 14:55:43
阅读次数:
149
JVM 调优概述 性能定义 吞吐量 - 指不考虑 GC 引起的停顿时间或内存消耗,垃圾收集器能支撑应用达到的最高性能指标。 延迟 - 其度量标准是缩短由于垃圾啊收集引起的停顿时间或者完全消除因垃圾收集所引起的停顿,避免应用运行时发生抖动。 内存占用 - 垃圾收集器流畅运行所需要的内存数量。 调优原则 ...
分类:
其他好文 时间:
2019-04-13 22:02:51
阅读次数:
149
勿在流沙筑高台,出来混迟早要还的。 做一个积极的人 编码、改bug、提升自己 我有一个乐园,面向编程,春暖花开! 本文导图: 一、由一个提问引发的思考 在Stack Overflow 看到这样一个问题: Is Java “pass-by-reference” or “pass-by-value”? ...
分类:
编程语言 时间:
2019-04-13 17:41:14
阅读次数:
157
不管看多少面试官都会问出我没见过的问题。。OTZ 1. 调大内存Page Size提升性能 计算机内存一般有虚拟地址和物理地址,而计算机用Paging来管理虚拟地址与物理地址间的映射。Page - Page frame。这种映射关系通常被存储在物理内存的Page Table中,但寻找对应的Page通 ...
分类:
其他好文 时间:
2019-04-13 13:56:32
阅读次数:
148
在语言层面,创建一个对象通常仅仅是一个new关键字而已。在虚拟机层面,虚拟机遇到一个new指令时,首先回去检查这个指令的参数是能在常量池中定位到一个类的符号引用,并检查这个符号引用代表的类是否已被加载,解析和初始化过。如果没有那么必须先执行类加载操作。 ...
分类:
编程语言 时间:
2019-04-10 21:50:06
阅读次数:
163
java -Xmx3550m -Xms3550m -Xmn2g -Xss128k-Xmx3550m:设置JVM最大可用内存为3550M。-Xms3550m:设置JVM促使内存为3550m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。-Xmn2g:设置年轻代大小为2G。整个 ...
分类:
其他好文 时间:
2019-04-10 16:37:29
阅读次数:
150