`
kei502
  • 浏览: 2393 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

何时调用system.gc()

阅读更多
Nokia 的文档Known Issues In The Nokia 6600 MIDP 2.0 Implementation v1.7说:
2.15.1 Garbage collecting
Description
Calling the System.gc() method results in extreme slowness and jamming. In Monty 1.0 VM, garbage
collection is different and every time System.gc is called, the entire memory is really cleared.
This is an extremely slow process!
Solution
Do not call the System.gc method at all, or call the System.gc() garbage collecting method only
in non-time-critical situations, such as screen transitions, state transitions, pause states,
etc. If the System.gc() method is used, it is recommended to add a short delay (~20-50 ms) after
the method call to ensure the sufficient time for the garbage collection, as in the following

example
System.gc();
Thread.sleep(delay);
delay = 20-50 ms

调用 System.gc()将会真正的清除内存条目,而这是一个极慢的过程。
解决:1.不调用 System.gc()
2.在屏幕切换,状态转换,暂停状态等情况下调用,并且在调用 System.gc() 时加上个短暂的延时
如:
System.gc();
Thread.sleep(delay);
delay = 20-50 ms
分享到:
评论

相关推荐

    Java学习笔记

    Java 到底有哪些优势? 1.跨平台(平台=OS) 可移植性 在不同的操作系统之上可以不用做任何代码的修 改 直接使用 a) 字节码文件:字节码文件不包括任何内存布 局信息 与操作系统和...调用gc 的下一行是否回收?不一定

    java发送短信之AT指令

    System.gc(); e.printStackTrace(); } // 下面是得到用于和COM口通讯的输进、输出流。 try { in = new InputStreamReader(serialPort.getInputStream()); out = new OutputStreamWriter(serialPort....

    C#多线程开发多个实例

    GC.SuppressFinalize(this); } } } static void Main(string[] args) { //tmpObj1没有手工释放资源,就等着GC来慢慢的释放它吧 Class1 tmpObj1 = new Class1(); //tmpObj2调用了Dispose方法,传说比等着...

    20121211 1559 BMP2JPG 调用libjpeg库.7z

    介绍如何在linux下编译生成libjpeg库,然后调用libjpeg库将BMP图片转成JPG图片。 tar jvxf libtool-2.2.4.tar.bz2 cd libtool-2.2.4/ ./configure CC=arm-linux-gnu-gcc --build=i686-linux --host=arm-linux --...

    java7hashmap源码-AndroidOffer:只为帮助您获得更好的报价

    java7 hashmap源码 AndroidOffer Java Java 进阶 HashMap 对比:Hashtable、HashMap、LinkedHashMap、...System.gc()的区别? 谈谈对 java 状态机的理解。 反射 多线程和线程池 线程有哪些状态, Synchronized的原

    程序员考试刷题-oca-preparation:准备OCA认证的一些示例和文件

    System.gc() 表明 Java 可能希望运行垃圾收集器 Java 可以随意忽略请求 Java 的好处 面向对象Java 是一种面向对象的语言。 它允许在类内进行函数式编程,但面向对象仍然是代码的主要组织方式。 封装Java 支持访问...

    net学习笔记及其他代码应用

    System.gc() Runtime.getRuntime().gc() 37.String s = new String(\"xyz\");创建了几个String Object? 答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。 38.abstract class和interface有什么区别? ...

    【05-面向对象(下)】

    基本数据类型的包装类 •八大数据类型的包装类分别为:Byte、Short、Integer、Long、Character、 Float、Double、Boolean。...函数式接口中被实现方法的第一个参数作为调用者,后面的参数全部传给该...

    NetFabric.Hyperlinq:具有最少堆分配的高性能LINQ实现。 支持可枚举,异步可枚举,数组和跨度

    通过使方法调用成为非虚拟方法并通过不分配在堆上来减少GC收集,使用值类型来提高性能。 增加了对Span<> , ReadOnlySpan<> , Memory<>和ReadOnlyMemory<> 。 注释。 单个NuGet软件包同时支持同步...

    C#中标准的IDispose模式代码详解

    C#实现IDispose接口 .net的GC机制有两个问题:首先GC并不能释放所有资源,它更不能释放非托管资源。其次,GC也不是实时的,所有GC... //手动调用了Dispose释放资源,那么析构函数就是不必要的了,这里阻止GC调用析构

    JVM参数设置详细说明

    禁止java程序中的full gc,如System.gc()的调用。最好加上么,防止程序在代码里误用了。对性能造成冲击。 c: -XX:+UseFastAccessorMethods get、set方法转成本地代码 d: -XX:+PrintGCDetails 打应垃圾收集的情况如:...

    【。net 专业】 面试题

    在“引用”对话框的.Net标签中选择 System.Web.Services.dll。  B.在“Web引用”对话框中输入这个 XML Web service 的地址。  C.在您的 Global.asax.cs 中添加一条 using 语句并指定这个 XML Web service 的地址。...

    java 面试题 总结

     GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    p1 调用缺省的构造方法(即没有参数),p2 则调用带参数的构造方法。p1、p2 分别对 应于不同的内存空间,它们的值是不同的,可以完全独立地分别对它们进行操作。虽 然 new 运算符返回对一个对象的引用,但与 C、C++中的...

    asp.net面试题

    不定项选择题(共14题,单选或多选): ... A.scriptB.bodyC.titleD.link 二、下面哪段javascript能弹出一个提示框?( ) A.document.alert(test) B.window.alert(test) ...答:GC?对象创建了总要清除啊,不然内存哪够用?

Global site tag (gtag.js) - Google Analytics