如果你是初学者 老王建议 要好好学习 前6章,这些虽然是基础 但绝对是一切开发的基石,也就是下面的内容:
1,Java程序设计概述
2,Java程序设计环境
3,Java的基础程序设计结构
4,对象与类
5,继承
6,接口与内部类
就《Java核心技术》第10版来说,上下卷有7百多页,要是加把劲,两个个月拿下完全没问题。
因为是自学,一定要把其中的代码实例都手动敲写一遍然后调通,还有课程中的实战项目,学会了找工作也是一个 经验。
除此之外,还有一点特别重要:
#.难点记录
因为是自学,不像在企业中可以进行实践,做好更能明白原理。而自学因为没有实践的及时反馈,所以有一些技术难点一定要注意。
可以将自己学到或者使用到的 比较好的 整理起来,做成一个技术库,,或者通过技术难点一步一步搭建一个自己的框架。
1,做成一个大项目库,里面各种demo
2,技术框架,套用
这样即使你工作以后,也可以使用你弄的框架,当然需要进一步完善,这样也能在日常工作中,随时都可以翻出来看看,自是获益匪浅。
#高级篇Spring
说到高级篇Spring绝对是一切的基础,我相信没有公司不适用的,目前Spring已经成为和Java核心库一样的基础设施,所以说如果想成为一个Java程序员开发者,Spring不会找工作都找不到。
如果掌握了Spring体系,绝对是Java高手了。
但Spring本身也是日渐复杂,衍生项目越来越多,但最最核心的概念依旧是IOC和AOP,掌握了这两个概念,再把Spring MVC学会,再学习其他的衍生项目就会平滑很多。
▐ 面向对象三大特性
-
Java与C++区别
-
多态实现原理
多态的底层实现是动态绑定,即在运行时才把方法调用与方法实现关联起来。
静态绑定与动态绑定:
一种是在编译期确定,被称为静态分派,比如方法的重载;
一种是在运行时确定,被称为动态分派,比如方法的覆盖(重写)和接口的实现。
多态的实现
虚拟机栈中会存放当前方法调用的栈帧(局部变量表、操作栈、动态连接、返回地址)。多态的实现过程,就是方法调用动态分派的过程,如果子类覆盖了父类的方法,则在多态调用中,动态绑定过程会首先确定实际类型是子类,从而先搜索到子类中的方法。这个过程便是方法覆盖的本质。
- static和final关键字
-
抽象类和接口
-
抽象类和接口都不能被实例化; -
抽象类和接口都可以定义抽象方法,子类/实现类必须覆写这些抽象方法;
-
抽象类有构造方法,接口没有构造方法; -
抽象类可以包含普通方法,接口中只能是public abstract修饰抽象方法(Java8之后可以); -
抽象类只能单继承,接口可以多继承; -
抽象类可以定义各种类型的成员变量,接口中只能是public static final修饰的静态常量;
-
反射原理以及使用场景
1.类名.class(就是一份字节码)
2.Class.forName(String className);根据一个类的全限定名来构建Class对象
3.每一个对象多有getClass()方法:obj.getClass();返回对象的真实类型
- 开发通用框架-反射最重要的用途就是开发各种通用框架。很多框架(比如 Spring)都是配置化的(比如通过XML文件配置JavaBean、Filter等),为了保证框架的通用性,需要根据配置文件运行时动态加载不同的对象或类,调用不同的方法。
-
动态代理-在切面编程(AOP)中,需要拦截特定的方法,通常,会选择动态代理方式。这时,就需要反射技术来实现了。 JDK:spring默认动态代理,需要实现接口;
CGLIB:通过asm框架序列化字节流,可配置,性能差; - 自定义注解-注解本身仅仅是起到标记作用,它需要利用反射机制,根据注解标记去调用注解解释器,执行行为。
原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/78240.html