随笔分类 - JavaSE
摘要:序列化和反序列化的定义 * Java序列化就是指把Java对象转换为字节序列的过程 * Java反序列化就是指把字节序列恢复为Java对象的过程。 以下是我们常见的一行代码: private static final long serialVersionUID = 1L; 关于这行代码,这是java
阅读全文
摘要:ThreadPoolExecutor提供了四个构造方法: 我们以最后一个构造方法(参数最多的那个),对其参数进行解释: public ThreadPoolExecutor( int corePoolSize, // 1 int maximumPoolSize, // 2 long keepAlive
阅读全文
摘要:转自 http://wsmajunfeng.iteye.com/blog/1629354 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了
阅读全文
摘要:一、前言 首先我们要了解Java内存模型(Java Memory Model)。JMM就是一套规范,描述了Java线程对变量的访问规则。 在JVM中有一个main memory,而每个线程都有自己的working memory,一个线程对一个共享variable进行操作的时候,会先在自己的worki
阅读全文
摘要:在 JDK 1.5 之前没有枚举类型,那时候一般用接口常量来替代。而使用 java 枚举类型 enum 可以更贴近地表示这种常量。 语法要求: 任意两个枚举成员不能具有相同的名称,且它的常数值必须在该枚举的基础类型的范围之内; 多个枚举成员之间使用逗号分隔;要注意必须在枚举实例的最后一个成员后添加分
阅读全文
摘要:概述: JVM是一个虚构出来的计算机,可运行Java代码。JVM是运行在操作系统之上的,它与硬件没有直接的交互。 运行过程: Java源文件 >编译器 >字节码文件 >JVM >机器码 体系结构: Java虚拟机主要分为五大模块:类装载器子系统、运行时数据区、执行引擎、本地方法接口和垃圾收集模块 1
阅读全文
摘要:一、什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。简单理解就好比我们坐高铁、飞机过安检一样,过安检的时候一个入口只有一个安检口,而多线程就是为安检开启了多个安检口。Java在语言层面对多线程提供了卓越的支持。 二、线程和进程有什么区别? 线程是进
阅读全文
摘要:一、Map接口 Map 接口没有继承Collection接口,意味着他不具备迭代器的方法 Map与List、Set接口不同,它是由一系列键值对组成的集合,提供了key到Value的映射。在Map中它保证了key与value之间的一一对应关系。也就是说一个key对应一个value,所以它不能存在相同的
阅读全文
摘要:一、前言 在java中不同的集合底层对应着不同的数据结构。根据集合的存储方式不同,将集合划分两大类: 一种是单列集合(Collection); 另一种是双列集合(Map),存储键/值对映射。 二、Collection接口 为什么会出现接口? 因为集合框架中的很多类的功能是相似的【所以用接口来规范类】
阅读全文