- 博客(8)
- 收藏
- 关注
原创 Java基础-JVM01-JVM基础
JVM入门基础 JVM体系结构整体图解 JVM类装载器(ClassLoader) 类装载器概念 负责加载class文件,class文件在文件开头有特定的文件表示,并且ClassLoader只负责class文件的加载,文件是否可以运行,由Execution Engine决定。 ClassLoader的双亲委派机制 双亲委派机制的加载流程: 加载流程: 1、当AppClassLoader加载一个class时,它首先不会自己去尝试加载这个类,而是把类加载请求委派给父类加载器ExtClassLoader去完成
2020-10-10 14:35:06 133
原创 Spring中的Bean的扫描、实例化、初始化
在Spring启动之后,个人暂时将Spring注入Bean对象的过程分为3个大的步骤,分别是: Bean的扫描→Bean的实例化→Bean的初始化。 第一步:Bean的扫描 在Spring启动的时候,AnnotationConfigApplicationContext的几种构造参数可以选择使用XML、配置类、包路径来进行扫描 //配置类扫描 ApplicationContext ac=new AnnotationConfigApplicationContext(AppConfig.class); //配.
2020-10-09 19:13:06 949
原创 Spring中的BeanDefinition
Spring bean的建模对象----BeanDefinition 在Spring的容器中,建模一个对象,不单单是实例化出来Class,因为还需要Bean的作用域,Bean的模型注入,是否懒加载等信息。Class是无法抽象出来的。所以需要BeanDefinition类来抽象出这些信息。 SpringBean的实例化的过程 1、当Spring容器启动的时候会调用ConfigurationClassPostProcessor这个Bean工厂的后置处理器完成扫描。 ...
2020-09-16 14:50:48 537
原创 Spring的从0开始
Spring:多层的J2EE应用程序框架。核心是提供一种新的机制管理业务对象及其依赖关系。 使用Spring的好处: 1、降低组件之间的耦合度,实现软件各层之间的解耦; 2、可以使用容器提供的众多服务,eg:事务管理、消息服务等; 3、容器提供单例、原型等模式支持; 4、提供了aop技术,容易实现权限拦截、日志打印等功能; 5、提供很多辅助类,如jdbcTemplate; 6、对于主流的应用框架提供了继承支持,如mybatis等,便于开发 Spring的核心及其组成 核心就是提供一种新的机制管理业务对象及其
2020-08-25 11:44:14 118
原创 Java中的线程ThreadPoolExecutor
Java线程池是运用场景最多的并发框架,合理使用线程池的好处: 1、降低资源消耗。通过重复利用已创建的线程降低创建和销毁造成的消耗; 2、提高相应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行; 3、提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统能够的稳定性,使用线程池可以进行统一分配、调优和监控。 线程池的实现原理 流程如下: 1、线程池判断核心线程池里的线程是否都在执行任务。如果不是,创建一个新的线程来执行任务,如果是,则进行下一步 2、线程池判断工作
2020-07-07 15:22:19 338 1
原创 synchronized锁的膨胀
synchronized锁拥有的几种状态及表示 在对象头的最后 锁状态 对象头的表示 无锁 00000001 偏向锁 00000101 轻量锁 00000000 重量锁 00000010
2020-06-29 19:20:13 546
原创 Java对象头分析
准备 在pom文件中引入openjdk.jol的jar包 <dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core</artifactId> <version>0.9</version> </dependency> 基本使用 public stati
2020-06-27 22:19:46 411
原创 HashMap总结
HashMapHashMap的基本的概念HashMap的基本的API操作HashMap的底层数据结构的分析HashMap的构造函数HashMap的静态字符串的介绍HashMap的数据结构分析HashMap底层源码阅读分析jdk1.7中的HashMap的源码 HashMap的基本的概念 在Java程序的开发中,HashMap是最常使用的集合工具,HashMap在Jdk1.7中的底层实现是数组+链表,在Jdk1.8中对于链表做了一定的优化,当链表的长度大于8且HashMap的size大于64的时候,链表会转化为
2020-06-22 11:39:37 196
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人