摘要:
BIO 相关API Java流操作有关的类或接口: 详见如下图: Java流类图结构: 【备注:】IO中大量使用了装饰模式(装饰模式详解详见流中的说明) 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 阅读全文
摘要:
IO 模型 BIO (Blocking I/O) BIO 属于同步阻塞 IO 模型 。 同步阻塞 IO 模型中,应用程序发起 read 调用后,会一直阻塞,直到内核把数据拷贝到用户空间。 在客户端连接数量不高的情况下,是没问题的。但是,当面对十万甚至百万级连接的时候,传统的 BIO 模型是无能为力的 阅读全文
摘要:
JAVA基础串讲 知识整体梳理 八种基本类型,byte的范围 基本类型、对象、数组 引用传递和值传递 equals和==的区别 equals()和hashcode()方法 String不可变的理解,String, StringBuilder和StringBuffer String.intern()方 阅读全文
摘要:
Java内存模型详解 硬件内存架构 理解内存模型架构以及Java内存模型如何与它协同工作也是非常重要的。 现代计算机硬件架构的简单图示: 多CPU:一个现代计算机通常由两个或者多个CPU。其中一些CPU还有多核。从这一点可以看出,在一个有两个或者多个CPU的现代计算机上同时运行多个线程是可能的。每个 阅读全文
摘要:
数组类创建过程 【结论】数组类本身并不是由类加载器负责创建的,而是由JVM直接在内存中动态构造出来的 理解: String[] Student[] Integer[] int[] 【结论】数组不是类加载器创建的而是java虚拟机直接创建的,知道这个结论就可以了,因为数组不属于类 核心就是: 创建数组 阅读全文
摘要:
Mysql串讲 知识总结 【索引相关】 索引的本质,什么情况下添加索引呢 索引实现的数据结构:哈希表,有序数组,搜索树(即使B树) mysql中索引的实现,为什么最后是B+树呢,带有顺序访问指针的B+Tree mysql中myisam和Innodb的区别,mysql的存储引擎有那些呢 联合索引,即索 阅读全文
摘要:
NIO NIO详解 NIO 是non-blocking的简称,从JDK1.4提出,可以替代标准的Java IO API。 Java NIO 由以下几个核心部分组成: Channels(通道) Buffers(缓存区) Selectors(选择器) NIO主要有三大核心部分:Channel(通道),B 阅读全文
摘要:
lambda表达式 lambda表达式说明 Lambda表达式是Java8引入的,使用它设计的代码会更加简洁。当开发者在编写Lambda表达式时,也会随之被编译成一个函数式接口。Lambda表达式其实核心是函数式编程,而Java本身是面向对象的编程。 不采用Lambda的老方法 ,创建线程: Run 阅读全文
摘要:
Synchronized详解 简单介绍 synchronized中文意思是同步,也称之为同步锁。 synchronized的作用是保证在同一时刻, 被修饰的代码块或方法只会有一个线程执行,以达到保证并发安全的效果。 synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种 阅读全文
摘要:
多线程高级类 concurrent包的结构层次 在针对并发编程中,Doug Lea大师为我们提供了大量实用,高性能的工具类,针对这些代码进行研究会让我们队并发编程的掌握更加透彻也会大大提升我们队并发编程技术的热爱。这些代码在java.util.concurrent包下。 其中包含了两个子包:atom 阅读全文