自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

转载 JVM:JVM的执行子系统

Class类文件结构Java跨平台的基础各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是构成平台无关性的基石,也是语言无关性的基础。Java虚拟机不和包括Java在内的任何语言绑定,它只与“Class文件”这种特定的二进制文件格式所关联,Class文件中包含了Java虚拟机指令集和符号表以及若干其他辅助信息。Class类的本质任何一个Class文件都对...

2020-02-22 15:53:44 158

转载 JVM:java内存分配

虚拟机历史了解即可,无需关注运行时数据区域程序计数器当前线程执行的字节码的行号指示器,占用空间小,也无法干涉虚拟机栈每个线程私有的,线程在运行时,在执行每个方法的时候都会打包成一个栈帧,存储了局部变量表,操作数栈,动态链接,方法出口等信息,然后放入栈。每个时刻正在执行的当前方法就是虚拟机栈顶的栈桢。方法的执行就对应着栈帧在虚拟机栈中入栈和出栈的过程。栈桢大小缺省为1M,可用参数 –X...

2020-02-15 23:16:39 131

转载 JVM:垃圾回收器和内存分配策略

垃圾收集器与内存分配策略为什么要了解GC和内存分配策略1、面试需要2、GC对应用的性能是有影响的;3、写代码有好处判断对象的存活引用计数法:快,方便,实现简单,缺点:对象相互引用时,很难判断对象是否改回收。可达性分析(面试时重要的知识点,牢记)来判定对象是否存活的。这个算法的基本思路就是通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径...

2020-02-15 20:54:47 168

原创 Spring IOC:ConfigurationClassPostProcessor解析(2)postProcessBeanFactory使用CGLIB增强配置类

@Configuration

2020-01-18 18:06:52 255

原创 Spring IOC:ConfigurationClassPostProcessor解析

在spring初始化容器的时候,定义了一个reader和一个scanner,在定义reader的时候,向容器中加入了6个供spring使用的基本类,其中一个就是ConfigurationClassPostProcessor。在上一章invokeBeanFactoryPostProcessors解析中有提到,这个方法是加载所有的后置处理器并依次执行,而ConfigurationClassPostP...

2020-01-04 15:45:43 144

原创 Spring IOC:invokeBeanFactoryPostProcessors执行已注册的beanFactoryProcess

BeanFactoryPostProcessor和BeanDefinitionRegistryPostProcessorBeanFactoryPostProcessor和BeanDefinitionRegistryPostProcessor都是spring提供的后置处理器,都可以做到在bean实例化之前读取bean并修改bean属性BeanDefinitionRegistryPostProce...

2019-12-17 20:45:11 119

原创 Spring IOC:容器创建前的准备工作

1.环境搭建基于注解形式配置spring因为我是从spring官网下载了源码允许的,所以jar包省略不写了。1.1新建配置类@Configuration@ComponentScan("com.st")public class Appconfig {}1.2新建dao@Repositorypublic class Indexdao implements ApplicationC...

2019-12-11 23:47:04 107

原创 Spring AOP:声明式事务@Transactional在AOP中的实现

声明式事务使用1.在pom.xml中引入依赖这里使用了spring-jdbc,c3p0连接池,mysql驱动<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifac...

2019-10-27 16:04:55 2921

原创 SpringAOP:拦截器链的调用

目标方法执行进入被拦截的目标方法,CglibAopProxy.interceptpublic Object intercept(Object proxy, Method method, Object[] args, MethodProxy methodProxy) throws Throwable { Object oldProxy = null; boolean setProxy...

2019-10-23 22:59:25 250

原创 Spring AOP:创建拦截器链

上一节讲到了创建AnnotationAwareAspectJAutoProxyCreator,这一节将介绍切面类的创建,和拦截器链的调用。AnnotationAwareAspectJAutoProxyCreator相当于后置处理器会在registerBeanPostProcessors(beanFactory)中创建并实例化。而切面类其实也是一个普通的bean,将会在finishBeanFac...

2019-10-17 22:43:11 247

原创 Spring AOP:创建AOP代理,注册AnnotationAwareAspectJAutoProxyCreator

上文实现了对Calculator.div()方法的增强,那么Spring到底是如何实现AOP的呢?我们还要从配置类的@EnableAspectJAutoProxy开启AOP注解说起。@EnableAspectJAutoProxy@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Import(As...

2019-10-15 23:01:56 196

原创 Spring AOP:AOP使用示例

面向切面编程AOP当我们需要为多个对象引入公共方法时,例如日志,安全检测等。若是在每个对象中都手动调用该公共方法,将造成大量的代码重复,所以产生了AOP,面向切面编程的思想。在不影响源结构的同时动态为多个对象调用目标方法。动态AOP使用示例准备工作:引入Maven Spring +Junit +spring-aspects1.定义业务逻辑方法public class Calculato...

2019-10-11 22:29:54 158

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除