51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
文章频道
前端
css3
Javascript
html
Html5
Css
vue
网站优化
正则表达式
React
后端
C语言
C++
Java
.Net
PHP
Python
gis
Go语言
数据库
nosql
其他
Redis
sql
Mysql
Oracle
sqlserver
mongodb
移动
Flutter
Android
IOS
微信
微信小程序
支付宝小程序
快应用
开源
hadoop
资讯
经验
其他
工具
互联网络
代码编辑器
报表/图表
其他
算法
操作系统
linux
unix
windows
centos
mac
游戏开发
架构
微服务
网站架构
分布式系统
系统架构
软件工程
敏捷开发
软件工程
Java
Java多线程 LockSupport
在AQS里面进行阻塞线程,解除阻塞线程就用的LockSupport。JDK1.8源码:packagejava.util.concurrent.locks;importsun.misc.Unsafe;publicclassLockSupport{privateLockSupport(){}//Cannotbeinstan...
代码星球
·
2020-08-09
Java
线程
LockSupport
Java并发控制:ReentrantLock Condition使用详解
生产者-消费者(producer-consumer)问题,也称作有界缓冲区(bounded-buffer)问题,两个进程共享一个公共的固定大小的缓冲区。其中一个是生产者,用于将消息放入缓冲区;另外一个是消费者,用于从缓冲区中取出消息。问题出现在当缓冲区已经满了,而此时生产者还想向其中放入一个新的数据项的情形,其解决方法...
代码星球
·
2020-08-09
Java
并发
控制
ReentrantLock
Condition
Java接口与实例化
看代码看到publicRunnabler=newRunnable(){@Overridepublicvoidrun(){...}}接口不能new,不过可以生成一个匿名类,省略了写一个具体类实现接口的开销。publicclassMain{publicstaticvoidmain(String[]args){Stringa...
代码星球
·
2020-08-09
Java
接口
实例
Java 线程池submit和execute
submit方法:publicabstractclassAbstractExecutorServiceimplementsExecutorService{protected<T>RunnableFuture<T>newTaskFor(Runnablerunnable,Tvalue){return...
代码星球
·
2020-08-09
Java
线程
submit
execute
Java 线程池Future和FutureTask
Future表示一个任务的周期,并提供了相应的方法来判断是否已经完成或者取消,以及获取任务的结果和取消任务。Future接口源码:publicinterfaceFuture<V>{booleancancel(booleanmayInterruptIfRunning);booleanisCancelled()...
代码星球
·
2020-08-09
Java
线程
Future
FutureTask
Java 多线程Thread和Runnable
Thread:classMyThreadextendsThread{privateintticketsCont=5;//一共有5张火车票privateStringname;//窗口,也即是线程的名字publicMyThread(Stringname){this.name=name;}@Overridepublicvoi...
代码星球
·
2020-08-09
Java
线程
Thread
Runnable
Java 找到数组中两个元素相加等于指定数的所有组合
思路1:可以用hash表来存储数组中的元素,这样我们取得一个数后,去判断sum-val在不在数组中,如果在数组中,则找到了一对二元组,它们的和为sum,该算法的缺点就是需要用到一个hash表,增加了空间复杂度。思路2:同样是基于查找,我们可以先将数组排序,然后依次取一个数后,在数组中用二分查找,查找sum-...
代码星球
·
2020-08-09
Java
找到
数组
两个
元素
Java多线程 wait, notify 和 notifyAll
Java的Object类publicclassObject{publicfinalnativevoidnotify();publicfinalnativevoidnotifyAll();publicfinalnativevoidwait(longtimeout)throwsInterruptedException;}调...
代码星球
·
2020-08-09
Java
线程
wait
notify
notifyAll
Java 线程池的介绍以及工作原理
在什么情况下使用线程池?1.单个任务处理的时间比较短2.将需处理的任务的数量大使用线程池的好处:1.降低资源消耗: 通过重复利用已创建的线程降低线程创建和销毁造成的消耗。2.提高响应速度: 当任务到达时,任务可以不需要等到线程创建就能立即执行。3.提高线程的可管理性: 线程是稀缺资源,如果无限制...
代码星球
·
2020-08-09
Java
线程
介绍
以及
工作
Java 类加载机制
类的加载:类的初始化:类什么时候才被初始化:1)创建类的实例,也就是new一个对象2)访问某个类或接口的静态变量,或者对该静态变量赋值3)调用类的静态方法4)反射(Class.forName("com.lyj.load"))5)初始化一个类的子类(会首先初始化子类的父类)6)JVM启动时标明的启动类,即文件名和类名相同...
代码星球
·
2020-08-09
Java
加载
机制
Java GC垃圾回收
Java的内存分配和回收也主要在Java的堆上进行的,Java的堆中存储了大量的对象实例,所以Java的堆也叫GC堆。Java在垃圾收集的过程中,主要用到了分代收集算法,具体有复制、标记清除、标记压缩三种实现算法1.标记-清除算法标记清除算法是最基础的收集算法,其他收集算法都是基于这种思想。标记清除算法分为&ldquo...
代码星球
·
2020-08-09
Java
GC
垃圾
回收
Java native关键字
在String类中publicnativeStringintern();native关键字是干嘛的?Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。 可以将nativ...
代码星球
·
2020-08-09
Java
native
关键字
Java Lock ReentrantLock ReentrantReadWriteLock
Lock与Synchronized的区别: 1)Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现; 2)synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁现象发生;而Lock在发生异常时,如果没有主动通过u...
代码星球
·
2020-08-09
Java
Lock
ReentrantLock
ReentrantReadWriteLock
Java foreach
foreach循环也叫增强型的for循环,或者叫foreach循环。foreach循环是JDK5.0的新特性(其他新特性比如泛型、自动装箱等)。importjava.util.Arrays;publicclassMain{publicstaticvoidmain(String[]args){intarr[]=newin...
代码星球
·
2020-08-09
Java
foreach
Java CopyOnWriteArrayList
Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是C...
代码星球
·
2020-08-09
Java
CopyOnWriteArrayList
专栏
更多
老潘
关注
欢迎关注
建站高手
关注
兴趣:做网站
星空
关注
星空下的梦~
代码星球
关注
IT猿
关注
首页
上一页
...
342
343
344
345
346
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他