摘要:
首先实现语言无关性的基础仍然是虚拟机和字节码存储格式.Java虚拟机不和包括Java在内
的任何语言绑定,它只与“Class文件”这种特定的二进制文件格式所关联,Class文件中包含
了 Java虚拟机指令集和符号表以及若干其他辅助信息。基于安全方面的考虑,Java虚拟机规
范要求在Class文件中 阅读全文
摘要:
垃圾回收(GC),主要关注三个点:如何进行回收,哪些内存需要回收,什么时候回收。 在上一个文章中介绍到了程序计数器,Java虚拟机栈,本地方法栈会随着线程生而生灭而灭,同时Java虚拟机栈中的栈帧会随着方法的进入和退出执行者入栈和出栈的操作。每一个栈帧分配多少内存在类结构确定的时候就已经确认(JIT 阅读全文
摘要:
Java容器可分为两大类: Collection: List: ArrayList LinkedList Vector Set: HashSet LinkedHashSet TreeSet Map: HashMap TreeMap ConcurrentHashMap ArrayList和Vector 阅读全文
摘要:
CopyOnWriteArrayList,我对这样的第一印象就是在讲多线程的时候,例子中使用到过这个。 JavaDoc翻译 一种线程安全的变体,ArrayList其中的所有可变操作(add,set等)都通过对基础数组进行全新复制来实现。当遍历操作远远超过修改时,它可能比替代方法更有效,并且在您无法或 阅读全文
摘要:
在面试题中在容器类中最常问到就是XXX是不是线程安全的,如果不是,那么可以使用什么来进行线程安全。 不过在使用中,我个人会选择加锁的方法来保证线程安全,但是现在回想起来好像有点问题。 ConCurrentHashMap的底层是:散列表+红黑树,与HashMap是一样的。 通过看它的源码中的JavaD 阅读全文
摘要:
LinkedHashMap看名字其实就知道了是链表和Map的集合体。 这个东西在1.4的时候被提出,然后一直沿用至今,说实话在目前的开发中我还是没有遇到过这个的使用场景。 第一张图为LinkedHashMap整体结构图,第二张图专门把循环双向链表抽取出来,直观一点,注意该循环双向链表的头部存放的是最 阅读全文
摘要:
文章开头,全家桶少不了。 作为HashMap的好兄弟,TreeMap存在肯定是有的他的理由的。 我看源码喜欢先看JavaDoc 翻译TreeMap的JavaDoc 基于红黑树的NavigableMap实现。 根据映射的键的Comparable或根据映射创建时提供的Comparator对映射进行排序, 阅读全文
摘要:
首先内存模型是和内存结构是不一样的。内存模型是类似CPU内存结构的。 CPU的内存是有一级二级三级的,如果每一次都是要去内存中处理。实在是太慢了。 如果有一级二级三级这种层次那么就会有一个新的问题就是内存的一致性问题。 这个问题就像互联网技术一样。需要各种各样的协议。用协议来控制对应的 由于存在着缓 阅读全文
摘要:
先放上一张网上找来的图 模式注解使框架的配置变得简洁明了,从Spring Framework 3.1开始Spring开始全面支持面向注解配置,其中一些核心注解如下 装配注解: 依赖注入注解如下表所示: Bean定义注解如下表所示 Spring条件装配注解: 配置属性注解: 生命周期回调注解 2. S 阅读全文
摘要:
在CRUD的过程中,我们经常使用到一个注解@Autowired 当然@Resource也会经常使用到 三者的区别: @Resource注解方式进行装配,默认按名称装配,当找不到与名称匹配的bean才会按类型装配@Autowired自动装配具有兼容类型的单个bean属性。可以对类成员变量、方法及构造函 阅读全文