`
貌似掉线
  • 浏览: 260109 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

《程序员》2010精华本笔记

阅读更多
由于之前学JAVA时看的视频是基于J2SE 1.4的,这些天看2010年的《程序员》精华本,竟也有不少收获。现在记录如下:

1、自动选择垃圾收集器、Heap大小及运行时编译器。
  JDK5中,引入了成本计算,即根据的成本来动态地调整收集器的具体策略,例如在采用Parallel Scavenge GC 的情况下,每次minor GC后会对eden、to以及TenuringThreshold的大小进行动态调整。JDK 6 在按照成本计算调整收集器策略、编译策略方面做了更多努力,但从实际运行情况来看,Parallel Scavenge GC有时反而会造成更严重的Fulll GC, 但相信随着JDK 7中Garbage First 的逐渐成熟,JDK在根据成本计算进行策略调整方面也会越来越成熟。

2、高精度的时间测量
    在JDK 5 之前,只能通过 System.currentTimeMillis来测量程序的性能,在JDK 5之后 推出了System.nanoTime,使得它可以在更高的精度来测量程序的性能。

3、StringBuilder
    在JDK 5 之前,经常会听到有经验的开发人员强调,字符串相加要用StringBuffer;但StringBuffer是线程安全的,对于某些场景而言,性能仍然不够高;因此在JDK 5中推出了StringBuilder,其是非线程安全的,并且在默认情况下,JDK 5 在编译代码时会将字符串的相加操作自动转为StringBuilder.append的方式。

笔记:以前做字符串拼接,一开始用的是加号。后来改为使用StringBuffer。后来看到StringBuilder。但是现在看到这一条后,我在想,我还有必要将字符串的拼接从加号改为用StringBuffer或StringBuilder吗?如果会被优化的话。

4、锁粗化
    对于经常加锁、释放锁,而在这个加锁、释放锁的过程又没做什么动作的话,JDK会选择将锁进行粗化,即将多次的加锁和释放锁的动作合并为一次。
0
1
分享到:
评论

相关推荐

    黑马程序员基础班精华笔记总汇

    ### 黑马程序员基础班精华笔记总汇 #### 计算机基础知识 - **计算机定义**:计算机是一种能够根据程序指令处理数据的电子设备。它由硬件和软件两大部分构成。 - **硬件**:包括中央处理器(CPU)、内存、硬盘、...

    韩顺平程序员一周玩转算法的ppt,图解,笔记

    3. **学习笔记**:笔记部分是课程的精华总结,包含了重要知识点、解题思路和常见陷阱。这些笔记可以帮助学习者巩固课堂所学,方便日后查阅和复习,同时也是对实际问题解决能力的提升。 4. **实战代码**:除了理论...

    程序员两年的积累

    通过对开源项目或知名框架的源码进行研究,程序员可以吸收其中的精华,提升自己的编程水平和解决问题的能力。这可能也是作者两年积累中的一个重要部分。 工具的掌握对于程序员来说同样至关重要。无论是版本控制系统...

    java学习笔记,前人总结出来的精华之作(2)

    这份"java学习笔记,前人总结出来的精华之作(2)"无疑是为那些希望掌握Java技术的人提供了一份宝贵的资源。笔记深入浅出地介绍了Java的核心概念,包括语法、数据结构、算法等方面,旨在帮助学习者快速理解并熟练...

    Java程序员面试宝典+笔试题(最新)

    这份“Java程序员面试宝典+笔试题(最新)”显然是一份集合了诸多知名IT企业内部面试题目的精华资源,对于提升Java开发者的技术素养和面试成功率具有极大的价值。 首先,Java面试的核心部分通常包括以下几个关键...

    精华ruby学习笔记和代码

    这个笔记里包含了ruby的整型,字符串,浮点数,布尔等基础数据类型,还有数组,哈希hash的用法, 类的定义,函数方法,以及对象定义,其他高级用法解释,除了笔记记录的语法糖之外,还包含了一些解释性的代码,帮助...

    韩顺平笔记.zip

    《韩顺平笔记》是一个包含了韩顺平老师教学精华的压缩包文件,涵盖了Java、JavaScript、Linux和Oracle等核心IT技术领域的知识。韩顺平老师是业界知名的IT教育专家,他的教程以其深入浅出的讲解方式深受广大程序员...

    C++精华的笔记

    C++是一种强大的编程语言,它源自C语言并加入了面向对象编程的概念。C++在1980年由贝尔实验室开始改进,旨在扩展C语言的功能,引入了类的概念...理解并熟练掌握C++的这些核心概念对于成为一位优秀的C++程序员至关重要。

    c++笔记(详细介绍了c++,很全,简单易懂)

    本笔记详尽地阐述了C++的各项特性,旨在帮助初学者和有经验的开发者深化对这一语言的理解。 首先,笔记会从C++的基础语法开始,包括变量定义、数据类型(如int、char、float等)、运算符(如算术、比较和逻辑运算符...

    密码学笔记_java密码学笔记(精华!).zip

    这是我关于密码学的笔记, 只讲各种加密算法到底是什么, 应当如何... 所以, 这是精华中的精华, 适合绝大多数想对密码学进行快速学习和完整了解的程序员. 我使用的是markdown形式做笔记, 树状结构, 层次分明, 易于阅读.

    java笔记精华2

    本笔记精华主要涵盖了两个关键主题:“异常处理”和“内部类”。 首先,我们来探讨“异常处理”。在Java中,异常是程序运行时出现的错误,如除以零、文件未找到等。Java通过一个强大的异常处理机制来处理这些意外...

    程序员的学习与思考.doc

    从给定的文件信息来看,本文档探讨的主题围绕着程序员的学习方法、思考习惯以及如何构建一个有益于个人成长和知识分享的社群环境。以下是对这些关键知识点的详细解析: ### 知识点一:程序员的学习习惯 #### 1. ...

    win32 汇编笔记精华

    **标题:“win32汇编笔记精华”** **概述:** 在计算机科学的世界里,汇编语言是一种低级编程语言,它与机器语言密切相关,直接对应于计算机硬件的指令集。Win32汇编,顾名思义,是应用于Windows 32位操作系统的...

    精华java初级笔记

    Java 初级知识详解 Java 是一种广泛使用的...这些基础知识构成了Java初级学习的核心,理解和掌握它们对于成为一名合格的Java程序员至关重要。在实际编程中,不断实践和应用这些概念,将有助于深化理解,提高编程能力。

    韩顺平老师最全读书笔记

    "韩顺平老师最全读书笔记"这个压缩包文件正是他课程精华的集合,包含了一系列重要的IT知识点。 首先,我们来看Java部分。Java是一种广泛使用的面向对象的编程语言,以其“一次编写,到处运行”的特性闻名。笔记中的...

    小程序笔记精选精华.zip

    小程序也是这么多年来中国IT行业里一个真正能够影响到普通程序员的创新成果,现在已经有超过150万的开发者加入到了小程序的开发,与我们一起共同发力推动小程序的发展,小程序应用数量超过了一百万,覆盖200多个细分...

    c的笔记c的笔记

    这篇笔记将深入探讨C语言的核心概念、语法结构以及编程实践,旨在帮助学习者掌握C语言的基础知识。 一、C语言概述 C语言由Dennis Ritchie在1972年为UNIX操作系统设计,因其简洁、高效和强大的特性,迅速成为程序员...

    清华殷人昆数据结构笔记(c++)

    殷人昆教授是清华大学计算机科学与技术系的知名教师,他的教学经验丰富,这本笔记正是他教学精华的结晶。在C++语言的背景下,这份资料详细介绍了数据结构的基础概念、核心算法以及实际应用,为学习者提供了丰富的...

Global site tag (gtag.js) - Google Analytics