您的位置:首页 > 编程语言 > Java开发

这几天研究了Java的几个问题

2007-04-25 23:28 288 查看
这几天研究了Java的几个问题:

1. System.gc()

以前写j2me程序从来不用,好像以前也看到过关于垃圾回收期的文章,可是昨天看了别人的一个程序,里面使用了System.gc()进行垃圾回收。再加上我现在使用的模拟器是Nokia的S40的模拟器(以前使用Jbuilder自带的模拟器),Nokia的模拟器带有诊断器,可以观察内存的使用情况,于是我也试着使用System.gc()进行主动垃圾回收;呵呵,使用Nokia的模拟器进行模拟,发现垃圾回收情况不错,于是觉得主动垃圾回收还是不错的。谁知下载到手机后,感觉速度反而有点下降。

于是就有搜索了一下关于垃圾回收的文章,在IBM网站发现一篇不错,说得很好,前面已经转贴。于是我又把程序中的System.gc()去掉,速度明显加快。(呵呵,我的手机是S40 2nd,Java性能不行,也正好验证了我转贴的那篇文章的话)。

我参阅的那个程序真是害苦了我,另外Nokia的模拟器的内存监视也仅仅只能作为参考,JVM的自动垃圾回收本来就可以,没有必要强制垃圾回收,强制垃圾回收对于低性能的手机简直是灾难。

2.线程

这个问题不能说很清楚了,但是线程的使用是我的程序的可用性大大加强。本来写一个程序,在程序中要查询文件(文件较多、内容也较多),没使用线程之前,程序好像死在那个界面几秒钟,不爽。使用线程后,可以在查询文件的同时,进行其它工作。当然,由于我的程序所进行的工作不多,也没有考虑线程间的同步的数据一致性问题。关于这些问题以后要研究一下。

3.字符编码

感觉Java对于字符的各种编码格式的处理支持得很好,以前使用C++没有很好解决的问题,现在使用Java较好的解决了。好像.net也不错,只是对.net不太熟(只是前一段时间需要使用正则表达式,才用了一下.net)。

呵呵,现在使用Java只是在Windows平台,不过还是要转到Linux平台好一些。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息