摘要:
1、Java内存区域 运行时数据区域: Java 虚拟机在执行Java程序时,定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁。另外一些则是与线程一一对应的,这些与线程对应的数据区域会随着线程开始和结束而创建和销毁。 程序计数器(Program 阅读全文
摘要:
1、线程与进程 进程: 进程是程序运行以及资源分配的基本单位,一个程序至少有一个进程。 如下图所示: 线程: 线程是CPU调度和分配的基本单位,一个进程至少有一个线程。 同一个进程中的线程共享进程资源(减少切换,可提高效率),且可以并发执行。 2、并发和并行 并发: 指的是同一时间间隔执行多个事件, 阅读全文
摘要:
1、HashMap源码解析(JDK8) 基础原理: 对比上一篇《Java中的容器(集合)之ArrayList源码解析》而言,本篇只解析HashMap常用的核心方法的源码。 HashMap是一个以键值对存储的容器。 hashMap底层实现为数组+链表+红黑树(链表超过8时转为红黑树,JDK7为数组+链 阅读全文
摘要:
1、ArrayList源码解析 源码解析: 如下源码来自JDK8(如需查看ArrayList扩容源码解析请跳转至《Java中的容器(集合)》第十条):。 (以上所有内容皆为个人笔记,如有错误之处还望指正。) 阅读全文
摘要:
1、Java常用容器:List,Set,Map List: 继承了Collection接口(public interface List<E> extends Collection<E> ),有序且允许出现重复值。 Set: 继承了Collection接口(public interface Set<E 阅读全文
摘要:
1、Java中的I/O分类 I/O分类: 输入流,输出流,或者字节流,字符流 I/O中的四个抽象基类: InputStream,OutputStream:两者属于字节流,前者输入,后者输出。一般后缀名为这两个的都属于字节流家族。 Reader,Writer:两者属于字符流,前者输入,后者输出。一般后 阅读全文