`

effective java学习笔记--2

阅读更多
第四条:避免创建重复的对象
     4.1
        String s = new String("haha"); // don't do this  该语句每次都会new 一个新的对象出来,在循环中将会new出一堆的新对象
         String ss = "haha";这个方式新建的对象把放入JVM的池中,在循环中中再次调用时,不会new 一个新对象。

       4.2
         Boolean b = Boolean.valueOf("true");       这个是利用静态工厂来获得对象,只会新建一个新的对象
         Boolean b1 = new Boolean("true");          通过构造方法来获得对象的方式则会新建一个对象

   在新建一个类的时候,尽量使用对方提供的静态工厂来获得实例,因为在其中还可以做到延迟加载的效果。

       4.3
           对于一些不变的变量,特别是定义在循环中的变量,如果其值是不变,那么可以考虑设置为static final 。
   在static 块中进行赋值。能够大大减少系统的开销。至少可以减少100倍的耗时。在1000000次循环的情况下。
       4.4
           对于现代的JVM来说,小对象的创建和回收是非常廉价的,建立多使用。不过在循环中例外。

   第五条:消除过期的对象引用
        例如说在一个栈中,我们pop一个元素后,在数组中指向该对象的引用起始已经是无效了,但是JVM不知道,还在这个数组中保持着对该对象的引用,不会去清理该片内存,如果一直操作这个栈的话就可能会引起内容泄露。
        良好的做法就是设置数组pop的这个位置的引用指向null。
        即,只要一个类自己管理一片内容的话,就需要考虑内存泄露的问题。
       
        内存泄露还有可能就是缓存
  
   第六条:避免使用终结函数
        
        暂时没看明白
  
分享到:
评论

相关推荐

    effective java 读书笔记

    effective java 读书笔记,第二版自己摘要并翻译,以备速查。

    java-note:Java学习笔记

    Structure /src/main/java ... ├ effective_java Effective Java 中文第二版 ├ jvm 深入理解Java虚拟机:JVM高级特性与最佳实践 ├ lambda JAVA 8实战 ├ netty Netty权威指南 ├ oop ├ recursion

    java7hashmap源码-for-java:java学习笔记

    Java学习笔记 Effective Java Topic2:插件销毁对象 2. 多参数情况 使用重叠构造器; 使用Build模式【构建器】: new A.Build().set.set.build(); Build模式也适用于类层次结构 递归类型参数 /* * 递归类型参数: ...

    高级java笔试题-Lookoop:学习笔记

    高级java笔试题 个人博客 c++ c++primer - c++primer顺序容器与关联容器的一些用法 effective c++ - effective c++笔记归纳 Data Structures and Algorithm Analysis 数据结构与一些算法,来自算法导论,数据结构与...

    java8源码-esmusssein777.github.io:我的学习记录

    java8 源码 Spring IoC源码 effectiveJava学习笔记 Java8的实战学习笔记

    5本java学习用书

    找了5本学习java的好书和一些例子代码和大家分享,希望能够对您能有所帮助。

    leetcode题库-MyNote:`13的学习笔记

    的学习笔记 学习笔记与练习项目源码整理 The Only Easy Day Was Yesterday 编程语言 C 参考书籍 : 《c primer plus》 6th edition 书内习题答案总结 , 优秀源码赏析 快速平方根算法 kilo (1000行的源文本编辑器) ...

    notes:JavaJava后端工程师的学习笔记https

    loveincode's notes 学习工作中的一些记录,收藏。 操作系统 , 编译原理 , 计算机网络 , 互联网协议... 常用数据结构与算法 Java 实现 数据结构 与 排序算法 ...Effective Java , HTTP权威指南 , Java

    java软件笔试题-MyNotebook:我大学时期的笔记本

    2:设计模式与架构 part 3:编程语言 & 前端 & 机器学习 C++笔记 part 4: 数据结构与算法 part 5: 笔试/面试 part 6:专业基础 输入URL到页面加载完成的过程 part 7:读书笔记 thinking in java effective java ...

    Android代码-一个集Gank.Io,Rxjava示例,操作符,MD控件使用,各种好玩Ap示例的学习App。

    安卓艺术开发探索读书笔记,EffectiveJava读书笔记. 收集各大神博客以及安卓笔记,安卓面试笔记等方便手机端查看. 更新说明 v2.2.2 1.增加了一些最近在学习比较好的安卓大神的博客. 2.增加了来自GeniusVJR整理的安卓...

    AndroidRank 干货学习客户端

    作者HotBitmapGG,源码StudyProject,一款 Material Design 风格的 AndroidRank 干货学习客户端,需要...安卓艺术开发探索读书笔记,EffectiveJava 读书笔记. 收集各大神博客以及安卓笔记,安卓面试笔记等方便手机端查看.

    asp.net知识库

    VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...

Global site tag (gtag.js) - Google Analytics