摘要: 面试官:项目中有使用Spring Boot吗? 小小白:用过。 面试官:说一下为什么要使用Spring Boot? 小小白:在使用Spring框架进行开发的过程中,需要配置很多Spring框架包的依赖,如spring core、spring bean、spring context等,而这些配置通常都 阅读全文
posted @ 2020-05-05 21:52 JavaQ 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 面试官:下面代码执行结果是什么?String t0 = "helloworld";String t1 = new String("helloworld");System.out.println(t0==t1); 小白:(心里嘀咕:不会这么简单吧)false 面试官:详细解释一下为什么? 小白:在Ja 阅读全文
posted @ 2019-12-06 21:11 JavaQ 阅读(221) 评论(0) 推荐(1) 编辑
摘要: synchronized是面试中经常会被问到的知识点,相关的问题点也很多,问题答案涉及的知识点也很多,有经验的面试官就会顺着你的答案不断追问一下,下面的对话场景就是相关面试题的连环炮。 面试官:说一下synchronized的作用。 小白:对于单一JVM来说,synchronized可以保证在并发情 阅读全文
posted @ 2019-12-06 21:09 JavaQ 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 从JDK1.6开始,JVM对锁进行了各种优化,目的就是为了在线程间更高效的共享数据和解决互斥同步的问题。从锁优化的话题开始,可以引申出很多考点面试题,比如锁优化的技术、各优化技术的细节、CAS实现原理、CAS的ABA问题及如何解决等,持续发散还会引发更多问题,例如逃逸分析等,可以看出技术点都是相关联 阅读全文
posted @ 2019-12-06 21:05 JavaQ 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 面试官:如何创建一个局部byte类型数组? 小白:(是不是太基础了,暗笑)byte[] arrays = new byte[1024]。 面试官:这个局部arrays变量指向的数组对象什么时候会被GC回收? 小白:没有变量引用这个数组对象,或者arrays在虚拟机栈中的局部变量表的局部变量空间(Sl 阅读全文
posted @ 2019-12-06 20:42 JavaQ 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 要点解说 AbstractQueuedSynchronizer简称AQS,它是java.util.concurrent包下CountDownLatch/FutureTask/ReentrantLock/RenntrantReadWriteLock/Semaphore实现的基础,所以深入理解AQS非常 阅读全文
posted @ 2018-05-13 21:20 JavaQ 阅读(849) 评论(1) 推荐(1) 编辑
摘要: 要点解说 CountDownLatch允许一个或者多个线程一直等待,直到一组其它操作执行完成。在使用CountDownLatch时,需要指定一个整数值,此值是线程将要等待的操作数。当某个线程为了要执行这些操作而等待时,需要调用await方法。await方法让线程进入休眠状态直到所有等待的操作完成为止 阅读全文
posted @ 2018-05-13 21:03 JavaQ 阅读(546) 评论(0) 推荐(0) 编辑