先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
正文
1.1.2、三大特征
封装性:将对象的属性和方法封装起来,不让外界知道具体的细节
继承性:描述类与类之间的关系,通过继承,可以在原有类的功能上继续扩展
多态性:同一个对象,在不同时刻表现出来的不同形态
1.2、类与对象
1.2.1、两者关系
类表示一个共性的产物,是一个综合的特征,而对象,是一个个性的产物,是一个个体的特征。
类必须通过对象才可以使用,对象的所有操作都在类中定义
类由属性和方法组成:
· 属性:就相当于人的一个个的特征,例如:姓名、年龄、性别
· 方法:就相当于人的一个个的行为,例如:说话、吃饭、唱歌、睡觉
1.2.2、类的定义格式
class 类名称{
成员属性
成员方法
}
1.2.3、对象的创建和使用
//对象的创建
类名称 对象名称 = new 类名称;
//对象的使用
对象名.属性;//访问类中的属性
对象名.方法;//访问类中的方法
1.3、 创建对象内存分析
1.3.1、栈
Java栈的区域很小 ,特点是存储的速度特别快。 栈存储的特点是, 先进后出。
存储速度快的原因:
栈内存, 通过 ‘栈指针’ 来创建空间与释放空间 , 指针向下移动, 会创建新的内存, 向上移动, 会释放这些内存 。这种方式速度特别快 , 仅次于PC寄存器 。但是这种移动的方式, 必须要明确移动的大小与范围 , 明确大小与范围是为了方便指针的移动 , 这是一个对于数据存储的限制, 存储的数据大小是固定的 , 影响了程序 的灵活性。所以我们把更大部分的数据 存储到了堆内存中。
存储基本数据类型的数据以及引用数据类型的引用:
例如:
int a =10;
Person p = new Person();
10存储在栈内存中 , 第二句代码创建的对象的引用§存在栈内存中
1.3.2、堆
堆内存存放的是类的对象 .。Java是一个纯面向对象语言, 限制了对象的创建方式, 所有类的对象都是通过new关键字创建, new关键字告诉JVM , 需要去开辟一块新的堆内存空间,来存放对象。
堆内存与栈内存不同, 优点在于我们创建对象时 , 不必关注堆内存中需要开辟多少存储空间 , 也不需要关注内存占用 时长 ,堆内存中内存的释放是由GC(垃圾回收器)完成的。
GC回收堆内存的规则: 当栈内存中不存在此对象的引用时,则视其为垃圾 , 等待垃圾回收器回收。
1.3.3、方法区
方法区存放的是类信息、静态的变量、常量、成员方法
方法区中包含了一个特殊的区域 ( 常量池 )(存储的是使用static修饰的成员)
1.3.4、PC寄存器
PC寄存器保存的是当前正在执行的JVM指令的地址
在Java程序中, 每个线程启动时, 都会创建一个PC寄存器
1.3.5、本地方法栈
保存本地(native)方法的地址
1.4、构造方法
1.4.1、概述
作用: 用于对象初始化。
最后
这份清华大牛整理的进大厂必备的redis视频、面试题和技术文档
祝大家早日进入大厂,拿到满意的薪资和职级~~~加油!!
感谢大家的支持!!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-FzKuy5Fh-1713556689404)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!