1.java基础

1.1 Collection和Map
     (1)掌握Collection和Map的继承体系
     (2)掌握ArrayList,LinkedList,Vector,Stack,PriorityQueue,HashSet,
            LinkedHashSet,TreeSet,HashMap,LinkedHashMap,TreeMap,WeakHashMap,
            EnumMap,TreeMap,HashTable的特点和实现原理。
     (3)掌握CopyOnWriteArrayList,CopyOnWriteArraySet,ConcurrentHashMap的实现原理和适用场景。
   
   1.2 IO
     (1)掌握InputStream,OutputStream,Reader,Writer的继承体系。
     (2)掌握字节流(FileInputStream,DataInputStream,BufferInputStream,FileOutputStream,DataOutputStream,
                  BufferOutputStream)和字符流(BufferReader,InputStreamReader,FileReader,BufferedWriter,
                  OutputStreamWriter,PrintWriter,FileWriter),并熟练运用。
     (3)掌握NIO实现原理及使用方法。

1.3 异常
     (1)掌握Throwable继承体系。
     (2)掌握异常工作原理。
     (3)了解常见受检异常,非受检异常和错误。

1.4 多线程
     (1)掌握Executors可以创建的三种(java8增加了一种,共四种)线程池的特点及适用范围。
     (2)掌握多线程同步机制,并熟练运用。

1.5 Socket
     (1)掌握Socket通信原理。
     (2)熟练使用多线程结合Socket进行编程。

2.java虚拟机

2.1 JVM内存区域划分
     (1)掌握程序计数器、堆、虚拟机栈、本地方法栈、方法区(java8已移除)、元空间(java8新增)的作用及基本原理。
     (2)掌握堆的划分:新生代(Eden、Surviror1、Survivor2)和老年代的作用及工作原理。
     (3)掌握JVM内存参数设置及调优。

2.2 类加载
     (1)掌握类的加载阶段:加载、链接(验证、准备、解析)、初始化、使用、卸载。
     (2)掌握类加载器分类及其应用:启动类加载器、扩展类加载器、应用程序类加载器、自定义加载器。

3.J2EE
   (1)掌握JSP内置对象、动作及相关特点和工作原理。
   (2)掌握Spring框架的IOC和AOP实现原理(反射和动态代理)。
   (3)掌握Servlet的特点和工作原理。
   (4)至少掌握一个MVC框架(Spring MVC,Struts等)的工作原理,并熟练运用。
   (5)至少掌握一个ORM框架(Hibernate,MyBatis)的工作原理,并熟练运用。

4.数据结构与算法
   (1)掌握线性表和树的特点并熟练运用。
   (2)掌握常用的排序和查找算法:插入排序(直接插入排序,希尔排序)、选择排序(直接选择排序、堆排序)、交换排序(冒泡排序、快速排序)
                                、归并排序、顺序查找、二分查找、哈希查找。
   (3)熟练运用常见的排序和查找算法思想解决编程问题。
   (4)了解几大基本算法:贪心算法、分治策略、动态规划。

5.计算机网络
   (1)掌握网络的分层结构,及每层的功能特点。
   (2)掌握TCP/IP的通信原理(三次握手、四次挥手)。

6.数据库
   (1)掌握复杂的SQL语句的编写。
   (2)掌握数据库的优化(SQL层面和表设计层面)。
   (3)至少掌握一款数据库产品。
   (4)熟悉高并发、大数据情况下的数据库的开发。

7.web技术
   (1)掌握AJAX的工作原理。
   (2)至少掌握一款JS框架(比如JQuery)。

8.设计模式
   (1)熟悉常见的设计模式。
   (2)会将设计模式理论应用到实际开发中。

9.Linux
   (1)熟练运用Linux常见命令。
   (2)熟悉Linux操作系统基本概念及特点。
   (3)熟悉Shell脚本。

10.操作系统
   (1)掌握操作系统的进程管理。
   (2)了解操作系统的I/O。

11.正则表达式
   (1)掌握常见正则表达式符号。
   (2)熟练运用正则表达式解决实际问题(比如匹配电话号码、邮箱、域名等)。

