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)

  • Mr.肖 训练营会员 2023-06-18 11:51 下午

    今天是正式开始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一起用,因为和重写相违背。

    为什么静态方法可以被继承不能被重写?
    重写的目的是实现方法的多态,静态方法独立于类对象,重写静态方法没有意义,违背多态思想。

    模版模式:
    核心:通过动态绑定机制,配合继承,提高代码复用性;
    动态绑定机制?