java的21个技术点和知识点归纳

上传人:第*** 文档编号:34212125 上传时间:2018-02-22 格式:DOCX 页数:13 大小:43.13KB
返回 下载 相关 举报
java的21个技术点和知识点归纳_第1页
第1页 / 共13页
java的21个技术点和知识点归纳_第2页
第2页 / 共13页
java的21个技术点和知识点归纳_第3页
第3页 / 共13页
java的21个技术点和知识点归纳_第4页
第4页 / 共13页
java的21个技术点和知识点归纳_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《java的21个技术点和知识点归纳》由会员分享,可在线阅读,更多相关《java的21个技术点和知识点归纳(13页珍藏版)》请在金锄头文库上搜索。

1、兆隆 IT 云学院在兆隆 非高薪 不就业写这篇文章的目的是想总结一下自己这么多年来使用 java 的一些心得体会,主要是和一些java 基础知识点相关的,所以也希望能分享给刚刚入门的 Java 程序员和打算入 Java 开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用 Java。这次介绍的主要内容是和 J2SE 相关的部分,经过这么多年的 Java 开发,以及结合平时面试 Java 开发者的一些经验,我觉得对于 J2SE 方面主要就是要掌握以下的一些内容。1. JVM 相关(包括了各个版本的特性)对于刚刚接触 Java 的人来说, JVM 相关的知识不一定需要理解很深,对

2、此里面的概念有一些简单的了解即可。不过对于一个有着 3 年以上 Java 经验的资深开发者来说,不会JVM 几乎是不可接受的。JVM 作为 java 运行的基础,很难相信对于 JVM 一点都不了解的人可以把 java 语言吃得很透。我在面试有超过 3 年 Java 经验的开发者的时候, JVM 几乎就是一个必问的问题了。当然 JVM 不是唯一决定技术能力好坏的面试问题,但是可以佐证 java 开发能力的高低。在 JVM 这个大类中,我认为需要掌握的知识有: JVM 内存模型和结构 GC 原理,性能调优 调优:Thread Dump, 分析内存结构 class 二进制字节码结构, class l

3、oader 体系 , class 加载过程 , 实例创建过程方法执行过程:Java 各个大版本更新提供的新特性 (需要简单了解)兆隆 IT 云学院在兆隆 非高薪 不就业2. Java 的运行(基础必备)这条可能出看很简单,java 程序的运行谁不会呢?不过很多时候, 我们只是单纯通过 IDE去执行 java 程序,底层 IDE 又是如何执行 java 程序呢? 很多人并不了解。这 个知识点是最最基本的 java 开发者需要掌握的,初学 java,第一个肯定是教你如何在命令行中执行 java 程序,但是很多人一旦把 java 学完 了,IDE 用上了,就把这个都忘了。为什么强调要知道这个呢,知道

4、了 java 最纯粹的启动方式之后,你才能在启动出问题的时候,去分析当时启动的目录多 少,执行命名如何,参数如何,是否有缺失等。 这样有利于你真正开发中去解决那些奇奇怪怪的可能和环境相关的问题。在这里需要掌握的知识有: javac 编译 java 文件为 class 文件 java 命令的使用, 带 package 的 java 类如何在命令行中启动 java 程序涉及到的各个路径(classpath, java。library 。path , java 运行的主目录等)3. 数据类型兆隆 IT 云学院在兆隆 非高薪 不就业这条没有什么好多说的,无非就是 Java 中的基本类型和对象类型的掌握

5、。可以再了解一些JDK 如何自动转换方面的知识,包括装箱拆箱等,还要注意避免装箱之后的类型相等的判断主要知识点: 基本类型: int, long, float, double, boolean , 。 对应的对象类型: Integer 等类型到基本类型的转换, 装箱和拆箱 Object 类型: equals, hashcode String 类型的特点4. 对象和实例,对象的创建在这方面,开发者需要了解 class 和 instance 的概念以及之间的差别, 这是 java 面向对象特性的一个基础。主要知识点有: Class 和 Instance 的概念; Instance 创建的过程: 1

