附圖
java軟體攻城獅技能圖譜
基礎
Java核心
- [Java The Complete Reference Ninth Edition.pdf]( http://pcm.chujianyun.com/java/Java The Complete Reference Ninth Edition.pdf "java完全參考(第九版)")
- 中文名為:java完全參考手冊 (電子版請自行搜素)
- Core
- 基本語法
- 資料型別
- 語法
- 控制流
- 物件導向
- 類
- 物件
- 方法
- 介面
- 繼承
- 雜項
- 泛型
- 自動裝箱
- 列舉
- 註解
- 併發
- 多執行緒程式設計
- 函數語言程式設計
- Lambda 表示式
- Stream API
- 基本語法
- 常用庫
- String Handling
- java.lang.String
- StringBuffer and StringBuilder
- Regular Expression
- java.lang.*
- java.util.*
- Collections Framework
- Concurrency Framework
- i18n or g11n
- Currency
- Data & Time
- Language Locale
- Miscellaneous Utilities
- java.io.*
- java.nio.*
- java.net.*
- java.rmi.*
- java.sql.*
- javax.sql.*
- String Handling
- Core
演算法 & 資料結構
- 演算法 *
- 資料結構 *
- 物件導向程式設計 *
- head_first_design_patterns.pdf
- Effective Java 2nd Edition.pdf
- 計算機架構
- Memory Hierarchy
- Parallelism
- Multiprocessor Systems
- 作業系統
- Memory Management
- MemProcess Management
- MemFile System *
- 計算機網路
- OSI Model
- TCP/IP
- HTTP / HTTPS
- HTTP 1.X / HTTP 2
精通
- Linux/Unix
- Shell commands (bash) (http://linuxcommand.org/index.php)
- Text Processing
- AWK / SED
- File Operation
- cd/ls/find/ (Pipe and I/O Redirection)
- Text Processing
- VIM / Emacs ( Either of them)
- Shell Script(bash)
- Shell commands (bash) (http://linuxcommand.org/index.php)
- Java常用的第三方庫
- 日誌
- log4j
- slf4j
- logback
- 單元測試
- Junit
- Mockito
- TestNG
- 單元測試覆蓋率工具
- jacoco
- Clover
- EMMA
- Apache工具包
- commons-io
- commons-lang
- commons-math
- commons-codec
- commons-collections
- commons-beanutils
- commons-logging
- ...
- Apache HttpComponents
- Google Guava
- 日誌
- 軟體工程
- 專案組織
- Maven
- Gradle
- Ant + Ivy (Optional)
- 版本控制
- git
- svn
- UML
- 專案組織
前端 (Web)
- Web 開發 (http://www.w3schools.com)
- HTML
- HTML4
- xhtml
- HTML5
- css
- css2
- CSS3
- Data Representation
- XML
- JSON
- JSONP
- Javascript
+ ECMAScript 6
- Basics (https://developer.mozilla.org/en-US/docs/Web/JavaScript)
- Ajax
- AngularJS (plus)
- JQuery (plus)
- TypeScript
- Responsive Web Page development (plus)
- HTML
後端開發(伺服器端)
- JavaEE
- JSP *
- JSTL
- Java Servlet *
- JavaServer Faces *
- JPA *
- JTA *
- JAX-RS *
- Managed Beans / CDI 1.1/ DI /IOC
- Bean Validation
- JAX-WS
- JavaMail
- JACC
- JASPIC
- Java WebSocket
- Java JSON Processing
- Concurrency Utilities for JavaEE
- Batch processing framework
- Java 容器
- Tomcat / TomEE
- GlassFish
- Jetty
- Java中介軟體
- Spring
- Spring-Framework (Dependency Injection & AOP)
- Spring-Web
- Spring-Data
- Spring-security
- Spring-boot (Micro-service Architecture)
- Struts(MVC)
- SpringMVC
- Hibernate/JPA (Data Persistency)
- MyBatis
- Spring
- Java效能
- java performance the definitive guide.pdf
- 資料庫
- MySQL
- SqlServer
- Oracle
- Nosql
- Memcache
- Redis
- MongoDB
- Neo4j
- 序列化
- Google protobuf
- Apache Avro
- Java RPC
- Apache Thrift
- Motan
- 訊息佇列
- AMQP - RabbitMQ
- Apache ActiveMQ
- Apache Kafka
- 訊息傳遞
- XMPP
- 搜尋/索引
- Apache Lucene
- Apache Solr
- Elasticsearch
- CoreNLP
- 大資料(可選)
- Hadoop
- Yarn (MapReduce)
- HDFS
- HBase
- Hive
- Mahout
- Spark
- Spark-Core
- Spark-SQL
- Spark-machine learning
- Spark Streaming
- Apache Storm
- Hadoop
- 雲端計算
- Scalable Architecture
- VM
- OpenStack
- Container
- Docker
- VM
- Hands-on
- Amazon AWS
- EC2
- S3
- DynamoDB
- Amazon AWS
- Scalable Architecture
- 基於虛擬機器的程式設計
- Scala
- Groovy
- Clojure
- Kotlin
- http://www.oracle.com/technetwork/articles/java/architect-languages-2266279.html
IDE
- IntelliJ IDEA
- NetBeans
- Eclipse
JAVA典型應用
- Online Chatting (Web/Desktop System)
- Library Management System (Web System)
- Ticket Booking System(RESTful Web Service)
- HTTP File Downloader (Console / Desktop)
- P2P File Sharing (Console / Desktop)
- Blogging System (Web / REST)
- RDBMS UI Toolkit (Web /Desktop)
桌面開發
- awt
- Applet
- swing
- Netbeans Platform
- JavaFX
- swt
移動開發
- Android
- JavaME