编程是很有魅力的,让很多人为之痴迷
如果你是初学者,俗称小白,不妨看看下述内容:
文章目录
- 1. Java 简介
- 1.1 特性介绍
- 1.简单性
- 2. 面向对象
- 3. 分布式
- 4. 健壮性
- 5. 安全性
- 6. 体系结构中立
- 7. 可移植性
- 8. 解释型
- 9. 高性能
- 10. 多线程
- 11. 动态性
- 2. 关于 JDK
- 1.环境变量
- 3. 演示 HelloWorld
1. Java 简介
Java 是一门编程语言,发展至今已经成为一门真正意义上的语言标准。
Java是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码,以及一个提供诸如安全性、跨操作系统的可移植性以及自动垃圾收集等服务的执行环境。
现如今很多技术公司为了方便用户进行程序编写,往往都使用Java作为应用层封装的标准,通过Java来调用一些底层的操作。
1.1 特性介绍
1.简单性
这里所谓的简单,其实也是一种简洁,不管是从何而简,都简于语法之上,倘若小白初次听到语法二字,可以先简单理解成所学习编程语言的编写方法格式。
至于从何而简单,也要较比于C++而言,Java是C++语法的一个“纯净”版本。它剔除了C++中许多很少使用、难以理解、容易混淆的特性。如:头文件,指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等。
2. 面向对象
面向对象设计是一种程序设计技术。它将重点放在数据(即对象)和对象的接口上。
如果用木匠来打比方:一个"面向对象"的木匠始终将自己的焦点聚集在制作的椅子上,其次才是使用的工具;而一个"非面向对象"的木匠首先需要搞清楚使用的工具,然后才能将焦点聚集在制作椅子上。
java与C++的面向对象能力本质上是相同的,不同点在于多继承,Java当中用接口的概念替代了多继承。
3. 分布式
Java 具有丰富的例程库,用于处理像 HTTP 和 FTP 之类的TCP/IP 协议。
Java应用程序能够通过 URL 打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
4. 健壮性
Java 编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。
Java 的设计目标之一在于使得 Java 编写的程序具有多方面的可靠性。Java 非常强调进行早期的问题检测、后期动态的(运行时)检测,以及消除容易出错的情况。
Java 与 C/C++ 最大的不同在于 Java 采用的指针模型可以消除重写内存和损坏数据的情况。
5. 安全性
Java 要适用于网络 / 分布式环境。为了实现这个目标,安全性颇受重视。使用 Java 可以构建防病毒、防篡改的系统。
从一开始,Java 就设计成能够防范各种攻击,其中包括:
运行时堆栈溢出,这是蠕虫和病毒常用的攻击手段。
破坏自己的进程空间之外的内存。
未经授权读写文件。
6. 体系结构中立
体系结构中立源于,经Java 编译器伪编译之后的字节码文件,该文件独立于计算机系统之外。只要有
Java运行时系统,这些编译后的字节码文件就可以在许多处理器上执行。而且精心设计好的代码不仅可以容易地在任何机器上解释执行,还可以动态地转换成本地机器代码。
计算机高级语言分为两种:编译型和解释型。
Java 是两种类型的集合。
7. 可移植性
通过上图可以发现:所有的 Java 程序文件的后缀都应该是 *.java ,而任何一个 *.java程序首先必须经过编译,编译之后会形成一个 *.class 的文件(字节码文件),而后在计算机上执行,但是解释程序的计算机并不是一台真正意义上的计算机,而是一台由软件和硬件模拟出来的计算机— Java虚拟机 Java Virtual Machine,JVM.
8. 解释型
Java 解释器可以在任何移植了解释器的机器上直接执行Java字节码.
Java 是一种解释型语言,相对于 C 和 C++ 语言来说,用Java写出来的程序效率低,执行速度慢。但它正式通过在不同平台运行Java解释器,对Java代码进行解释,来实现"一次编写,到处运行"的宏伟目标。
9. 高性能
字节码可(在运行时)动态地转换成对应运行这个应用的特点 CPU 的机器码.
即使编译器非常出色,可以与传统编译器相媲美,而且在某些情况下甚至超越了传统编译器,原因是它们有更多的可用信息。例如:即使编译器可以监控哪些代码频繁执行,并优化这些代码以提高速度。更为复杂的优化是消除函数调用(即"内联")。
10. 多线程
多线程可以带来更快的交互响应和实时行为.
线程,是一种轻量级进程。
如今,我们非常关注并发性,因为摩尔定律已经走到尽头。我们不在追求更快的处理器,而是着眼于获得更多的处理器,而且要让它们一直保持工作。
11. 动态性
当需要为正在运行的程序增加代码时,动态性将是一个非常重要的特性。一个很好的例子是:从Internet 下载代码,然后在浏览器上运行。如果使用 C 或 C++,这确实难度很大,不过 Java 设计者很清楚动态语言可以很容易地实现运行程序的演进。最终,他们将这一特性引入这个主流程序中。
上述内容是针对 Java11个特性的简单介绍.
文章内容,只做简单介绍,如想了解的更深入,
建议阅读:
1.《第一行代码》
2.《Java核心卷1》
我的很多内容,都是整合自书中,我讨厌用耳朵学习,会让我停滞思考。
我喜欢用眼睛,感觉会思考的更快,如果想了解的更深入,还是要读书。
《第一行代码》是国人的作品,讲述风格就像老师消化完讲给你听的一样,所有需要考虑的问题,书里都解释的详细。
《Java 核心卷1》完全工具书化,内容讲的比较官方,只是比较,建议两者一起去读,这样可以比对同一个问题的两种答案。
所以我不打算将长篇大幅的发展史在搬运过来.
2. 关于 JDK
如果你想玩游戏,就必须先进行客户端的安装。当然,除非你玩网页游戏。但是也需要先安装插件。
同样,如果你想玩 Java,也要先安装客户端,那就是 JDK.
对于 JDK 的下载和安装可以进入官网:甲骨文
推荐下载 JDK 8,这是简化之后的版本号,也就是 JDK 1.8
安装到自己便于找到的位置之后,我想分享给你 JDK 和 JRE 的区别:
JDK 是开发工具包,其内部包含 JRE
JRE 是运行环境,它只包含虚拟机,也就是说它的作用只是帮助我们运行Java代码。
如果你觉得自己安装成功,可以打开终端,
录入代码进行检测:
javac -version
安装成功的显示结果为:成功返回版本号
如果返回信息显示报错,你就需要检测你的安装了。
而且一定要切记配置环境变量:
1.环境变量
对于Java开发而言,主要是会使用 JDK 的:
javac.exe 和 java.exe 两个操作命令,由于该两个操作命令不属于 windows 系统,所以需要配置环境变量。
Path:由于该两个命令不属于windows系统,配置好 Path变量后,可以运行 javac 命令进行测试。
CLASSPATH:当指定文件路径位置打开终端时,终端通过正确的指令便可对其进行编译和运行操作,如果并非此环境情形,你必须配置该环境变量,以便于在全局windows系统环境下运行指令。
3. 演示 HelloWorld
每一个程序员正式设计程序时,都是从 HelloWorld 开始的。
我们需要先准备一个 后缀为 .java 的 java文件。
然后编写代码内容为:
public class HelloWorld{
public static void main(String args[]){
System.out.println("Hello!!!~World");
}
}
需要注意的是 后缀.java 前的文件名称要与 class 后的名称保持一致。
打开终端,通过 javac 命令进行编译,将该 java 文件编译成虚拟机可执行的字节码文件(中间码文件):
没有报错,则表示编译通过。
然后在通过 java 命令运行编译后的字节码文件:
注意!:使用 java 命令运行字节码文件时,该字节码文件的后缀不需要录入。
咨上所述内容,简洁清晰,是两本书的序篇精细整合,去除了无关紧要部分,如果想了解的更加深入,建议还是读一下这两本。
要再见了!朋友,下一文见~