EffectiveJava学习笔记27:通用编程(下)-本地方法、谨慎优化、命名规范

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

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值