Java认知篇(JavaSE - 六 ~ 十)(持续更新迭代)

目录

六、Java applet 与 Internet

1. 简介

2. ChatGPT

a. 跨平台性

b. 动态加载

c. 安全性

d. 网络通信

e. 用户界面

七、Java语言发展史

1991 年

1992 年

1993 年

1995 年

1996 年

1997 年

1998 年

1999 年

2000 年

2001 年

2002 年

2004 年

2005 年

2006 年

2009 年

2011 年

2014 年

2017 年

2018 年

2019 年

2020 年

2021 年

八、关于Java语言的常见误解

误解一:JavaScript是Java的简易版

误解二:java是解释性的,因此对于关键的应用程序速度太慢

误解三:所有的Java程序都是在网页中运行的

误解四:Java将成为适用于所有平台的通用性编程语言

误解五:Java是HTML的扩展

误解六:Java是一种非常容易学习的程序设计语言

误解七:Java只不过是另外一种程序设计语言

九、Java语言程序设计环境

1. 计算机语言发展史

a. 机器语言

b. 汇编语言

c. 高级语言

2. Java语言发展史

3. Java语言主要特性

a. Java语言是简单的

b. Java语言是面向对象的:

c. Java语言是分布式的

d. Java语言是健壮的

e. Java语言是安全的

f. Java语言是体系结构中立的

g. Java语言是可移植的

h. java语言是解释型的

i. Java语言是多线程的

j. Java语言是动态的

k. Java语言是高性能的

4. Java开发工具

5. 开发环境配置(Windows系统)

a. 名词概念

ⅰ. JVM

ⅱ. JRE

ⅲ. JDK

ⅳ. class

ⅴ. path环境变量

ⅵ. classpath环境变量

ⅶ. class文件

b. 下载JDK

c. 环境变量配置

6. 记事本编写代码常见问题

7. cmd 相关命令

十、JDK & JRE & JVM之间的关系

1. JVM

2. JRE

3. JDK


六、Java applet 与 Internet

1. 简介

用户从Internet下载Java字节码,并在自己的机器上运行。

JSmol amino acids demo

如今,要在浏览器中使用applet,这不仅需要一定的水平,而且要付出很大的努力。

2. ChatGPT

Java Applet是Java技术中的一个概念,它允许在Web浏览器中嵌入Java小程序。

Java Applet可以通过Internet下载并在用户的浏览器中执行。

下面是Java Applet与Internet的一些相关内容:

a. 跨平台性

Java Applet的一个重要优势是其跨平台性。

由于Java代码在执行时由Java虚拟机(JVM)解释和执行,因此可以在各种操作系统和平台上运行,例如

Windows、Mac和Linux。

这使得开发者可以编写一次代码,并在各种平台上提供一致的用户体验。

b. 动态加载

Java Applet通过Internet下载到用户的浏览器中。

这意味着可以通过URL在Web页面上引用Applet,并将其作为Web页面的一部分进行加载和执行。

这种动态加载的特性使得在用户访问Web页面时能够即时获取和更新Applet程序。

c. 安全性

Java Applet在执行过程中受到一定的安全限制。由于Applet在受限制的沙箱环境中运行,它无法执行一些危险操

作,例如访问本地文件系统或执行系统级任务。这种安全机制有助于保护用户的计算机免受恶意代码的攻击。

d. 网络通信

Java Applet可以与远程服务器进行网络通信。它可以通过HTTP协议与服务器交换数据,例如从服务器加载图

像、接收服务器端推送的信息或与远程API进行交互。这使得Applet能够提供与服务器端交互的动态功能。

e. 用户界面

Java Applet可以在浏览器中创建交互式用户界面(UI)。它可以使用Java提供的Swing或AWT等图形库来设计和

构建各种UI元素,例如按钮、文本框、下拉列表等。这使得开发者能够在Web页面上创建富交互性的应用程序。

然而,随着时间的推移,由于Web技术的发展和安全性方面的考虑,Java Applet的使用逐渐减少。

