- 博客(3)
- 收藏
- 关注
原创 synchronized加锁原理分析
Monitor java对象头 Mark Word结构: Monitor: 轻量级锁 锁膨胀 自旋优化 偏向锁 偏向状态: 测试禁用: 偏向锁的撤销 撤销–其他线程使用对象 撤销–调用wait/notify 批量从偏向 批量撤销 锁消除 jvm通过线程逃逸分析发现如果没有线程安全问题会通过即时编译器将该锁消除,提高运行效率。 从jdk 1.7开始已经默认开始逃逸分析,如需关闭,需要指定-XX:-DoEscapeAnalysis 如果没有逃逸(即方法中的对象没有发生逃逸)
2022-04-21 16:36:46
275
原创 Spring是如何扫描包以及实例化对象的?
SpringBootApplication.run(apploiation.class)方法启动,spring框架会去扫描SpringBootApplication类所在的包的同级包下的类,不在同一级的包无法扫描到 Spring是如何扫描包以及实例化对象的? 来咱们先看图: 1.扫描指定包下的所有子包与类,接口 2.spring通过反射拿到类的所有元素据(类的名称,类继承父类,累的实现接口,注解,方法,字段,类的所有构造方法)把信息封装到spring内部的对象-[BeanDefinition]每个类的元素
2021-08-13 14:55:46
469
原创 一分钟理解equals和hashCode的关系
java基础篇 什么是Java Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因 此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。 JVM、JRE和JDK的关系 Java Virtual Machine是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以 实现跨平台。 JRE Java Ru
2021-08-10 14:57:00
213
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人