Java 学习大纲的更多相关文章

  1. Java学习大纲-0412更新

    非科班报培训班学习Java,从博客园,知乎,CNDS上搜了一圈,暂时按以下计划执行,有问题随时更新--0412 1.培训班的课程按时按点学习完成(毕竟掏钱在学的是不,不好好听亏不亏...) keys: ...

  2. JAVA学习大纲

    1.第一节 JAVA概念与JDK的安装 (1)JDK的安装和环境变量的设置: (2)相关基本概念:JDK.SDK.JRE.JVM.J2SE.J2EE.J2ME.java API.JAVA语言特点: ( ...

  3. 《Java开发学习大纲文档》V7.0

    <Java开发学习大纲文档>V7.0简介: 本文档是根据企业开发所需要掌握的知识点大纲进行总结汇编,是Java开发工程师必备知识体系,系统化学习针对性非常强,逻辑分析能力非常清晰;技术方面 ...

  4. 《Java开发学习大纲文档》V6.0(已经不公布了,请查看第七版)

    <Java开发大纲学习文档第六版>简介: 有需要的私聊作者QQ:253173641.

  5. Java并发编程(一)学习大纲

    (一)学习大纲 (二)线程与并发编程的概念 (三)线程安全.原子操作.复合操作.竞态条件.加锁机制(内置锁.重入) (四)对象的共享:可见性.失效数据.非原子的64位操作,加锁与可见性,volatil ...

  6. Java学习知识体系大纲梳理

    感悟 很奇怪,我怎么会想着写这么一篇博客——Java语言的学习体系,这不是大学就已经学过的课程嘛.博主系计算机科班毕业,大学的时候没少捧着Java教程来学习,不管是为了学习编程还是为了期末考个高分,都 ...

  7. (转)2019年给Java编程初学者的建议(附学习大纲)

    本文链接:https://blog.csdn.net/javajlb/article/details/85920904 1. 引言这是一篇初学者干货,请耐心看完,希望对你有帮助 作为初学者的你,命中了 ...

  8. 【有钱的大佬看过来】Java开发学习大纲

    Java开发学习大纲文档V7.0 有钱的大佬可以买下这个版权,全网最完整最详细了,没钱的大佬可以按照自己的方式去整理.有需要的私聊作者QQ:253173641 来源于-幸福的沉淀:https://ww ...

  9. 《Java开发学习大纲文档》V8.0

    <Java开发学习大纲文档>V8.0 第八版是以实战作为核心,同时也包含前面所有版本的精华部分,第八版加入的部分有云开发(阿里云OSS存储.(github)gitlab+docker网站自 ...

随机推荐

  1. JVM存储位置分配——java中局部变量、实例变量和静态变量在方法区、栈内存、堆内存中的分配

    Java中的变量根据不同的标准可以分为两类,以其引用的数据类型的不同来划分可分为“原始数据类型变量和引用数据类型变量”,以其作用范围的不同来区分可分为“局部变量,实例变量和静态变量”. 根据“Java ...

  2. PAT 乙级 1009.说反话 C++/Java

    1009 说反话 (20 分) 题目来源 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串.字符串由若干单词 ...

  3. Spring Boot Configuration Annotation Proessor not found in classpath解决办法

    From: https://www.cnblogs.com/whtgjy/p/9438317.html 出现spring boot Configuration Annotation Proessor ...

  4. 2.Vue.js 是什么

    Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架. 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用. Vue 的核心库只关注视图层,不仅易于上手,还便 ...

  5. Oracle逻辑导入数据(IMP/IMPDP)

    使用IMPDP导入数据的前提是数据是使用EMPDP导出的,同样也是在DOS窗口下直接输入IMPDP和登录数据库的用户名,即可导人数据. impdp导到指定用户下: impdp student/1234 ...

  6. benchmarkdotnet docker 运行

    使用docker 运行基准测试是一个不错的选择,可以减少我们环境搭建的时间,同时也可以加速ci/cd 环境准备 docker-compose 文件 version: "3" ser ...

  7. 数组排序代码,冒泡排序&快速排序&选择排序

    冒泡排序: for(var i=0;i<arr.length-1;i++){ for(var j=0;j<arr.length-1-i;j++){ if(arr[j]>arr[j+1 ...

  8. “知乎杯”2018 CCF 大学生计算机系统与程序设计竞赛 分组加密器(encryption)

    分组加密器(encryption) 题解点这里 #include<map> #include<stack> #include<vector> #include< ...

  9. lintcode- 22.平面表

    题目描述 22. 平面列表 给定一个列表,该列表中的每个要素要么是个列表,要么是整数.将其变成一个只包含整数的简单列表. 样例 给定 [1,2,[1,2]],返回 [1,2,1,2]. 给定 [4,[ ...

  10. data.table

    data.table: Extension of 'data.frame' 安装 data.table install.packages("data.table") 官网:http ...