• 用机器指令和汇编指令编程(一)

    Debug的使用什么是DebugDebug是Dos、Windows提供的实模式(8086方式)程序的调试工具,可以使用它来查看CPU各种寄存器中的内容、内存的情况和在机器码级跟踪程序的运行。但是debug命令在64位操作系统下是不能使用的。在cmd中输入debug,会提示:不是内部或外部命令,也不是运行的程序或批处理文件。使用DOSBox在Win7_64下搭建汇编环境DEBUG.EXE,EDIT.COM,MASM.EXE,LINK.EXE等汇编工具,一般在32位的Windows操作系统下有...

  • ArrayList源码分析

    源码版本为JDK1.7.0_79ArrayList不是线程安全的,只能应用在单线程环境下。ArrayList类定义从ArrayList的类定义可以看出它是支持泛型的,继承自AbstractList,AbstractList 实现了List接口,提供了List接口的默认实现。public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>ArrayL...

  • Why String is Immutable or Final in Java

    引入问题Thinking in Java中写道:“String对象是不可变的,String类中每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符串内容。而最初的String对象则丝毫未动”。通过查看源代码,了解到String类被设计成final类型,那么String类被设计成final类型是出于哪些考虑?final关键字首先需要理解Java中final的含义,通常final指的是”这是无法改变的”。不想做改变可能出于两种原因:设计或效率。...

  • Spring Hibernate Template解析

    在Spring中,如果选用Hibernate作为持久层框架,往往需要在beans.xml中配置好SessionFactory,然后将SessionFactory注入到对应的DAO类。当我们使用SessionFactory来进行CRUD,配合对应的异常处理,会使得真正有用的业务逻辑代码显得微不足道。而且,除了那部分业务逻辑,创建Session、开启事务、处理异常、关闭资源这一系列代码在大多数场景下都是重复的。为了解决这个问题,Spring引入Hibernate Template让我们专注于业...