分类:Java进阶

Java高级知识

HashMap源码学习——实现原理

HashMap介绍 HashMap是基于哈希链表的Map接口的非同步实现。允许使用null值和null键,存储是无序的,是按照哈希散列排序的。 数据结构 最基本的结构是链表散列,如图由两部分组成:数组和链表。HashMap的底层就是一个数组,数组中的每一项都是一个链表。 初始化 当新建一个HashMap的时候,会初始...

yan 2016 年 8 月 30 日 875℃ 6评论 8喜欢

详解JVM中的垃圾回收机制(GC)

垃圾回收(Garbage Collection,GC),很多人都会联想到java虚拟机中的垃圾回收机制。在C/C++中,内存是需要程序员去管理的,程序员在使用的时候 需要先new一个新的对象,在使用完成后,通过delete等关键字进行释放资源。但是在java中,对于内存的分配和回收则是不需要成员关心的,一切都交给了虚...

yan 2016 年 4 月 13 日 648℃ 0评论 4喜欢

java虚拟机的内存划分

开源项目地址:https://github.com/yangengzhe/coding-guide_i3geek java虚拟机是java程序运行的基础,所有的java程序在生成字节码.class后都被加载后运行在虚拟机上。每一个线程虚拟机都会为其划分出一定的内存空间,若想优化程序并了解运行原理,就必须掌握虚拟机中内存...

yan 2016 年 4 月 9 日 536℃ 0评论 2喜欢

Java线程池

线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。 一、...

yan 2015 年 7 月 10 日 1018℃ 7评论 5喜欢

幻数

幻数——上下文里出现的字面常量。 幻数带来的主要问题是它们没有(抽象)语义。当我们阅读和维护带有幻数的代码时,不得不去一个个地搞清楚每个光秃秃的量到底代表的是什么意思。没错,这样也能勉强度日,但带来的是不必要的精力浪费以及准确性的丧失。 //这里的一些10分别代表什么意思?? class...

yan 2015 年 1 月 23 日 969℃ 0评论 0喜欢