前言
每个大牛的诞生都是从菜鸟起步的,只是在成长的过程中,他们为自己设立了长期而鉴定的奋斗目标,梳理了清晰而受用的知识架构。用这种知识框架去按部就班地成长,每个人都有成为大牛的可能。本文就将展示一种知识体系的构建方法,希望能够对你有所帮助。
笔者整理出一篇Java进阶架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其中包括了有基础知识、Java合集、JVM、多线程并发、Spring原理、微服务、Netty、Kafka、设计模式、算法、数据库、Zookeeper、分布式缓存、数据机构等等架构技术
声明 :由于PDF文档里的细节内容实在过多所以只编辑了部分知识点的章节粗略的介绍下,每个章节小节点里面都有更细化的内容!以下就是部分章节目录,由于头条的篇幅限制目录上的详细讲解也无法一一列出,文末底下有获取以下章节的所有详细知识讲解。
第一章:Java基本概念
- Java语言的优点?
- 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
- Java和C++有何区别?
- JDK和JRE的区别是什么?
- Java支持的数据类型有哪些?什么是自动拆装箱?
- 什么是值传递和引用传递?
- 一个"java"源文件中是否可以包括多个类(不是内部类) ?有什么限制?
- 静态变量和实例变量的区别?
- 不通过构造函数也能创建对象吗?
- 静态变星和实例变量的区别?
- 是否可以从一个静态( static )方法内部发出对非静态( non-static )方法的调用?
- 如何实现对象克隆?
- 一个"java" 源文件中是否可以包含多个类(不是内部类) ?有什么限制?
- Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口?
- 内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?
- 列出自己常用的jdk包
- JDK, JRE和JVM的区别?
第二章:面向对象编程
- Java中的方法要盖(Overriding)和方法重载(Overloading)是什么意思?
- Overload和Override的区别? Overloaded 的方法是否可以改变返回值的类型?
- Java中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?
- 构造器Constructor是否可被Override?
- Java支持多继承么?
- 接口和抽象类的区别是什么?
- 下列说法正确的有( )
- Java接口的修饰符可以为?
- 下面是People和Child类的定义和构造方法,每个构造方法都输出编号。在执行new Child("mike")的时候都有哪些构造方法被顺序调用?请选择输出结果
- 构造器( constructor )是否可被重写( override ) ?
- 两个对象值相同(x.equals(y) == true) ,但却可有不同的hash code ,这句话对不对?
- 接口是否可继承( extends )接口?抽象类是否可实现( implements )接口?抽象类是否可继承具体类( concrete class ) ?
- 指出下面程序的运行结果:
- Class forName ( String className )这个方法的作用
- 什么是AOP和OOP,IOC和DI有什么不同?
- 判断下列语句是否正确,如果有错误,请指出错误所在?
第三章:关键字
- " static" 关键字是什么意思? Java中是否可以要盖(override) -个private或者是static的方法?
- 是否可以在static环境中访问非static变虽?
- 访问修饰符public, private, protected,以及不写(默认)时的区别?
- volatile关键字是否能保证线程安全?
- Java有没有goto?
- Java中的final关键字有哪些用法?
- 什么时候用assert ?
- final, finally finalize的区别?
第四章:基本类型与运算
- 说说&和&&的区别。
- 用最有效率的方法算出2乘以8等於几?
- 存在便i+ 1 <的数吗?
- 0.6332的数据类型是( )
- System.out.println("5" + 2);的输出结果应该是( )。
- 下面的方法,当输入为2的时候返回值是多少?
- float f=3.4;是否正确?
- int和Integer有什么区别?
- char型变星中能不能存贮一个中文汉字?为什么?
- Math.round(11 5)等于多少? Math.round(-11 5)等于多少?
笔者限于篇幅,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)自行点击下方传送门,免费领取
传送门
第五章:字符串与数组
- 下面程序的运行结果是( )
- 下面代码的运行结果为?
- String是最基本的数据类型吗?
- 数组有没有length0方法? String有没有length0方法?
- 是否可以继承String类?
- String和StringBuilder, StringBuffer 的区别?
- String s=new String( "xyz”):创建了几个字符串对象?
- 将字符“12345" 转换成long型
- 为了显示myStr= 23这样的结果,写出在控制台输入的命令
- Strings = "Hello";s =s +”world!" ;这两行代码执行后,原始的String对象中的内容到底变了没有?
- 如何把一段逗号分割的字符串转换成一个数组?
- 下面这条语句一共创建了多少个对象: Strings= "a”+”b”+”c”+”d”;
- String和StringBuffer的区别?
- String, StringBuffer StringBuilder的区别。
第六章:输入输出流
- 下面哪个流类属于面向字符的输入流?
- 阅读Shape和Circle两个类的定义。在序列化一个Circle的对象circle到文件时,下面哪个字段会被保存到文件中?
- 什么是Java序列化,如何实现Java序列化?
第七章:集合类
- 下列说法正确的是( )
- ArrayList list = new ArrayList(20);中的list 扩充几次?
- Java焦台类框架的基本接口有哪些?
- 为什么集合类没有实现Cloneable和Serializable接口?
- 什么是迭代器(terator) ?
- Iterator和ListIterator的区别是什么?
- 快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?
- Java中的HashMap的工作原理是什么?
- hashCode0和equals0方法的重要性体现在什么地方?
- HashMap和Hashtable有什么区别?
- 数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用Array而不是ArrayList ?
- ArrayList和LinkedList有什么区别?
- Comparable和Comparator接口是干什么的?列出它们的区别。
- Java集合类框架的最佳实践有哪些?
- Enumeration接口和Iterator接口的区别有哪些?
- HashSet和TreeSet有什么区别?
- List. Set. Map是否继承自Collection 接口?
- 说出ArrayList. Vector. LinkedList 的存储性能和特性?
- List. Map. Set 三个接口存储元素时各有什么特点?
- 判断下列语句是否正确,如果有错误,请指出错误所在?
- 你是怎么理解Java泛型的?
第八章:Java平台与内存管理
- GC线程是否为守护线程? ( )
- 解释内存中的栈( stack)、堆(heap)和静态存储区的用法。
- Java中会存在内存泄漏吗,请简单描述。
- GC是什么?为什么要有GC?
- 第3行中生成的object在第几行执行后成为garbage collection 的对象?
- 描述一下JVM加载class文件的原理机制?
第九章:异常处理
- 下面关于java.lang.Exception类的说法正确的是( )
- 扩展:错误和异常的区别(Error vs Exception)
- getCustomerInfo0方法如下, try中可以捕获三种类型的异常, 如果在该方法运行中产性了一个IOException ,将会输出什么结果?
- try0里有一个return语句,那么紧跟在这个try后的fnally0里的code会不会被执行,什么时候被执行,在return前还是后?
- Java语言如何进行异常处理,关键字: throws. throw. try. catch. finally 分别如何使用?
- 运行时异常与受检异常有何异同?
- 请写出5种常见到的runtime exception。
- error和exception有什么区别?
笔者限于篇幅,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)自行点击下方传送门,免费领取
传送门
第十章:
- XML包括哪些解释技术,区别是什么?
- XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
- 你在项目中哪些地方用到了XML?
- 谈谈对XML的理解?说明Web应用中Web.xml文件的作用?
- XML是种元语言, 可以用它来描述其他语言。
- 在XML中用于注释的符号是。(选择1项)
- DTD与XML Schema都是XML文档。(选择1项)
第十一章:Java多线程
- 下面哪些是Thread类的方法?
- 下面程序的运行结果?
- 进程和线程的区别是什么?
- 创建线程有几种不同的方式?你喜欢哪-种?为什么?
- 概括的解释下线程的几种可用状态。
- 同步方法和同步代码块的区别是什么?
- 在监视器(Monitor)内部,是如何做线程同步的?程序应该做哪种级别的同步?
- 什么是死锁(deadlock) ?
- 如何确保N个线程可以访问N个资源同时又不导致死锁?
- sleep0和wait0有什么区别?
- sleep0和yield0有什么区别?
- 当一个线程进入一个对象的synchronized方法A之后,其它线程是否可进入此对象的synchronized方法?
- 请说出与线程同步相关的方法。
- synchronized关键字的用法?
- 举例说明同步和异步。
- 启动一个线程是用run0还是start0方法?
- 什么是线程池( thread pool) ?
- 线程的基本状态以及状态之间的关系?
- 死锁的必要条件?怎么克服?
第十二章:JDBC与数据库
- 下列属于关系型数据库的是( )
- 在进行数据库编程时,连接池有什么作用?
- 什么是DAO模式?
- 什么是ORM ?
- JDBC中如何进行事务处理?
- 事务的ACID是指什么?
- 使用JDBC操作数据库时,如何提升读取数据的性能?如何提升更新数据的性能?
- 存储过程和函数的区别
- 你认为在表上建立索引可以提高数据库系统的效率吗,为什么?
- 什么是数据库的参照完整性?
- 如何优化数据库,如何提高数据库的性能?
第十三章:Servlet与JSP
- JSP有哪些内置对象和动作?它们的作用分别是什么?
- 描述JSP和Servlet的区别、共同点各自应用的范围
- 从以下哪一个选项中可以获得Servlet的初始化参数?
- 哪一个对象可以用于获得浏览器发送的请求?
- 运行jsp需要安装__Web服务器。
- 在服务器的网络编程中,解决会话跟踪的方法有:
- 与HttpSessionListener接有关的方法是。
- 关于JSP生命周期的叙述,下列哪些为真?
- 以下声明正确的是?
- 下列哪个为JSP的隐含对象?
- 下面的那一个不属于MVC模式中的对象?
- 在Servlet处理请求的方式为。(选择1项)
- javax.Servlet的包中,属于类的是。(选择1项)
- Http缺首的请求方法是。(选择1项)
- 实现现下列哪一种接口的对象,并不需要在web.xml文件内进行额外的设定, Servlet容器就能够回应该对象加入HTTP会话所发生的事件? (选择1项)
- 下列哪个为JSP的小脚本的标签? (选择1项)
- 以下不属于JSP的标准指令的是。(选择1项)
- 对于每-个网站访问用户都要访问的变量,应该将它设为____变星。 (选择1项)
- 查丢下列JSP内容
- 假设Ajsp内设定一个<jsp:useBean> 元索:
- 在MVC设计模式中, JavaBean的作用是。(选择1项
第十四章:J2EE与EJB
- J2EE是什么?它包括哪些技术?
- 描述J2EE框架的多层结构,并简要说明各层的作用。
- EJB包含哪3种bean
- Tomcat服务器的默认端1是多少?怎样修改tomcat的端口?
- EJB的优点有哪些? (选择2项)
- 无状态会话Bean.有状态会话Bean. CMP与BMP中,哪一种Bean不需要自己书写连接数据库的代码?
- 假设web应用的文档根目录为MyApp ,那么可以从哪里找到database.jar文件。
- 要创建一个EJB ,必须要至少编写哪些Java类和接口?
- EJB类库存在于Java的哪个版本中? (选择1项)。
- 在J2EE中属于Web层的组件有(选择1项)
- EJB的角色和三个对象
- EJB的激活机制
- EJB的几种类型
笔者限于篇幅,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)自行点击下方传送门,免费领取
传送门
第十五章:SSH架构
- 描述Struts体系结构?对应各个部分的开发工作主要包括哪些?
- 简要描述如何结合struts. hibernate. spring 开发Web应用?
- 说明反转控制( IOC )和面向方向编程( AOP )在spring中的应用
- 简述基于Struts框架Web应用的工作流程
- 在项目中用过Spring的哪些方面?及用过哪些Ajax框架?
- MVC模式中M,V , C每个代表意义,并简述在Struts中MVC的表现方式。
- Hibernate中的Java对象有几种状态,其相互关系如何(区别和相互转换)。
- 对Hibernate的延迟加载如何理解,在实际应用中,延迟加载与session关闭的矛盾是如何处理的?
- Struts1中actionform和action属于MVC哪一层,为什么?
- struts2 中, Action通过什么方式获得用户从页面输入的数据,又是通过什么方式把其自身的数据传给视图的?
- 说明什么是工厂模式?
- struts 中如何实现国际化,涉及哪些文件?
- Struts框架可以支持以下哪种程序开发语言? (选择1项)
- struts是什么?
- spring是什么?
- hibernate是什么?
- 用自己的话简要阐述struts2的执行流程
第十六章:NML
- UML是什么? UML中有哪些图?
- 类图用来表示系统中类和类与类之间的关系,它是对系统动态结构的描述。(选择1项)
第十七章:常见设计模式
- 写一个单例类。
- 说说你所熟恶或听说过的设计模式以及你对设计模式的看法。
- 你在开发中都用到了那些设计模式?用在什么场合?
- 编程题:写一个Singleton出来
写在最后
笔者限于篇幅,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)自行点击下方传送门,免费领取
传送门
原文
https://segmentfault.com/a/1190000020807823