现在,主要的Web浏览器对Java Applet的支持有所限制。

相反,Web开发者更倾向于使用其他技术,如JavaScript和HTML5来实现丰富的Web应用程序。

七、Java语言发展史

任何一门语言的诞生都有其诞生的意义。 Java 也不例外。

任何一个语言在一开始的时候都是不完美的, 并且相对来说功能和开发语言的需求就简单很多,也就是功能相对

单一,都是在一点一点完善发展起来的, 跟上时代了就继续盛行, 哪些迭代没有跟上的就也被淘汰了。

1991 年

Java 的历史要追溯到 1991 年, 由 Sun 公司带领的开发小组, 想设计一种小型的计算机语言,主

要用于有线电视转换盒这类的消费设备。 由于这类设备的处理能力和内存都非常有限,所以语言

就必须设计的非常小且能够生紧凑的代码。

另外,由于不同的厂商会选择不同的 CPU, 因此很重要的一点就是这种语言不应该与任何特定的体

系结构绑定。

这个项目被命名为 “Green”。

Sun 公司的人都有 Unix 的应用背景, 所以开发的语言用了 C++ 为基础。

并把这种语言称为 “Oak”, 后来, Sun 公司的人后来发现, Oak 是一种已经有的计算机语言的名

字, 于是,将其改名为 “Java”。

1992 年

1992 年, Green 项目发了第一个产品,这个产品可以提供非常智能的远程控制,遗憾的是, Sun 公司对这个产

品并不感兴趣。

1993 年

1993 年,Green 项目(新名字 “First Person 公司”)在一这一整年以及 1994 年上半年, 一直苦

苦寻求买家购买他们的技术。

然后一个也没有找到, 然后在 1994 年,Frist Person 公司解散了。

而且在这一年,1994年4月20日,一条64K的国际专线从中科院计算机网络中心(NCFC工程)通

过美国Sprint公司连入Internet,实现了中国与Internet的全功能连接。从此中国被国际上正式承认

为第77个真正拥有全功能Internet的国家。

当这些在 Sun 公司发生的时候, Internet 的万维网也在日渐发展壮大, 当时的万维网关键是把浏

览器超文本页面转换到屏幕上。

在 1994 年大多数都在使用 Mosaic, 这是 1993 年出自伊利诺伊大学超级计算中心的一个非商业化

的 Web 浏览器。

在1994 年中期,Java 语言的开发者意识到, 要是能够建立一个相当酷的浏览器, 在客户/服务器

主流框架中,浏览器恰好需要我们完成一些工作: 体系结构中立、实时、可靠、安全。这些问题

在工作站环境中并不太重要。

所以决定开发浏览器。

1995 年

实际的浏览器是由 Patrick Naughton 和 Jonathan Payne 开发的,并演变为 HotJava 浏路器.

HotJava 浏览器采用Java 编写,为了炫耀Java 语言的超强能力。这个浏览器可以在网页中执行内

嵌的 Java 代码。 也就是 JavaApplet。这一 “技术证明” 在 1995 年 5 月 23 日的SunWorld'95 大会

上展示,同时引发了人们对他的追逐,一直延续延续到现在。诞生几个月后, 就超过了 10 万人下

载 Java 语言。

1996 年

1996 年初, Sun 发布了第一个 Java 1.0 版本。 但是这个版本 Java 1.0 并不能用来进行真正的应

用开发。虽然后来 Java 1.1 弥补了其中很多的不足和明显的缺陷。大大改进了反射能力, 并未

GUI 编程增加了新的事件处理模型,单是它仍然有很大的局限性, 并没有为 Java的黄金时期到来

做好准备。

JDK 1.0  开发代号为 Oak ( 橡树 )。

1997 年

1997 年 2 月, 发布了 Java 1.1。 JavaOne 会议召开, 参与者逾一万人, 创下了当时全球同类会

员规模记录。

