听说你java基础很好?这些能答对几个?附上最全java必学知识点

1.熟悉IO相关接口和类,知道字符流和字节流的区别。

2.理解Java反射,并熟练使用反射解决问题。

3.理解泛型,并能熟练使用。知道<?extends E><?superE>的区别。

4.了解Collection、List、Map、Set之间的关系,以及知道它们绝大部分实现类和子类。Vector、LinkedList、ArrayList的区别。HashMap、TreeMap、LinkedHashMap、HashTable的区别。

5.了解几中常见的算法(冒泡算法,二分查找,二叉树遍历)最好能回写代码实现。

6.知道数组的常见定义方法,如何遍历数组。

7.理解String类,知道为何要有字符串池。知道String、StringBulider、StringBuffer的区别。

8.了解Object类,最好能说出它的大部分方法。最好能理解equals、finalize、getClass、hashCode、notify。

9.熟记访问控制符的使用(public、protected、private、默认)。

10.灵活使用static、final等关键字,在定义类、常量、变量、方法时的使用以及需要注意的。

11.会使用流程控制语句,break、continue在for循环中能够做到熟练使用。

12.理解Java中方法传递参数是按值传递(pass by value),java中没有按引用传递一说。

13.理解重载(overload)和重写(overwrite),知道它们的区别。

14.理解Java的三大特性:封装,多态和继承。

15.知道this、super关键字的使用,特别实在继承体系下(比如super是在构造方法的第一行)。

16.理解多态,父类的引用可以指向子类的实例,接口的引用指向实现了接口的实现类对象。

17.知道java中抽象类和接口的区别。

18.知道java中重写equals方法为什么要重写hashcode方法。

19.知道java中可变参数、枚举,能够在项目中灵活使用。

20.理解java异常机制,知道checked异常和unchecked异常区别,以及知道如何正确处理它们。

 

听说你java基础很好?这些能答对几个?附上最全java必学知识点

21.理解线程Thread,知道创建线程的两种方法,知道线程的生命周期,知道synchronized关键字在线程中的使用,知道如何睡眠以及唤醒一个线程。知道线程死锁以及线程池的相关知识。

22.理解递归,能够用递归的思维解决问题,例如裴波那契数列。

23.能够熟练使用相关API操作ftp、sftp上传下载服务器的文件。

24.知道如何解析和生成properties文件。

25.知道如何使用相关API对Json字符串和Java对象之间进行互转。

26.知道sax和dom方式读取xml文件的区别,能够根据实际需要读取和生成xml文件。

27.知道如何对日期进行处理,Date和Sring之间的转换,以及如何获取相关日期,熟悉Calendar类和SimpleDateFormate类。

28.理解jvm虚拟机对类的加载机制,知道类加载器classloader的作用。

29.理解jdbc,熟悉常见的jdbc相关接口和类,如Connection、Statement、PrepareStatement、ResultSet。

30.能够说出23中设计模式的绝大部分,并能理解几种常见设计模式,说出自己的理解和应用。

31.了解jxl、poi的API,能够通过它们对execel文件导入和导出。

32.能够熟练使用相关API对文件和文件夹进行压缩和解压缩。

JVM

无论什么级别的Java从业者,JVM都是进阶时必须迈过的坎。不管是工作还是面试中,JVM都是必考题。如果不懂JVM的话,薪酬会非常吃亏(近70%的面试者挂在JVM上了)

详细介绍了JVM有关于线程、内存模型、JVM运行时内存、垃圾回收与算法、Java中四种引用类型、GC 分代收集算法 VS 分区收集算法、GC 垃圾收集器JAVA IO/NIO 、JVM 类加载机制的各大知识点。

基本概念:

JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接 的交互。

听说你java基础很好?这些能答对几个?附上最全java必学知识点

详细知识点太多,文案过长可见《Java核心知识体系》 添加小助手VX:xuanwo008 

听说你java基础很好?这些能答对几个?附上最全java必学知识点JVM目录

Java集合

