发表时间:2022-03-26来源:网络
Java语言的创始人:James-Gosling(詹姆斯-高斯林)。
Java语言的创始公司:SUN(Standford University NetWork)。
PS:SUN本来是斯坦福大学的一个研究团队,后来壮大了就注册成了公司,并且注册时用的名字是Sun Microsystem。
1995年,正式发布了Java。
1996年,正式发布了可以下载的JDK,即JDK1.0。
1999年,发布了第二代Java平台,简称Java2,并且细化成三个不同的版本:
--标准版(Standard Edition),简称为J2SE,用于桌面端开发。
--企业版(Enterprise Edition),简称为J2EE,用于服务器端开发。
--微型版(Micro Edition),简称为J2ME,用于嵌入式开发。
2004年,发布了JDK1.5版本,添加了很多新的特性,并取名为Java5。
2005年,发布了Java6版本。
2009年,Oracle公司以74亿美刀收购了SUN公司,随后Java都归属于Oracle公司,并且大概以3年一个更新周期更新Java。
1、*跨平台,平台是指操作系统(Windows、MacOS、Linux)。
2、*面向对象。
3、简单性,Java是模仿C++编写的一门语言,因为C++的多继承、指针、内存回收等等都属于比较难控制的东西,所以Java摒弃多继承、指针、内存回收,取而代之的是单继承、引用、GC,以降低程序开发复杂度。
4、健壮性(鲁棒性),Java默认自带垃圾回收机制(Garbage Collection)、异常处理机制等等。在出错的时候在一定程度上不影响整个java代码的执行。
5、多线程。
6、*大数据开发相关,一些大数据框架使用Java语言编写的,如Hadoop。
因为有JVM虚拟机。
跨平台的理解:
一个中国人要去日本、美国、印度尼西亚旅游,但是这个中国人只会中文,所以他想要在语言上无障碍的话,必须要找一个翻译人员陪同,而这个翻译人员应该分别至少要会中日、中英、中印两语才行。这个的翻译人员就是JVM虚拟机的一个缩影,而日本、美国、印度尼西亚就是操作系统的一个缩影,因此一个操作系统应该有自己独立的JVM虚拟机。

JVM是Java Virtual Machine的英文首字母缩写。
Java虚拟机会在内存中开辟一块空间,专门用于运行字节码文件,JVM是在操作之前的一台虚拟的机器,用于屏蔽底层操作系统之间的差异,从而实现java源代码文件“一次编译、操作运行”的功能。
语言是一种规范,是沟通交流的一种方式,那么计算机语言就是人和计算机交流的方式,是人们事先定义好一种规范,只要按照规范编写源文件,那么计算机就能识别。因此同理可得C、C++、PHP计算机语言都是有自己和计算机交互的一套规范,如关键字,通过关键字就能识别你想要计算机做什么。
计算机只认识两个数字:0和1。计算机由硬件组成,计算机通过电路元件的通电(1)和不通电(0)来记录信息。所以说最后编译成字节码文件是一长串只有0和1组成的数字。如果说让我们编写一长串0和1去让计算机执行当然是可以,还省去了编译环节,但是这种编码方式效率极其低,因为我们要记忆很多一长串0、1数字,然后再进行编程,相反如果我们使用日常语言去编写代码,那么我们不需要花费大量的时间在0、1码的记忆和查找中,我们只需要使用提炼后的日常语言(关键字)进行编码即可,提高了开发效率,当然提炼后的日常语言就是一套编程规范,即C、C++、PHP、Java、JS等等,C、C++、PHP、Java、JS只是一种命名,真正实现规范的一些大公司的开发人员。所以说,一门计算机编程语言越高级就意味着它的规范越贴近我们的日常生活的语言。
附上语言发展过程图:

