- 博客(9)
- 收藏
- 关注
原创 Vector
这个容器类似于ArrayList,但是是一个线程安全的容器。不同点:1、有一个capacityIncrement,自动扩容时需要,若小于等于0,则扩容时每次都是容量的两倍。private void grow(int minCapacity) { // overflow-conscious code int oldCapacity = elementD...
2018-08-30 09:41:26 114
原创 进程和线程
目录概念为什么引入线程?线程的属性进程与线程区别进程调度的方式非剥夺方式剥夺方式进程调度算法 概念进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的...
2018-08-29 18:32:40 104
原创 索引分类
目录哈希索引B-Tree索引:哈希索引存储的时候会把key通过Hash函数计算,得到key的Hash值,再用这个Hash值做指针和数据库记录指针绑定在一起。选定一个好的Hash函数很重要,好的Hash函数可以使计算出的Hash值分布均匀,降低冲突,只有冲突减小了,才会降低Hash表的查找时间。在查询的过程大概会分为四步(1) 根据查询条件生成一个Hash值例如 在na...
2018-08-29 18:07:57 245
原创 队列部分方法的区别
poll 取出队列中首部的元素,不存在则返回null public E poll() { final ReentrantLock lock = this.lock; lock.lock(); try { return (count == 0) ? null : extract(); } final...
2018-08-19 10:08:14 232
原创 Http状态码
Http状态码用以表示网页服务器http响应状态的3位数字代码。1XX 1XX系列:指定客户端应相应的某些动作,代表请求已被接受,需要继续处理。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。 2XX 2XX系列:代表请求已成功被服务器接收、理解、并接受。 3XX 3XX系列:代表需要客户...
2018-08-17 14:08:16 133
原创 Java基本类型和取值范围
Java中基本类型有8中。Java基本类型和取值范围 类型 字节数 范围 byte 1 -128~127 (-2的7次方到2的7次方-1) short 2 -32768~32767(-2的15次方到2的15次方-1) int 4 -2147483648~2147483647(-2的31次方到...
2018-08-14 21:36:34 3794
原创 笔试题细节整理
该程序编译不通过。被static修饰的变量称为静态变量,静态变量属于整个类,而局部变量属于方法,只在该方法内有效,所以static不能修饰局部变量在《java虚拟机》一书中明确讲了,释放掉占据的内存空间是由gc完成,但是程序员无法明确强制其运行,该空间在不被引用的时候不一定会立即被释放,这取决于GC本身,无法由程序员通过代码控制。对象失去引用链之后,只会被标记一次,然后对象被放入一个...
2018-08-05 17:04:33 215
原创 乐观锁
乐观锁的核心算法是CAS(Compareand Swap,比较并交换),它涉及到三个操作数:内存值、预期值、新值。当且仅当预期值和内存值相等时才将内存值修改为新值。CAS是具有原子性的,但这个原子性是由CPU硬件指令实现保证的,即使用JNI调用native方法调用由C++编写的硬件级别指令,jdk中提供了Unsafe类执行这些操作。 乐观锁避免了悲观锁独占对象的现象,同时也提高了并发性...
2018-08-05 10:20:06 1349
原创 Spring启动过程
web应用需要部署在一个web容器中,web容器为其提供一个全局的上下文环境,这个上下文就是servletContext,作为spring IOC的宿主容器。 web.xml中会提供一个contextLoaderListener,在web容器启动时,会执行初始化,当监听到启动事件,会执行contextInitialized方法,在这个方法中,spring初始化上下文,称之为根上下文,为webAp...
2018-08-02 11:57:05 199
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人