java源码分析
mingxu.chen
这个作者很懒,什么都没留下…
展开
-
java之ClassLoader的原理以及应用
一、背景1.ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见。2.理解ClassLoader的加载机制,也有利于我们编写出更高效的代码。ClassLoader的具体作用就是将class文件加载到jvm虚拟机中去,程序就可以正确运行了。3.但是,jvm启动的时候,并不会一次性加载所有的class文件,而是根据需要去动态加载...原创 2019-10-16 23:13:12 · 362 阅读 · 0 评论 -
关于java中的AbstractStringBuilder中的其他方法分析(源码分析)
一、背景1.关于AbstractStringBuilder是一个抽象实现类,所以不能直接new对象,接下来主要分析他的子类StringBuilder,来看下它底层主要是实现了什么把数据加上。2.今天主要介绍的是StringBuilder类中的其他源码的方法分析,接下来我们来看看源码吧。3.关于AbstractStringBuilder的源码的解析,可以参照我上篇文章的分析,地址:htt...原创 2019-09-08 14:14:15 · 490 阅读 · 0 评论 -
二、Spring源码分析之DI/DL
一、什么是DI/DL1.DI(dependency injection),依赖注入。就是使用 spring 框架为我们的 JavaBean 的属性赋值的过程。作用就是为我们创建对象后的属性赋值。二、贴个例子1.创建 JavaBean(使用setter方法来进行赋值)public class Person { private String personName; priv...原创 2019-04-24 21:32:42 · 1051 阅读 · 0 评论 -
一、JVM参数调优配置
一、背景1.Java虚拟机原理:所谓虚拟机,就是一台虚拟的机器,它是一款软件,用来执行一系列虚拟计算指令,大体上虚拟机可以分为系统虚拟机和程序虚拟机,大名鼎鼎的Visual Box、Vmware就属于系统虚拟机,他们完全是对物理计算的仿真,提供了一个可以运行完整操作系统的软件平台。程序虚拟机典型代表就是java虚拟机,它专门为执行单个计算程序而计算,在java虚拟机中执行的指令使我们程序成为j...原创 2019-05-27 10:16:40 · 615 阅读 · 0 评论 -
二、垃圾回收机制算法分析
一、什么是垃圾回收机制1.垃圾回收机制不定时,向堆内存清理不可达对象,不可达对象就是说对象不再被引用。二、垃圾回收机制所使用到的算法有1.引用计数法(新生代的eden区)。2.标记清除很少使用,标记压缩(老年代)。3.复制算法(新生代s0、s1)。4.分代算法(新生代、老年代)。三、演示一个例子1.finalize作用Java技术使用finalize()方法...原创 2019-06-08 20:24:11 · 272 阅读 · 0 评论 -
关于java中的equals的覆盖时总要覆盖hashCode解释
一、背景1.虽然网上有很多类似的文章,下面我根据的是编程思想中的一个例子,来聊聊我是怎么理解这个知识点的,《Effective Java》这本书。2.大家如果有不同的见解,欢迎评论指正,下面我们直接上测试用例。二、例子1.没有覆盖hashCode()方法public final class PhoneNumber { private final short area...原创 2019-08-24 22:09:37 · 312 阅读 · 0 评论 -
java中String类中getByte()方法的源码分析
一、背景1.今天看下String类中的getByte()方法的源码,这个方法的主要作用就是把String字符串转化为字节数组,今天打印出来的是字节数组的每一个字符的ascill码值,具体是在哪一步生成的。二、具体分析代码1.首先我们自定义一个String string = "java";这样的字符串,下面我们来跟踪下源码,来具体分析下它的运行轨迹。首先会进入下面的类中,可以看的出返回的...原创 2019-09-01 21:39:26 · 1431 阅读 · 0 评论 -
String类中的equals与contentEquals的区别(源码分析)
一、两者区别1.String的equals()不仅比较这个字符串的内容还检查另一个被比较的对象是否是String类型。2.String的contentEquals()只比较两者的内容是否相同,不检查被比较对象的类型。二、String的equals()方法1.定义一个String str = "student",比较"student".equals(str),接下来我们直接看源码。...原创 2019-09-02 08:57:12 · 1078 阅读 · 0 评论 -
String类中的compareTo()方法的详解(源码分析)
一、背景1.集合的排序方法之前总结过,请参考我之前的博客:https://blog.csdn.net/chenmingxu438521/article/details/89785791。2.今天主要介绍的是String类中的compareTo()方法,主要从源码的角度去分析这个方法底层到底做了些什么,下面我们就开始吧。二、源码解析compareTo(String str)1.首先我...原创 2019-09-02 21:28:24 · 1837 阅读 · 0 评论 -
String类中的split()等其他方法的详解(源码分析)
一、背景1.今天主要介绍的是String类中的split()方法,主要从源码的角度去分析这个方法底层到底做了些什么,下面我们就开始吧。2.其实看源码也能学到很多东西的,希望坚持下去。二、源码解析split(String regex)1.首先我们写一个str1.split(",")其中str1定义为"i,am,a,student",下面我们就开始跳进我们的源码,开始分析。1.第一...原创 2019-09-03 22:34:27 · 1925 阅读 · 1 评论 -
关于java中的AbstractStringBuilder中的append()方法理解(源码分析)
一、背景1.关于AbstractStringBuilder是一个抽象实现类,所以不能直接new对象,接下来主要分析他的子类StringBuilder,来看下它底层主要是实现了什么把数据加上。2.今天主要介绍的是StringBuilder类中的append()方法,接下来我们来看看源码吧。二、源码解析append(int i)1.进入AbstractStringBuilder的子类S...原创 2019-09-07 22:03:51 · 1048 阅读 · 0 评论 -
一、spring的IOC源码分析
一、什么是Ioc1.IoC容器:最主要是完成了完成对象的创建和依赖的管理注入等等,其实说白了就是将new对象的动作交给Spring管理,并由Spring保存已创建的对象(IOC容器)。我们再不用通过new的方式来创建Javabean对象,这个过程就叫做控制反转。2.先从我们自己设计这样一个视角来考虑:所谓控制反转,就是把原先我们代码里面需要实现的对象创建、依赖的代码,反转给容器来帮忙...原创 2019-04-24 11:26:21 · 179 阅读 · 0 评论