1.谨慎使用本地方法
什么是本地方法(native method)?
所谓的本地方法就是指用本地编程语言(比如c或c++)来编写的方法。
简单来说,本地方法(Native Method)就是java调用非java代码的接口。
这里java有提供一个专门的JNI接口(java native Interface)来允许java引用程序调用本地方法。
代码就不写了,就举了VS调用的例子:
1.根据需要,在VS方面编写dll文件或者调用系统的dll方法。
2.在java代码中编写:先声明本地方法,再加载动态链接库(dll)-System.loadLibrary(“dll路径”),再调用加载后的与本地方法对应的java编写的本地方法。
PS:这种本地方法通常可用于对于操作系统的控制,比如window操作系统的一些功能。
为什么要谨慎使用本地方法?
1.本地方法虽然能在平台上提供一些独有的一些特性,但也正因为这个跨平台兼容不好,不能自由移植
2.本地方法语言不安全,可能导致内存毁坏。
3.调用本地方法难以调试,不易回收垃圾。
2.谨慎地进行优化
1.尽量在设计系统时,就最好考虑到性能因素。
2.构建完系统后,测量它的性能,够快就不需要优化了,不够再进行优化。
3.遵守普遍接受的命名惯例
3.1 包名和模块名的命名规则
包和模块的名称应该是层次状的,用句号分隔每个部分,每个部分都包括小写字母,极少数情况下还有数字。
包名尽量以组织(公司)的Internet域名开头,如:com.gogle、edu.cmu、org.company
包名的其余部分,应该包括一个或多个描述包内容的字符,鼓励使用缩写。通常每个描述不超过8个字符
举例:org.junit.jupiter.api 、com.google.common.collect
3.2 类和接口名的命名规则
类和接口名(包括枚举、注解)的名称应该由一个或多个单词构成。然后每个单词的首字母大写。
例:Stream、FutureTask、HttpClient
对于类的语法习惯:
可被实例化的类通常用一个名词命名:Thread、ChessPiece
不可实例化的工具类通常用复数名词命名:Collections、Collectors
3.3 方法和域的名称的命名规则
方法和域的名称,也是由一个或多个单词组成,但是第一个单词的首字母应该小写
例:remove、a、httpClient
注意:常量域比较特殊,由单词全大写,用下划线分隔多个单词
l例:VALUES、SYSTEM_NAME
3.4 其它命名规则
设值:以set/Set开头,例:setName
获取:以get/Get开头,例:getName
转换对象:以to/To开头,例:toArray、toString
返回视图(view):以as/As开头,例:asList
返回boolean值方法:以is开头,例:isEmpty
执行某动作的:以动作单词开头。例:appendString、drawImage
返回一个与被调用对象同值的基本类型的方法:以Value为尾部,类型为开头,例:intValue.、typeValue