摘要:
死锁 死锁是什么?有什么危害? 什么是死锁 发生在并发中 首先你要知道,死锁一定发生在并发场景中。我们为了保证线程安全,有时会给程序使用各种能保证并发安全的工具,尤其是锁,但是如果在使用过程中处理不得当,就有可能会导致发生死锁的情况。 互不相让 死锁是一种状态,当两个(或多个)线程(或进程)相互持有 阅读全文
摘要:
JVM的四大引用 强引用 强引用时最普遍的引用。如果一个对象具有强引用,那垃圾回收器不会回收它。它是默认的引用类型,强引用的对象是可触及的,垃圾收集器就永远不会回收被引用的对象,它可能导致内存泄漏,可以直接访问目标对象。 软引用 只要被软引用关联的对象,系统将要发生内存溢出前,会把这些对象列进回收的 阅读全文
摘要:
对象怎么定位 JVM是通过栈帧上的reference访问到对象的实例的,具体有2种方式。 句柄访问 优点:reference种存储稳定句柄地址,对象被移动时只会改变句柄中实例数据指针即可,reference本身不需要修改。 缺点:比较费空间,需要单独开辟一个句柄池。速度相比直接指针可能还要慢一点。 阅读全文
摘要:
Spring框架的好处 轻量:Spring是轻量的,基本的版本约为几M。 控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。 面向切面:Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。 容器:Spring包含并管理应用中对象的生命 阅读全文
摘要:
基本概念: 领域驱动设计(简称 ddd)概念来源于2004年著名建模专家eric evans发表的他最具影响力的书籍:《domain-driven design –tackling complexity in the heart of software》(中文译名:领域驱动设计—软件核心复杂性应对之 阅读全文
摘要:
什么是阻塞队列? 阻塞队列的作用 阻塞队列,也就是 BlockingQueue,它是一个接口,如代码所示: public interface BlockingQueue<E> extends Queue<E>{...} BlockingQueue 继承了 Queue 接口,是队列的一种。Queue 阅读全文