JDK 1.1  引入的新特性包括:

  • 引入JDBC(Java Database Connectivity);
  • 支持内部类;
  • 引入Java Bean;
  • 引入RMI(Remote Method Invocation);
  • 引入反射(仅用于内省)。

1998 年

1998 年 JavaOne 会议的头号新闻就是发布 Java 1.2 版本, 将这个早期玩具式的 GUI 和图形工具

包括一些工具包。

在这个版本发布的 3 天后, Sun 公司的市场部将它改名为更加吸引人的 “Java 2 标准版软件开发

1.2 版”。也就在这个时候, 除了标准版(Standard Edition)J2SE 之外, Sun 公司还推出了另外

两个版本:

一是, 手机嵌入式设备“微型版”(Micro Edition)J2ME。

另一个是用于服务器端的处理“企业版”(Enterprise Edition)J2EE。

JDK 1.2 开发代号为Playground(操场)

  • 引入的新特性包括:
  • 引入集合(Collection)框架;
  • 对字符串常量做内存映射;
  • 引入JIT(Just In Time)编译器;
  • 引入对打包的Java文件进行数字签名;
  • 引入控制授权访问系统资源的策略工具;
  • 引入JFC(Java Foundation Classes),包括Swing 1.0、拖放和Java 2D类库;
  • 引入Java 插件;
  • 在JDBC中引入可滚动结果集、BLOB、CLOB、批量更新和用户自定义类型;
  • 在Applet中添加声音支持。

1999 年

1999 年 4 月 27 日, HotSpot 虚拟机发布。

2000 年

2000 年 5 月 8 日, J2SE 1.3 发布。

JDK 1.3   开发代号为Kestrel(红隼)

  • 引入的新特性包括:
  • 引入Java Sound API;
  • jar文件索引;
  • 对Java的各个方面都做了大量优化和增强。

2001 年

2001 年 9 月 24 日, J2EE 1.3 发布。

2002 年

2002 年 2 月 26 日, J2SE 1.4 发布, 标准版 1.3 和 1.4 版本对最初的 Java 2 版本做出了增量式

的改进,提供了不断扩展的标准类库。

提高了性能, 并且还修复一些 bug。在这个期间, 原先对 Java Applet 和客户端应用的炒作逐渐

消退, 但是Java 则成为服务器应用端的首选平台。

并且在这个版本上出现了大量的开源框架。

JDK 1.4  开发代号为Merlin(隼)

  • 引入的新特性包括:
  • XML处理;
  • Java打印服务;
  • 引入Logging API;
  • 引入Java Web Start;
  • 引入JDBC 3.0 API;
  • 引入断言;
  • 引入Preferences API;
  • 引入链式异常处理;
  • 支持IPv6;
  • 支持正则表达式;
  • 引入Image I/O slot machine API。

2004 年

2004 年 9 月 30 日, 下午 18:00, J2SE 1.5 发布。 这成为了 Java 语言的里程碑,这个版本对

Java 语言做出了重大的改进,为了表示该版本的重要性, 这个版本原来定位 1.5 版, 在 2004 年

的 JavaOne 大会之后, 版本直接升为 5.0,对外宣布 Java SE 5.0。

内部还是使用 Java 1.5。

这个版本加入了泛型的支持,另外受到了 C# 的启发, 还增加了几个很有用的语言特性:

for each 循环、自动装箱、注解、枚举、可变长参数等。

JDK 1.5  开发代号为Tiger(老虎)

  • 引入的新特性包括:
  • 引入泛型;
  • 增强循环,可以使用迭代方式;
  • 自动装箱与自动拆箱;
  • 类型安全的枚举;
  • 可变参数;
  • 静态引入;
  • 元数据(注解);
  • 引入Instrumentation。

2005 年

2005 年 6 月,JavaOne 大会召开,Sun 公司公开 Java SE 6。并且,对 Java 的各种版本进行更

名,取消其中的数字“2”:

J2EE 改名为 Java EE,J2SE 改名为 Java SE,J2ME 改名为Java ME。单内部版本不变化还沿用

