lifeline张
码龄8年
关注
提问 私信
  • 博客:10,351
    10,351
    总访问量
  • 20
    原创
  • 373,883
    排名
  • 1
    粉丝
  • 0
    铁粉

个人简介:生活如此美丽

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2017-02-25
博客简介:

lifeline张的博客

博客描述:
以大白话、逻辑清晰、表述详细的方式来写博客。
查看详细资料
个人成就
  • 获得1次点赞
  • 内容获得1次评论
  • 获得7次收藏
创作历程
  • 20篇
    2020年
成就勋章
TA的专栏
  • 丞相
    1篇
  • jvm
    17篇
  • 后端
  • java
  • 前端
  • vue
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 服务器
    linux
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

今日项目总结

1、环境搭建先说搭环境的事情,首先,这应该是一个很简单的事情,但是我在引入项目的时候卡了半天,原因在于没有引入正确的阿里云镜像。但是很奇怪的是,上午的话,这个镜像是没有问题的,之前也跑起来过。我用的镜像是这一个(家里电脑也是这个镜像,最骚的是家里电脑也可以启动,并不报错):<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http:
原创
发布博客 2020.10.14 ·
141 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

十七、类加载器总结及扩展类加载器要点分析

1、类加载器双亲委托模型的好处1、可以确保java核心库的类型安全:所有的java应用都至少会引用java.lang.Object类,也就是说在运行期,这个类会被加载到虚拟机中;如果这个加载过程是由自定义类加载器所完成的,那么很可能就会在jvm中存在多个版本的Object类,而且这些类之间还是不兼容的,相互不可见的(是因为命名空间)。借助于双亲委托机制,java核心类库中的加载动作都是由启动类加载器来统一完成加载工作,从而保证了java应用所使用的都是同一个版本的java核心类,他们之间是相互兼容的。
原创
发布博客 2020.05.11 ·
314 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

十六、类加载器实战剖析与疑难点解析

