摘要:
单例模式?:系统运行期间,有且仅有一个实例! 1:它必须自行创建这个实例(定义了静态的该类私有对象) 2:一个类只有一个实例(只提供私有构造器(核心)) 3:它必须自行向整个系统提供这个实例(提供一个静态的公有的方法,返回创建或者获取本身的静态私有对象) 这样的单例在高并发的时候存在线程不安全的弊端 懒汉模式实现单例 1:在类加载时不创建实例,采用延迟加载的方式,在运行时调... 阅读全文
posted @ 2017-12-17 23:18
老人与JAVA
阅读(290)
评论(0)
推荐(0)
摘要:
一、CGlib动态代理 JDK实现动态代理需要实现类通过接口定义业务方法,对于没有接口的类,如何实现动态代理呢,这就需要CGLib了。CGLib采用了非常底层的1:字节码技术,其原理是通过字节码技术为一个类创建子类,并在子类中采用2:方法拦截的技术拦截所有父类方法的调用,顺势织入横切逻辑。JDK动态代理与CGLib动态代理均是实现Spring AOP的基础。 字节码技术:参考:http:... 阅读全文
posted @ 2017-12-17 23:17
老人与JAVA
阅读(279)
评论(0)
推荐(0)
摘要:
dos窗口下操作jar:(JDK的命令) jar命令能够把Java应用打包成一个文件,这个文件的扩展名为.jar,称为JAR文件。JAR 文件非常类似 ZIP 文件。准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 MET 阅读全文
posted @ 2017-12-17 00:12
老人与JAVA
阅读(643)
评论(0)
推荐(0)
摘要:
堆栈常量池等内存分配原理详解 存储的方式: 寄存器 栈(stack) 堆(heap) 静态域 常量池 非RAM存储 JAVA寄存器 最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 所有进程都使用寄存器,Java虚拟机使用下列寄存器管理系统堆栈: 程序记数寄存器:跟踪程序执行的准确位置 堆栈指针寄存器:指示操作栈项 框架寄存... 阅读全文
posted @ 2017-12-17 00:11
老人与JAVA
阅读(349)
评论(0)
推荐(0)
摘要:
1.类的加载过程 JVM将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)链接又分为三个步骤,如下图所示: 1) 装载:查找并加载类的二进制数据; 2)链接: 验证:确保被加载类的正确性; 准备:为类的静态变量分配内存,并将其初始化为默认值; 解析:把类中的符号引用转换为直接引用; 3)初始化:为类的静态变量赋予正确的初始值; ... 阅读全文
posted @ 2017-12-17 00:10
老人与JAVA
阅读(169)
评论(0)
推荐(0)

浙公网安备 33010602011771号