如何学习一门语言

如何学习一门编程语言

语法和基础

数据类型

表达式,语句,代码块

面向对象:封装,继承和多态

线程和异常处理

标准类库(以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

进阶

多线程和线程安全

程序可读性

优化

超越代码:能力(不仅限于某种编程语言)

本能+直觉:对问题的难度、复杂性和需要的时间有一个直觉的反应。能够快速准确的判断问题的难点和可能出问题的地方

分解+架构:拿到一个问题时,可以将问题分解成某种编程语言/技术可以解决的子模块/功能

解决问题:任何工作中的问题。从需求分析到架构设计,从接口设计到代码实现,从文档到测试,从脑洞大开到靠谱创新,从内存使用到CPU占用,从bug可以重现到bug难以重现,从继承到联调,从数据到环境,从数据库到消息队列,从在线到离线,从开发到部署,从测试环境的问题到生产环境的问题,从单台机器的问题到集群分布式得问题,从上线到维护,从技术支持到hotfix,从性能到监控,从技术栈更新到系统重构,只有想不到没有做不到,程序员不只是写代码!

猜你喜欢

转载自www.cnblogs.com/blamwq/p/12110495.html