自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 synchronized加锁原理分析

Monitor java对象头 Mark Word结构: Monitor: 轻量级锁 锁膨胀 自旋优化 偏向锁 偏向状态: 测试禁用: 偏向锁的撤销 撤销–其他线程使用对象 撤销–调用wait/notify 批量从偏向 批量撤销 锁消除 jvm通过线程逃逸分析发现如果没有线程安全问题会通过即时编译器将该锁消除,提高运行效率。 从jdk 1.7开始已经默认开始逃逸分析,如需关闭,需要指定-XX:-DoEscapeAnalysis 如果没有逃逸(即方法中的对象没有发生逃逸)

2022-04-21 16:36:46 248

原创 Spring是如何扫描包以及实例化对象的?

SpringBootApplication.run(apploiation.class)方法启动,spring框架会去扫描SpringBootApplication类所在的包的同级包下的类,不在同一级的包无法扫描到 Spring是如何扫描包以及实例化对象的? 来咱们先看图: 1.扫描指定包下的所有子包与类,接口 2.spring通过反射拿到类的所有元素据(类的名称,类继承父类,累的实现接口,注解,方法,字段,类的所有构造方法)把信息封装到spring内部的对象-[BeanDefinition]每个类的元素

2021-08-13 14:55:46 425

原创 一分钟理解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 173

空空如也

空空如也

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

TA关注的人

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