随笔分类 - Java
review
摘要:1. 引入 一个线程池中的线程异常了,那么线程池会怎么处理这个线程? public class ThreadPoolTest { public static void main(String[] args) throws Exception { ThreadPoolExecutor executor
阅读全文
摘要:摘自公众号:vivo互联网技术 1. 构造 ThreadPoolExecutor 1.1 线程池参数列表 大家可以通过如下构造方法创建线程池(其实还有其它构造器,大家可以深入源码进行查看,但最终都是调用下面的构造器创建线程池); public ThreadPoolExecutor(int coreP
阅读全文
摘要:摘自公众号:低并发编程 1. 线程状态的实质 首先你得明白,当我们说一个线程的状态时,说的是什么?没错,就是一个变量的值而已。哪个变量?Thread 类中的一个变量,叫: private volatile int threadStatus = 0; 这个值是个整数,不方便理解,可以通过映射关系(VM
阅读全文
摘要:1. Java 中的 IO 原理 首先 Java 中的 IO 都是依赖〈操作系统内核〉进行的,我们程序中的 IO 读写其实调用的是〈操作系统内核〉中的 read&write 两大系统调用。 那内核是如何进行 IO 交互的呢? 网卡收到经过网线传来的网络数据,并将网络数据写到内存中。 当网卡把数据写入
阅读全文
摘要:1. 函数式接口 只声明一个抽象方法的接口,称为"函数式接口"。 通过 Lambda 表达式来创建该接口的对象(若 Lambda 表达式抛出一个受检异常,即:非运行时异常,那么该异常需要在目标接口的抽象方法上进行声明)。 我们可以在一个接口上使用 @FunctionalInterface 注解,这样
阅读全文
摘要:1. 事务管理 1.1 数据库事务介绍 事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。 事务处理(事务操作):保证所有事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方式。当在一个事务中执行多个操作时,要么所有的事务都被提交(commit),那么这些修改就永久地保存下来;
阅读全文
摘要:# 1. 操作和访问数据库 - 数据库连接被用于向数据库服务器发送命令和 SQL 语句,并接受数据库服务器返回的结果。其实一个数据库连接就是一个 Socket 连接。 - 在 java.sql 包中有 3 个接口分别定义了对数据库的调用的不同方式: :把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。 持久化的主要应用是将内存中的数据存储在关
阅读全文
摘要:1. 概述 Reflection(反射)是被视为 [动态语言] 的关键,反射机制允许程序在执行期借助于 Reflection API 取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 动态语言:是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删
阅读全文
摘要:1. 网络编程概述 Java 是 Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。 网络程序:能够接收另一台计算机发送过来的数据或能够向另一台计算机发送数据的程序。 Java 提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在
阅读全文
摘要:1. 数据流 用于读取或写出基本类型的变量或字符串 为了方便地操作 Java 语言的基本数据类型和 String 的数据,可以使用数据流 数据流有 2 个类(用于读取和写出基本数据类型、String 类的数据) public class DataInputStream extends FilterI
阅读全文
摘要:1. File 1.1 概述 java.io.File:文件和文件目录路径的抽象表示形式,与平台无关 File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。 如果需要访问文件内容本身,则需要使用输入/输出流 想要在 Java 程序中表示一个真实存在的文件或目录,那么必须有一个
阅读全文
摘要:1. 引入 集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在 JDK5 之前只能把元素类型设计为 Object,JDK5 之后使用 [泛型] 来解决。因为这个时候除了元素的类型不确定,其他的部分是确定的,例如关于这个元素如何保存,如何管理等。因此,此时把元素的类型设
阅读全文
摘要:1. Map 概述 Map 与 Collection 并列存在,用于保存具有映射关系的数据:key-value Map 中的 key 和 value 都可以是任何引用类型的数据 // 常用 String 作为 Map 的“键” Map 中的 key 用 Set 来存放,不允许重复,即同一个 Map
阅读全文
摘要:1. 概述 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用 Array 存储对象方面具有一些弊端,而 Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中 数组在内存存储方面的特点 数组初始化以后,长度就确定了 数组声明的
阅读全文
摘要:1. 枚举类型 有时候,变量(对象) 的取值只在一个有限的集合内。比如: 星期:Monday(星期一)、...、Sunday(星期天) 性别:Man(男)、Woman(女) 季节:Spring(春节)、Summer(夏天),Autumn(秋天),Winter(冬天) 支付方式:Cash(现金)、We
阅读全文
摘要:1. System System 类代表系统,系统级的很多属性和控制方法都放置在该类的内部;该类位于 java.lang 包。 由于该类的构造器是 private 的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是 static 的,所以也可以很方便的进行调用。 变量
阅读全文
摘要:1. String 的特性 字符串是一个字符序列 类的声明:public final class String implements java.io.Serializable, Comparable<String>, CharSequence final:String类不可被继承 Serializa
阅读全文
摘要:1. 相关概念 1.1 程序 程序(program) 是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。下面谈一下 [程序的两种执行方式]。 1.2 进程 1.2.1 进程的由来 一方面为了保持程序是一个在时间上严格有序的指令集合,是静态的保存在存储介质上这个概念的原有
阅读全文
摘要:1. 安装 下载软件 → 安装 → Edit Custom VM option 填一行(-javaagent:xxx) → 重启 → 输入激活码 2. IDEA-Module 在 Eclipse 中有 Workspace(工作空间) 和 Project(工程) 的概念,在 IDEA 中只有 Proj
阅读全文
