原文:【JVM进阶之路】十:JVM调优总结
合集:【JVM进阶之路】
合集:【JVM调优总结】
1、调优原则JVM调优听起来很高大上,但是要认识到,JVM调优应该是Java性能优化的最后一颗子弹。
比较认可廖雪峰老师的观点,要认识到JVM调优不是常规手段,性能问题一般第一选择是优化程序,最后的选择才是进行JVM调优。
JVM的自动内存管理本来就是为了将开发人员从内存管理的泥潭里拉出来。即使不得不进行JVM调优,也绝对不能拍脑门就去调整参数,一定要全面监控,详细分析性能数据。
2、JVM调优的时机不得不考虑进行JVM调优的是那些情况呢?
Heap内存(老年代)持续上涨达到设置的最大内存值;
Full GC 次数频繁;
GC 停顿时间过长(超过1秒);
应用出现OutOfMemory 等内存异常;
应用中有使用本地缓存且占用大量内存空间;
系统吞吐量与响应性能不高或下降。
3、JVM调优的目标吞吐量、延迟、内存占用三者类似CAP,构成了一个不可能三角,只能选择其中两个进行调优,不可三者兼得。
延迟:GC低停顿和GC低频率;
低内存占用;
高吞吐量;
选择了其中两个,必然 ...
Java 基础1、Java的基本数据类型有哪些,占几个字节八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
整型:byte、short、int、long
浮点型:float、double
字符型:char
布尔型:boolean
序号
数据类型
位数
字节
默认值
取值范围
举例说明
1
byte(位)
8
1
0
-2^7 - 2^7-1
byte e = 10;
2
short(短整数)
16
2
0
-2^15 - 2^15-1
short s = 10;
3
int(整数)
32
4
0
-2^31 - 2^31-1
int i = 10;
4
long(长整数)
64
8
0
-2^63 - 2^63-1
long l = 10l;
5
float(单精度)
32
4
0.0
-2^31 - 2^31-1
float f = 10.0f;
6
double(双精度)
64
8
0.0
-2^63 - 2^63-1
double d = 10. ...