背景:由于数据库查询瓶颈,count太慢,于是拆分时间进行count,然后再累加count得出最终总数;但由于单线程轮询时间区间,再累加,用时间太长,造成慢接口,因此采用同步...
背景:由于数据库查询瓶颈,count太慢,于是拆分时间进行count,然后再累加count得出最终总数;但由于单线程轮询时间区间,再累加,用时间太长,造成慢接口,因此采用同步...
在Java中创建线程一般有三种方式: 1、new Thead();耿直、简单就new了一个线程对象(在实际编码工作中,这种方式一般不推荐,尽量使用线程池,这样可以更好、更合理...
ConcurrentHashMap是多线程下,jdk土推荐使用的map结构,功能规则与HashTable相同,与hashMap不一样,hashMap允许null作为key/v...
HashSet实现了接口Set, Cloneable, java.io.Serializable,继承了AbstractSet;其底层完全是基于HashMap实现;HashS...
HashMap 是基于hash思想实现,对于快熟读取、put、remove具有重大意义。底层代码通过Node链表+数组实现;当数组长度大于等于8时,会转表成TreeNode存...
Arraylist Arraylist 实现了接口List, RandomAccess, Cloneable, java.io.Serializable,继承了Abstrac...
在看ArrayList源码是看到了Arrays.copyOf底层调用的是系统方法System.arraycopy,对此方法产生了好奇,所以做了下探究,System.array...
List:是存储单列数据的集合,存储的数据是有序并且是可以重复的 Map:存储双列数据的集合,通过键值对存储数据,存储 的数据是无序的,Key值不能重复,value值可以重复
List、Set都是集继承集合Collection,属于Collection子类; List是有序集合,允许重复值,允许存储null,常见的实现类ArrayList、Link...
Mysql是非常一款优秀数据存储、查询工具,目前也成为互联网主流数据库之一;随着企业发展,Mysql存储的数据也越来越多,也逐渐出现慢查询的情况,因此mysql也为表提供了索...
1 、Lambda表达式和函数式接口 最简单的Lambda表达式可由逗号分隔的参数列表、->符号和语句块组成 2、接口的默认方法和静态方法 jdk8提供了接口默认方法: 3...
在Java的Object类中有2个不怎么常用的方法:wait()与notify()或notfiyAll(),这两个方法主要用于多线程间的协同处理,即控制线程之间的等待、通知、...
hashCode和equals方法主要和映射(Map接口)相关. 我们知道Map接口的类会使用到键(Key)的哈希码, 当我们调用put()/get()方法操作Map容器时,...
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器基于TCP/IP...
一、Java反射可以提供以下功能: 1.在运行时判断任意一个对象所属的类; 2.在运行时构造任意一个类的对象; 3.在运行时判断任意一个类所具有的成员变量和方法(通过反射甚至...
String类是不可变类,即一旦一个String对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。 StringBuffer对象则代表一个字符序列可...
int属于java八个基本类型之一,基本用来计算和记录数据;而Integer是Jdk自带分int封装类; int与Integer进行值比较时,会自动拆箱成int值后再与int...
Exception、Error都是派生于Thrwable(如下图)。 Error层次结构描述了java运行时系统的内部错误和资源耗尽错误。大多数错误与代码编写者执行的操作无关...
final 当final修饰一个基本数据类型时,表示该基本数据类型的值一旦在初始化后便不能发生变化;如果final修饰一个引用类型时,则在对其初始化之后便不能再让其指向其他对...