6、. 无继承:分配内存空间, 初始化变量, 调用构造函数;2.有继承:处理静态动作, 分配内存空间, 变量定义为初始值 , 从基类-子类, 处理定义处的初始化, 执行构造方法; 需要注意的点:静态属性等从基类-子类进行初始化;默认无参构造方法相关的特性。兆隆 IT 云学院在兆隆 非高薪 不就业5. 访问控制这也是 java 封装特性的一个基础,需要掌握的有:public protected default private 对于 class, method, field 的修饰作用6. 流程控制Java 流程控制的基础, 虽然有些语法不一定很常用,但是都需要了解,并且在合适的地方使用它们。需要掌握

7、的有:if, switch, loop, for, while 等流程控制的语法7. 面向对象编程的概念兆隆 IT 云学院在兆隆 非高薪 不就业这 是一个 java 的核心概念,对于任何 java 开发者都需要熟练掌握。Java 中很多特性或者说知识点都是和 java 面向对象编程概念相关的。在我的理解, 一个好的开发者不仅仅需要了解这些特性(知识点) 本身,也更需要知道这些对象在 java 的面向对象编程概念中是如何体现出来的,这样更有利于开发者掌握 java 这门开发语言,以及其他面向对象编程的语言。在这里只是简单罗列了一下,主要的知识点包括有: 面向对象三大特性:封装,继承,多态; 各自

8、的定义概念,有哪些特性体现出来,各自的使用场景 静态多分派,动态单分派的概念 重载的概念和使用 继承:接口多实现,基类单继承 抽象,抽象类,接口 多态:方法覆盖的概念和使用 接口回调8. Static静态属性在 java 日常开发中也是经常使用,需要了解和 static 关键字相关的用法,还有和其他关键字的配合使用, 如是否可以和 abstract, final 等关键字联合使用。主要需要掌握的有:兆隆 IT 云学院在兆隆 非高薪 不就业 静态属性的定义,使用,以及类加载时如何初始化 静态方法的定义和使用 静态类的定义和使用 静态代码块的定义和初始化时机9. 基础知识点这里主要罗列一些散落的,

9、没有系统归类的一些 java 知识点。在日常的开发中用到也不少。这块内容其实还有很多,目前只是暂时归纳了这几个在这里:包括有:equals , hashcode , string/stringbuffer ,final , finally , finalize10.集合框架这 个是一个需要多加掌握的部分,做 java 开发,可以说没有不用到集合框架的,这很重要。但是这里的知识点并不难,但是对于集合最好要了解内部的实现方式, 因为这样有助兆隆 IT 云学院在兆隆 非高薪 不就业于你在各个不同的场景选择适合的框架来解决问题,比如有 1W 个元素的集合,经常要进行 contains 判断操作,知道了

10、集合的特性或者内部实 现,就很容易做出正确的选择。这里包括了如下内容(并发相关不包含在内): 集合框架的体系: 基础 Collection ,Map 具体集合实现的内容, List ,Set ,Map 具体的实现,内部结构, 特殊的方法, 适用场景等 集合相关的工具类 Collections 等的用法11.异常框架异 常在 java 的开发中可能没有那么被重视。一般遇到异常,直接上抛,或者随便 catch一下处理之后对于程序整体运行也没有什么大的影响。不过在企业级设 计开发中, 异常的设计与处理的好坏,往往就关系着这个系统整体的健壮性。一个好的系统的异常对于开发者来说,处理应该统一,避免各处散

11、落很多异常处理逻辑;对于系统 来说,异常应该是可控的,并且是易于运维的,某些异常出现后,应该有应对的方法,知道如何运维处理,所以虽然异常框架很简单,但是对于整个企业级应用开发 来说,异常处理是很重要的,处理好异常就需要了解 Java 中的异常体系。这部分需要掌握的知识点不多,主要就是: 异常的体系: Throwable兆隆 IT 云学院在兆隆 非高薪 不就业 Exception RuntimeException Error RuntimeException 和 一般 Exception 的区别, 具体处理方法等12.Java IOIO 在 java 中不仅仅是文件读写那么简单,也包括了 soc

