会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
老木木
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
下一页
2019年11月3日
线程池
摘要: 如果开发中用到多线程,基本上就使用java的线程池,主要原因: 1、避免线程的重复创建 2、限流(当超过指定的阈值时会有一些拒绝策略) 最初始的线程池的构建方式: public ThreadPoolExecutor(int corePoolSize, //核心线程数 int maximumPoolS
阅读全文
posted @ 2019-11-03 17:44 老木木
阅读(231)
评论(0)
推荐(0)
2019年10月31日
CountDownLatch、CyclicBarrier 、Semaphore 与 Atomic
摘要: CountDownLatch countDownLatch主要有两个方法,countdown()与await() public class CountDownLatchDemo { public static void main(String[] args) throws InterruptedEx
阅读全文
posted @ 2019-10-31 21:42 老木木
阅读(68)
评论(0)
推荐(0)
Lock的使用、AQS原理分析、Condition的使用
摘要: jvm提供了关键字sychronized与volatile去实现线程安全。而java层面是基于juc(java.util.current)包去实现线程安全。 Lock接口 1、sychronized与lock的区别 lock与sychronized都能达到相同的效果,保证线程的原子性,可见性,一致性
阅读全文
posted @ 2019-10-31 15:43 老木木
阅读(272)
评论(0)
推荐(0)
2019年10月23日
并发编程----JMM模型,volatile,sychronized
摘要: JMM(java 内存 模型) JMM(java 内存模型)是一种规范,解决线程中数据不一致问题(可见性,原子性,一致性),主要解决缓存一致性问题。 JMM模型图示: JMM抽象模型多线...
阅读全文
posted @ 2019-10-23 21:48 老木木
阅读(85)
评论(0)
推荐(0)
编发编程基础
摘要: 进程 进程 就是分配资源的最小单位,进程可以实现宏观上(cpu时间片不断去切换)的并发,单核任意一个时刻cpu只会有一个任务去执行。 指令切换要对指令进行隔离: 给每一个进程分配内存地址空间,并且不同的进程空间是不会相互干扰的, 进程需要记住每个指令运行的行数,计数器。 线程 一个进程可以包含多个线
阅读全文
posted @ 2019-10-23 14:24 老木木
阅读(71)
评论(0)
推荐(0)
2019年9月3日
深入分析zookeeper的实现原理
摘要: zookeeper 的由来缺少一个分布式协调机制: zookeeper 上面这个架构下 zookeeper ,可以用来解决 task 执 行问题,各个服务先去 zookeeper 上去注册节点...
阅读全文
posted @ 2019-09-03 23:03 老木木
阅读(292)
评论(1)
推荐(0)
2019年8月29日
spring bean 中注入 HttpServletRequest 成员变量的思考
摘要: 主题在使用 spring 框架开发的时候,我们经常会碰到这种情况:@Controllerpublic class SomeController { @RequestMapping("/test1") ...
阅读全文
posted @ 2019-08-29 21:43 老木木
阅读(464)
评论(0)
推荐(0)
2019年8月28日
初步认识zookeeper
摘要: 一、从架构的发展说起 以电商架构为例,早期我们是单一的应用架构,随着互联网的快速发展和体量的不断增长,后端的架构通过垂直伸缩的方式很难达到我们期望的性能要求,同时投入产出比也非常大,同时普通 PC 的性...
阅读全文
posted @ 2019-08-28 22:10 老木木
阅读(67)
评论(0)
推荐(0)
2019年8月16日
springAop实现原理概要
摘要: Spring AOP的实现原理是基于动态织入的动态代理技术,而动态代理技术又分为Java JDK动态代理和CGLIB动态代理,前者是基于反射技术的实现,后者是基于继承的机制实现。 JDK动态代...
阅读全文
posted @ 2019-08-16 10:21 老木木
阅读(256)
评论(0)
推荐(0)
2019年8月14日
理解maven命令package、install、deploy的联系与区别
摘要: 我们在用maven构建java项目时,最常用的打包命令有mvn package、mvn install、mvn deploy,这三个命令都可完成打jar包或war(当然也可以是其它形式的包)的功能,但...
阅读全文
posted @ 2019-08-14 14:30 老木木
阅读(130)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
下一页
公告