自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Java基础知识点(三)

目录一、Java的IO和NIO1. Java NIO提供了与标准IO不同的IO工作方式2. 使用场景3. NIO和IO的区别二、Java反射参考资料1. 什么是反射2. 反射能做什么3. 反射的具体实现4. 根据反射获取父类属性5. 反射总结三、final关键字四、ArrayList和LinkedList一、Java的IO和NIO1. Java NIO提供了与标准IO不同的IO工作方式Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道

2020-10-15 15:31:11 175 1

原创 Java基础知识点(二)

目录一、HashMap底层实现参考资料1. HashMap概述2. 数据结构:链表、红黑树、位桶3. HashMap源码分析3.1 继承关系3.2 属性3.3 构造函数3.4 hash算法3.5 重要方法4. 思考4.1 为什么HashMap中的&位数必须为奇数(Length-1)4.2 如何解决hash冲突?4.3 HashMap线程并发安全性问题4.4 HashMap底层用到了红黑树,红黑树五大特征4.5 红黑树和AVL(平衡二叉搜索树)比较4.6 HashMap、LinkedHashMap、T

2020-10-15 15:30:17 215

原创 Java基础知识点(一)

目录一、Comparable和Comparator区别参考资料1. Java比较器的使用背景2. 自然排序:使用Comparable接口3. 定制排序:使用Comparator接口4. 对比二、Java中方法的参数传递机制参考资料1. 概念2. Java中的值传递3. 结合Java内存模型理解三、Java的深拷贝和浅拷贝的区别参考资料1. Java中的对象创建2. 复制对象 or 复制引用3. 浅拷贝 or 深拷贝4. 总结四、Java中方法重载和重写的区别(多态的体现)五、Java中“==”和“equal

2020-10-15 15:29:35 230

原创 JVM知识点(二)

目录一、内存分配与回收策略(对象如何进入老年代?)1. 什么时候对象进入老年代?(1)大对象(2)空间分配担保(3)年龄判定2. 空间分配担保安全的Minor GC:冒险的Minor GC:二、Class类文件结构参考资料三、JVM中类加载机制参考资料1. 加载2. 验证3. 准备4. 解析5. 初始化四、JVM中的类加载器及双亲委派模型1. 启动类加载器——Bootstrap ClassLoader2. 扩展类加载器——Extension ClassLoader3. 应用程序类加载器——Applicati

2020-08-26 17:35:54 175

原创 JVM知识点(一)

目录一、介绍JVM的内存区域(运行时数据区)参考资料1. 堆 Heap2. 方法区 Method Area3. 虚拟机栈 JVM Stacks4. 本地方法栈 Native Method Stack5. 程序计数器 Program Counter Register6. 补充7. 对象的创建、内存布局、访问定位7.1 对象的创建7.2 对象的内存布局7.3 对象的访问定位二、如何判断对象已经死亡1. 引用计数法2. 可达性分析法3. 真的死了?三、简述强、软、弱、虚引用参考资料1. 强引用2. 软引用3. 弱

2020-08-26 17:34:17 409

原创 MySQL:InnoDB存储引擎

MySQL:InnoDB存储引擎目录MySQL:InnoDB存储引擎参考资料一、MySQL体系结构和存储引擎1.1 MySQL体系结构1. 概念辨析2. MySQL数据库体系结构3. MySQL存储引擎4. 存储引擎对比二、功能层面:InnoDB架构、技术、特性2.1 InnoDB体系结构1. 后台线程2. 内存(1)缓冲池(2)LRU List、Free List和Flush List2.2 Checkpoint技术2.3 InnoDB关键特性1. 插入缓冲2. 两次写3. 自适应哈希索引4. 异步IO

2020-08-05 18:39:26 334

原创 Mysql基本原理:索引

Mysql基本原理:索引目录Mysql基本原理:索引参考资料一、基本概念1.1 为什么要有索引1.2 什么是索引1.3 索引的原理1.4 索引的数据结构1. hash2. 树3. B-tree4. B+树(1)B+树结点组成(2)B+树的结构特征(3)B+树的查询(4)B+树的插入(5)B+树的删除5. B*树6. 总结(1)MySQL主要用到两种结构:B+ Tree索引和Hash索引(2)数据库中为什么不用链表结构索引?(3)平衡二叉树、B树、B+树作为索引的合理性(4)B+树和B树的对比(5)三种B树

2020-08-04 22:20:40 274

原创 Mysql基本原理:事务、隔离、锁

MySQL基本原理:事务、隔离、锁参考资料:https://www.cnblogs.com/kismetv/p/10331633.htmlhttps://www.cnblogs.com/wyc1994666/p/11367051.html一、基础概念1.1 事务简介作为一个关系型数据库,MySQL支持事务(Transaction)。事务是MySQL等关系型数据库区别于NoSQL的重要方面,是保证数据一致性的重要手段。(1)事务是访问和更新数据库的程序执行单元;(2)在 MySQL 中只有

2020-08-03 17:50:14 165

原创 Java集合:HashMap 和 HashTable 源码学习和面试总结

https://zhuanlan.zhihu.com/p/24338517

2020-08-01 19:56:12 99

原创 剑指offer编程题:二叉树中和为某一值的路径

题目:输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。思路:对二叉树叶子节点的遍历,其实就是对二叉树进行前序遍历的基础上判定一下当前节点是否是叶子节点(左右子节点都是null)。代码:import java.util.ArrayList;public class Solution {...

2020-05-07 12:10:22 191

原创 Map接口

一、Map的实现类的结构:|----Map:jdk 1.2, 双列数据,存储key-value对的数据 —类似于高中的函数:y = f(x)|---- HashMap:jdk 1.2, 作为Map的主要实现类;线程不安全,效率高;可以存储null的key和value|----LinkedHashMap:jdk 1.4, 保证在遍历Map元素时,可以按照添加的顺序实现遍历。原因:在原...

2020-05-04 23:21:49 139

原创 Collection.Set接口

Set接口框架Set接口中没有额外定义新方法,使用的都是Collection中声明过的方法要求:向Set中添加的元素,其所在类一定要重写两个方法——hashCode()和equals()重写的hashCode()和equals()保持一致性:相等的对象必须具有相等的散列码重写两个方法的小技巧:对象中用作equals(方法比较的Field,都应该用来计算hashCode值。|...

2020-04-29 16:41:25 129

原创 ArrayList、LinkedList、Vector三者异同及源码分析

ArrayList、LinkedList、Vector三者异同相同:三个类都实现了List接口,存储数据的特点相同:有序的、可重复的数据;|----List接口:jdk1.2,存储有序的、可重复的数据。–>”动态“数组|----ArrayList:jdk1.2List接口的主要实现类,线程不安全,效率高;底层使用Object[] elementData存储;|----Linked...

2020-04-28 23:37:27 134

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除