一、简介
掌握JAVA说容易也不容易,但对于想学好JAVA的人来说,有个良好的目标相当重要,所以本文并不想一一解释相关细节,故只针对于已经具备至少3个月开发水平的程序员,现列举如下,都是在职业生涯中都会遇到的,且必备的技能指标,望助你一臂之力。
二、基础知识
数据类型
基本类型分整型(byte\short\int\long\char),浮点型(float\double),布尔值(boolean)。
引用类型主要涉及 类、接口、数组 概念。
字符串就是 String 。
基本语法
1)运算符:自增自减;
2)访问控制:public\private\protected;
3)循环条件:if\while\for\break\continue;
4)异常:检查型和非检查型;
5)反射;
面向对象
1)类和对象:创建与销毁;equals与hashCode;
2)枚举:enum 与 接口常量;
3)集合类:
3.1)List:ArrayList\LinkedList;
3.2)Map: HashMap、LinkedHashMap、TreeMap;
3.3)Set:HashSet、LinkedHashSet、TreeSet;
3.4)Queue:LinkedList、ArrayDeque、ConcurrentLinkedQueue
4)继承与多态
5)泛型
6)内部类
7)接口
8)注解
9)异常与错误:Error、Exception
常用类
String、java.util.Date
正则表达式
Pattern、Matcher
内存与JVM
JVM参数、内存分配机制、内存回收GC、内存泄露与监控
三、数据结构与算法
数据结构
线性结构:链表、哈希表;
树形结构:树、二叉树;
图:广度优先、深度优先;(该节点知识很难实践中遇到,建议不要过度掌握)
算法
搜索算法、排序算法;别忘了,还有一种相对牛X的递归。
设计模式
首先要对 六大原则 要了然于心,其次再依次掌握 创建模式、结构模式、行为模式。
(根据我的经验来看,六大原则 是必须要刻骨铭心的记住。)
服务器与容器
Servlet容器:Tomcat(主流)、Jetty(轻便高效);
J2EE服务器:JBoss、WebLogic;(这些不爱推荐,然而在一些大企业它们喜欢品牌)
WEB服务器:Apache Httpd(主流)、Nginx;
开发工具
首当其冲就是 Eclipse、其次是 Intellij IDEA、MyEclipse、NetBeans;
开源类库
常用工具包:Apache Commons、Guava;
开源框架:Spring、Hibernate、MyBatis等等;
项目管理
优选 maven,其次再根据实际情况选择 Gradle等;
源码管理 svn,也有时候考虑使用 git;