通常,我们的程序需要根据程序运行时才知道创建多少个对象。但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型。为了满足这些常规的编程需要,我们要求能在任何时候,任何地点创建任意数量的对象,而这些对象用什么来容纳呢?我们首先想到了数组,但是数组只能放统一类型的数据,而且其长度是固定的,那怎么办呢?集合便应运而生了!

  • 1、接口继承关系和实现
  • 2、List
  • 3、Set
  • 4、Map

听说你java基础很好?这些能答对几个?附上最全java必学知识点Java集合框架图

详细知识点太多,文案过长可见《Java核心知识体系》在其中关于集合图有详细分解版从而对应每个知识点(见目录)

听说你java基础很好?这些能答对几个?附上最全java必学知识点

Java多线程并发

先来看看并发知识库体系图:

听说你java基础很好?这些能答对几个?附上最全java必学知识点

  1. Java线程实现/创建方式?
  2. 4种线程池 ?
  3. 线程生命周期(状态)
  4. 终止线程 4 种方式
  5. sleep与wait 区别?
  6. start与run的区别 ?
  7. Java后台线程
  8. Java锁
  9. 线程基本方法
  10. 线程上下文切换
  11. 同步锁与死锁
  12. 线程池原理
  13. Java阻塞队列原理
  14. CyclicBarrier、CountDownLatch、Semaphore的用法
  15. volatile关键字的作用(变量可见性、禁止重排序)
  16. 如何在两个线程之间共享数据?
  17. ThreadLocal 作用(线程本地存储)
  18. synchronized 和 ReentrantLock 的区别
  19. ConcurrentHashMap 并发
  20. Java 中用到的线程调度
  21. 进程调度算法
  22. 线程的概念及特性

详细知识点太多,文案过长可见《Java核心知识体系》在其中关于集合图有详细分解版从而对应每个知识点(见目录)

听说你java基础很好?这些能答对几个?附上最全java必学知识点

spring原理深度解析

Spring 以其众多优点被越来越多的微服务实践者所采用,熟练掌握了 Spring,就能在快速应用开发领域成为领导者。然而知其然还要知其所以然,本篇将从Spring源码和核心实现原理的角度帮你深入理解 Spring 背后的运作机制。

介绍目录

  1. Spring的特点
  2. Spring其核心组件
  3. Spring常用的模块
  4. Spring主要包
  5. Spring 常用注解
  6. Spring IOC原理
  7. Spring APO原理
  8. Spring MVC 原理
  9. Spring Boot 原理
  10. JPA 原理
  11. Mybatis 缓存
  12. Tomcat 架构

听说你java基础很好?这些能答对几个?附上最全java必学知识点

详细知识点太多,文案过长可见《Java核心知识体系》在其中关于集合图有详细分解版从而对应每个知识点(见目录)

添加小助手VX:xuanwo008 咨询如何获取《核心知识》的方式

听说你java基础很好?这些能答对几个?附上最全java必学知识点spring原理

微服务

微服务是如今互联网行业你不得不掌握的知识点,也是目前最火最流行的一个知识,咱们一起来看看吧!

  1. 服务注册发现
  2. API 网关
  3. 配置中心
  4. 服务追踪
  5. 服务熔断
  6. API管理

听说你java基础很好?这些能答对几个?附上最全java必学知识点

详细知识点太多,文案过长可见《Java核心知识体系》在其中关于集合图有详细分解版从而对应每个知识点(见目录)

添加小助手VX:xuanwo008 咨询如何获取《核心知识》的方式

听说你java基础很好?这些能答对几个?附上最全java必学知识点

由于文案过于长,在此就不一一介绍了,核心知识总结知识点除此之外还包括有Netty与 RPC 、网络、日志 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、24种设计模式、负载均衡、数据库、一致性算法、Java算法、数据结构、分布式缓存等等知识详解。

听说你java基础很好?这些能答对几个?附上最全java必学知识点

本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的答案总结。

小编是一个有着5年工作经验的程序员,关于Java,自己有做材料的整合,一个完整学习Java的路线,学习材料和工具。需要的伙伴可以私信我,发送“学习”后就可免费获取。对于学习Java有任何问题(学习方法,学习效率,如何就业)都可以问我。希望你也能凭自己的努力,成为下一个优秀的程序员!