之前的写法。一直延续至今。

这个版本没有对语言方面进行修改, 而是做了其他性能改进, 并增强了类库。

2006 年

2006 年 12 月, Sun 公司发布了 Java EE 6, 并且宣布, 将 Java 语言作为免费软件对外发布。

使用 GPL v2 (GNU General Public License v2) 协议下公开了源码。并且建立了 OpenJDK 组织对

这些源码进行独立管理。

除了极少量的产权代码外(Encumbered Code,这部分代码大多是 Sun 公司本身也无权限进行开

源处理的),OpenJDK 几乎包括了Sun JDK 的全部代码外,OpenJDK 的质量主管曾经表示,在

JDK 1.7 中,Sun JDK 和OpenJDK 除了代码文件头的版权注释之外,代码基本上完全一样,所以

OpenJDK7 与 Sun JDK 1.7 本质上就是同套代码库开发的产品。

JDK 1.6  开发代号为Mustang(野马)

  • 引入的新特性包括:
  • 支持脚本语言;
  • 引入JDBC 4.0 API;
  • 引入Java Compiler API;
  • 可插拔注解;
  • 增加对Native PKI(Public Key Infrastructure)、Java GSS(Generic Security Service)、Kerberos和LDAP(Lightweight Directory Access Protocol)的支持;
  • 继承Web Services;
  • 做了很多优化。

2009 年

JDK 1.6发布以后,由于代码复杂性的增加、JDK开源、开发 JavaFX、经济危机及Sun 公司收购

案等原因,SUN公司在JDK发展以外的事情上耗费了很多资源,JDK的更新没有再维持两年发布一

个主版本的发展速度。并且在2009 年 4 月 20 日,被 Oracle 以 74 亿美元收购Sun 公司,取得了

Java 的商标版权(Java语言本身并不属于哪个公司所有,它由JCP组织进行管理,尽管JCP主要

是由Sun 公司或者说Oracle 公司所领导的)。也就在这两年Java 的开发停滞了一段时间。一直到

了 2011 年。

JDK 1.7  开发代号是Dolphin(海豚)

  • 引入的新特性包括:
  • switch语句块中允许以字符串作为分支条件;
  • 在创建泛型对象时应用类型推断;
  • 在一个语句块中捕获多种异常;
  • 支持动态语言;
  • 支持try-with-resources;
  • 引入Java NIO.2开发包;
  • 数值类型可以用2进制字符串表示,并且可以在字符串表示中添加下划线;
  • 钻石型语法;
  • null值的自动处理。

2011 年

2011 年 7 月,JavaSE 7 发布。但是很多规划在这个版本的特性,其中 Lambda 项目 ( Lambda

表达式、函数式编程)、Jigsaw 项目(虚拟机模块化支持)、动态语言支持、GarbageFirst 收集器和

Coin 项目(语言细节进化)等子项目都没有实现在这个版本中, 而是用了 Oracle公司实行的 “B计

划”。

2014 年

2014 年 3 月,JavaSE 8 发布。 这个版本, 在近 20 年中这个版本变更最大, Java SE 8 包含了

“函数式” 编程方式,可以很容易的表述并发执行的计算。 这个版本也是现在企业中使用范围最广

的一个版本。 就想一开始说的那样, 能跟上时代的进步, 就不会被淘汰。

JDK 1.8  开发代号是Spider(蜘蛛)

  • 支持 lambda支持;
  • 增强日期与时间API的功能;
  • 对垃圾回收的性能也进行了改进;
  • 并且移除了permgen区。
  • Lambdas表达式与Functional接口
  • 接口的默认与静态方法
  • 方法引用
  • 重复注解
  • 更好的类型推测机制
  • 扩展注解的支持

2017 年

2017 年 7 月,Oracle 公司将发布 JDK 9。这个版本算是比较大的调整,加入了很早之前就规划的

模块化功能。

并且对整个 JDK 基于模块进行了重新编写。

