hashmap生成的链表在jdk1.8之前是插入头部的,在jdk1.8中是插入尾部的。 至于为什么要插入到头部,因为头部最快啊,不需要遍历到尾部,直接改变就行. 还有就是插...
hashmap生成的链表在jdk1.8之前是插入头部的,在jdk1.8中是插入尾部的。 至于为什么要插入到头部,因为头部最快啊,不需要遍历到尾部,直接改变就行. 还有就是插...
https://blog.csdn.net/jiyiqinlovexx/article/details/51171452
https://www.cnblogs.com/wxisme/p/6270860.html https://www.cnblogs.com/jechedo/p/5732951...
https://www.cnblogs.com/woaiyy/p/3554182.html
还有就是这个atomic包,使用可以达到synchronized的效果,实现原理就是CAS了。 CAS也叫自旋锁,是乐观锁的主要实现原理,其实很简单和数据库差不多,数据库是搞...
set 无序不可重复 zset 有序可重复 https://segmentfault.com/a/1190000012374621
链接:https://www.nowcoder.com/discuss/76933?type=2&order=4&pos=3&page=1 nio与bio的了解以及说一下区别...
一,tcp和udp之间的区别 总之就是来说,tcp提供了一个稳定可靠的传输协议,通过各种手段(如:三挥四握)提供了稳定的传输,当然消耗也会大很多.而且只能一对一...tcp面...
在Spring中,主要是通过AOP来完成声明式的事务管理。要了解Spring对事务的支持,首先要了解事务的属性。在Spring中事务属性主要分以下几方面: 传播行为(Prop...
线程池的作用就是把用完的线程先不销毁,放在线程池中,等待下次接着使用,大大减少了线程创建和销毁的时间. 线程池的结构: Java类库提供了许多静态方法来创建一个线程池: 在线...
在锁层次上具体说明 二.volatile 深入剖析volatile关键字 volatile是一个轻量级的同步机制。用来修饰共享可变变量,对volatile变量的读写操作都是从...
由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘...
根据JDK文档中的解释:ThreadLocal的作用是提供线程内的局部变量,这种变量在多线程环境下访问时能够保证各个线程里变量的独立性。 从这里可以看出,引入ThreadLo...
先来看看两台计算机之间通信需要的东西 再来看看什么叫Socket 再看看进程间通信方式有以下几种. (一)下面来看看基于java的socket编程(下面是基于tcp的) ja...
一.什么是tcp/ip tcp/ip是一类协议系统,它是用于网络通信的一套协议集合. 传统上来说tcp/ip被认为是一个四层协议 二.在其中传输的数据包(信息) 在其中传输的...
在inoodb这本书上,索引分为两大部分,聚集索引和辅助索引,聚集索引是根据主键来建立索引的,所以只能有一个聚集索引.当然实现都是B+树来进行实现的. 上面都是事后加索引,当...
一.java内存区域与内存溢出异常 1.运行时数据区域 在java虚拟机自动内存管理机制的帮助下,不在需要为每一个new操作去写delete/free代码,不容易出现内存泄漏...