AOP(Aspect Oriented Programming):面向切面编程 横向重复,纵向抽取。 简单的说它就是把我们程序重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的基础上,对我们的已有方法进行增强。 实现原理:动态代理; 在我们原始的控制事务中,Connection ...
分类:
编程语言 时间:
2019-10-27 23:18:23
阅读次数:
179
Part1:Java类加载机制:类加载器,类加载机制,双亲委派模型 1. Java 类加载过程? 类加载过程即是指JVM虚拟机把.class文件中类信息加载进内存,并进行解析生成对应的class对象的过程。 三阶段:加载 - 链接 (验证 - 准备 - 解析) - 初始化 加载、验证、准备和初始化这 ...
分类:
编程语言 时间:
2019-10-12 13:32:53
阅读次数:
111
JVM 一 JVM体系结构概述 1.1类装载器ClassLoader 负责加载class文件,class在文件开头有特定的文件标识,并且ClassLoader只负责class文件的加载,至于它是否可以运行,则有Execution Engine决定. 1.2 三种类加载器 启动类加载器(Bootstr ...
分类:
其他好文 时间:
2019-10-10 22:44:16
阅读次数:
96
JVM:java虚拟机,Java编译程序将生成Java虚拟机上可运行的目标代码,使得Java程序可以再不同平台不加修改的运行。JVM包含完善的硬件架构,主要分为五大模块—类装载器子系统、运行时数据全、执行引擎、本地方法接口和垃圾收集模块。其没有寄存器,指令集使用Java栈来存储中间数据。 JRE:J ...
分类:
编程语言 时间:
2019-10-04 17:01:04
阅读次数:
83
实战性能优化 1 重新认知JVM 之前我们画过一张图,是从Class文件到类装载器,再到运行时数据区的过程,现在咱们把这张图不妨丰富完善一下,展示了JVM的大体物理结构图。 执行引擎:用于执行JVM字节码指令 主要由两种实现方式: (1)将输入的字节码指令在加载时或执行时翻译成另外一种虚拟机指令; ...
分类:
其他好文 时间:
2019-09-30 11:17:33
阅读次数:
135
介绍 类的单例设计模式,就是采取一定的方法来保证在整个软件系统中,某个类只存在一个对象实例。且该类只提供一个取得其对象实例的方法(静态方法)。 八种方式 单例模式有八种方式: 1. 饿汉式(静态常量) 2. 饿汉式(静态代码块) 3. 懒汉式(线程不安全) 4. 懒汉式(线程安全,同步方法) 5. ...
分类:
其他好文 时间:
2019-09-24 17:30:25
阅读次数:
86
Java的核心优势:跨平台Java SE:标准版Java EE:企业级Java ME:微型版源文件(*.java)→编译器→字节码文件(*.class)→(类装载器→字节码校验器→解释器)【JRE】→系统平台 win10用javac无法编译,应用javac -encoding UTF-8 *.jav ...
分类:
编程语言 时间:
2019-09-18 09:12:40
阅读次数:
92
定义 采取一定的方法,保证整个软件系统中,对某个类 只能存在一个对象实例 ,并且该类只提供一个取得其对象实例的方法 实现方式 1.饿汉式(静态常量) 构造器私有化 类的内部创建对象 向外暴露一个静态的公共方法 代码实现: 优缺点: 优点:简单了,类装载时候就完成了实例化,避免了线程同步问题 缺点:类 ...
分类:
其他好文 时间:
2019-09-10 17:44:15
阅读次数:
72
1. JVM架构图 Java虚拟机主要分为五大模块:类装载器子系统、运行时数据区、执行引擎、本地方法接口和垃圾收集模块。 2. JDK1.7内存模型-运行时数据区域 根据《Java 虚拟机规范(Java SE 7 版)》规定,Java 虚拟机所管理的内存如下图所示。 1-3为线程私有,4-5为线程共 ...
分类:
其他好文 时间:
2019-08-14 14:51:24
阅读次数:
159
饿汉式实现(单例对象立即加载) ? 饿汉式单例模式代码中,static变量会在类装载时初始化,此时也不会涉及多个线程对象访问该对象的问题。虚拟机保证只会装载一次该类,肯定不会发生并发访问的问题。因此,可以省略synchronized关键字。? 问题:如果只是加载本类,而不是要调用getInstanc ...
分类:
其他好文 时间:
2019-07-10 01:29:17
阅读次数:
175