Java 9 提供了轻量级 JSON API; 使用 G1 作为默认的垃圾收集器,替代了之前默认使用的 Paralel

GC; 引入了jShell 这个交互性工具。

并且全面支持 HTTP 2.0。

也就是在这一年,2017 年 8 月,Oracle 决定将 Java EE 移交给开源组织,最后 Eclipse 基金会接

手。

由于甲骨文不允许开源组织用 Java 的名号,于是 Eclipse 选出了 "Jakarta EE" 和 "Enterprise

Profile" 两个后续名字,最终前者以 64.4% 的票数获胜。也就是说,Java EE 已经正式更名为

Jakarta EE(雅加达)。

2018 年

从 2018 年开始, 每6个月就会发布一个 Java 版本, 以更快地引入新特性。这里又分为 LTS 版和

最新版。

生产环境中最好只使用 LTS 版本, 因为这个版本更加稳定, 维护周期更长。

2018 年 3 月 21 日, Java 10 发布。

2018 年 9 月 25 日, Java 11 LTS 发布。

2019 年

2019 年 2 月 Java 12 发布

2019 年 9 月 Java 13 发布

2020 年

2020 年 3 月 17 日,Java 14 发布。

2020 年 9 月 15 日,Java 15 发布。

2021 年

2021 年 3 月 16 日,Java SE 16 发布。

2021 年 9 月 14 日,Java SE 17 LTS 发布。

这个是继 Java 11 之后的有一个长期支持版本, 并且直接支持到了 2029 年 9 月。这可能是下一

个 Java 8。

所以学习的话, 可以直接学习这个版本。当然也可以直接学习 Java 17 这样的话, 对于工作来说

3 年之内不会有大的变化。

八、关于Java语言的常见误解

java作为当下的一门热门编程语言,在很多领域发挥着举足轻重的作用,

可是很多初学者或者非科班出身的小伙伴总是对于java有着一些这样或者那样的误解,

下面将列举出一些常见的误解,并给出相应的解释。

误解一:JavaScript是Java的简易版

JavaScript是一种可以在网页中使用的脚本语言,它由Netscape发明,最初的名字是LiveScript。

JavaScript的语法让人想到Java,另外名字也有些相像,但除此之外,两者并无任何关系。

尤其是,Java是强类型的,编译器能够捕获滥用导致的很多错误。

而在JavaScript中,只用当程序运行时才能发现这些错误,所以消除错误会更费劲。

误解二:java是解释性的,因此对于关键的应用程序速度太慢

早期的java是解释型的。

现在Java虚拟机使用了即时编译器,因此采用Java编写的“热点”代码运行速度与C++相差无几,有

些情况下甚至更快。

误解三:所有的Java程序都是在网页中运行的

所有的Java applet都在Web浏览器中运行。这也恰恰是applet的定义,即一种在浏览器中运行的Java程序。

然而,大多数Java程序是运行在Web浏览器之外的独立应用程序。

实际上,很多java程序都在Web服务器上运行并生成用于网页的代码。

误解四:Java将成为适用于所有平台的通用性编程语言

从理论上讲,这是完全有可能的。但在实际中,某些领域其他语言有更出色的表现,比如,

Objective  C和后来的Swift在IOS设备上就有着无可取代的地位。浏览器中的处理几乎完全由

JavaScript掌握。Windows程序通常都用C++或C#编写。Java在服务器端编程和跨平台客户端应用

领域则很有优势。

误解五:Java是HTML的扩展

Java是一种程序设计语言;HTML是一种描述网页结构的方式。

除了用于在网页上放置Java applet的HTML扩展之外,两者之间没有任何共同之处。

误解六:Java是一种非常容易学习的程序设计语言

像Java这种功能强大的语言大都不太容易学习。

首先,必须将编写玩具式程序的轻松与开发实际项目的艰难区分开来。

其次的话,Java类库包含数千个类和接口以及数万个函数。

