java基础知识点总结

本文介绍了Java基本数据类型的内存占用,如byte、boolean占一个字节等。还阐述了Java 7和8的新特性,如Java 7后switch支持String、常量池转移,Java 8后HashMap结构变化、方法区被元空间替代。此外,讲解了对象初始化、类加载过程、静态与动态绑定、多态、抽象类和接口等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java基本数据类型占用内存大小:
占用一个字节:byte,boolean
占用两个字节:short,char
占用四个字节:int,float
占用八个字节:long,double
从java7以后:
1.switch语句可以支持String字符串了
2.常量池从方法区转移到堆上
JVM基本的内存结构:JVM虚拟机栈,堆,方法区
从java8以后:
1.HashMap底层的链式哈希表,链表的节点(产生哈希冲突的节点)如果小于8个,
用链表来组织;如果大于8个,把链表更改成红黑树了。随着元素删除,如果节点个数
小于6个,红黑树结构又改成链表了
2.方法区Method Area去掉了,被元空间波MetaSpace替代,元空间和本地内存相关,可以通过参数改变大小

 

对象初始化(static成员和static块,实例成员和实例块,构造函数)
        继承:基类static成员和static块,派生类static成员和static块
             基类实例成员和实例块,构造函数;派生类实例成员和实例块,构造函数
类的加载过程:
1.加载
 用类加载器,在制定的路径上,加载对应的class字节码文件 =》类型的Class对象
2.链接   准备,验证,引用
 a.验证上面的字节码文件,是否能够在当前的jvm上运行;
 b.给static成员开辟内存
 c.它如果有基类,那么重复上面的步骤,加载基类
3.初始化
 给static静态成员进行初始化工作

 

静态绑定:在静态绑定中,绑定可以在运行时或编译时解析。所有static,final和private方法的绑定过程都在编译时完成(方法重载)
动态绑定:在Java中重写可以被认为是动态绑定的最佳示例,因为父类和子类具有相同的方法 - 也就是说,它不决定要调用的方法

 

多态:多态是同一个行为具有多个不同表现形式或形态的能力。
      多态就是同一个接口,使用不同的实例而执行不同操作
多态存在的三个条件:继承,方法重写,父类引用指向子类对象

抽象类:含有抽象方法的类是抽象类 (abstract)  
抽象类不一定含有抽象方法
抽象类不能实例化对象,仍然含有构造方法
父类是抽象类:子类重写父类的抽象方法或者把子类定义成抽象类
接口(interface):全部是抽象方法和常量,无构造方法→不能直接实例化对象
extends→类和类之间是继承关系
implements→普通类实现接口中的抽象方法
抽象类和接口的区别??1.抽象类只能继承一个,接口可以实现多个  2.接口成员变量只有final  3.从java8开始接口也可以实现方法 4.接口只是功能的约束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值