03 2020 档案
摘要:本文仅作为复习清单使用 类生命周期 加载 验证 准备 解析 初始化 使用 卸载 常量优化 常量传播 常量折叠 类的加载 通过全限定名获取二进制字节流 将静态存储结构转化为方法区的运行时数据结构 生成Class对象 验证过程(可关闭) 文件格式验证 元数据验证 字节码验证 符号引用验证 准备 分配内存
阅读全文
摘要:本文仅作为复习清单使用 Class结构 1.魔数(第1~4字节) 固定为0xCOFEBABE 2.版本号(第5~8字节) 第5,6字节:次版本号,JDK2~JDK12一直置零 第7,8字节:主版本号,计数从45开始 3.常量池 索引从1开始 第9,10字节 常量池计数值 接下来是常量表 4.访问标志
阅读全文
摘要:一.经典的垃圾收集器: Serial收集器: (1)最基础最悠久的收集器 (2)工作在新生代:复制算法 (3)Stop the World ParNew收集器 (1)多线程版的Serial (2)可以与CMS配合使用 (2)工作在新生代 Parallel Scavenge收集器 (1)和前两款收集器
阅读全文
摘要:本文仅作为复习清单使用 运行时数据区域 线程私有 :程序计数器,JAVA虚拟机栈,本地方法栈 线程共享 :堆,方法区,运行时常量池,直接内存 内存分配方式 指针碰撞 空闲列表 本地线程分配缓冲 堆在某种程度上,也存在线程私有的部分哦 对象的内存布局 对象头 : Mark word,类型指针 实例数据
阅读全文
摘要:HashMap "HashMap源码阅读" LinkedHashMap LinkedHashMap是HashMap的子类,实际上它连HashMap的putVal等方法都没有重写,因为HashMap就调用了预留给子类的函数,在HashMap中是空实现,在LinkedHashMap中重写,用作建立双向链
阅读全文
摘要:继承树 注意下方的"元素"二字 按照习惯,先看构造函数和第一次添加 首先无参的构造函数 让过载因子等于0.75 然后是put函数,调用了内部的putval函数 在看这个方法之前,要先知道HashMap中存储元素的类型 内部类Node 首先,HashMap的键值对,保存在内部类Node中 它内部有四个
阅读全文
摘要:大佬博客:https://www.jianshu.com/p/e136ec79235c 这颗红黑树是我看了大佬博客的原理之后的手撸版本,代码实在是不够优雅. 这里只是留作纪念,相信等我看完HashMap源码以后一定会有不一样的感觉吧 经过测试,这颗红黑树复杂度还达不到完全的log,但是数量级是一样的
阅读全文
摘要:1.在视图层 是项目路径 表示这里有文件上传
阅读全文
摘要:注意一定要把lib包添加到这里的lib文件夹下面,其他位置不行,没找到包的点击右边的文件夹就可以添加了
阅读全文
摘要:先看声明 除了名字完全一样,还都被static final修饰了 那为什么需要两个一样的呢? 其实要看在刚刚创建的一个ArrayList中添加元素会发生什么 这里有两种创建方式: 第一种构造函数是这么写的: 当 为0时, 被赋值为 第二种构造函数是这么写的: 直接被赋值为 接下来,我们来看添加元素的
阅读全文
摘要:JAVA中的迭代器大多作为私有的内部类实现,不妨我们先以 为例 先看一下继承树 1. 和 首先,我们需要先看一下,Iterator接口中,声明了那些方法 注意默认方法有方法体,只不过为了简洁,这里没有贴上代码,而是用分号代替了,请不要过于关注于此 迭代器使用的泛型一般就是外部类 既然说到了Itera
阅读全文
摘要:基于JDK 1.8.0.211 个人观点,水平低下,谨慎阅读 要阅读ArrayList源码,我这里打算先看一遍正常的使用流程,然后再去分析一下别的函数 此外,先看一眼继承树 首先是这句话 进入构造函数之后,你会发现构造函数出奇的简单 其中elementData 和 DEFAULTCAPACITY_E
阅读全文
摘要:1. 接口 这个接口一个方法都没有,但是要使用 方法,就必须实现这个接口,否则抛出 异常 2.clone方法的返回值 先附上两个类代码 我一开始很困惑,为什么clone方法可以将父类的实例交给子类的引用,输出一看才知道,在第一次clone时,创建的就是子类的对象 再创建一个boys类,或者直接调用P
阅读全文
摘要:个人理解,水平低下,谨慎阅读 一.函数依赖 如果知道A就可以知道B,则B函数依赖于A 如果知道A就可以知道B,则B部分函数依赖于(A,C) 如果知道A就可以知道B,知道B就可以知道C,则C传递函数依赖于A 二.第一范式 关系中的每一个属性都是不可拆分的 三.第二范式 在满足第一范式的基础上,每一个
阅读全文
摘要:clone二维数组 clone一维数组 实验结果表明,javaclone二维数组时,clone了一维数组的引用,并非复制了数组中的每一个元素。 吐了
阅读全文
摘要:基于MySQL 8 如有遗漏,欢迎补充 sql SELECT FROM ; 创建用户 CREATE USER @`%` IDENTIFIED BY '@GirlFriend999'; 重命名 RENAME USER @`% zjmm %`; RENAME USER TO ; 授权 / 所有可以授予的
阅读全文
摘要:符号引用只是一些符号,包含在字节码文件的常量池中 它主要包括: 在该类中,出现过的各类包,类,接口,字段,方法等元素的全限定名 有java类定义如下: 编译后,经javap工具反编译,常量池内容如下 反编译结果中,我们可以看到几个典型的符号引用,比如第一项为实例构造器,第四项为该类方法调用的其他方法
阅读全文
摘要:1.直接输入主机名:端头号,而不指明要访问的项目,则默认访问webapps/ROOT,而不是webapps。 2.conf目录下的server.xml文件中,在 再写一遍就行了
阅读全文
摘要:从左到右依次装配,参数的值一旦确定,即使后面修改了该值,方法拿到的值也不会随之变化了。
阅读全文
摘要:Spring中,使用注解@Transactional实现声明式事务时,不可以在可能出错的方法上,添加异常处理,否则事务不发挥作用 原理未知,但是很可能是因为在Spring在实现声明式事务时,使用了AOP中的@AfterThrowing,或者环绕方法,将异常在方法中处理,导致AOP感受不到。
阅读全文
摘要:首先我们假设有表A,B 现在我们想知道A中的所有属性a,于是我们写出 这个时候,数据库便会去遍历A表中的每一行,并将其作为结果输出,假设A表中有n行,那么最后的结果也就是n行 在此基础上,如果我们不光想知道的所有的A.a,还有在B表中,有多少行 B.a 与 A.a对应的 A.b 相等,于是我们写出
阅读全文

浙公网安备 33010602011771号