`
donald3003a
  • 浏览: 64125 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
  • 淼淼E馒头: 这举列有点不恰当啊。。电影人和不同类型的电影。是两个不同概念 ...
    合成模式

java 性能优化读书笔记(三)

 
阅读更多
一、引用类型
java中存在4中引用类型,强引用,软引用,弱引用,虚引用。
1、强引用FinalReference。
这个关系是我们经常使用的赋值。特点是可以直接访问目标,jvm不会主动释放,可能会导致内存泄露。
2、软引用
第2强的引用类型,只有在jvm中堵使用率接近阙值的时候才会回收。如果内存足够,将一直使用。可以来实现对内存敏感的cache
3、弱引用
系统GC时,发现弱引用直接就回收。但是由于GC线程优先级低,不一定会立刻发现弱引用,所以这样弱应用也会持续一段时间。
软引用与弱引用很适合做可有可无的缓存数据,这样不会引起内存泄露。
4、虚引用
虚引用等于没有引用,开发用处不大。。
5、WeakHashMap
一个hashmap的实现类,里面元素采用弱引用可有有效的释放内存。但是如果key存在强引用,它将退化为HashMap。
二、异常
异常的逻辑没有任何优化,如果要使用最好放在循环外面。
二、局部变量
局部变量效率高于静态变量。
三、位预算
位预算要优化算术运算但是使用位运算必须添加注释。
四、switch
可以用数组来代替switch.
五、使用arrayCopy()
在复制数组的情况下可以用system.arraycopy();这个方法,因为这个方法是以个自然方法,可以有效的提高效率
六、I/O操作必须用buffer
OutputStream -- FileOutputStream -- BufferedOutputStream
InputStream  -- FileInputStream -- BufferedInputStream
Writer -- FileWriter -- BufferedWriter
Reader -- FileReader -- BufferedWriter
七、静态方法
静态方法效率上要高于实例方法,而且不用生成类,在工具类必须使用。
分享到:
评论

相关推荐

    Java程序性能优化读书笔记脑图

    Java程序性能优化 笔记 脑图

    Java性能优化.png

    《Java性能优化权威指南》读书笔记(脑图) 原图,看不清楚可以下载这个

    Java优化编程(第2版)

    第4章 java核心类与性能优化 4.1 散列表类与性能优化 4.1.1 线程同步散列表类 4.1.2 设置arraylist初始化容量 4.1.3 arraylist与linkedlist 4.2 string类与性能优化 4.2.1 字符串累加与性能优化 4.2.2 字符串的...

    java版飞机大战源码-java-performance:Java系统性能优化实战

    有幸阅读此书,这是一本大道至简的Java性能优化指南,使得我们的开源项目的代码质量和性能有了飞跃,更能够指导每个Java工程师写出优雅、易阅读、高质量、易于扩展的代码。 ——肖宇(开源组织dromara.org创始人,...

    高级java笔试题-understanding-the-jvm:《深入理解Java虚拟机》阅读笔记

    虚拟机》阅读笔记 本 repo 为《深入理解 Java 虚拟机 第2版》的阅读笔记,并对全书内容按照自己的理解进行了一定程度的整理。《深入理解 Java 虚拟机 第2版》原书主要分为了五个部分,这里仅对前四个部分进行讲解,...

    SpringBoot项目学生读书笔记共享.zip

    2. 笔记上传与编辑:用户可以上传自己的读书笔记,并支持在线编辑和格式调整,以优化内容的可读性。 3. 标签分类:通过给笔记添加标签,用户可以方便地对笔记进行分类和检索。 4. 搜索与筛选:提供强大的搜索引擎...

    Redis全套学习笔记 (带章节目录) 完整版pdf

    本文是一篇关于Redis全套学习笔记的文章,主要介绍了Redis的基础知识、数据结构、持久化、集群、高可用、性能优化等方面的内容。通过本文的学习,读者可以全面掌握Redis的使用和应用,提高自己的技术水平和实践能力...

    实战Java高并发程序设计 .pdf 下载

    第三,详细讨论有关“锁”的优化和提高并行程序性能级别的方法和思路。第四,介绍并行的基本设计模式及Java 8对并行程序的支持和改进。第五,介绍高并发框架Akka的使用方法。最后,详细介绍并行程序的调试方法。 ...

    深入理解Java源码:提升技术功底,深度掌握技术框架,快速定位线上问题

    阅读源码的方法包括:先使用框架,然后找一个demo入手,顺藤摸瓜快速静态看一遍框架的主线源码,画出源码主流程图,然后总结框架的一些核心功能点,从这些功能点入手深入到源码的细节,边看源码边画源码走向图,并对...

    hibernate笔记

    11 性能优化(重点) 5 12 补充话题 5 风格 5 1 先脉络,后细节 5 2 先操作,后原理 5 3 重Annotation,轻xml配置文件 5 资源 5 1 http://www. hibernate.org 5 2 hibernate zh_CN文档 5 3 hibernate annotation ...

    高级java笔试题-Android-Interview:收集知识点自学使用

    OOM、ANR及性能优化 各种机制 一些比较难理解的技术 启动流程 框架模式 开源库源码分析 其他 设计一套图片异步加载缓存方案 Android UI适配 第二部分 Java JavaSE JavaCollection JavaConcurrent JVM 第三部分 数据...

    java笔试题重复字符串-optimizing-go-programs:关于优化Go程序的研讨会材料

    java笔试题重复字符串优化 Go 程序 这是有助于优化 Go 程序的工具和技术的整理。 它分为两部分——工具和技术。 工具查看帮助您检测代码的 go 命令行工具。 技术查看您可能用来获得性能的想法列表。 最后还有一大堆...

    java开发笔试题-AndroidInterviews::ox:Android面试的有用材料

    Java程序性能优化:修炼Java的基本功 剑指Offer:国内的经典面试书 程序员面试金典:国外的经典面试书 Android面试题一天一题: PS:千万记得要去刷! 在此特别感谢戴方勤和唐磊总结的题解(对应leetcode-c

    leetcode下载-interview3:镜像来自//github.com/hujiaweibujidao/AndroidInterview

    Java程序性能优化:修炼Java的基本功 剑指Offer:国内的经典面试书 程序员面试金典:国外的经典面试书 Android面试题一天一题: PS:千万记得要去刷! 在此特别感谢戴方勤和唐磊总结的题解(对应leetcode-c

    增长:个人增长资料

    生长 成长文档 文章列表 Java Python 去 Linux MySQL 其他 性能优化 互联网资源数字图书馆 参考表 读书笔记 自传 增长由双鬼带单采用进行许可。

    asp.net知识库

    Essential .NET 读书笔记 [第一部分] NET FrameWork的Collections支持 .NET的反射在软件设计上的应用 关于跨程序集的反射 实现C#和VB.net之间的相互转换 深入剖析ASP.NET组件设计]一书第三章关于ASP.NET运行原理讲述...

    worldwindjava源码-CleancodeNotes:这个repo包含来自RobertC.Martin的书CleanCode:AHan

    逻辑应该简单明了,使错误难以隐藏,依赖最小化以简化维护,根据明确的策略完成错误处理,以及接近最佳的性能,以免诱使人们通过无原则的优化使代码变得混乱。 干净的代码可以很好地做一件事。 对象的Grady Booch...

Global site tag (gtag.js) - Google Analytics