Java Software Engineer Skill Map

优质
小牛编辑
134浏览
2023-12-01

Basic

Core Java

  • Java The Complete Reference Ninth Edition.pdf
    • Core
      • Basic Language Characteristics
        • Data Types
        • Syntax
        • Control Flow
      • Object-Oriented
        • Class
        • Object
        • Method
        • Interface
        • Inheritance
      • Miscellaneous
        • Generics
        • Autoboxing
        • Enumerations
        • Annotations
      • Parallelism
        • Multithreaded Programming
      • Functional Programming
        • Lambda Expression
        • Stream API
    • Commonly-used Libraries
      • 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.*

Algorithms & Data Structure

Essentials

  • Linux/Unix
    • Shell commands (bash) (http://linuxcommand.org/index.php)
      • Text Processing
        • AWK / SED
      • File Operation
        • cd/ls/find/ (Pipe and I/O Redirection)
    • VIM / Emacs ( Either of them)
    • Shell Script(bash)
  • Java Commonly-used 3rd-party Libraries
    • Logging
      • log4j
      • slf4j
      • logback
    • Unit Test
      • Junit
      • Mockito
      • TestNG
    • Code Coverage
      • jacoco
      • Clover
      • EMMA
    • Apache Commons
      • commons-io
      • commons-lang
      • commons-math
      • commons-codec
      • commons-collections
      • commons-beanutils
      • commons-logging
      • ...
    • Apache HttpComponents
    • Google Guava
  • Software Engineering
    • Project Organization
      • Maven
      • Gradle
      • Ant + Ivy (Optional)
    • Versioning
      • git
      • svn
    • UML

Front-end (Web)

Back-end Development(Server side)

  • 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 Containers
    • Tomcat / TomEE
    • GlassFish
    • Jetty
  • Java mid-ware
    • 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
  • Java Performance Tuning
    • java performance the definitive guide.pdf
  • Database
    • MySQL
    • SqlServer
    • Oracle
    • Nosql
      • Memcache
      • Redis
      • MongoDB
      • Neo4j
  • Serialization
    • Google protobuf
    • Apache Avro
  • Java RPC
    • Apache Thrift
    • Motan
  • MessageQueue
    • AMQP - RabbitMQ
    • Apache ActiveMQ
    • Apache Kafka
  • Messaging
    • XMPP
  • Searching/Indexing
    • Apache Lucene
    • Apache Solr
    • Elasticsearch
    • CoreNLP
  • Big Data(Optional)
    • Hadoop
      • Yarn (MapReduce)
      • HDFS
      • HBase
      • Hive
      • Mahout
    • Spark
      • Spark-Core
      • Spark-SQL
      • Spark-machine learning
      • Spark Streaming
    • Apache Storm
  • Cloud
    • Scalable Architecture
      • VM
        • OpenStack
      • Container
        • Docker
    • Hands-on
      • Amazon AWS
        • EC2
        • S3
        • DynamoDB
  • JVM-based Programming Language

IDE

  • IntelliJ IDEA
  • NetBeans
  • Eclipse

Typical Java Applications

  • 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)

Desktop Development

  • awt
  • Applet
  • swing
  • Netbeans Platform
  • JavaFX
  • swt

Mobile Development

  • Android
  • JavaME