首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Coding挖掘机
掘友等级
Dev
|
XiamenAir
Java/Go/Redis/Kafka/Linux/Vue
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
12
文章 12
沸点 0
赞
12
返回
|
搜索文章
最新
热门
JVM
欲渡黄河冰塞川,将登太行雪满山。 write once run anywhere - 一次编译到处运行说的是Java语言的跨平台特性。 C语言就不是跨平台的,你写Linux的C和Windows的C,调用同样功能的操作系统API(比如windows上的读文件和Linux上的读文件…
SpringBoot2
每天都在用SpringBoot缺不知道其中的原理,典型的日用而不知。一旦出现开发的问题,就是一顿博客乱找,很久也解决不了问题 @Bean表示将initUser返回的user装配到Ioc中,而且该bean的name为user。如果没有定义name,则bean的name为方法名(i…
并发-10-Condition
Condition是一个多线程间协调通信的工具类,使得某个,或者某些线程一起等待某个条件(Condition),只有当该条件具备( signal 或者 signalAll方法被带调用)时 ,这些等待线程才会被唤醒,从而重新争夺锁。 Condition实例实质上被绑定到一个锁上。…
并发-9-Callable和Future
Future就是对于具体的Runnable或者Callable任务的执行结果进行取消、查询是否完成、获取结果。必要时可以通过get方法获取执行结果,该方法会阻塞直到任务返回结果 3)能够获取任务执行结果。 因为Future只是一个接口,所以是无法直接用来创建对象使用的,因此就有…
并发-9-Callable和Future
Future就是对于具体的Runnable或者Callable任务的执行结果进行取消、查询是否完成、获取结果。必要时可以通过get方法获取执行结果,该方法会阻塞直到任务返回结果 3)能够获取任务执行结果。 因为Future只是一个接口,所以是无法直接用来创建对象使用的,因此就有…
并发-8-ThreadPoolExecutor
线程是不能够重复启动的,创建或销毁线程存在一定的开销,所以利用线程池技术来提高系统资源利用效率,并简化线程管理,已经是非常成熟的选择。 假如有一个工厂,工厂里面有10个工人,每个工人同时只能做一件任务。因此只要当10个工人中有工人是空闲的,来了任务就分配给空闲的工人做;当10个…
并发-7-同步容器和ConcurrentHashMap
JDK提供给了很多容器,其中有list,set,queue,map等。 这里我们挑出List单讲。 众所周知,很多书上,我们看到Arraylist并不是线程安全的,Vector是线程安全的。 对比发现,Vector之所以是线程安全的,是因为Vector对所有的方法使用synch…
并发-6-wait、notify、Semaphore、CountDownLatch、CyclicBarrier
Java 提供了经典信号量(Semaphore)的实现,通过控制一定数量的允许(permit)的方式,来达到限制通用资源访问的目的。 触发屏障,当await自动达到屏障数量时,触发屏障操作。可重复使用!
并发-5-ThreadLocal
由于每次都需要在进行数据业务逻辑时才进行数据库连接创建,数据库连接其实是保存在方法栈中的,相互之间不影响,也就不存在了同步的问题。 首先,在每个线程Thread内部有一个ThreadLocal.ThreadLocalMap类型的成员变量threadLocals,这个thread…
并发-4-volatile
特殊情况:主存中i=0,程序A和B分别读i=0至核心1和核心2(多核CPU)的cache,进行i=i+1,则对这个共享变量虽然操作了两次,但是最后写回主存还是i=1。具体过程如下: 在JVM规范中,试图定义了一种Java内存模型,(java memeory model,JMM)…
下一页
个人成就
文章被点赞
55
文章被阅读
8,270
掘力值
248
关注了
11
关注者
11
收藏集
0
关注标签
5
加入于
2018-07-05