zoukankan      html  css  js  c++  java
  • Java Software Engineer Skill Map

    # Java Software Engineer Skill Map
    ## 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
    - Algorithms *
    * https://www.coursera.org/learn/java-data-structures-algorithms-2
    * https://www.coursera.org/learn/introduction-to-algorithms
    - Data Structures *
    * https://en.wikipedia.org/wiki/List_of_data_structures
    * http://www.tutorialspoint.com/data_structures_algorithms/
    - Object Oriented Programming *
    * head_first_design_patterns.pdf
    * Effective Java 2nd Edition.pdf
    - Computer Architecture
    * Memory Hierarchy
    * Parallelism
    * Multiprocessor Systems
    - Operating System
    * Memory Management
    * MemProcess Management
    * MemFile System *
    - Computer Network
    * OSI Model
    * TCP/IP
    * HTTP / HTTPS
    * HTTP 1.X / HTTP 2

    ### 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)
    - Web Development (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)

    ### 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
    * Scala
    * Groovy
    * Clojure
    * Kotlin
    * http://www.oracle.com/technetwork/articles/java/architect-languages-2266279.html

    ### 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

  • 相关阅读:
    Delphi以及三方控件的源代码规模
    InitInheritedComponent的执行过程
    poj 3897 Maze Stretching 二分+A*搜索
    一些窗口API函数,比如SetForegroundWindow,SwitchToThisWindow
    终于懂了:WM_PAINT 与 WM_ERASEBKGND(三种情况:用户操作,UpdateWindow,InvalidateRect产生的效果并不相同),并且用Delphi代码验证 good
    窗口绘制有关的消息整理 WM_PAINT, WM_NCPAINT, WM_ERASEBKGND
    WM_PAINT与WM_ERASEBKGND(用户操作和API这两种情况产生消息的顺序有所不同)
    关于WM_ERASEBKGND和WM_PAINT的深刻理解
    offsetHeight在OnLoad中为0的现象
    TWinControl.WMNCPaint对非客户的绘制
  • 原文地址:https://www.cnblogs.com/timssd/p/7441242.html
Copyright © 2011-2022 走看看