会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
lingluo2017
博客园
首页
新随笔
联系
管理
订阅
上一页
1
2
3
4
5
6
···
10
下一页
2019年1月15日
并发编程详细整理
摘要: 一.线程状态的切换 5种 二.深入理解run()和start() run方法就是普通对象的普通方法,只有调用了start()后,Java才会将线程对象和操作系统中实际的线程进行映射,再来执行run方法 运行结果: 放开start(),注释run()之后: 三.ForkJoin 框架 思想:分而治之
阅读全文
posted @ 2019-01-15 23:34 梦里南柯
阅读(114)
评论(0)
推荐(0)
2019年1月14日
高并发通信模型NIO
摘要: 一.NIO和BIO的对比 BIO通信模型 2.配置 BIO tomcat server.xml NIO 3.NIO
阅读全文
posted @ 2019-01-14 00:01 梦里南柯
阅读(194)
评论(0)
推荐(0)
2019年1月11日
Java并发编程的艺术笔记(九)——FutureTask详解
摘要: FutureTask是一种可以取消的异步的计算任务。它的计算是通过Callable实现的,多用于耗时的计算。 一.FutureTask的三种状态 二.get()和cancel()执行示意 三.使用 一般FutureTask多用于耗时的计算,主线程可以在完成自己的任务后,再去获取结果。 3.1 Fut
阅读全文
posted @ 2019-01-11 11:49 梦里南柯
阅读(354)
评论(0)
推荐(0)
Java并发编程的艺术笔记(八)——线程池
摘要: 一.线程池的主要处理流程 ThreadPoolExecutor执行execute方法分下面4种情况。 1)如果当前运行的线程少于corePoolSize,则创建新线程来执行任务(注意,执行这一步需要获取全局锁)。 2)如果运行的线程等于或多于corePoolSize,则将任务加入BlockingQu
阅读全文
posted @ 2019-01-11 11:34 梦里南柯
阅读(185)
评论(0)
推荐(0)
2019年1月10日
Java并发编程的艺术笔记(七)——CountDownLatch、CyclicBarrier详解
摘要: 一.等待多线程完成的CountDownLatch CountDownLatch允许一个或多个线程等待其他线程完成操作,像加强版的join。(t.join()是等待t线程完成) 例: (1)开启多个线程分块下载一个大文件,每个线程只下载固定的一截,最后由另外一个线程来拼接所有的分段;解析一个Excel
阅读全文
posted @ 2019-01-10 12:38 梦里南柯
阅读(250)
评论(0)
推荐(0)
Java并发编程的艺术笔记(六)——HashMap、ConcurentHashMap的原理与实现
摘要: 一.线程不安全的HashMap 多线程环境下,使用HashMap进行put操作会引起死循环(jdk1.7 Entry链表形成环形数据结构),导致CPU利用率接近100%。 结构:数组 table[]+链表entry<k,v>put 对key做hash默认初始化数组长度 16加载因子 0.75扩容 大
阅读全文
posted @ 2019-01-10 09:58 梦里南柯
阅读(618)
评论(0)
推荐(0)
2019年1月9日
Java面试题收集(二)
摘要: 四.Redis简介 redis为什么这么快 4.1 Redis数据类型 String hash 字典,适用于存储对象 list 安照String元素插入顺序排序,最新插入的最先显示。如热点数据 set String元素组成的无序集合,不允许重复。如微博共同关注等功能 zset 从小到大的排序,分数一
阅读全文
posted @ 2019-01-09 23:48 梦里南柯
阅读(148)
评论(0)
推荐(0)
Java并发编程的艺术笔记(五)——Java中的锁
摘要: 一.Lock接口的几个功能: 显示的获取和释放锁 尝试非阻塞的获取锁 能被中断的获取锁 超时获取锁 使用方式: Lock的API 二.AQS 定义:用来构建锁或者其他同步组件的基础框架,它使用了一个int成员变量表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作。是实现锁的关键。 同步
阅读全文
posted @ 2019-01-09 12:32 梦里南柯
阅读(193)
评论(0)
推荐(0)
Java并发编程的艺术笔记(四)——ThreadLocal的使用
摘要: ThreadLocal,即线程变量,是一个以ThreadLocal对象为键、任意对象为值的存储结构。这个结构被附带在线程上,也就是说一个线程可以根据一个ThreadLocal对象查询到绑定在这个线程上的一个值。目的就是为了让线程能够有自己的变量 可以通过set(T)方法来设置一个值,在当前线程下再通
阅读全文
posted @ 2019-01-09 11:03 梦里南柯
阅读(247)
评论(0)
推荐(0)
2019年1月8日
Java面试题收集(一)
该文被密码保护。
阅读全文
posted @ 2019-01-08 22:25 梦里南柯
阅读(1)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
···
10
下一页
公告