Java性能优化

最近看了一些关于java性能优化方面的知识,作为个人总结,写下一些个人认为不错的东西.

1.垃圾回收 (GC Garbage Collection)

从 Thinking in java 中看到当一个对象被创建之后,对象和变量被放在(heap)堆内存中,它的引用和静态方法被放在(stack)栈中,然后JVM对它进行管理,回收内存空间

1).当一个对象在内存中永远不再被引用,对象的内存空间将被回收.如果一个对象在jvm中无法通过根集合(root set)到达时,这个对象就被成为垃圾对象.将被JVM释放掉

堆内存包括两个区域:新对象区域(New Object),老对象区域(old Object)

(1)新对象区域包含三个域:伊甸园区域(Eden),Form区域,To区域

 

伊甸园区域用来保存新的对象,就想一个堆栈.JVM对Eden中的对象进行检查,看是否有过期的对象,如果过期则回收,然后把其他对象拷贝到From中,在拷贝过程中如果状态改变则被放到To中.

(2)老对象区域中主要防治即将被释放内存的对象.

 

2.JVM中对象的生命周期

7个阶段:

   1.Creation(创建)

   2.Using(使用)

   3.Invisible(不可见)

   4.Unreachable(不可达)

   5.Collected(可收集阶段)

   6.Finalized(终结阶段)

   7.Free(释放阶段)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值