CoreJava
java基础相关知识
Strong肖恩
这个作者很懒,什么都没留下…
展开
-
类的加载过程
首先了解下java中jvm的内存结构。图来自“纯洁的微笑”下图来源于纯洁的微笑博客类的加载过程分为加载–>连接–> 初始化其中连接又分为 验证 、准备、解析。加载、验证、准备、初始化这四个阶段发生得顺序是固定得,解析不一定,它有可能是在初始化之后才发生,这也是java中得动态绑定得基础。而且这几个过程开始得顺序是固定的,但是却不一定是按照这个顺序完成,有时他们的执行是交...原创 2020-03-23 16:39:21 · 100 阅读 · 0 评论 -
HashMap和HashSet底层原理
MapHashMap默认容量是16,负载因子为0.75.可以通过构造函数自定义。当数组长度超过 容量*负载 因子时,会进行扩容,扩容2倍。底层采用数组+单项链表的方式实现。即:调用put方法时,会计算key的hash值,然后对hash进行取模获取要插入的数组位置i。如果该位置已经存在链表,则会遍历链表,比较是否有相同的元素(hash相等就再比较equals),有就覆盖,没有就插入在链...原创 2020-03-20 16:07:53 · 380 阅读 · 0 评论 -
JAVA中的数据类型
Java语言中对于数据类型分为2种基本数据类型(一些具体的数字单元,例如 1 、 1.1、)数值型:整形:byte、 short、int、 long -->默认值:0浮点型 float、double -->默认值:0.0布尔型: boolean -->默认值:false字符型:char -->默认值’\u0000’引用数据...原创 2020-03-19 14:35:50 · 87 阅读 · 0 评论 -
位运算和进制转换
本文主要内容来源于Java核心技术卷一概念位运算指的是对二进制进行的计算处理。主要有 与(&)、或(|)、异或(^)、求反(~)与运算其特征为:“都是1的时候才是1”如:13 & 7 =计算过程为:13的二进制:11017的二进制: 0111得到结果 0101 转换成10进制则是5###或运算其特征为:“有一位是1结果就是1”13 | 7...原创 2020-03-19 14:34:58 · 658 阅读 · 0 评论 -
Java中简单的内存分析
面向对象三大特征继承封装多态类与对象类是某一类事务的共同点的抽象概念,而对象描述的是一个具体的产物。类一般会有2个组成部分属性方法定义个简单的类/*** 类:人*/public class Person { private String name; private int age; public String getName() {...原创 2020-03-19 14:33:20 · 106 阅读 · 0 评论 -
内存垃圾的产生
垃圾空间:所有没有任何栈内存所指向的堆内存空间,所有的内存垃圾将由GC(Garbage Collector)进行不定期回收处理,当内存垃圾过多时,会影响GC的处理性能。public static void main(String[] args) { Person p1 = new Person(); Person p2 = new Person(); ...原创 2020-03-19 14:31:52 · 161 阅读 · 0 评论 -
数组
数组的初始化数组的动态初始化(数组初始化完成后,数组的元素为对应的类型的默认是)数据类型 数组名称[] = new 数据类型[数组长度];int i[] = new int[10];//10个元素默认值都为0数据类型 []数组名称 = new 数据类型[数组长度];int []i = new int[10];数组的静态初始化(数组初始化完成时就定义好了每个元素的内容...原创 2020-03-19 14:27:35 · 84 阅读 · 0 评论