1、前言
工作这么多年,一直想回头总结下,再加上最近有搞培训的想法,所以在此对学到的java知识做一个简单的总结,如果错误或不足的地方望大家指正。、
2、大纲
看过各种类型的语言,有动态类型的(python,ruby等),有原型链继承的(IO,JS等),语言语法和结构上各有不同,但我个人归纳有那么几点共通的:
- 数据结构:语言都是有各种类型组成,想java由基本类型(int,float,char等)和对象类型(String,列表,数组,Map等)组成,还有各种自定义类型
- 控制结构:java有循环结构(for,while等)和分支结构(if...else....,switch等)组成
- 方法(函数) :python可以自定义函数,并实现了函数式变成,java也在java8中对函数式编程有相应的实现
- 类和继承:几乎各种语言都会有自己的类(伪类)以及继承结构,这边的难点是多重继承,各个语言实现不一样,java通过接口实现,python有模块和糅合的概念
- 并发编程:这里是难点,每种语言对并发的支持和实现不一样,如java有线程和锁的概念,但难点是在于共享变量;如go是通过channel(信道)以及轻量级进程来实现并发编程;而js是通过单线程事件轮询来实现的,在目前看来nodeJS也能支持很高的并发,甚至比其他语言支持的更好
除了以上几点,另外我还总结了一下其他知识点
- 正则表达式:最近一直在用,真正用到的时候才发现正则表达式真的很深奥,以前用到的都是皮毛
- 网络编程和桌面编程:虽然我一直是做web开发的,但我个人更喜欢桌面编程,简单方便
上面就是我对个人知识的总结,在后面文章会对各个点一一详细总结