12、ket 网络的读写等等一切的输入输出操作。比如说 标准 HTTP 请求中 Post 的内容的读取也是一个输出的过程,等等 对于 IO,Java 不仅提供了基本 Input、Output 相关的 api,也提供了一些简化操作的Reader、Writer 等 api,在某些开发(涉及大量 IO 操作的项目) 中也很重要,一般日常的开发中也会涉及(日志,临时文件的读写等)。在这中的知识点主要有: 基本 IO 的体系: 包括有 InputStream , OutputStream, Reader/Writer, 文件读取,各种流读取等 NIO 的概念, 具体使用方式和使用场景13.多线程并发兆隆 IT

13、 云学院在兆隆 非高薪 不就业多线程是 Java 中普遍认为比较难的一块。多线程用好了可以有效提高 cpu 使用率, 提升整体系统效率, 特别是在有大量 IO 操作阻塞的情况下;但是它也是一柄双刃剑, 如果用不好,系统非但提升不大,或者没有提升,而且还会带来多线程之间的调试时等问题。在多线程中内容有很多,只是简单说明一下 Java 中初步使用多线程需要掌握的知识点,以后有机会单独再详细介绍一些高级特性的使用场景。 多线程的实现和启动 callable 与 runable 区别 syncrhoized ,reentrantLock 各自特点和比对 线程池 future 异步方式获取执行结果 co

14、ncurrent 包 lock .兆隆 IT 云学院在兆隆 非高薪 不就业14.网络Java 中也是提供了可以直接操作 TCP 协议、UDP 协议的 API。在需要强调网络性能的情况下,可以直接使用 TCP/UDP 进行通讯。在查看 Tomcat 等的源码中,就可以看到这些相关 API 的使用情况。不过一般也比较少会直接使用 TCP,会使用诸如 MINA、Netty 这样 的框架来进行处理,因为这个方面的开发涉及不多,所以就不再详细罗列了。15.时间日期处理几乎对于每个应用来说,时间日期的处理也是绕不过去的,但是 JDK8 之前的时间相关API 用法并不友好。在那个时代,可以选择 Joda 等

15、时间框架。到了 JDK8 发布之后,全新的时间 API 基本融合了其他框架的优点,已经可以很好的直接使用了。对于 Java 开发者来说,需要熟练地使用 API 来对时间和日期做相关的处理。具体知识点不再罗列,会在以后再写个专门的文章来总结一下 JDK8 中时间日期 API 的用法。16.XML 解析/ JSON 解析兆隆 IT 云学院在兆隆 非高薪 不就业其实这两块内容都不是 J2SE 里面的内容,但是在日常开发中,和其他程序交互,和配置文件交互,越来越离不开这两种格式的解析。不过对于一个开发者来说,能够了解一些 XML/JSON 具体解析的原理和方法,有助于你在各个具体的场景中更好的选择合适

16、你的方式来使得你的程序更有效率和更加健壮。 XML: 需要了解 DOM 解析和 SAX 解析的基本原理和各自的适用场景 JSON: 需要了解一些常用 JSON 框架的用法, 如 Jackson, FastJson, Gson 等。17.Maven 的使用Maven 也不是 Java 里面的内容,但是 maven 是革命性的,给 java 开发带来了巨大的便利。从依赖的引入和管理,开发流程的更新和发布产出,乃至版本的更 新,使用 maven可以大大简化开发过程中的复杂度,从而节省大量时间。可以说,maven 已经成为 java开发者的标配了。所以我把 maven 也作为一 个 java 开发者对于基础必备的知识点。以后会再放上一些我的一些对于 maven 使用的经验和技巧等,这里就不再细说了。18.泛型兆隆 IT 云学院在兆隆 非高薪 不就业这是 JDK5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号