语法和基础
数据类型
表达式,语句,代码块
面向对象:封装,继承和多态
线程和异常处理
标准类库(以java为例子):
类库:jar包:类库是以jar包的形式发布的。jar包是Java中组织多个class文件的方式期本质是一个zip压缩包。后缀名是jar
类库是以jar包发布的、可以完成某个功能的一个或多个jar包
工具(以java为例子)
maven:
构建和打包,丰富插件可以组成复杂的构建过程
git:
源代码控制
IDE
jenkins:
自动化集成
底层和进阶
底层——内存相关:
内存堆(heap)和线程栈
JMM
GC(garbage collection):GC log分析和GC调优
底层——JVM和Java相关规范
JVM + JAVA字节码
Class文件格式
Class Loader
进阶
多线程和线程安全
程序可读性
优化
超越代码:能力(不仅限于某种编程语言)
本能+直觉:对问题的难度、复杂性和需要的时间有一个直觉的反应。能够快速准确的判断问题的难点和可能出问题的地方
分解+架构:拿到一个问题时,可以将问题分解成某种编程语言/技术可以解决的子模块/功能
解决问题: