Java
Bǔ小磊
即使慢,驰而不息,纵会落后,纵会失败,但一定可以达到他所向的目标!
展开
-
Java并发基础知识(五)
线程池为什么要用线程池? Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。 如果:T1 + T3 远大于 T2,则可以采用线程池,以提高服..原创 2020-05-17 17:25:00 · 475 阅读 · 0 评论 -
Java并发基础知识(四)
阻塞队列阻塞队列队列队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出(FIFO—first in first out)线性表。什么是阻塞队列 .原创 2020-05-17 16:36:34 · 252 阅读 · 0 评论 -
Java并发基础知识(三)
CAS基本原理什么是原子操作?如何实现原子操作?假定有两个操作A和B(A和B可能都很复杂),如果从执行A的线程来看,当另一个线程执行B时,要么将B全部执行完,要么完全不执行B,那么A和B对彼此来说是原子的。实现原子操作可以使用锁,锁机制,满足基本的需求是没有问题的了,但是有的时候我们的需求并非这么简单,我们需要更有效,更加灵活的机制,synchronized关键字是基于阻塞的锁机制,也就是说当一个线程拥有锁的时候,访问同一资源的其它线程需要等待,直到该线程释放锁,这里会有些问题:首先,如果被原创 2020-05-16 16:48:09 · 228 阅读 · 0 评论 -
Java并发基础知识(二)
ThreadLocal辨析与Synchonized的比较ThreadLocal和Synchonized都用于解决多线程并发訪问。可是ThreadLocal与synchronized有本质的差别。synchronized是利用锁的机制,使变量或代码块在某一时该仅仅能被一个线程訪问。而ThreadLocal为每个线程都提供了变量的副本,使得每个线程在某一时间访问到的并非同一个对象,这样就隔离了多个线程对数据的数据共享。ThreadLocal的使用ThreadLocal类接口很简单,只有4个方法,原创 2020-05-16 14:19:54 · 219 阅读 · 0 评论 -
Java并发基础知识(一)
一、Java里的程序天生就是多线程的,那么有几种新启线程的方式?正确的答案应该是2种:1、类Thread;2、接口Runnable,有些人觉得应该是3个,还有一个是Callable接口,其实这个和Runnable是重复的,我们看源码分析首先源码中明确说明创建Thread只有2种方式;其次,Thread的构造方法中不接受任何的Callable参数我们继续看Callable,再使用的过程中,把它包装成FutureTask,而FutureTask是实现了RunnableFuture接口,R原创 2020-05-13 22:24:52 · 233 阅读 · 0 评论 -
Java基础知识大全
一、java面向对象的三大特性与含义继承:从已有的类得到继承信息创建新类的过程,继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序的可变因素的重要手段。封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已经定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自制、封闭的对象。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供简单的编程接口;多态:允许不同子类型的...原创 2018-04-17 20:01:06 · 184 阅读 · 0 评论 -
HashMap实现原理
一、Java中的hashCode和equals1、关于hashCodehashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,hashCode是用来在散列存储结构中确定对象的存储地址的 如果两个对象相同,就是适用于equals(java.lang.Object) 方法,那么这两个对象的hashCode一定要相同 如果对象的equals方法被重写,那么对象的...原创 2019-03-08 17:32:26 · 200 阅读 · 0 评论