Java性能优化原则:代码运算性能、内存回收、应用配置(影响Java程序主要原因是垃圾回收,下面会重点介绍这方面) 代码层优化:避免过多循环嵌套、调用和复杂逻辑。 Tomcat调优主要内容如下: 1、增加最大连接数 2、调整工作模式 3、启用gzip压缩 4、调整JVM内存大小 5、作为Web服务器 ...
分类:
其他好文 时间:
2017-08-10 16:01:06
阅读次数:
219
运行时数据区(runtime data area) jvm定义了几个运行时数据区,这些运行时数据区存储的数据,供开发者的应用或者jvm本身使用。按线程共享与否可以分为线程间共享和线程间独立。 线程间独立的运行时数据区 线程间独立的区域随线程的创建而创建,随线程销毁而销毁。线程独立的区域内存储的数据只 ...
分类:
其他好文 时间:
2017-08-08 22:52:14
阅读次数:
168
JVM垃圾回收策略 1.静态内存分配和回收 编译时已经确定了内存空间大小,程序被加载后则一次性分配好内存空间.程序结束后,则对应栈帧撤销,分配的静态内存空间则被回收. 2.动态内存分配和回收 程序运行动态分配内存空间,回收时则由垃圾收集器负责. 3.垃圾收集器 A.正确的检测出垃圾对象(关键功能) ...
分类:
编程语言 时间:
2017-08-03 20:16:13
阅读次数:
146
-Xmx10240m:代表最大堆 -Xms10240m:代表最小堆 -Xmn5120m:代表新生代 -XXSurvivorRatio=3:代表Eden:Survivor = 3 根据Generation-Collection算法(目前大部分JVM采用的算法),一般根据对象的生存周期将堆内存分为若干不 ...
分类:
其他好文 时间:
2017-08-03 10:03:07
阅读次数:
106
JVM内存大小是有限的,有的时候程序过大时候会导致超出最大内存,产生下面异常: Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at Java_Test.JVMtest1.main(JVMtest1.jav ...
分类:
编程语言 时间:
2017-08-02 22:05:03
阅读次数:
170
jvm内存区域与溢出 为什么学习jvm 木板原理,最短的一块板决定一个水的深度,当一个系统垃圾收集成为瓶颈的时候,那么就需要你对jvm的了解掌握。 当一个系统出现内存溢出,内存泄露的时候,因为你懂jvm知识,可以更加快速定位错误,可以通过参数去合理设置各内存区域的内存容量。 因为你对jvm的认识,写 ...
分类:
其他好文 时间:
2017-08-02 21:02:17
阅读次数:
108
并在此文件中添加以下内容,设置初始堆大小-Xms,最大堆大小-Xmx,最小堆大小-Xmn 可以看到启动日志中有以下内容: 这表明你的设置已经生效! ...
分类:
系统相关 时间:
2017-08-02 18:54:17
阅读次数:
346
转自:http://blog.csdn.net/heyutao007/article/details/38151581 1、JVM内存组成结构 JVM内存结构由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示: 1)堆所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来 ...
分类:
编程语言 时间:
2017-08-02 16:01:19
阅读次数:
264
原文地址:http://www.cnblogs.com/dingyingsi/p/3760447.html 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致C ...
分类:
其他好文 时间:
2017-08-02 13:13:40
阅读次数:
135