- 浏览: 788097 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (981)
- javascript (102)
- java (212)
- JQuery (81)
- 幽默笑话 (2)
- 只言片语 (6)
- 开发小记 (283)
- Hibernate (17)
- DWR (4)
- SQL (10)
- spring-ibatis (8)
- linux (24)
- Struts1 (8)
- Struts2 (16)
- spring (42)
- Mybatis (16)
- css (18)
- servlet (8)
- jdbc (4)
- jsp (1)
- spring-jdbc (2)
- FreeMarker (2)
- MySQL (24)
- JQuery-Grid (7)
- jstl (5)
- 正则表达式 (1)
- 面试集锦 (86)
- unix (18)
- 开发工具 (23)
- ajax (5)
- webservice (4)
- log4j (3)
- oracle (15)
- extjs (14)
- 其他 (9)
- 优秀技术参考地址 (1)
- 性能 (3)
- 数据库 (25)
- 算法 (15)
- 设计模式 (10)
- Python (3)
- AIX (5)
- weblogic (1)
- shell (14)
- quartz (5)
- 图形文件FusionCharts (1)
- Websphere (4)
- 转载 (5)
- hadoop (1)
- highchart (24)
- perl (22)
- DB2 (7)
- JBoss (1)
- JQuery Easy UI (9)
- SpringMVC (5)
- ant (5)
- echart (9)
- log4J配置 (3)
- 多线程 (10)
- 系统架构 (7)
- nginx (3)
- loadrunner1 (1)
- 分布式 (1)
- Dubbo (1)
- Redis (2)
- JMS (4)
- 自动化测试 (3)
- Spring循环依赖的三种方式 (1)
- spring-boot (2)
- 高级测试 (9)
- github (2)
- sonar (1)
- docker (6)
- web前端性能优化 (1)
- spring-aop (6)
- rabbit (1)
- ELK (1)
- maven (1)
- minio (1)
最新评论
-
zengshaotao:
jstl1point0 写道很好啊,如果有带Session会话 ...
Nginx+Tomcat搭建高性能负载均衡集群 -
jstl1point0:
很好啊,如果有带Session会话的怎么搞呢
Nginx+Tomcat搭建高性能负载均衡集群
回收机制就是当一些资源被创建使用之后或不在调用的话 就会变成垃圾,垃圾的话会占用空间,这时候就需要释放空间给其他程序使用,所以JAVA拥有自动垃圾回收机制,会在适当的时候自动调用垃圾回收 释放资源,程序员也可以手动调用释放资源
对于 GC 来说,当程序员创建对象时,GC 就开始监控这个对象的地址、大小以及使用情况。
通常,GC 采用有向图的方式记录和管理堆(heap) 中的所有对象。通过这种方式确定哪些对
象是"可达的",哪些对象是"不可达的"。当GC 确定一些对象为"不可达"时,GC 就有责任回
收这些内存空间。程序员可以手动执行 System.gc(),通知 GC 运行,但是 Java 语言
规范并不保证 GC 一定会执行。
JVM内存参数调优:
强制内存回收对于系统自动的内存回收机制会产生负面影响,会加大系统自动回收的处理时间,所以应该尽量避免显式使用System.gc(),
JVM的设置可以提高系统的性能。例如:
java -XX:NewSize=128m -XX:MaxNewSize=128m -XX:SurvivorRatio=8 -Xms512m -Xmx512m
具体可以查看java帮助文档。我们主要介绍程序设计方面的性能提高。
JAVA程序设计中有关内存管理的其他经验:
根据JVM内存管理的工作原理,可以通过一些技巧和方式让JVM做GC处理时更加有效。,从而提高内存使用和缩短GC的执行时间。
1,尽早释放无用对象的引用。即在不使用对象的引用后设置为空,可以加速GC的工作。(当然如果是返回值。..。.)
2,尽量少用finalize函数,此函数是JAVA给程序员提供的一个释放对象或资源的机会,但是却会加大GC工作量。
3,如果需要使用到图片,可以使用soft应用类型,它可以尽可能将图片读入内存而不引起OutOfMemory.
4,注意集合数据类型的数据结构,往往数据结构越复杂,GC工作量更大,处理更复杂。
5,尽量避免在默认构造器(构造函数)中创建,初始化大量的对象。
6,尽量避免强制系统做垃圾回收。会增加系统做垃圾回收的最终时间降低性能。
7,尽量避免显式申请数组,如果不得不申请数组的话,要尽量准确估算数组大小。
8,如果在做远程方法调用。要尽量减少传递的对象大小。或者使用瞬间值避免不必要数据的传递。
9,尽量在合适的情况下使用对象池来提高系统性能减少内存开销,当然,对象池不能过于庞大,会适得其反.
对于 GC 来说,当程序员创建对象时,GC 就开始监控这个对象的地址、大小以及使用情况。
通常,GC 采用有向图的方式记录和管理堆(heap) 中的所有对象。通过这种方式确定哪些对
象是"可达的",哪些对象是"不可达的"。当GC 确定一些对象为"不可达"时,GC 就有责任回
收这些内存空间。程序员可以手动执行 System.gc(),通知 GC 运行,但是 Java 语言
规范并不保证 GC 一定会执行。
JVM内存参数调优:
强制内存回收对于系统自动的内存回收机制会产生负面影响,会加大系统自动回收的处理时间,所以应该尽量避免显式使用System.gc(),
JVM的设置可以提高系统的性能。例如:
java -XX:NewSize=128m -XX:MaxNewSize=128m -XX:SurvivorRatio=8 -Xms512m -Xmx512m
具体可以查看java帮助文档。我们主要介绍程序设计方面的性能提高。
JAVA程序设计中有关内存管理的其他经验:
根据JVM内存管理的工作原理,可以通过一些技巧和方式让JVM做GC处理时更加有效。,从而提高内存使用和缩短GC的执行时间。
1,尽早释放无用对象的引用。即在不使用对象的引用后设置为空,可以加速GC的工作。(当然如果是返回值。..。.)
2,尽量少用finalize函数,此函数是JAVA给程序员提供的一个释放对象或资源的机会,但是却会加大GC工作量。
3,如果需要使用到图片,可以使用soft应用类型,它可以尽可能将图片读入内存而不引起OutOfMemory.
4,注意集合数据类型的数据结构,往往数据结构越复杂,GC工作量更大,处理更复杂。
5,尽量避免在默认构造器(构造函数)中创建,初始化大量的对象。
6,尽量避免强制系统做垃圾回收。会增加系统做垃圾回收的最终时间降低性能。
7,尽量避免显式申请数组,如果不得不申请数组的话,要尽量准确估算数组大小。
8,如果在做远程方法调用。要尽量减少传递的对象大小。或者使用瞬间值避免不必要数据的传递。
9,尽量在合适的情况下使用对象池来提高系统性能减少内存开销,当然,对象池不能过于庞大,会适得其反.
发表评论
-
选股神器
2022-08-20 15:07 205最近闲来无事,突发奇想,将自己的选股思路自动化,计算机化。。 ... -
rpm安装jdk,设置环境变量
2019-05-12 22:49 6331、将jdk的rpm包拷贝到 ... -
java安全编码
2019-01-18 22:31 481软件安全问题,一般 ... -
生产者消费者
2018-07-01 21:33 429package function.thread; i ... -
打印mybatis的执行语句到控制台和文件
2017-12-13 15:11 814log4j.rootLogger=INFO,CONSOLE, ... -
MyBatis防止SQL注入
2017-11-14 13:35 987SQL注入是一种代码注入技术,用于攻击数据驱动的应 ... -
java中类的加载顺序介绍(ClassLoader)
2017-11-14 11:41 8171、ClassNotFoundExcetpion 我们在 ... -
守护线程
2017-11-13 16:40 434对于线程,有个守护的线程的概念。如何理解呢?比如A线程里,n ... -
类加载机制及反射
2017-09-24 08:45 586一、Java类加载机制 ... -
java+selenium2 自动化测试框架
2017-09-15 09:36 1018package web.selenium2; ... -
JMS实例
2017-08-21 15:40 4781. JMS架构 Java 消息服务(Java M ... -
linux设置java环境
2017-08-07 16:47 454linux配置java环境变量(详细) 一. 解压安装jdk ... -
分布式
2017-07-19 12:12 450转载请注明出处:http://blog.csdn.net/l ... -
tomcat+nginx+redis
2017-07-18 16:46 477应用系统的基本架构: -
java调用远程机器的shell脚本
2017-07-14 12:19 1591此程序的目的是执行远程机器上的Shell脚本。 【环境参数 ... -
生产者消费者进阶(带有condition)
2017-05-09 17:56 585package function.thread; ... -
多线程之 CountDownLatch
2017-05-01 13:01 521package function.thread; ... -
判断服务器类型
2017-04-12 10:52 490开发时一般用tomcat,然后在测试环境发布时使用的是web ... -
IE的不同文本浏览模式页面显示
2017-04-11 14:34 541现象描述:最近在遇到的问题就是在在Chrome,火狐页面都正 ... -
java中Filter、Servlet、Listener的学习
2017-03-29 21:52 4551、Filter的功能filter功能,它使用户可以改变一个 ...
相关推荐
java
【Java GC机制详解】 Java垃圾回收(Garbage Collection, GC)是Java虚拟机(JVM)的核心特性之一,它负责自动管理程序运行时的内存,有效地避免了内存泄露和溢出的问题。Java GC机制主要涉及以下几个关键方面: 1...
在介绍Java GC机制之前,我们首先要了解垃圾回收的目的和意义。在任何程序中,内存的分配与释放是两个基本的内存管理操作。Java通过垃圾回收机制来帮助开发者自动管理内存,减轻了手动内存管理的负担。 一、为什么...
了解和掌握GC机制与内存分配策略对于Java开发者来说至关重要,因为这有助于优化应用程序的性能和稳定性。 1. **垃圾收集器**: - **垃圾收集器**是实现GC的具体工具,不同的JVM实现可能有不同的垃圾收集器。例如,...
Java垃圾回收GC机制 Java垃圾回收GC机制是Java虚拟机(JVM)中的一种自动内存管理机制,它主要是为了解决Java程序中的内存问题。GC机制的出现使得Java程序员不再需要手动管理内存,提高了开发效率和程序的稳定性。 ...
JVM 的垃圾回收机制是 Java GC 与性能调优的核心内容。JVM 的垃圾回收机制可以分为以下几个步骤: * 标记阶段:标记出所有活动对象。 * 清除阶段:清除所有不可达对象。 * 压缩阶段:压缩内存,减少碎片。 五、 ...
Java GC 机制是 JVM 的垃圾回收机制,负责回收垃圾对象的内存空间。Java GC 机制可以分为以下几个方面: * 标记清除算法:标记清除算法是 Java GC 机制的基础,负责标记垃圾对象和清除垃圾对象。 * 复制算法:复制...
Java内存区域和垃圾收集(GC)机制是Java...了解并熟练掌握Java内存区域和GC机制对于优化Java应用性能、排查内存问题至关重要。开发者应根据应用需求选择合适的JVM参数和垃圾收集器,并借助相关工具进行监控和调优。
总的来说,虽然Java的GC机制减轻了程序员的内存管理负担,但了解并掌握GC的运作方式和优化技巧,仍然是提升Java应用效率的关键。通过深入研究GC机制,Java程序员能够更好地控制内存使用,减少不必要的性能开销,提高...
Java垃圾回收(GC)机制是Java编程语言中的一个重要特性,它自动管理程序的内存空间,负责识别并清除不再使用的对象,以防止内存泄漏。本文将深入探讨Java GC的工作原理、类型、过程以及优化策略。 一、Java垃圾...
5. Java GC机制 - Java的垃圾收集机制自动回收不再使用的对象占用的内存,避免内存泄漏。 - 主要有几种GC算法,如复制算法(年轻代)、标记-整理算法(老年代)、标记-清除算法,以及分代收集。 - CMS...
Java虚拟机(JVM)中的GC机制会定期检查堆内存中的对象,判断它们是否仍处于活动状态。如果某个对象不再被任何变量引用,即认为该对象已经“不可达”,GC就会回收这些对象所占用的内存空间。 **2.2 对象的分配与回收*...
### Java GC垃圾回收调优指南 #### 概述 在Java开发过程中,垃圾回收(Garbage Collection, GC)是管理内存资源的关键技术之一。合理的GC配置可以显著提高应用程序的性能和稳定性。本指南旨在帮助开发者深入理解...
对于Java开发人员来说,了解垃圾回收机制(GC)有哪些好处呢?首先可以满足作为一名软件工程师的求知欲,其次,深入了解GC如何工作可以...这是成为JavaGC专家系列文章的第一篇,本篇主要针对GC机制进行介绍,在下一篇