0 学习路线
感觉各个版本都大同小异,这里选了知乎上一张图。
<来源:https://zhuanlan.zhihu.com/p/106682327>
1 Java语言特点
面向对象(消息驱动)、平台无关性(目标代码级)、分布式、多线程、可靠性(不支持指针,自动单元回收,越界检查,异常处理)、网络编程、编译和解释并存
补充:
a.
<来源:https://blog.csdn.net/zhaoshuzhaoshu/article/details/9222421>
事件:按下鼠标,按下键盘,按下游戏手柄,将U盘插入USB接口,都将产生事件。比如说按下鼠标左键,将产生鼠标左键被按下的事件。
消息:当鼠标被按下,产生了鼠标按下事件,windows侦测到这一事件的发生,随即发出鼠标被按下的消息到消息队列中,这消息附带了一系列相关的事件信息,比如鼠标哪个键被按了,在哪个窗口被按的,按下点的坐标是多少?如此等等。
句柄:句柄是一个32位的无符号整数值(64位系统下或许就是64位的了),操作系统用来标识各种对象。应用程序可以通过句柄来控制这些对象,这是windows的一种保护机制,不允许程序员直接控制对象,也是为使用不同语言的windows程序员提供一种统一的操纵windows对象的方式。
以上三个概念,是windows程序设计中常用到的概念。系统内的各种对象之间的通信就是靠它们来完成的。由外部触发事件,产生消息,消息里面带有需要处理这个消息的对象的句柄,操作系统根据这一句柄通知该对象有这么一个消息来了,那对象便知道要根据这消息的内容处理它了。
b.
<来源:https://baike.baidu.com/item/%E5%B9%B3%E5%8F%B0%E6%97%A0%E5%85%B3/22056324>
平台无关就是一种语言在计算机上的运行不受平台的约束,一次编译,到处执行。
平台无关有两种:源代码级和目标代码级。而C和C++具有一定程度的源代码级平台无关,表明用C或C++写的应用程序不用修改只需重新编译就可以在不同平台上运行。而Java编译出来的是字节码,去到哪个平台都能用,只要有那个平台的JDK就可以运行,所以,Java程序的最大优势就是平台无关。
2 Java平台核心机制
Java平台
Java程序运行
JIT,Just-In-Time: 传统解释器的解释执行是转换一条,运行完后就将其扔掉;JIT 会自动检测指令的运行情况,并将使用频率高(如循环运行)的指令解释后保存下来, 下次调用时就无需再解释(相当于局部
的编译执行),显著提高了 Java 的运行效率。
核心概念:Java虚拟机(JVM)、垃圾回收机制、Java运行时环境(Java Runtime Environment,JRE)
3 Java基本开发流程
使用一个文本编辑器(记事本等)编写一个简单的 Java 程序,并从命令行编译执行该程序。
<示例:https://www.cnblogs.com/qingdaodaozhu/p/15314331.html>
他已经了解世故,但还没变得世故;他已经看到了真相,但还没有被真相吓住。
——《半生为人》