摘要: 多线程锁有两种: 一种是用关键字 : syncronized实现 另一种是用Lock的实现类实现。 关于syncronized的锁,以及锁升级的解释可以参考一位博主写的(https://www.cnblogs.com/yuhangwang/p/11295940.html) 这里就先看Reentran 阅读全文
posted @ 2021-01-08 18:34 一只喜鹊 阅读(68) 评论(0) 推荐(0) 编辑
摘要: public class ThreadLocalDemo { static ThreadLocal<Integer> local = new ThreadLocal<Integer>(){ @Override protected Integer initialValue() { return 0; 阅读全文
posted @ 2021-01-08 00:02 一只喜鹊 阅读(92) 评论(0) 推荐(0) 编辑
摘要: Java虚拟机运行时数据区 方法区:存储 类信息、常量、静态变量、即使编译器编译后的代码等数据,也有别名叫做非堆。 方法区其中有包含有 运行时常量池,用于存放编译期生成的各种字面量和符号引用。其中,可通过String.intern()方法将字符串放入运行时常量池中。 堆:存储的是类实例对象,数组。 阅读全文
posted @ 2021-01-07 22:31 一只喜鹊 阅读(704) 评论(0) 推荐(0) 编辑
摘要: HandlerMethodArgumentResolver 是什么? 就是用于解析参数的一个接口,springMVC(4.1)会直接调用这个接口的方法,对参数进行一定的解析。比如会在 具体实现: 1.@CurrentUser @Target({ElementType.PARAMETER}) @Ret 阅读全文
posted @ 2019-10-10 23:41 一只喜鹊 阅读(252) 评论(0) 推荐(0) 编辑
摘要: Java反射学问很深,这里就浅谈吧。如果涉及到方法内联,逃逸分析的话,我们就说说是什么就好了。有兴趣的可以去另外看看,我后面可能也会写一下。(因为我也不会呀~) 一、Java反射是什么? 反射的核心是JVM在运行时才动态加载类或调用方法/访问属性,它不需要事先(写代码的时候或编译期)知道运行对象是谁 阅读全文
posted @ 2019-08-22 22:47 一只喜鹊 阅读(2165) 评论(1) 推荐(0) 编辑
摘要: 一、Java异常 在程序中,错误可能产生于程序员没有预料到的各种情况,或者超出程序员可控范围的环境,例如用户的坏数据、试图打开一个不存在的文件等。为了能够及时有效地处理程序中的运行错误,Java 专门引入了异常类。 二、Java常见异常分类 三、为什么产生异常 在 Java 中一个异常的产生,主要有 阅读全文
posted @ 2019-08-21 22:39 一只喜鹊 阅读(928) 评论(0) 推荐(0) 编辑
摘要: 这一节打算从“方法调用”的主题进行分析。 方法调用并不等同于方法执行,方法调用阶段唯一的任务就是确定被调用方法的版本(即调用哪一个方法),暂时还不设计方法内部的具体运行过程。 一、概念 解析调用:所有方法调用中的目标方法在Class文件里都是一个常量池中的引用,在类加载的解析阶段,会将其中一部分符号 阅读全文
posted @ 2019-08-20 23:03 一只喜鹊 阅读(254) 评论(0) 推荐(0) 编辑
摘要: Java虚拟机是如何加载Java类的? 这个问题也就是面试常问到的Java类加载机制。在年初面试百战之后,菜鸟喜鹊也是能把这流程倒背如流啊!但是,也只是字面上的背诵,根本就是像上学时背书考试一样。 tonight ! 我们把它映射到实战里,看看如何用代码说明这个流程。 ready! go! 在这之前 阅读全文
posted @ 2019-08-15 22:56 一只喜鹊 阅读(455) 评论(2) 推荐(0) 编辑
摘要: 这里先引出Java的8大基本类型。直接上图吧。 可以看到,除了boolean和char类型之外,越往下的类型的值域是包含以上的值域的。因此,从上面的基本类型转换成下面的基本类型,无需强制转换。关于它们的默认值,在内存中保存的都是0。 对于char类型,菜鸟喜鹊有些感悟,就是char类型转成int类型 阅读全文
posted @ 2019-08-13 23:07 一只喜鹊 阅读(702) 评论(0) 推荐(0) 编辑
摘要: 这是一篇修改class文件的文章。注释并不完全,要抓住这次练习的目的: boolean在虚拟机中是以何种方式解读的 好的,开始我的表演 1.安装asmtools.jar(本文尾部有步骤) 2.编写一个java文件,并编译,执行 2.1 Foo.java 1 public class Foo { 2 阅读全文
posted @ 2019-08-12 23:19 一只喜鹊 阅读(451) 评论(0) 推荐(0) 编辑