`
zzuliuli
  • 浏览: 7300 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java开发78条

    博客分类:
  • java
 
阅读更多

创建和销毁对象

1、考虑用静态工厂方法(返回类的实例的静态方法)代替构造器
2、遇到多个构造器参数时要考虑用构造器
3、用私有构造器或者枚举类型强化Singleton属性
4、通过私有构造器强化不可实例化的能力
5、避免创建不必要的对象
6、消除过期的对象引用
7、避免使用终结(final)方法

对于所有对象都通用的方法

8、覆盖equals时请遵守通用约定
9、覆盖equals时总要覆盖hashCode
10、始终要覆盖toString
11、谨慎地覆盖clone
12、考虑实现Comparable接口

类和接口

13、使类和成员的可访问性最小化
14、在公有类中使用访问方法而非公有域
15、使可变性最小化
16、复合优于继承
17、要么为继承为设计,并提供文档说明,要么就禁止继承
18、接口优于抽象类
19、接口只用于定义类型
20、类层次优于标签类
21、用函数对象表示策略
22、优先考虑静态成员类

泛型

23、不要在新代码中采用原生态类型
24、消除非受检警告
25、列表优先于数组
26、优先考虑泛型
27、优先考虑泛型方法
28、采用有限制通配符来提升API的灵活性
29、优先考虑类型安全的异构造器

枚举和注解

30、用enum带起int常量
31、用实例域代替序数
32、用EnumSet代替位域
33、用EnumMap代替序数索引
34、用接口模拟可伸缩的枚举
35、注解优先于命名模式
36、坚持使用Override注解
37、用标记接口定义类型

方法

38、检查参数的有效性
39、必要时进行保护性拷贝
40、谨慎设计方法签名
41、慎用重载
42、慎用可变参数
43、返回零长度的数组或者集合,而不是null
44、为所有导出的API元素编写文档注释

通用程序设计

45、将局部变量的作用域最小化
46、for-each循环优先于传统的for循环,[for循环为何可恨] http://justjavac.com/other/2012/05/15/whats-wrong-with-the-for-loop.html 
47、了解和使用类库
48、如果需要精确的答案,请避免使用float和double
49、基本类型优先于装箱基本类型
50、如果其他类型更适合,则尽量避免使用字符串
51、当心字符串链接的性能
52、通过接口引用对象
53、接口优先于反射机制
54、谨慎使用本地方法
55、谨慎进行优化
56、遵守普遍接受的命名惯例

异常

57、只针对异常的情况才使用异常
58、对可恢复的情况使用受检异常,对编程错误使用运行时异常
59、避免不必要地使用受检的异常
60、优先使用标准的异常
61、抛出与抽象相对应的异常
62、每个方法抛出的异常都要有文档
63、在细节消息中包含捕获失败的信息
64、努力使失败包含原子性
65、不要忽略异常

并发

66、同步访问共享的可变数据
67、避免过度同步
68、executor和task优先于线程
69、并发工具优先于wait和notify
70、线程安全性的文档化
71、慎用延迟初始化
72、不要依赖于线程调度器
73、避免使用线程组

序列化

74、谨慎的实现Seriallizable接口
75、考虑使用自定义的序列化形式
76、保护性的编写readObject方法
77、对于实例控制,枚举类型优先于readResolve
78、考虑用序列化代理代替序列化实例

分享到:
评论

相关推荐

    java开发知识库管理系统.zip

    《Java开发知识库管理系统》 Java开发语言是全球范围内广泛应用的编程语言,尤其在企业级应用和服务器端开发中占据主导地位。本资料"java开发知识库管理系统.zip"提供了一个完整的源码参考,旨在帮助开发者深入理解...

    java开发经理面试

    ### Java开发经理面试知识点解析 #### 一、Java开发经理面试概述 在Java开发经理的面试过程中,评估的不仅仅是候选人的技术能力,还包括其项目管理经验、团队协作精神以及对行业趋势的理解。以下是对给定内容中...

    2022美的集团Java开发岗位笔试题目.docx

    综上所述,以上知识点覆盖了Java开发中的基础概念、常用技术、框架使用等方面,对于想要从事Java开发工作的人员来说具有重要的参考价值。通过对这些知识点的学习和掌握,可以帮助开发者更好地理解和应对实际项目中的...

    阿里巴巴Java开发手册嵩山版2020.pdf

    阿里巴巴Java开发手册嵩山版2020.pdf 编程规约 1 (一) 命名风格 1 (二) 常量定义 4 (三) 代码格式 5 (四) OOP 规约 7 (五) 日期时间 11 (六) 集合处理 12 (七) 并发处理 17 (八) 控制语句 20 (九) 注释规约 24 (十) ...

    java开发必去的网站

    ### Java开发必去的网站知识点总结 #### 一、Java官方网站 (http://java.sun.com) - **重要性**:作为Java语言的发源地,Oracle公司(原Sun Microsystems)提供的官方资源是学习Java最权威的地方。 - **主要内容**...

    Java开发实战经典(名师讲坛)

    十、Java开发工具和实践 介绍Eclipse、IntelliJ IDEA等主流IDE的使用,以及Maven、Gradle等构建工具,帮助读者提升开发效率。 总的来说,《Java开发实战经典》是一本全面覆盖Java开发的教材,无论是入门还是进阶,...

    Java开发技术大全 清晰版

    《Java开发技术大全》是一本深受Java开发者喜爱的著作,由清华大学出版社出版,提供清晰版的PDF格式。这本书全面覆盖了Java开发的各种核心技术和实践应用,旨在帮助读者深入理解和掌握Java编程语言,提升软件开发...

    java在网站开发上的优势

    ### Java在网站开发上的优势详解 #### 一、概述 Java作为一款被广泛采用的网络编程语言,在互联网技术不断发展的背景下,其应用范围日益扩大。Java之所以能够在众多编程语言中脱颖而出,成为一种“新一代编程语言...

    Java案例开发_项目开发风暴(PDF).

    《Java案例开发_项目开发风暴》是一份深入探讨Java编程技术及实际项目开发经验的PDF文档,旨在帮助读者提升在Java领域的实践技能。本资料详细介绍了多种Java编程技术和实际应用场景,通过实例分析和项目实战,让学习...

    Velocity java开发指南

    ### Velocity Java 开发指南知识点详解 #### 一、Velocity简介 **Velocity** 是一款基于 Java 的模板引擎,它能够高效地将数据模型与界面展示分离,使得开发人员能够轻松地生成动态网页或者其他任何形式的文本输出...

    Java手机操作系统开发入门

    使用Java开发时,主要关注的是应用程序框架和应用程序部分。了解这些组件如何协同工作,以及它们如何与硬件资源交互,对于操作系统开发至关重要。 四、J2ME开发环境 要开始Java手机操作系统的开发,首先需要搭建...

    MyEclipse6 Java开发中文教程_全部18章

    第一章 安装配置开发环境 第二章 开发第一个Java 应用程序 第三章 Eclipse 的基础概念,配置和使用 第四章 用MyEclipse Database Explorer管理数据库 第五章 开发JDBC 应用 ...第十八章 图形界面开发-AWT,Swing,SWT

    java游戏开发 (经典)

    Java游戏开发是一个涵盖众多技术领域的综合学科,它利用Java编程语言和相关框架、库来创建交互式的电子游戏。本资源“java游戏开发 (经典)”显然是一份宝贵的教材,旨在帮助学习者掌握Java游戏开发的核心技能。...

    java网络游戏开发

    Java网络游戏开发是一个涵盖广泛的技术领域,它涉及到网络通信、图形渲染、并发处理、数据库交互等多个方面的知识。在Java平台上进行网络游戏开发,可以利用其强大的跨平台能力,丰富的库支持以及高效的性能来创建...

    MyEclipse 6 Java 开发中文教程

    《MyEclipse 6 Java 开发中文教程》是由知名IT专家刘长炯编著的一本专业...通过学习这本教程,开发者不仅能够掌握MyEclipse 6的使用,还能深入理解Java企业级开发的关键技术,从而提升自身在Java开发领域的专业技能。

    阿里巴巴《Java开发手册》嵩山版.pdf【2020.08.03最新版】(含所有版本)

    《阿里巴巴Java开发手册》是阿里巴巴集团为提升Java编程质量、规范团队编码行为而制定的一份详尽指南。这份手册在行业内具有广泛的影响,被众多开发者视为编写高质量Java代码的重要参考。2020年8月3日发布的嵩山版是...

    JAVA WEB开发源码

    1. **第一章:基础环境搭建** - 介绍如何安装Java开发工具(JDK)、集成开发环境(IDE,如Eclipse或IntelliJ IDEA)以及Tomcat服务器,这是所有JAVA WEB项目的基础。 2. **第二章:Servlet** - 学习Servlet的基本...

    Java Web开发技术大全.zip

    总之,"Java Web开发技术大全.zip"这个压缩包很可能包含了上述所有领域的教程、示例代码、实战项目等,为学习者提供了一条系统学习Java Web开发的路径。通过深入学习并实践这些知识点,开发者可以逐步成长为一名专业...

    java精通+开发案例 经典经典总结

    七、Java开发工具 1. IDE:Eclipse、IntelliJ IDEA等集成开发环境的使用,以及Maven或Gradle构建工具的配置和应用。 2. JUnit与Mockito:进行单元测试,确保代码质量。 八、Spring框架 1. Spring Core:依赖注入...

Global site tag (gtag.js) - Google Analytics