会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
意犹未尽
只要在学习,则在进步。
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
46
47
48
49
50
51
52
下一页
2018年5月25日
java陷阱之自动拆箱
摘要: 项目中突然报空指针异常 排查发现三元运算符空指针异常,表面上看不出来有什么问题,编译器编译的时候会保证:2边数据类型一致如: 会编译不通过。因为String 和int不是一个类型 这一切的原因都是编译器自动拆箱造成的。如下情况 价格是否为null判断就好了
阅读全文
posted @ 2018-05-25 20:55 意犹未尽
阅读(324)
评论(0)
推荐(0)
2018年5月9日
java IO(BIO)、NIO、AIO
摘要: 什么是IO 什么是 I/O?当程序需要从网络(如 TCP 套接字)读取数据,或向网络写入数据时,会触发 I/O 操作。 输入:从网络接收数据到应用程序的缓冲区(如 recv() 函数)。输出:从应用程序的缓冲区发送数据到网络(如 send() 函数)。为什么 I/O 是性能瓶颈? 等待时间
阅读全文
posted @ 2018-05-09 21:16 意犹未尽
阅读(518)
评论(0)
推荐(0)
2018年5月3日
ReentrantLock(排他锁)
摘要: ReentrantLock源码 https://www.cnblogs.com/LQBlog/p/15206866.html 简单demo 在多线程操作时。保证一块共享资源的原子性。第一想到的就是用synchronized关键字 在jdk5提供一个更灵活更强大的 ReentrantLock 使用re
阅读全文
posted @ 2018-05-03 21:28 意犹未尽
阅读(416)
评论(0)
推荐(0)
Semaphore信号量
摘要: 限制并发资源的并发访问数量。 samephore.acquire(); 获取许可 samephore.release(); 释放一个许可。 模拟银行10个办理任务的窗口。 samephore.acquire() 如果有10个任务获取许可并没有释放 其他人等待 某一个获取许可正在执行的任务 释放许可才
阅读全文
posted @ 2018-05-03 12:46 意犹未尽
阅读(188)
评论(0)
推荐(0)
2018年5月2日
Future和Callable的使用
摘要: 应用场景 财务成本核算。可能会有多个耗时的步骤。如果顺序执行是非常慢的。再相互数据获取数据不依赖的情况下可以使用Future并行执行 自己实现future异步加载 调用getData 方法如果没有setData 则state是false 则释放锁 加入到等待队列 当你get方法线程加载完数据再set
阅读全文
posted @ 2018-05-02 23:45 意犹未尽
阅读(1008)
评论(0)
推荐(1)
CountDownLatch和CyclicBarrier
摘要: CountDownLatch CountDownLatch是jdk5 java.util.concurrent新增的的工具类 使用场景。如:导出excel需要解析创建多个sheel。创建多线程并行执行。执行完毕 相应给客户端 public static void main(String[] args
阅读全文
posted @ 2018-05-02 22:53 意犹未尽
阅读(302)
评论(0)
推荐(0)
2018年4月7日
java线程池理解
摘要: 线程池的好处 降低资源消耗。虽然我们程序员创建一个线程很容易,直接使用 new Thread() 创建就可以了,但是操作系统做的工作会多很多,它需要发出 系统调用,陷入内核,调用内核 API 创建线程,为线程分配资源等,这一些操作有很大的开销,通过重复利用已创建的线程降低线程创建和销毁造成的消耗。
阅读全文
posted @ 2018-04-07 22:40 意犹未尽
阅读(265)
评论(0)
推荐(0)
java里面的队列
摘要: 非阻塞无界队列 ConcurrentLinkedQueue public static void main(String[] args) throws InterruptedException { ConcurrentLinkedQueue queue=new ConcurrentLinkedQue
阅读全文
posted @ 2018-04-07 16:48 意犹未尽
阅读(2064)
评论(0)
推荐(0)
CopyOnWriteArrayList
摘要: ArrayList在单线程下是高效的,但是在多线程下是线程不安全的 ArrayList在多线程的线程不安全的几种体现 删除元素时。a和b同时删除索引为4个数据。这个时候a线程先执行 将4后面的元素往前移动一位。size-- 这个时候b线程也删除 就删除到别的元素。如果是删除第一个元素。a线程size
阅读全文
posted @ 2018-04-07 14:57 意犹未尽
阅读(315)
评论(0)
推荐(0)
2018年4月6日
ConcurrentHashMap
摘要: HashMap不是线程安全的。在多线程操作下 可能会数据丢失! 首先我们了解一下hashmap的存储结构。 hashmap内部是通过数组加链表的形式存储的。 链表的作用则是防止hash碰撞产生的数据丢失而设计的。 什么是hash碰撞 2个不同的key hashcode相同 比如key1通过hashc
阅读全文
posted @ 2018-04-06 16:55 意犹未尽
阅读(628)
评论(0)
推荐(0)
上一页
1
···
46
47
48
49
50
51
52
下一页
公告