先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
正文
对象(object)代表现实世界中可以明确标识的一个实体。例如:一个学生、一张桌子、一间教室,一台电脑都可以看做是一个对象。每个对象都有自己独特的状态标识和行为
对象的属性(attribute,或者状态(state)),学生有姓名和学号,该学生特有的姓名和学号就是该学生(对象)的属性。
对象的行为(behavior),是由方法定义,调用对象的一个方法,其实就是给对象发消息,要求对象完成一个动作。可以定义学生对象具备学习的行为。学生对象可以调用学习的方法,执行学习的动作
-
封装(encapsulation)
-
继承(inheritance)
-
多态(polymorphism)
开发的过程:其实就是不断的创建对象,使用对象,指挥对象做事情。
设计的过程:其实就是在管理和维护对象之间的关系.
案例:通过Java语言定义一个汽车类,并生产出汽车,有颜色,轮胎个数, 有运行的功能。
分析:
如何描述现实世界中的事物,描述该事物的属性和行为,汽车具有颜色和轮胎数的属性,具备运行的行为。
如何使用Java语言进行转换?
根据对应关系:
属性:类中的成员变量
行为:类中的成员函数
那么定义Java类就是定义一个类的成员。汽车类具备的成员是:颜色,轮胎数,运行方法。
Car类定义流程:
-
使用class 关键字 定义类,
-
class空格 类名。类名就是标识符,命名规则,单词的首字母大写,多个单词的首字母大写。注意:不是规定,但是最好遵守
-
类名后紧跟一对{}表示类的开始和结束。
-
汽车有轮胎数 int num;
-
不需要给num初始化值,因为汽车轮胎数不确定,有4,有6,有8。
-
有颜色 String color
-
为什么使用String 例如定义颜色"红色"是字符串类型。
-
也不需要初始化值。
-
跑的行为(方法、函数) void run(){}
-
方法中执行输出语句。syso(“跑啦。。。。”);
public class Car { String color;// 成员变量 int num; // 成员变量 // 成员函数 void run() { System.out.println(color + "的车,轮胎数:" + num + "个,跑起来了"); } }
创建Car对象
-
使用new关键词,就像new数组一样
-
需要给型的汽车起一个名字,car
-
变量都是有类型的,car属于什么类型,属于Car类型,叫做类类型
-
Car car=new Car();
图纸画好了,类定义成功了。如何根据图纸生产汽车,在Java中如何根据类来生产一个对象。
Java中生产汽车比较简单,通过一个关键字”new”, 通过 new Car(); 就在内存中产生了一个实体,汽车对象就生产出来了。
汽车对象生产出来后,还没有名字,为了方便使用,需要起一个名字。就用小写的C 来表示新车的名字。
Java中的变量都需要有类型。那么c 是什么类型呢?c 是Car类型,所以c也叫做类类型变量。
class CarDemo { public static void main(String[] args) { // java 中创建对象,使用new关键字。在堆内存中开辟了空间。产生了一个实体。 Car c = new Car(); //为了方便使用生产的汽车,就起了一个名字。 //那么c是什么类型,是Car类型。叫做类类型变量。 //注意 c是持有的引用,新生产的汽车并没有直接赋值给c,持有的只是一个引用。c就想电视遥控器一样。 c.run(); //使用对象的功能。 } }
有了car对象,调用对象成员
-
成员变量
-
成员方法
public class CarDemo { public static void main(String[] args) { Car c = new Car(); //对象名.成员变量名将返回成员变量中存储的数值 int num=c.num; System.out.println(num); //对象名.成员变量名,也可以给成员变量赋值 c.num = 4; c.color = "black"; //对象名.成员方法(); c.run(); } }
成员变量: 定义在类中变量
局部变量: 定义在方法中变量
成员变量与局部变量的区别:
-
应用范围
-
成员变量在整个类内都有效
-
局部变量只在其声明的方法内有效
-
生命周期
-
成员变量: 它属于对象,它随着对象的创建而创建,随着对象的消失而消失
-
局部变量: 使用完马上释放空间。
void show(int id){
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
System.out.println(id);
}
}
}
这时候 id,i,j者是在方法内声明的,全是局部变量
j当里层for循环执行它的生命周期开始,当里层for结束,j消失
i当外层for循环执行它的生命周期开始,当外层for结束,j消失
id在方法被调用时开始,方法结束时,id消失.
-
存储位置 成员变量属于对象,它存储在堆内,堆内的实体,当没有引用指向其时,才垃圾回收清理 局部变量存在栈内存中,当不在使用时,马上就会被释放。
-
初始值
成员变量它存储在堆中,如果没有赋初值,它有默认值。
-
整数byte、short、int、long =0;
-
char=’\uoooo’;
-
boolean =flase;
-
String =null;
-
类类型 =null;
-
数组 =null;
局部变量,如果要想使用必须手动初始化.
i. 方法中,参数列表中,语句中。
ii. 必须给初始化值,没有初始值,不能使用
iii. 在栈内存中
案例一:
//汽车 class Car { //汽车应该具备的属性 int num; //汽车具备的颜色 String color; //汽车跑的行为 public void run(){ System.out.println(num+"轮子的汽车跑起来啦"); } } public class CarDemo{ public static void main(String[] args) { //创建实体,并且给该实体起一个名字 Car c = new Car(); c.color = "red"; c.num = 4; c.run();//指挥车进行运行。调用格式:对象.对象成员 } }
(图1 )
案例二分析:
public static void main(String[] args) { //创建实体,并且给该实体起一个名字 Car c = new Car(); Car c1 = new Car(); c.color = "red"; c1.num = 4; System.out.println(c1.color); c.run();//指挥车进行运行。调用格式:对象.对象成员 }
内存图:
(图二)
案例三
public static void main(String[] args) { //创建实体,并且给该实体起一个名字 Car c = new Car(); Car c1 = c; c.color = "red"; c1.num = 4; c1.color = "green"; System.out.println(c1.color); c.run();//指挥车进行运行。调用格式:对象.对象成员 }
那么如何才能正确的掌握Redis呢?
为了让大家能够在Redis上能够加深,所以这次给大家准备了一些Redis的学习资料,还有一些大厂的面试题,包括以下这些面试题
-
并发编程面试题汇总
-
JVM面试题汇总
-
Netty常被问到的那些面试题汇总
-
Tomcat面试题整理汇总
-
Mysql面试题汇总
-
Spring源码深度解析
-
Mybatis常见面试题汇总
-
Nginx那些面试题汇总
-
Zookeeper面试题汇总
-
RabbitMQ常见面试题汇总
JVM常频面试:
Mysql面试题汇总(一)
Mysql面试题汇总(二)
Redis常见面试题汇总(300+题)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
链图片转存中…(img-s5LVmPAp-1713252711120)]
Redis常见面试题汇总(300+题)
[外链图片转存中…(img-Nom2zdwQ-1713252711120)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-4eo9ar1H-1713252711121)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!