记录Java学习的笔记,持续更新
目录
一、Java历史:
Java创始人
詹姆斯·高斯林
20世纪90年代,智能家居开始兴起,由于C++所具有的优势,首先考虑采用C++来编写程序。但C++无法跨平台运行,因此,实现相同的功能时,不同的硬件就要编写不同的代码。如何让编写的程序跨平台,用相同的代码在不同的平台上运行,也就成了一大难题,在这样的时代背景下,詹姆斯·高斯林领导的Green plan(绿色计划,由SUN公司成立)开发了一款名为oak(Java的前身)的编程语言。
1995年,SUN公司将这门编程语言发布,并将Oak更名为Java(在申请注册商标时,发现Oak已经被人使用了,再想了一系列名字之后,最终,使用了提议者在喝一杯Java咖啡时无意提到的Java词语),引起了全球热潮。
2009年,Oracle(甲骨文)将SUN公司收购。
二、Java的两大特点:
1.跨平台。一次写好,处处运行。不需要针对每个平台(操作系统)重新写一个程序。通过JVM(Java虚拟机)实现。
2.垃圾回收。Java有自动的垃圾回收机制,不用担心程序中的内存溢出问题。内存溢出:内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存。
三、Java的面向对象:
与面向过程的c语言是有差别的。Java是一门面向对象的编程语言。以造车来举例:“面向过程”,就是先造车轮,再造发动机,再造车身……依次制造,造完前面的,才能造后面的。“面向对象”,就是不分前后,造完所有的车轮,发动机,车身……再组装起来。面向的是具体的事物。
四、Java的运行机制
Java编译和运行:开发源代码.java文件,通过系统编译源文件后生成 字节码文件.class文件,字节码文件被JVM(Java虚拟机)根据操作系统的不同,将class翻译成当前操作系统可识别的机器指令,最后程序被执行。Java通过JVM(Java虚拟机)解决了程序的跨平台问题。深入思考,JVM是否跨平台?Java是跨平台,但是JVM是否是跨平台?JVM因操作系统而异。所以JVM不跨平台,正是因为JVM不夸平台,造成了Java的跨平台。
五、Java的下载与环境搭建
1.下载:java官网就是oracle官网。https://www.oracle.com/java/technologies/downloads/#java8-windows根据操作系统位数安装对应版本,建议下载Java8,版本比较稳定。下载jdk1.8(注意32位和64位不同)默认java安装完毕,不要修改路径。
2.设置环境变量
可以参考这一篇Java的前期准备工作就完成了。
3.JVM,jre,jdk区别
JVM:虚拟机,顾名思义就是虚拟的一台计算机,可以看成一台机器,也有内存,处理器,寄存器,堆栈等等资源和硬件,只不过都是模拟出来的,主要是用来运行Java程序的。JVM的主要作用是通过Class Loader来加载Java程序,并且按照Java API来执行加载的程序。
Jre:java runtime environment java运行时环境,包括了jvm包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
Jdk:java development kit java开发工具包,为开发人员服务的。包含了jreJDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等。
Jvm<jre < jdk
六、Java初体验
新建一个空白文本,重命名为Hello后缀名改为.java,输入以下代码
public class hello {public static void main(String[] args) {System.out.println("hello word");}}
编译:编译命令采用javac hello.java 生成hello.class,这个文件并不能直接在计算机运行,因为里面不是机器码。但是JVM,java虚拟机解释运行.class 结尾的文件
运行:运行命令 java hello一定注意:javac后面跟的是java文件名和扩展名。Java后面跟的是java的类名。
七、编辑工具IDE使用
eclipse。由IBM公司投巨资开发