天天看点

疯狂讲义java_《疯狂Java讲义》 1-概述

01  发展历史:Sun->Oracle

02  编译型语言:一次性翻译成机器码,效率较高,通常无法移植 ,C、C++……

解释型语言:逐行解释,立即执行,效率较低,可跨平台(特定平台的解释器)

伪编译型语言:如VB,先别编译成P-代码,可执行的的exe文件包含链接解释程序的代码

03  Java的运行机制

编译并非生成机器码,而是生成与平台无关的字节码(*.class),字节码不可执行,需用Java解释器解释执行。具有双重特性。

04  JVM:Java虚拟机,可运行字节码文件的虚拟计算机;字节码面向JVM

不同平台的JVM不同,但提供了相同的接口(不同笔搭配相同笔帽的转化器)

05  JDK:Java SE Development Kit,即Java标准版开发包,提供了编译、运行Java程序所需的所有工具或资源

编译器,运行时环境(JRE),常用类库

JDK(开发)>JRE(运行)>JVM    核心虚拟机+其它环境支持

06  javac:编译;java:运行    安装后将命令添加到PATH环境变量(用户变量与系统变量)

javac -d dir srcFile  javac -d . srcFile  javac srcFile

java Java类名  java -classpath dir1;dir2;dir3 Java类名 (Windows文件夹可直接在向导栏copy路径名)

07  Java程序的基本规则:

类是Java程序的最小程序单元,main作为入口写法几乎固定  public static void main(string[] args)

源文件命名规则;文件名必须与public类的类名相同,其它建议与类名相同,且一个文件只定义一个类

严格区分大小写;关键字都是小写的,数据类型呢

路径最好不要包含空格

08  CLASSPATH,现在一般不用设置,如要则加 . 表示当前路径,可用于加载第三方类库,可作为java参数设置搜索Java类的路径

09  输出  System.out.print()不换行  System.out.println()换行

10  JDK9开始引入jshell工具

REPL(Read-Eval-Print Loop)交互的命令行窗口,很像Python啊,可方便的测试新API

/help  /exit

11  C/C++显式进行垃圾回收:错误回收->系统崩溃;忘记回收->内存泄露

垃圾回收(GC)  Java的内存分配与回收是由JRE在后台(提供线程自动检测与控制)自动进行

碎片:内存块之间的内存空闲区;碎片整理:将占用的内存移到堆的一端

练习:

01  开发环境OK

02  最初String忘记首字母大写,emmm,int?