虽然我们并不需要知道它们中的每一个,然而,要想利用Java解决实际问题,还是需要了解不少内

容的。

误解七:Java只不过是另外一种程序设计语言

Java是一种很好的程序设计语言,很多程序设计人员喜欢Java胜过C、C++和C#。

有几百种好的程序设计语言没有广泛流行,而带有明显缺陷的语言(如C++和Visual Basic)却大

行其道。

这是为什么?程序设计语言的成功更多地取决于其支撑系统的能力,而不是语法的精巧性。

人们主要关注的是:是否提供了有用、便捷和标准的库能实现你需要的功能?

是否有工具开发商能建立强大的编程和调试环境?

语言和工具集是否与计算机基础架构的其他部分整合在一起?

Java的成功缘于其类库能够让人们轻松完成原本有一定难度的事情,例如网络连接、Web应用和

开并发。

Java减少了指针错误,这是一个额外的好处,因此使用Java编程的效率更高。但这些并不是Java

成功的全部原因。

九、Java语言程序设计环境

1. 计算机语言发展史

a. 机器语言

机器语言是使用二进制代码表示指令的语言,它是计算机硬件系统可以直接识别,并能真正理解和

执行的唯一语言。

b. 汇编语言

汇编语言是一种面向微处理器、微控制器等编辑器件的计算机语言。机器不同,汇编语言指令对应

的机器语言指令集也不相同。

c. 高级语言

高级语言接近人类自然语言,与机器情况无关,拥有自身特定的符号和语法规范。

2. Java语言发展史

Java语言是由Sun公司推出的一种面向对象的程序设计语言。

  • 1995年5月23日,Java语言诞生
  • 1996年1月,第一个JDK-JDK1.0诞生
  • 1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术
  • 1996年9月,约8.3万个网页应用了JAVA技术来制作
  • 1997年2月18日,JDK1.1发布
  • 1998年12月8日,JAVA2企业平台J2EE发布
  • 2009年04月20日,甲骨文74亿美元收购Sun。取得java的版权。
  • 2019年3月20日,Java SE 12 发布

目前,Java分为三个体系:

  • JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
  • JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
  • JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)

3. Java语言主要特性

a. Java语言是简单的

Java语言的语法与C语言和C语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java

丢弃了C中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制

类型转换。特别地,Java语言不使

用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

b. Java语言是面向对象的:

Java语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持

接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支

持动态绑定,而C++语言只对虚函数使用动态绑定。

总之,Java语言是一个纯的面向对象程序设计语言。

c. Java语言是分布式的

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java

net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket

等。

Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

d. Java语言是健壮的

Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。

对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。

e. Java语言是安全的

Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。

除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类

ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理

机制(类SecurityManager)让Java应用设置安全哨兵。

f. Java语言是体系结构中立的

Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class

的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软

件的分发。

g. Java语言是可移植的

这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。

Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C

实现的。

h. java语言是解释型的

如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系

统中运行。

在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶

段被载入到运行环境中。

i. Java语言是多线程的

在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。

通常有两种方法来创建线程:

其一,使用型构为Thread(Runnable)的构造子类将一个实现了Runnable接口的对象包装成一个线

程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。

值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run

方法中包含了线程所要运行的代码。

线程的活动由一组方法来控制。

Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。

j. Java语言是动态的

Java语言的设计目标之一是适应于动态变化的环境。

Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。

这也有利于软件的升级。

另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

k. Java语言是高性能的

与那些解释型的高级脚本语言相比,Java的确是高性能的。

事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。

4. Java开发工具

Java语言应尽量保证系统内存在1G以上,其它工具如下:

  • Linux 系统、Mac OS 系统、Windows 95/98/2000/XP,WIN 7/8系统。
  • Java JDK 7、8……
  • Notepad 编辑器或者其他文本编辑器。
  • IDE(Integrated Development Environment,集成开发环境):是含代码编辑器、关键词高亮、智能感应、智能纠错、格式 美化、
    版本管理等功能于一身的“高级代码编辑器”。(每个IT工程师都要有自己顺手的IDE,它是我们的武器,但是要理解无论是使用什么
    IDE编写出来的代码,本质上都是“白底黑字”的“纯文字”)

