• Effective Java学习笔记---------通用编程


    将局部变量的作用域最小化

    1. Java允许你在任何可以出现语句的地方
    2. 要使局部变量的作用域最小化,最有力的方法就是在第一次要使用它的地方进行声明
    3. 如果你还没有足够的信息来对一个变量进行有意义的初始化,就应该延迟这个声明
    4. 如果在循环终止之后不再需要循环变量的内容,for循环就优先于while循环

    for-each循环优先于传统的for循环

    相比于传统的for循环,for-each循环在简洁性、灵活性和出错预防性方面都有绝对的优势,并且没有性能惩罚的问题

    了解和实用类库

    1. 现在不再使用Random,而是选择ThreadLocalRandom
    2. 每个java的发行版本中都会添加新的特性,了解这个新特性是值得的
    3. 必须熟悉java.lang,java.util,java.io以及子包中的内容
    4. Collections Framework 和Stream 和java.util.concurrent
    5. 不要重复造轮子

    如果需要精确的答案,请避免使用float和double,应该使用BigDecimal\int,或者long

    如果数值范围没有操作9位十进制数字,可以使用int,如果不超过18位数字,就可以使用long,如果超过18位数字,就必须使用BigDecimal

    基本类型优先于装箱基本类型

    1. 对装箱基本类型使用==操作符几乎总是错误
    2. 基本类型和装箱基本类型混合使用,装箱基本类型会自动拆箱
    3. 集合中的元素、键、值、不能使用基本类型,只能使用基本装箱类型
    4. 在参数化类型和方法中,必须使用装箱基本类型作为类型参数

    如果其他类型更合适,则尽量避免使用字符串

    连接字符串连接的性能

    1. 为连接n个字符串而使用字符串连接操作符(+),需要n的平方级的时间
    2. 为了获得可以接受的性能,使用StringBuilder代替String
    3. 不要用+,连接多个字符串

    通过接口引用对象

    1. 如果和合适的接口类型存在,那么对于参数、返回值、变量和域,都应该使用接口来进行声明

              Map map = new HashMap<>();
    2. 使用接口作为类型会更加灵活

    3. 如果没有合适的接口,就用类层次结构中提供了必要功能的最小的具体类来引用对象

    接口优先于反射机制

    1. 若编译期存在适当的接口或者超类,通过它们可以引用这个类,那么可以用反射创建实例,然后通过它们的接口或者超类,以正常的方式访问这些实例

    谨慎地使用本地方法

    1. 使用本地方法来提高性能的做法是不值得提倡的

    谨慎地进行优化

    1. 不要费力去编写快速的程序,应该努力编写好的程序

    遵守普遍接受的命名惯例

    1. 包和模块的名称应该是层次状的,用句号分割每个部分,每个部分都包括小写字母

    2. 包名通常不超过8个字母,可以使用有意义的缩写

    3. 类、接口命名大驼峰写法

    4. 方法、域命名小驼峰写法

    5. 常量域是唯一推荐使用下划线的情形

    6. 可被实例化的类包括枚举类,通常用一个名词或者名词短语命名

    7. 不可实例化的工具类经常用复数名词命名

  • 相关阅读:
    Linux 之 arm linux 与 windows 使用 tftp 进行文件传输的简单整理
    Himall商城Web帮助类获得参数列表、获得http请求数据、获得http请求数据
    HarmonyOS资源分类与访问
    node模块化的流程说明
    使用SpringBoot集成Mybatis的详细步骤
    微信小游戏adapter对document和windows 支持不足的错误
    人工智能 — 简介
    Adobe Photoshop cc快速抠图与精致抠图方法
    RustDesk 搭建一个自己的远程桌面中继服务器
    go每日一题——内嵌,json.Marshal函数
  • 原文地址:https://blog.csdn.net/jsq916/article/details/126705833