oracle官网:http://www.oracle.com
IBM:http://www.ibm.com/developerWorks/cn/
开源大全:http://www.open-open.com/
掘金(推荐):https://juejin.im
StackOverFlow(推荐):https://stackoverflow.com/
知乎(推荐):https://www.zhihu.com/
CSDN:https://www.csdn.net/
思否:https://segmentfault.com/
博客园:https://www.cnblogs.com/
程序就是存储在一个计算机文件中的一堆英文。
我们写完的程序,计算机是不认识的,必须通过JVM虚拟机将编写好的源文件编译(翻译)成计算机所识别的字节码文件。
编译过程好比如有一个中国学生用中文写了10页纸的论文给一个外籍老师看,这个外籍老师不认识中文,只认识英文,所以此时这个中国学生就需要一名中英翻译的同学,帮它把这篇中文论文翻译成英文论文,内容完全一样,只不过是表现形式不一样。
因此,最终有两篇论文,一篇是中文论文,另一篇是英文论文,对应到编程中,最终有两个文件,一个是源文件,另一个字节码文件。
要了解源文件和字节码文件存储在哪,首先得知道计算机的组成,计算机由软件和硬件组成,软件是我们摸不到的东西,而硬件是我们摸得到的东西,实实在在存在的。而且我们以后从事的职位绝大多数是软件开发工程师,软件工程师可以分为软件、开发和工程师三个词:
--工程师是一个职位
--开发是一个设计、创造、从无到有的过程
--软件可分为系统级软件(如操作系统软件Windows、Linux、MacOS等等)和应用级软件(如QQ、微信、浏览器等等)。
应用级软件的使用在系统级软件之上,所以一个应用级软件如果要在不同的系统级软件上运行,那么只有两个办法,①为每个系统级软件编写一个源文件,显然从时间、经济来看是不现实的,C、C++、IOS、Android都属于这一类计算机编程语言,②通过一个跨平台机制来帮我们进行对应系统级软件的一个转码,Java属于这个一类计算机编程语言,所以Java现在这么火,是有原因的,通过跨平台机制可以使得我们开发更加高效,更加节省成本,获取更大的利益,这是人类文明进步的本质。而且计算机硬件部分的内存用于临时执行文件的时候使用,硬盘是用于永久性保存文件的时候使用,即一个程序打开使用是拿到内存中执行,而保存的时候拿到硬盘中存放,因此如果一个源文件想要在不同的操作系统下执行,那么Java虚拟机显得格外的重要。
Java源文件命名为:源文件名.java。
字节码文件命名为:字节码文件名.class。
Java源文件通过记事本打开。
字节码文件通过JRE打开,即Java Runtime Environment,Java运行环境,好比mp3要一个音乐播放器才可以打开,mp4要一个视频播放器才可以打开,doc文档需要WPS或者Office才可以打开。
--JVM
JVM,Java Virtual Machine,java虚拟机。
Java虚拟机会在内存中开辟一块空间,专门用于运行字节码文件,JVM是在操作之前的一台虚拟的机器,用于屏蔽底层操作系统之间的差异,从而实现java源代码文件“一次编译、操作运行”的功能。
--JRE
JRE,Java Runtime Environment,Java运行环境
JRE中包含了JVM,因此java源文件才能运行在JRE中,并且在运行之前,源文件需要翻译成字节码文件,随后才将字节码文件放在JVM上运行。
因此下载JRE的时候就间接下载了JVM。所以如果想要运行别人写好的java程序,只需在电脑上安装JRE即可。但是开发人员仅仅只有JRE还不够,我们是做开发的,是一个从无到有的过程,是我们写好了java程序,交给别人来运行,所以我们还需要JDK。
--JDK
JDK,Java Development Kit,Java开发工具包
JDK涵盖了很多在开发时需要用到的工具。因为JDK是开发人员使用的,开发出来的java程序需要立即执行看下是否有bug或者其他问题,所以JDK中包含了JRE,即也包含了JVM。所以我们Java开发人员只需要安装JDK,安装完JDK就可以进行开发了。
--小结
[1] 想要了解JVM,建议阅读《深入理解java虚拟机》。
[2] 想要运行java程序,需要安装JRE。
[3] 想要开发Java程序,需要安装JDK,安装步骤后续有介绍。
[4] 开发人员下载JDK时,为了显得更加有素养,不建议通过百度下载,而是通过官网下载,即Oracle公司的官网(http://www.oracle.com)。浏览外国官网的时候不建议翻译,显得有点low。
[5] 附上JVM、JRE、JDK关系图。

Java名字的由来是印度尼西亚的爪哇岛,并且爪哇岛因为猫屎咖啡文明全世界,所以java也想像爪哇岛一样闻名于世界,所以java软件的图标是冒着热气的咖啡杯,这只是一个传闻版本,还有另一个版本,大家可自行***百度一下,你就上当***。
Java7及以后logo都是oracle,java7之前是sun。
[1] 访问oracle官网
https://www.oracle.com/technetwork/java/javase/overview/index.html。
[2] download javaSE8



随后就会出现登录页面,此时需要如果有oracle直接登录即可,如果没有,就需要注册一个,接着登录,再按以上的操作下载jdk。安装JDK就是无脑的click next即可。
源代码就是一堆按照某种规则编写的英文,并且以文件形式存储在计算机的硬盘上,源代码文件都是以后缀名.java结尾的,源文件打开后,里面的内容是一堆按照某种规则编写的英文。
步骤:
[1] 创建一个.java文件,文件名为HelloWorld。
[2] 在HelloWorld文件中先写一个关键字class,即类,表明当前的文件是一个java文件。
[3] 在类的后面起一个名字,理论上是可以随便写的,但是需要按照命名规则和规约,规则就是一些事先制定的法则,而规约就是行业内大家一直默认的一些准则,规约可以遵循也可以不遵循,但是不遵循写出来的代码可能被人觉得是不专业的开发人员写的。
[4] 在类体中编写java源代码,如下:

--程序的结构分析:

--规则:
类名可以包含如下的信息:
i. 字母(大小写敏感,尽量都是用字母来完成命名)
ii. 数字(0-9都可以用,但是数字不能作开头)
iii. 符号(英文下划线 _ 和英文dollar符号 $ )
iv. 中文(强烈不推荐,显得不太专业不规范)
--规约:
i. 类的名字要求首字母大写(如Person、Test、Demo等等),如果两个及以上的单词组成的类名,每个单词的首字母都大写,即大驼峰命名规则。
ii. 类的名字要见名知意,建议大家尽量使用英文单词起名。
iii. 类名需要和文件名一致。
IDE是Integrated Development Environment是首字母缩写,记事本和IDE都可用于开发java程序,记事本仅仅只有记录java代码的功能,而IDE除了可以记录java代码之外,还有关键字拼写错误高亮、代码出错异常、编译时异常高亮提示、自动导包、快捷键功能等等一系列辅助咱们开发者进行软件开发,因此我们有理由拒绝使用IDE吗?答案很显然。
建议在学习javaSE阶段使用记事本进行开发,学习到集合、IO等常用类再切换IDE进行开发,因为常用类有很多异常以及包要导入,在我们通过一段时间的纯记事本开发之后,我们可以开始使用IDE,感受IDE带给我们的快感。
java开发常用的IDE:Eclipse、MyEclipse、IDEA。
当我们通过dos命令窗口执行某个可执行文件时,windows默认遍历Path变量中的每一个路径,搜索待执行的命令是否在某个文件夹中,如果找到,则直接执行,否则,报错:“xxx不是内部或外部命令,也不是可运行的程序或批处理文件。”

在JDK安装路径下存在编译工具javac.exe,但是双击编译工具弹出了一个黑色对话框,并且一闪而过,说明javac.exe的打开方式不对,编译工具只能在dos命令窗口中打开才能使用。
PS:doss命令窗口的打开方式:①window+r ②输入cmd指令 ③点击确定
--dos界面如下:

--问题:通过dos命令窗口进入javac所在文件夹,当我们想要利用编译工具去编译我们编写好的Java源文件,发现源文件所在的路径与编译工具不在同一个路径下!!!
--解决方案:将这个javac编译工具放置在电脑中的某个位置,这个位置是当前电脑所有目录都可以共同访问到的位置,以后就不用纠结工具在哪了,相当于是搭建环境(安装JDK)的一个补充,这个位置就是环境变量。
--环境变量的查找:
[1] 右击桌面电脑,点击属性。
[2] 点击高级系统设置。
[3] 在系统属性界面中,先点击高级,再点击环境变量。

[4] 找到用户变量Path,将javac.exe所在文件路径添加进入

[5] 关闭cmd命令窗口,重新打开,再输入javac。

发现,可以在个人文件夹执行javac工具,说明现在在任何位置都可以执行javac工具。
利用JDK开发工具包提供的工具,使用编译工具javac将源文件编译成字节码文件,再使用执行工具java执行字节码文件。
当解决了19和20这两个问题之后,就可以利用javac工具进行编译了。
--当前需编译的java源文件所在路径:

--首先输入在源文件所在路径下输入javac查看工具javac.exe的用法

--根据用法编译HelloWorld.java

dos命令窗口没有报错,则是编译成功,可以查看源文件所在文件夹,会出现一个和类名相同但是扩展名为.class的文件。


打开字节码文件发现全是乱码,但其实并不是乱码,只是我们看不懂而已,计算机可是看得懂的,因为字节码文件就是给计算机看的。
--使用java运行字节码文件

注意事项:
[1] 如果公共类名和文件名不一致,那么会报“类XXX是公共的,应在名为 XXX.java 的文件中声明”报这个错是公共类名需要和文件名一致,这是规约,我们遵守即可。

[2] 如果执行的类中没有主方法,那么会报“在类 XXX中找不到 main 方法, 请将 main 方法定义为:....”,报这个错是因为运行的java程序需要有一个入口函数main,即使有很多个类,但是入口函数main只需编写一个即可,因为当前只有一个类HelloWorld,所以入口函数main必须放在HelloWorld中。
[3] 在每次修改过源文件之后都需要重新通过工具javac编译。
一方面是编译(javac.exe)是否有问题。
另一方面是执行(java.exe)是否有问题。
皓盘云建最新版下载v9.0 安卓版
53.38MB |商务办公
ris云客移动销售系统最新版下载v1.1.25 安卓手机版
42.71M |商务办公
粤语翻译帮app下载v1.1.1 安卓版
60.01MB |生活服务
人生笔记app官方版下载v1.19.4 安卓版
125.88MB |系统工具
萝卜笔记app下载v1.1.6 安卓版
46.29MB |生活服务
贯联商户端app下载v6.1.8 安卓版
12.54MB |商务办公
jotmo笔记app下载v2.30.0 安卓版
50.06MB |系统工具
鑫钜出行共享汽车app下载v1.5.2
44.7M |生活服务
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-02-15
2022-02-14