会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
huanStephen
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
下一页
2018年1月17日
Executor框架
摘要: JDK5的java.util.concurrent包中的执行器将为你管理Thread对象,从而简化了并发编程。Executor在客户端和任务执行之间提供了一个间接层;与客户端直接执行任务不同,这个中介对象执行任务。Executor允许你管理异步任务的执行,而无须显示的管理线程的周期。 Eexecut
阅读全文
posted @ 2018-01-17 22:27 huanStephen
阅读(275)
评论(0)
推荐(0)
2018年1月15日
java线程池
摘要: 什么是线程池? 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。 为什么要用线程池? 线程池可以对开发带来以下好处: 降低资源消耗 提高相应速度 提高线程的可管理性 线程池的组成 线程的容器和管理器 工作线程 任务接口 任务的容器 处理流程 输出: 上面是我
阅读全文
posted @ 2018-01-15 20:58 huanStephen
阅读(204)
评论(0)
推荐(0)
2018年1月13日
java并发工具
摘要: Fork/Join框架 在JDK7后提供一套并行任务的框架,它可以把发大任务拆分成很多的小任务,汇总每个小任务的结果得到大任务的结果。 工作窃取算法 工作窃取(work-stealing)算法是指某个线程从其他队列里窃取任务。 那么,为什么需要使用窃取算法呢?假如我们需要做一个比较大的任务,可以把这
阅读全文
posted @ 2018-01-13 17:29 huanStephen
阅读(289)
评论(0)
推荐(0)
2018年1月9日
java并发容器
摘要: 为什么要使用ConcurrentHashMap? 在多线程环境下,会用HashMap进行put操作会引起死循环,导致CPU利用率接近100%。因为多线程会导致HashMap的Entry链表形成环形数据结构,一旦形成环形数据结构,Entry的next节点用不为空,就会产生死循环获取Entry。 Has
阅读全文
posted @ 2018-01-09 22:26 huanStephen
阅读(330)
评论(0)
推荐(0)
2018年1月7日
同步器AQS解析
摘要: 什么是同步器? 多线程并发执行,通过某种共享状态来同步,当共享状态满足某种条件,才能触发线程开始执行操作。 AbstractQueuedSynchronizer(AQS) 这是一个抽象类,它提供多线程下不同共享模式的操作,实现它可以自定义同步器。 可以看出,ReentrantLock和Reentra
阅读全文
posted @ 2018-01-07 15:09 huanStephen
阅读(398)
评论(0)
推荐(0)
2018年1月6日
多线程Lock锁
摘要: 在JDK1.5以后,在并发包(java.util.concurrent)里面添加包locks,并提供了Lock接口,用于与synchronized类似的锁功能,不同的是Lock需要手动开启锁和释放锁。 为什么要用Lock锁? Lock锁的实现类图 Lock锁的常用API lock():加锁 lock
阅读全文
posted @ 2018-01-06 12:49 huanStephen
阅读(2787)
评论(0)
推荐(0)
无锁机制下的原子性操作
摘要: 通常使用volatile关键字修饰字段可以实现多个线程的可见性和读写的原子性,但是对于字段的复杂性操作就需要使用synchronize关键字来进行,例如: 这里可以看到,对于字段的简单设置和获取,volatile可以应付,但是我们想每次获取后自增加1,这样的操作就只能交给synchronize来做,
阅读全文
posted @ 2018-01-06 11:11 huanStephen
阅读(583)
评论(0)
推荐(1)
2017年12月31日
多线程基础
摘要: 什么是多线程? 具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。 为什么要用多线程? 充分利用多处理核心 更快的响应时间 java默认的线程 输出: 其中还有一个GC垃圾回收的线程,但是由于没有产生垃圾堆栈,所以该线程没有启动。 线程的状态 一共包括四种状态
阅读全文
posted @ 2017-12-31 12:31 huanStephen
阅读(407)
评论(0)
推荐(0)
2017年12月27日
MySQL数据库优化(五)
摘要: MySQL配置优化 通过配置my.cnf使数据库达到优化的目的。 1、innodb的缓冲池配置 innodb_buffer_pool_size 通常配置服务器内存的60%~70% 2、innodb log缓存配置 innodb_log_buffer_size 这个不宜配置太大,因为日志缓存每秒刷新一
阅读全文
posted @ 2017-12-27 20:40 huanStephen
阅读(157)
评论(0)
推荐(0)
2017年12月24日
MySQL主从复制
摘要: 原理 MySQL主从复制通过两台机器,实现一台机器数据的变化在另一台机器上实时同步的过程。 首先开启master数据库和slave的binlog文件,再给master创建slave允许复制的用户。当master数据库获取到更改数据库的SQL语句时,master数据库会将更改数据库的SQL保存至bin
阅读全文
posted @ 2017-12-24 18:20 huanStephen
阅读(181)
评论(0)
推荐(0)
上一页
1
2
3
4
下一页
公告