Stella981 Stella981
3年前
40 道 Java 并发编程高频面试题解析
1、多线程有什么用?一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓"知其然知其所以然","会用"只是"知其然","为什么用"才是"知其所以然",只有达到"知其然知其所以然"的程度才可以说是把一个知识点运用自如。OK,下面说说我对这个问题的看法:1)发挥多核CPU的优势随着工业的进步,现在的
Wesley13 Wesley13
3年前
C++ Qt多线程 TcpSocket服务器实例
服务器:incommingincomming.proProjectcreatedbyQtCreator20160408T09:25:22
Stella981 Stella981
3年前
Hibernate 在多线程下 获取唯一的SessionFactory
Hibernate在多线程下获取唯一的SessionFactory背景:在项目中使用了Hibernate,连接池用的是c3p0,最小连接数设置为5,问题来了,每当登录系统后,在数据库中查看连接数就会发现有10个session连接,这让我很是苦恼,经过debug发现在开始登录的时候,页面会同时发出两个ajax请求,
Wesley13 Wesley13
3年前
Java原子类操作原理剖析
◆CAS的概念◆对于并发控制来说,使用锁是一种悲观的策略。它总是假设每次请求都会产生冲突,如果多个线程请求同一个资源,则使用锁宁可牺牲性能也要保证线程安全。而无锁则是比较乐观的看待这个问题,它会假设每次访问都没有冲突,这样就提高了效率。但是事实难料、这个冲突是避免不了的,无锁也考虑到了肯定会遇到冲突,对于冲突的解决无锁就使用一种比较交换(CA
Wesley13 Wesley13
3年前
Java CompletableFuture:allOf等待所有异步线程任务结束
privatevoidmethod()throwsExecutionException,InterruptedException{CompletableFuture<Stringf1CompletableFuture.supplyAsync((){try{
Wesley13 Wesley13
3年前
mongo数据库的迁移遇到的坑
  由于公司项目原因需要把大量图片导入到mongo中,于是乎用java写了个小脚本,遍历图片文件夹,把所有的图片导入mongo中,图片数量庞大100多万张。最开始单线程跑,跑了一会发现很慢,十多分钟传了几千张,一合计这得跑到猴年马月啊。分析了一下mongo服务器在本地测试环境,网络传输不是问题。那大部分时间应该消耗磁盘IO上了。于是乎启动了8个线程跑
Wesley13 Wesley13
3年前
Java并发编程(03):多线程并发访问,同步控制
本文源码:GitHub·点这里(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Fcicadasmile%2Fjavabaseparent)||GitEE·点这里(https://gitee.com/cicadasmile/javabasepare
Easter79 Easter79
3年前
Thread.start() ,它是怎么让线程启动的呢?
持续坚持原创输出,点击蓝字关注我吧!(https://oscimg.oschina.net/oscnet/78c1be0c0d2547fc88854a8d73d9fc1c.png)作者:小傅哥博客:https://bugstack.cn❝沉淀、分享、成长,让自己和他人都能有所收获!😜❞
Wesley13 Wesley13
3年前
Java多线程之死锁编码及定位分析
目录死锁是什么代码实现死锁解决办法1\.死锁是什么死锁是指两个或两个以上的进程在执行过程中因争夺资而造成的一种互相等待的现象,若无外力干涉那它们都将无法推进下去,如果系统资源允是,进程的资源请求都能够得到满是,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。2.代码实现代码实现import
Wesley13 Wesley13
3年前
Java并发 阻塞队列
阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加操作支持阻塞地插入和移除方法。支持阻塞插入的方法是指当队列满时会阻塞插入元素的线程,直到队列不满;支持阻塞移除的方法是指当队列为空时获取元素的线程无法继续获取元素直到队列不空。可以发现阻塞队列非常适合消费者和生产者场景下进行使用,生产者生产数据就是向阻塞队列中插入元素,消费者消