05 2020 档案

摘要:前言 在我们进行开发时,为了加快程序的运行效率,可能会使用到线程池去加快程序效率,但是线程池也不是随便使用的,如果一旦使用错误,还可能会造成生产事故。在JDK1.5后提供了Executor框架来供开发者使用,无需关心任务如何被执行,如果不清楚线程池原理的话,使用Executor框架也可能会造成生产事 阅读全文
posted @ 2020-05-31 21:48 半分、 阅读(2074) 评论(0) 推荐(1) 编辑
摘要:前言 相信HashMap对于大家来说并不陌生,下面主要从HashMap的一些常见面试题来剖析,结合面试题和HashMap的一些源码来讲解,并不会一上来就一点一点源码去讲,相信大家一直对照着源码去讲解收获也不是很大,并且容易忘记。 1.HashMap底层数据结构是什么? 我们都知道HashMap是基于 阅读全文
posted @ 2020-05-24 23:04 半分、 阅读(8054) 评论(0) 推荐(2) 编辑
摘要:相信对Java程序员来说,synchronized关键字对大家来说并不陌生,当我们遇到并发情况时,优先会想到用synchronized关键字去解决,synchronized确实能够帮助我们去解决并发的问题,但是它会引起一些其他问题,比如最突出的一点就是程序效率问题,不过后面随着JDK1.6对sync 阅读全文
posted @ 2020-05-17 20:22 半分、 阅读(7898) 评论(0) 推荐(1) 编辑
摘要:在Java中我们都知道synchronized是一个重量级的锁,尽管JVM对synchronized关键字做出了许多优化,但是在多线程的情况下,synchronized的并发效率还是低下,而volatile是synchronized的轻量级的实现,在多线程编程中,能用volatile关键字解决的问题 阅读全文
posted @ 2020-05-10 18:43 半分、 阅读(670) 评论(0) 推荐(0) 编辑
摘要:​ JVM(Java Virtual Machine)又被分为三大子系统,类加载子系统,运行时数据区,执行引擎。在这里我们主要讲解一下JVM的运行时数据区,也就是我们常说的JVM存储数据的内存模型。在这里提一点,平常我们常说内存模型,其实在Java中存在两大内存模型,一个是JVM的内存模型,也就是堆 阅读全文
posted @ 2020-05-04 17:29 半分、 阅读(1007) 评论(1) 推荐(2) 编辑