摘要:
1.依赖注入(DI)(IOC) 对象本身不负责对象的创建和维护,将控制权转交给外部的容器实现,降低程序的耦合度,只提供java方法让容器决定依赖关系,依赖关系的对象通过JavaBean属性或者构造函数传递给需要的对象,使用<bean>元素去构造组件时,为id定义一个唯一的名称,通过调用属性的sett 阅读全文
摘要:
1.介绍 JVM支持多种线程的执行,Threads代表的是线程类,位于java.lang.Thread包下,唯一的方式就是为用户在这个类下的对象创建线程,每一个线程关联着一个对象,一个线程将在start()调用时声明这个线程对象 在针对线程同步错误的情况下,手册描述了多线程程序的语义,包括了值位于只 阅读全文
摘要:
1.概述 执行引擎是jvm核心组成部分之一,建立在物理器,硬件和操作系统层面之上,引擎在执行代码时会有解释执行和编译执行两种选择,输入字节码文件,字节码解析输出结果. 2.栈帧 栈帧是用于支持虚拟机进行方法调用和执行方法的结构,是虚拟机运行时数据区中的虚拟机栈的栈元素,存储方法的局部局部变量,操作数 阅读全文
摘要:
What's Hibernate? Hibernate是数据持久化工具,是开放式ORM(Object/Relational Mapping)框架,通过JavaBean去操作数据库表中的数据,是Java应用与数据库之间的桥梁,与JDBC相比,减少了代码量,提高了持久话的开发速度,降低了维护成本,同时H 阅读全文
摘要:
1.概述 虚拟机把描述的类从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机使用的java类型,这就是虚拟机的类加载,其中类型的加载连接和初始化都在程序运行中运行,为java提高了高度的灵活性,特性就是以来运行期动态加载和动态连接,例如OSGI. 2.类加载生命周期 阅读全文
摘要:
1.抽象数据类型(ADT) 带有一组操作的几何对象,在集合ADT中,可以包含add,remove,contain等操作,也可以只有find和union 2.表ADT 在表中,简单分为单链表和双链表,链表有一系列节点组成,不必与内存相连,每一个节点均包含表元素和包含到该元素的链(link),也称为ne 阅读全文
摘要:
在2004年末Java推出了Java5,其中提供了对泛型方法和类的支持,也围绕着泛型推出了一下特性,本章将对Java泛型进行综合的概括 1.泛型特性构件pre-Java 5 1.使用Object表示泛型 当引用类型与Object相容即可 2.基本类型的包装 包装类(wrapper class)用于存 阅读全文
摘要:
1.概述 高效并发通过JAVA线程之间提高并发协调实现,在实现过程中需考虑硬件的效率和一致性,但在运算的过程中需要考虑处理器与内存的交互,所以基于高速缓存的存储交互解决的处理器与内存的方案,在对多处理器系统中,共享着同一内存,所以JAVA中也提出了JMM的概念,JMM可以理解为特定的操作协议中,对特 阅读全文
摘要:
1.ConcurrentHashMap 在并发中使用hashmap容易导致死锁,hashmap存在以下问题 1.线程不安全的hashmap 在多线程环境下使用hashmapPut操作时会引起死循环,因为多线程会导致HashMap的Entry链表形成环形数据结构,next节点永远不为控股,就会产生死循 阅读全文
摘要:
1.Lock 接口 锁用来控制多个线程访问共享资源方式,一个锁可以防止多个线程同时访问共享资源,在锁之前,依靠synchronized关键字来实现锁功能,在使用时需要显式获取和释放锁,但拥有锁获取和释放的可操作性,可中断的获取锁syn不具备的同步特性,利用syn控制锁时将会隐式获取锁,但是被固化了, 阅读全文