2025届_Mr.肖
1、学Java看的哪个资料: 黑马程序员
- 重载,重写,泛型懂吗? 明白
-
Java集合这块学过了吗?学过一部分,突击一下能掌握
- HashMap源码,JVM,JUC是否看过:没有
2、数据结构与算法看的哪个资料:
- 链表,栈,队列,二叉树能自己手写吗:跟着bobo老师的视频敲过两遍,时间有点久了,细节会忘了一下,突击几天能掌握。
- AVL树,红黑树,线段树学过吗:还是跟着bobo老师敲得代码,AVL能写,红黑树和线段树没有偶理解透彻。特别是红黑树。
- 冒泡,快速,归并排序能手写吗:考研的时候学过思想,没有手写过。
- 递归,二分,贪心,回溯,动规,枚举这几种算法学过哪几种:只学过二分和递归
- LeetCode 大概刷了多少题:没有刷过
3、框架与中间件
- servlet,cookie,session学过吗:大学接触过, 有了解但不深。
- SSM学过了吗:学过
- redis 学过吗:没有
- SpringBoot项目做过几个:没有
4、MySQL看的哪些资料:
- sql 熟练吗:不熟练
- 索引底层原理懂吗:不懂
5、计算机基础
* 计算机网络看什么资料:计算机网络、自顶向下(正在看)
* 操作系统看什么资料:操作系统导论(正在看)
* 计算机组成原来看的什么资料:没看过,组成原理比较枯燥,没有耐心看下去。买了一本csapp来看(没有看完,进度卡在第二章)
学习规划(2023.6.16)
课程大纲: 所有课程大纲入口 ,PS:你要的东西,课程大纲基本都会有哈,需要学啥记得来课程大纲看看。
你数据结构与算法这个,还是有点基础的,我们的目标就是准备年底日常实习,或者明年暑假实习,按照平均有效时间五六个小时,应该是可以在年底投递出去,目前八股文,算法,项目,三座大山你都需要补。
具体安排如下:
1、Java技术栈深入学习:虽然你学过黑马的,不过黑马讲的比较浅,你可以在学习下 Java进阶。主要看一下我画重点的部分+集合源码分析,看完看 图解JVM学习指南,之后有时间再看下书。
2、算法:你数据结构学的应该不错,接下来直接刷题就行,你可以跟着 拿捏算法面试 刷就行,主要做容易+中等题,一共100多道,掌握了就稳了,建议刷3遍,就可以了。这个应该是需要花你不少时间哦。
建议:一周 10+ 道题,长期坚持,刷完一遍后反复刷。
3、框架与项目:学完 1之后,开始做Javaweb的项目,直接按照这个步骤学:web学习路线整合(框架+项目)就行,你学过javaweb+ssm,那你可以直接从springboot学起来,先做两个项目吧。
4、八股文:主要先学 mysql + redis,不过等你做了项目再学吧,项目里会用到这两个,之后再学习吧,mysql你看 MySQL原理剖析课程说明,看看能不能看懂索引的那些,到时候看不懂再和我说吧,我在给你视频。redis 的话先去刷《redis开发与运维》:《Redis开发与运维》怎么看 + 重点章节,对应的电子书这里下载:书籍推荐。
5、计算机网络+操作系统:你计算机网络可以按照这个说明看:《计算机网络自顶向下》阅读指南,操作系统的话,直接看书,估计还是比较枯燥, 我觉得你直接刷 操作系统课程说明 快速入门就可以了,后面有时间,再去补充看。计算机组成原理不需要看。
学习顺序:两条线,一天1=》3,一条2,然后关于 4,你自己再挤一挤时间去看吧。
然后先安排这么多,也可以来打卡每周打卡,,比如像他们这样:23与22届做的比较好的成员示例
有什么问题记得随时私聊帅地
课程大纲: 所有课程大纲入口
每周打卡记录
第一周:
第一天6.19 学习了java进阶,以笔记的形式记录学习情况
staic关键字:静态变量,被所有类对象共享。
静态变量的位置:jdk8之前,在方法区;jdk8之后,在堆中(在类加载时后产生的class对象的尾部)
静态变量和类变量是同一个意思吗?是
什么是和对象相关的成员?类的非静态变量
类方法只能调用静态变量;
String[] args数组什么时候传参的?执行java程序的时候,将参数传进去。如:java hello jom jack roma
代码块的调用优先于构造器,如果存在多个代码块,则依次调用代码块,再调用构造器
静态代码块,随着类加载而执行,只执行一次。调用静态成员时,普通代码块不会执行。
普通代码块与类加载没关系,可理解成构造器的补充。
类在什么时候被加载? 创建实例 创建子类实例 调用静态成员
重点*****: 创建对象时,单个类中的调用顺序:
按定义顺序执行静态代码块和静态变量初始化
按定义顺序执行普通代码块和普通变量初始化
构造器
总结:静态 -> 普通 -> 构造器
创建子类对象时,类中的调用顺序:
父类静态成员
子类静态成员
父类普通成员
父类构造器
子类普通成员
子类构造器
总结:父类静态 -> 子类静态 -> 父类普通 -> 父类构造 -> 子类普通 -> 子类构造
单例模式:
饿汉式(很着急,类加载时就创建好对象),例如调用静态属性的时候,就已经创建好对象了。
弊端:创建好对象,但是没有使用。浪费资源。
懒汉式(需要的时候再创建对象)
总结: 饿汉式要初始化静态属性,在静态方法中直接返回对象
懒汉式只声名静态属性,在第一次调用静态方法时创建对象。但是会存在线程安全问题。
final关键字:
修饰类、方法、属性、局部变量
意义:不允许修改属性,不允许重写方法,不允许继承类。(一个核心:不能被改变)
被final修饰的属性必须马上赋值
1 定义时赋值
2 构造器
3 代码块
核心思想:对象创建完成时,要求被final修饰的属性的值就被确定了。
如果final属性是静态时,赋值时机
1 定义时赋值
2 静态代码块
核心思想:类加载完成时,要求被final修饰的静态属性的值就被确定了。
final类不能被继承 可实例化对象
final方法不能被子类重写,可被子类继承
核心思想:final方法只读不可写
final类中的方法没必要加final
final类不能被继承,因此其中的方法自然不能被重写。写不写final,方法都不会被重写。
final和static搭配的属性,可在不加载类的情况下,得到属性值。(原因:编译器底层做了优化)
包装类都是final类
抽象类:
抽象类中不确定如何实现的方法,要求被声明为抽象方法。子类继承抽象类,重写抽象方法。(真正的实现)
abstract只能修饰类或方法
abstract不能和final private static一起用,因为和重写相违背。
为什么静态方法可以被继承不能被重写?
重写的目的是实现方法的多态,静态方法独立于类对象,重写静态方法没有意义,违背多态思想。
模版模式:
核心:通过动态绑定机制,配合继承,提高代码复用性;
动态绑定机制?
评论(1)
今天是正式开始java训练营的第一天,学习了java进阶部分,通过笔记的形式来记录自己的学习情况。
staic关键字:静态变量,被所有类对象共享。
静态变量的位置:jdk8之前,在方法区;jdk8之后,在堆中(在类加载时后产生的class对象的尾部)
静态变量和类变量是同一个意思吗?是
什么是和对象相关的成员?类的非静态变量
类方法只能调用静态变量;
String[] args数组什么时候传参的?执行java程序的时候,将参数传进去。如:java hello jom jack roma
代码块的调用优先于构造器,如果存在多个代码块,则依次调用代码块,再调用构造器
静态代码块,随着类加载而执行,只执行一次。调用静态成员时,普通代码块不会执行。
普通代码块与类加载没关系,可理解成构造器的补充。
类在什么时候被加载? 创建实例 创建子类实例 调用静态成员
重点*****: 创建对象时,单个类中的调用顺序:
按定义顺序执行静态代码块和静态变量初始化
按定义顺序执行普通代码块和普通变量初始化
构造器
总结:静态 -> 普通 -> 构造器
创建子类对象时,类中的调用顺序:
父类静态成员
子类静态成员
父类普通成员
父类构造器
子类普通成员
子类构造器
总结:父类静态 -> 子类静态 -> 父类普通 -> 父类构造 -> 子类普通 -> 子类构造
单例模式:
饿汉式(很着急,类加载时就创建好对象),例如调用静态属性的时候,就已经创建好对象了。
弊端:创建好对象,但是没有使用。浪费资源。
懒汉式(需要的时候再创建对象)
总结: 饿汉式要初始化静态属性,在静态方法中直接返回对象
懒汉式只声名静态属性,在第一次调用静态方法时创建对象。但是会存在线程安全问题。
final关键字:
修饰类、方法、属性、局部变量
意义:不允许修改属性,不允许重写方法,不允许继承类。(一个核心:不能被改变)被final修饰的属性必须马上赋值
1 定义时赋值
2 构造器
3 代码块
核心思想:对象创建完成时,要求被final修饰的属性的值就被确定了。
如果final属性是静态时,赋值时机
1 定义时赋值
2 静态代码块
核心思想:类加载完成时,要求被final修饰的静态属性的值就被确定了。
final类不能被继承 可实例化对象
final方法不能被子类重写,可被子类继承
核心思想:final方法只读不可写
final类中的方法没必要加final
final类不能被继承,因此其中的方法自然不能被重写。写不写final,方法都不会被重写。
final和static搭配的属性,可在不加载类的情况下,得到属性值。(原因:编译器底层做了优化)
包装类都是final类
抽象类:
抽象类中不确定如何实现的方法,要求被声明为抽象方法。子类继承抽象类,重写抽象方法。(真正的实现)
abstract只能修饰类或方法abstract不能和final private static一起用,因为和重写相违背。
为什么静态方法可以被继承不能被重写?
重写的目的是实现方法的多态,静态方法独立于类对象,重写静态方法没有意义,违背多态思想。
模版模式:
核心:通过动态绑定机制,配合继承,提高代码复用性;
动态绑定机制?