写一个纯JAVA代码需要注意的几点

(1)避免手动使用垃圾回收功能,避免是程序的功能依托于设置的线程的优先级。

        首先对于垃圾回收功能,JVM规范之中,只规定了增加去创建一个对象,而没有规定怎样去销毁一个对象,所以,垃圾回收机制是各个JVM平台自己定义的策略,在JAVA API中,Object类有一个方法是finalize(),用于对该对象进行强制的垃圾回收,但是jvm是不是真的会立刻进行垃圾回收,则有待商榷。

        其次对于JVM中的线程的优先级问题,在thread类中现在一共定义了三个表示优先级的常量,分别为MIN_PRORITY=1,NORMAL_PRORITY=5,MAX_PRORITY=10这三个优先级,但是其实你可以设置10个优先级。但是,在JVM中设置的优先级并不代表在底层的操作系统的优先级,比如,在LINUX机器中,所有的JAVA线程都是同一个优先级的,但是在window系统中,可能多个JAVA优先级共享同一个window线程的优先级这样一来,线程优先级就完全失去了作用。

(2)对于自己的程序所需要运行的平台的集合有一个认识,JVM和API有很多的版本,选择这样一个版本,是他们能够在所有的底层平台上面都能够运行,在这个java平台上面开发出的java程序,就可以说是对于你自己的平台无关的。

(3)避免使用本地方法(native method),在JAVA 的API中有许多class类是有本地方法的,为的是能够与本地的资源和系统进行交互。在自己写JAVA程序的时候,如果使用了native method,就意味着这个类与平台相关了,当移植到其他平台的时候,将无法运行。所以如果需要对底层操作系统的资源进行交互的时候,尽量使用标准的API。

(4)不要使用非标准库,有的JAVA API开发商会对特殊的情况开发出特殊的一套API以供使用,如果要做到平台的无关性,则不能够使用这样的非标准库的API。

如果能够做到以上的几点,就能够使得写出的JAVA程序是平台无关性的。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值