1、jvm自带各级加载器的加载路径public class MyTest19 { public static void main(String[] args) throws Exception { System.out.println(System.getProperty("sun.boot.class.path")); System.out.println("======="); System.out.println(System.getPrope
原创
发布博客 2020.05.11 ·
169 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

十五、自定义类加载器在复杂类加载情况下的运行分析

准备动作:public class MyCat { public MyCat() { System.out.println("MyCat is loader by:" + this.getClass().getClassLoader()); }}public class MySample { public MySample() { System.out.println("MySample is loader by:" + this.getCl
原创
发布博客 2020.05.10 ·
170 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

十四、类的命名空间与卸载详解及jvisualvm使用

1、类的卸载当一个类被加载、连接、初始化后,他的生命周期就开始了。当代表该类的Class对象不再被引用时,即不可触及时,Class对象就会结束生命周期,该类在方法区的数据也会被卸载,从而结束类的生命周期。一个类何时结束生命周期,取决于代表他的Class对象何时结束生命周期。由java虚拟机自带的类加载器所加载的类,在虚拟机的生命周期中,始终不会被卸载。java虚拟机自带的类加载器包括根类加载器、扩展类加载器和系统类加载器。java虚拟机本身会始终引用这些类加载器,而这些类加载器则会始终引用他们所加载的
原创
发布博客 2020.05.10 ·
158 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

十三、自定义类加载器

工具类:public class User { public static int age = 13;}自定义类加载器:import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;public clas...
原创
发布博客 2020.05.10 ·
148 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

十二、ClassLoader文档分析

A class loader is an object that is responsible for loading classes. The class ClassLoader is an abstract class. Given the binary name of a class, a class loader should attempt to locate or generate d...
原创
发布博客 2020.05.08 ·
150 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

十一、不同的类加载器作用与加载动作分析

1、类加载器层级显示以下代码可以展示加载器的层级public class MyTest14 { public static void main(String[] args) { // 获得当前类的classloader ClassLoader classLoader = ClassLoader.getSystemClassLoader(); S...
原创
发布博客 2020.05.07 ·
149 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

十、初始化其他情况及总结

1、猜输出class Parent2 { static int a = 3; static { System.out.println("Parent2 static block"); }}class Child2 extends Parent2 { static int b = 4; static { System...
原创
发布博客 2020.05.06 ·
146 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

九、类加载器双亲委托机制

1、双亲委托机制在双亲委托机制中,各个加载器按照父子关系形成了树形结构(逻辑上的树形结构,并非继承关系),除了根类加载器之外,其余的类加载器都有且只有一个父加载器。双亲委托机制的工作过程:如果一个类加载器收到了类加载的请求,他首先不会自己去尝试加载这个类,而是把这个请求委托给父类加载器去完成,每一个层次的类加载器都是如此。因此所有的加载请求最终都应该传送到最顶层的根类加载器中。只有父类加载...
原创
发布博客 2020.05.05 ·
121 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

八、类加载器深入解析及重要特性剖析

1、类加载过程其中连接又分为三个阶段:验证、准备、解析。加载:就是把二进制形式的java类型读入到java虚拟机中验证:准备:为类的静态变量分配内存,设置默认值。但是在初始化之前,类变量都没有初始化为真正的初始值。解析:解析过程就是在类型的常量池中寻找类、接口、字段和方法的符号引用,把这些符号引用替换成直接引用初始化:为类变量赋予正确的初始值。类实例化:为新的对象分配内存,为实例...
原创
发布博客 2020.05.04 ·
200 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

七、接口初始化规则与类加载器准备阶段和初始化阶段的重要意义分析

注:这节课的例子不能说明这节课的结论。1、引例:判断接口有没有被初始化public class MyTest5 { public static void main(String[] args) { System.out.println(MyChild5.b); }}interface MyParent5 { int a = 5;}interf...
原创
发布博客 2020.05.04 ·
2152 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

六、编译期常量与运行期常量的区别及数组创建本质分析

1、编译期常量与运行期常量引例:判断MyParent3会不会初始化?import java.util.UUID;public class MyTest3 { public static void main(String[] args) { System.out.println(MyParent3.str); }}class MyParent3 { ...
原创
发布博客 2020.05.03 ·
348 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

五、常量的本质含义与反编译及助记符详解

1、关于加载的先后顺序问题引入:public class MyTest1 { public static void main(String[] args) { System.out.println(MyChild1.str); }}class MyParent1 { public static String str = "hello world";...
原创
发布博客 2020.05.03 ·
244 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

四、类的加载、连接与初始化过程详解

java类加载分为以下几个过程:java程序对类的使用方式可分为两种:主动使用被动使用所有的java虚拟机实现必须在每个类或接口被java程序“首次主动使用”时才初始化他们。(1、必须是首次 2、必须是主动使用)1、主动使用创建类的实例访问某个类或接口的静态变量,或者对该静态变量赋值(对于静态字段来说,只有直接定义了该字段的类才会被初始化,见例1)调用类的静态方法反射初...
原创
发布博客 2020.05.03 ·
217 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

三、类加载器深入解析与阶段分解

一、类加载在java代码中,类型的加载、连接与初始化过程都是在程序运行期间完成的。类型:指的是我们定义的一个class,一个interface,一个枚举等等,并不涉及到对象的概念。类型的加载:比较典型的一种场景:将已经编写好的、编译完成的类的class文件从磁盘上面加载到内存里面。连接:确定类与类之间的关系,并且对字节码进行一些处理(验证、校验等)。...
原创
发布博客 2020.05.03 ·
125 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

二、课程大纲分析及工具使用

一、课程大纲jvm介绍HotSpot虚拟机讲解:HotSpot是oracle公司推出的一个虚拟机,IBM也有自己实现的虚拟机。虚拟机有自己的实现规范,只有参照这个规范写一个虚拟机,能用即可。垃圾收集方式详解:java是自动垃圾回收,我们需要了解是怎么实现的:什么时候进行垃圾回收、垃圾回收及常见实现方式及各自特点垃圾收集算法详解垃圾收集器详解分代垃圾收集机制详解新生代讲解...
原创
发布博客 2020.05.03 ·
131 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

一、在jvm学习之前

一、jvm学习jvm学习不像一般的应用框架。一般的框架学完之后直接就可以测试应用,但是jvm偏理论,略显枯燥。本课程基于jdk8,主要讲解一些核心知识,忽略各个不同版本之间的细微差别。主要介绍一些常用的参数。...
原创
发布博客 2020.05.03 ·
412 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

清晨顿思

外部世界应该只是承载我思想观点的客体,应该以我为中心来评判大千世界,而不是让自己从属于这个大千世界。看别人的观点没有意思,发表自己的观点才有意思。看别人的观点只是从属于这个世界的纷扰,发表自己的观点才是专属于自己的对这个世界的解构。这个世界是割裂的,任何观点都一定有人骂,我应该主动去评论信息,然后去大千世界中求证。我自己平时最常使用的两个软件是b站和知乎,这两个也是我获取信息、被动接收观...
原创
发布博客 2020.04.25 ·
128 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

商城项目总结

一、前言b站上这个项目看了大概有两个月了,终于看完了。
原创
发布博客 2020.04.21 ·
988 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏
加载更多