5. 开发环境配置(Windows系统)

a. 名词概念

ⅰ. JVM

Java虚拟机,是可运行Java字节码文件的“虚拟计算机”,它相当于给各种实际运行平台包装上Java

虚拟操作系统,Java字节码文件便可直接运行在此虚拟平台上。

ⅱ. JRE

Java运行环境,是执行Java程序必备的各种要素的集合。

ⅲ. JDK

Java开发工具。除了运行Java程序,还需要编写和测试Java程序,这就需要JDK的支持,JDK除了

包括JRE,还包括许多开发和测试Java程序的实用工具。

ⅳ. class

Java是一种纯面向对象的编程语言,类就构成了Java程序设计的基本单位。一个Java程序可由一

个或几个类组成。

ⅴ. path环境变量

path环境变量是系统环境变量的一种,它用于保存一系列的路径,每个路径之间以逗号分隔。

ⅵ. classpath环境变量

classpath环境变量也用于保存一系列路径。当Java虚拟机需要运行一个类时,会在classpath环境

变量中所定义的路径下寻找所需的class文件和类包。

ⅶ. class文件

字节码文件,又称为类文件。它是一种独立于具体平台的、特殊的二进制文件。对于同一个字节码

文件,可实现在不同的平台上运行。

b. 下载JDK

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

msi文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装

情形下安装(和卸载)程序所需的指令和数据。MSI文件将程序的组成文件与功能关联起来。

exe是一个安装引导程序。msi需要Microsoft的一个服务支持(大概叫做Microsoft Installer,目前版本2.00),

基本上只用于安装软件。

  • .exe是可执行文件,不一定是安装程序。
  • .msi是微软的新安装文件格式,它不是执行文件。
  • zip为嵌入版,新手建议使用前面两种方式。

c. 环境变量配置

1. 安装完成后,右击“我的电脑”,点击“属性”,选择“高级系统设置”

2. 选择“高级”选项卡,点击“环境变量”

3. 在“系统变量”中设置3项属性,JAVA_HOME、PATH、CLASSPATH(不区分大小写),若已存在点击“编

辑”,不存在则单击“新建”

注意:若使用1.5以上版本的JDK不用设置CLASSPATH变量,也可以征程编译和运行Java程序

4. 检查是否安装成功

  1. "开始"->"运行"(win+R),键入"cmd"
  2. 键入命令: java -version、java、javac 几个命令,出现以下信息,说明环境变量配置成功

6. 记事本编写代码常见问题

新手小白用记事本编写 Java 入门程序需要注意的常见问题

  • 扩展名被隐藏
  • 文件名和类名不一致
  • 大小写错误,单词拼写错误,存在中文符号,找不到main方法
  • 括号不配对
  • 编译或者执行命令使用不当

7. cmd 相关命令

新手小白入门需掌握的 cmd 相关命令

  • 盘符切换:D
  • 查看当前路径下的内容:dir
  • 进入单级目录:cd 目录
  • 回退到上一级目录:cd ..
  • 进入多级目录:cd 目录1\目录2...
  • 回退到盘符目录:cd \
  • 清屏:cls
  • 退出命令提示符窗口:exit

十、JDK & JRE & JVM之间的关系

1. JVM

Java Virtual Machine是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟

机,因此Java语言可以实现跨平台。

2. JRE

Java Runtime Environment包括Java虚拟机和Java程序所需的核心类库等。

核心类库主要是java.lang包:包含了运行Java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串

处理、线程、异常处理类等,系统缺省加载这个包。

如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

3. JDK

Java Development Kit是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了

JRE。

所以安装了JDK,就无需再单独安装JRE了。

其中的开发工具:编译工具(javac.exe),打包工具(jar.exe)等

JVM&JRE&JDK关系图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wclass-zhengge

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值