会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
怀鑫
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
···
15
下一页
2020年3月23日
Callable的Future模式
摘要: 线程实现方式: 1.继承Thread类 2.实现Runnable接口 3.线程池 4.Callable 无论使用继承Thread类还是实现Runnable接口,还是使用线程池都没有办法解决2个问题 1.线程执行没有返回值结果 2.线程执行没有办法抛出异常,只能自己通过try-catch解决 Call
阅读全文
posted @ 2020-03-23 12:54 怀鑫
阅读(204)
评论(0)
推荐(0)
2020年3月19日
线程池
摘要: 类似于一个池子,可以存放/管理线程 常见线程池 ①newSingleThreadExecutor 单个线程的线程池,即线程池中每次只有一个线程工作,单线程串行执行任务 ②newFixedThreadExecutor(n) 固定数量的线程池,没提交一个任务就是一个线程,直到达到线程池的最大数量,然后后
阅读全文
posted @ 2020-03-19 16:03 怀鑫
阅读(126)
评论(0)
推荐(0)
并发工具类
摘要: 1.CountDownLatch:可以实现线程计数,阻塞后续线程 CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行, 此时就可以利用CountDownLatch来实现这种功能了。
阅读全文
posted @ 2020-03-19 15:00 怀鑫
阅读(106)
评论(0)
推荐(0)
2020年3月18日
并发编程介绍
摘要: 串行和并行: 串行:一个线程在处理操作 并行:多个线程在处理同一个操作 什么叫做并发编程: 在多线程环境下,应用程序的执行 并发编程的目的: 充分运用到资源,提高程序的效率 什么情况下用到并发编程: 1.在线程阻塞时,导致应用程序停止 2.处理任务时间过长时,可以创建子任务,来进行分段处理 3.间断
阅读全文
posted @ 2020-03-18 17:15 怀鑫
阅读(249)
评论(0)
推荐(0)
2020年3月17日
ConcurrentHashMap底层实现
摘要: 1.ConcurrentHashMap和HashTable比较 ConcurrentHashMap性能高于HashTable,都能够完成线程安全操作, Hashtable中线程安全使用synchronized同步方法进行加锁操作,如果当前一个线程正在访问该集合,其他线程是无法进行访问的,需要进行等待
阅读全文
posted @ 2020-03-17 13:47 怀鑫
阅读(299)
评论(0)
推荐(0)
HashMap底层实现
摘要: 一.HashMap底层源码剖析 1.介绍HashMap底层用到的数据结构 数组:数组的每一项都是一个链表,其实就是数组和链表的结合体 单向链表:当发生Hash碰撞时,首先会找到数组对应位置,然后1.8采用尾插入法(1.7采用头插入法),形成一个单向链表结构 jdk1.8 后 红黑树:当数组中每项的链
阅读全文
posted @ 2020-03-17 13:35 怀鑫
阅读(166)
评论(0)
推荐(0)
2020年3月16日
Map集合面试题
摘要: 一.了解Map集合吗?Map集合都有哪些实现 1.HashMap HashTable LinkedHashMap TreeMap ConcurrentHashMap 二.HashMap和HashTable之间的区别 1.HashMap:底层基于数组+单向链表(红黑树),非线程安全,默认容量为16,允
阅读全文
posted @ 2020-03-16 12:08 怀鑫
阅读(2930)
评论(0)
推荐(0)
2020年3月14日
List集合面试题
摘要: 1.单列集合List 1.1 Vector和ArrayList以及LinkedList区别和联系,以及分别的应用场景 线程安全: Vector:如果创建Vector时没有指定容量,则默认容量为10,底层基于数组实现,线程是安全的,底层采用synchronized同步方法进行加锁 ArrayList:
阅读全文
posted @ 2020-03-14 17:52 怀鑫
阅读(921)
评论(0)
推荐(0)
2020年3月12日
JVM类加载机制
摘要: User java.lang.Class 所有的类都是Class类的对象 类加载:由.java源文件编译生成.class二进制字节码文件,当运行时,首先Java虚拟机会将本地/网络阐传输.class文件加载到内存当中,那么加载的过程就叫做类加载 一.类加载的过程 加载过程:将.class文件通过IO
阅读全文
posted @ 2020-03-12 13:24 怀鑫
阅读(96)
评论(0)
推荐(0)
2020年3月11日
Java代码优化方案
摘要: 1、尽可能使用局部变量 调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中速度较快,其他变 量,如静态变量、实例变量等,都在堆中创建,速度较慢。另外,栈中创建的变量,随 着方法的运行结束,这些内容就没了,不需要额外的垃圾回收。 2、尽量减少对变量的重复计算 明确一个概念,对方法的调用,即使方
阅读全文
posted @ 2020-03-11 13:35 怀鑫
阅读(445)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
···
15
下一页
公告