- 博客(10)
- 收藏
- 关注
原创 集合篇-LinkedList
LinkedListLinkedList是List家族中的一员,实现了List接口,底层是一个双向链表来实现,在删除的时候效率高。因为LinkedList底层是个双向链表,所以他支持头结点插入和尾节点插入,同时也可以当做一个双端队列来使用 字段解析//链表节点个数transient int size = 0;//头结点transient Node<E> first;//尾结点transient Node<E> last;Node是一个静态内部类,持有当前节点
2020-05-14 17:13:35
188
原创 集合篇-ArrayList
ArrayList源码ArrayList是实现了List接口的一个类,其底层是一个Object类型的数据用来存储数据,在查找和顺序存储的时候效率高,复杂度可以达到O(1)字段解析//数组默认长度10private static final int DEFAULT_CAPACITY = 10;//空数组示例private static final Object[] EMPTY_ELEMENTDATA = {};//实际存储数据的数组transient Object[] elementData
2020-05-14 16:13:29
169
原创 数据库事务隔离级别与实现原理
事物的四大特性,即常说的ACID: 1、原子性(Atomic):指的是事物所有的操作要么全做、要么全不做。 2、一致性(Consistency):事物应该确认数据库从一个一致状态转变为另一个一致状态。(数据库中的数据应满足完整性约束) 3、隔离性(Isolation):指的是多个事物并发执行的时候、一个事物的执行不应当影响到其它的事物、即事物与事物之间是隔离的。 4、持久性(Durabil...
2019-03-11 10:52:29
4746
原创 HashMap源码解析
基于jdk1.8的HashMap源码/*** hash:key的哈希值* key:要存入的key* value:要存入的value* onlyIfAbsent:为true 不覆盖已经存在的键的值*/final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evic...
2019-02-27 15:24:40
141
原创 虚拟机内存区常用名词
虚拟机内存区常见名词:栈帧(Frames):栈帧是用来存储数据和部分结果,以及执行动态链接、方法返回值和异常信息的。每次方法的调用都会生成一个栈帧,然后将该栈帧进行压栈。当方法结束后,该栈帧将会出栈、被销毁。无论是正常结束还是异常结束。每个栈帧都是自己的局部变量表、操作数栈、以及对当前方法类的运行时常量池的引用。由当前线程创建的帧不能被其它线程引用。局部变量(Local Varia...
2019-02-21 23:06:39
144
原创 java虚拟机的内存区域划分
java虚拟机内存区域参照官方文档 1.8版本连接 [Oracle虚拟机内存划分文档](https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.5)The Java Virtual Machine defines various run-time data areas that are used dur...
2019-02-21 22:15:52
209
原创 数据结构与算法-排序算法-(堆排、快排、归并)
1、排序算法1.1 快速排序快排的时间复杂度是O(nlogn)其实现思想就是随机找到一个中间值 小于这个值得放左边 大于这个值得放右边 然后大于这个值得半部分和小于这个值得半部分分别递归直到全部排完jdk1.8中的Arrays.sort()的排序方法就是使用的快排 当数据量大于47的时候采用快排小于47的时候使用插排实现代码: public class QuickS...
2019-02-21 20:36:48
426
原创 继上篇的elasticsearch续写的对elasticsearch的操作(使用postman和使用代码)
在文章开始之前、先明确三个概念1、索引2、类型3、文档对比于数据库中,索引就是一个数据库、类型就是数据库中的某张表、文档也就是表中具体的记录。抽象点来看,索引抽象成一个人、人又分为男人和女人(就是类型)、然后男人有姓名、年龄、身高等(就是文档)。使用postman进行操作 向es(elasticsearch,下面全部用es简称)发送操作的请求是一个RestFui风格的,类似下面这种:...
2018-09-19 17:18:55
748
原创 elasticsearch的单节点和集群的安装和使用代码操作
elasticsearch安装与使用代码操作单节点的安装下面介绍一个插件head,它给我们提供了友好的web界面来查看elasticsearch数据下面介绍分布式的安装、此处安装三个节点 一个master节点和两个slave节点**elasticsearch的单节点个集群的搭建到此结束了,使用命令和代码进行操作的介绍在下篇文章中介绍**单节点的安装1、首先安装jdk,最好是1.8及其以上的版...
2018-09-19 16:30:50
1516
原创 kafka安装与使用远程代码进行访问 --附踩坑记录
转载请注明出处、毕竟纯手打 谢谢kafka安装和使用java连接远程服务器进行消息的生成与消费首先要使用kafka,要有jdk和zookeeper的环境本文在阿里云的centos7环境上进行 jdk版本选择的是1.8.0_181zookeeper的版本是3.4.12kafka的版本是2.12-1.1.1关于kafka命令的介绍 本文不介绍了 只介绍怎么搭建一个kafka单点...
2018-09-15 13:27:33
2694
7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人