易截截图软件、单文件、免安装、纯绿色、仅160KB

Java内存管理(二、Java垃圾回收)

二、Java垃圾回收
1. JVM运行环境中垃圾对象的定义
     一个对象创建后被放置在JVM的堆内存中,当永远不再引用这个对象时,它将被JVM在堆内存中回收。或  当对象在JVM运行空间中无法通过根集合(root set)到达时,这个对象就被称为垃圾对象。
2. 堆内存
* 在JVM启动时被创建;堆内存中所存储的对象可以被JVM自动回收,不能通过其他外部手段回收
* 堆内存可分为两个区域:新对象区和老对象区
    -- 新对象区可分为三个小区:Eden区、from区、To区
    Eden区用来保存新创建的对象,当Eden区中的对象满了之后,JVM将会做可达性测试,检测有哪些对象由根集合出发是不可达的,不可达的对象就会被 JVM回收,并将所有的活动对象从Eden区拷到To区,此时一些对象将发生状态交换,有的对象就从To区被转移到from区。
3. JVM中对象的生命周期
 * 创建阶段(步骤)
    -- 为对象分配存储空间
    -- 开始构造对象
    -- 递归调用其超类的构造方法
    -- 进行对象实例初始化与变量初始化
    -- 执行构造方法体
 * 应用阶段
    -- 特征:系统至少维护着对象的一个强引用;所有对该对象引用强引用(除非显示声明为其它引用)
    -- 强引用
      指JVM内存管理器从根引用集合出发,遍寻堆中所有到达对象的路径。当到达某对象的任意路径都不含有引用对象时,对这个对象的引用就被称为强引用。
当内存不足时,JVM宁愿抛出OutOfMemeryError错误使程序停止,也不会靠收回具有强引用的对象来释放内存空间
    -- 软引用
      它能实现cache功能,防止最大限度的使用内存时引起的OutOfMemory异常,在内存不够用的时候jvm会自动回收Soft Reference。
软引用可以和一个引用队列(ReferenceQueue)联合使用,如果软引用所引用的对象被垃圾回收,java虚拟机就会把这个软引用加入到与之关联的引用队列中。
      Java中提供软引用的包:java.lang.ref.SoftReference(后续详解)
     软引用
      实现cache功能,防止最大限度的使用内存时引起的OutOfMemory异常,在内存不够用的时候jvm会自动回收Soft Reference.软引用


相关文档:

java泛型详解

泛型(Generic type 或者generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。
可以在集合框架(Collection framework)中看到泛型的动机。例如,Map类允许您向一个Map添 ......

java动态调用类

package tf;
public class TestPack {
public static void main(String [] args)
{
try
{
IAnimal cAnimal = new bird();
cAnimal.shout();
IAnimal animal =(IAnimal)java.lang.Class ......

Beginning Java AWT and Swing in NetBeans

一、性能问题
随着Java 6对于Swing性能的改进,Swing的运行速度已经开始得到了大大的提高,看看NetBeans就知道了,NetBeans就是Swing开发的,如果你跑Swing很慢,很耗资源,那么应该从自己的程序上找找问题,推荐使用NetBeans自带的Profile查找原因,教程在这里 – Profile Introduce.
二、LookAndFeel
用Swing做企 ......

java中删除文件老失败的解决办法

刚才在做个测试时  删除文件老是失败...一直找不到原因.. file.delete();
总是返回false.
在网上找了半天  都找不到错在哪儿..
if(file.exists() && file.canWrite())
file.delete();
这样都不行…
后来突然突然想到错在哪儿了..
就是在写完文件后没有close
out.write(b);
out.flush();
out.close(); ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号