Files
freeCodeCamp/guide/chinese/java/index.md
T
Jack 53d9d7f3e3 Fix the Chinese Document of Java (#20539)
Remove some words "的" which would make the description more fluent.
2018-10-29 17:32:14 -04:00

120 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Java
localeTitle: Java
---
**什么是Java?**
[Java](https://www.oracle.com/java/index.html)是[Sun Microsystems](https://en.wikipedia.org/wiki/Sun_Microsystems)在1995年开发的一种编程语言,后来被[Oracle](http://www.oracle.com/index.html)收购。它现在是一个完整的平台,包含许多标准API,开源API,工具,庞大的开发人员社区,用于构建大小公司最值得信赖的企业解决方案。 [Android](https://www.android.com/)应用程序开发完全由Java及其生态系统完成。要了解有关Java的更多信息,请阅读[本文](https://java.com/en/download/faq/whatis_java.xml)和[此内容](http://tutorials.jenkov.com/java/what-is-java.html) 。
## 版
最新版本是[Java 11](http://www.oracle.com/technetwork/java/javase/overview) ,它于2018年发布,对以前的版本Java 10进行了[各种改进](https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html) 。但是出于所有意图和目的,我们将在本维基中使用Java 8来完成所有教程。
Java也分为几个“版本”:
* [SE](http://www.oracle.com/technetwork/java/javase/overview/index.html) - 标准版 - 适用于桌面和独立服务器应用程序
* [EE](http://www.oracle.com/technetwork/java/javaee/overview/index.html) - Enterprise Edition - 用于开发和执行嵌入Java服务器的Java组件
* [ME](http://www.oracle.com/technetwork/java/embedded/javame/overview/index.html) - Micro Edition - 用于在移动电话和嵌入式设备上开发和执行Java应用程序
## 安装:JDK还是JRE?
从[官方网站](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)下载最新的Java二进制文件。在这里您可能会遇到一个问题,下载哪个,JDK或JRE? JRE代表Java Runtime Environment,它是依赖于平台的Java虚拟机来运行Java代码,JDK代表Java Development Kit,它由大多数开发工具组成,最重要的是编译器`javac` ,以及JRE。因此,对于普通用户而言,JRE就足够了,但由于我们将使用Java进行开发,因此我们将下载JDK。
## 平台特定安装说明
### 视窗
* 下载相关的[.msi](https://en.wikipedia.org/wiki/Windows_Installer)文件(x86 / i586用于32位,x64用于64位)
* 运行.msi文件。它是一个自解压的可执行文件,它将在您的系统中安装Java!
### Linux的
* 下载适用于您系统的相关[tar.gz](http://www.cyberciti.biz/faq/linux-unix-bsd-extract-targz-file/)文件并安装:
`bash $ tar zxvf jdk-8uversion-linux-x64.tar.gz`
* [基于RPM的Linux平台](https://en.wikipedia.org/wiki/List_of_Linux_distributions#RPM-based)下载相关的[.rpm](https://en.wikipedia.org/wiki/RPM_Package_Manager)文件并安装:
`bash $ rpm -ivh jdk-8uversion-linux-x64.rpm`
* 用户可以选择安装Java,OpenJDK或Oracle JDK的开源版本。虽然OpenJDK正在积极开发并与Oracle JDK同步,但它们在[许可方面](http://openjdk.java.net/faq/)有所不同。然而,很少有开发人员抱怨Open JDK的稳定性。 **Ubuntu**说明:
打开JDK安装:
`bash sudo apt-get install openjdk-8-jdk`
Oracle JDK安装:
`bash sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer`
### 苹果电脑
* 从Oracle下载中下载Mac OSX .dmg可执行文件
* 或者使用[Homebrew](http://brew.sh/) [安装](http://stackoverflow.com/a/28635465/2861269) :
`bash brew tap caskroom/cask brew install brew-cask brew cask install java`
### 验证安装
通过打开命令提示符(Windows)/ Windows Powershell / Terminal(Mac OS和\* Unix)并检查Java运行时和编译器的版本来验证Java是否已在系统中正确安装:
```
$ java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
$ javac -version
javac 1.8.0_66
```
**提示** :如果您在`java`或`javac`或两者上都收到诸如“未找到命令”之类的错误,请不要惊慌,它只是您的系统PATH未正确设置。对于Windows,请参阅[此StackOverflow答案](http://stackoverflow.com/questions/15796855/java-is-not-recognized-as-an-internal-or-external-command)或[本文](http://javaandme.com/)有关如何执行此操作。还有[Ubuntu](http://stackoverflow.com/questions/9612941/how-to-set-java-environment-path-in-ubuntu)和[Mac的](http://www.mkyong.com/java/how-to-set-java_home-environment-variable-on-mac-os-x/)指南。如果你仍然想不通,不要担心,只要在我们的[Gitter房间](https://gitter.im/FreeCodeCamp/java)问我们!
## JVM
好了,既然我们完成了安装,那么我们首先要开始了解Java生态系统的细节。 Java是一种[解释和编译的](http://stackoverflow.com/questions/1326071/is-java-a-compiled-or-an-interpreted-programming-language)语言,即我们编写的代码被编译为字节码并被解释为运行。我们在.java文件中编写代码,Java将它们编译为[字节码](https://en.wikipedia.org/wiki/Java_bytecode) ,这些[字节码](https://en.wikipedia.org/wiki/Java_bytecode)在Java虚拟机或JVM上运行以便执行。这些字节码通常具有.class扩展名。
Java是一种非常安全的语言,因为它不会让您的程序直接在计算机上运行。相反,您的程序在名为JVM的虚拟机上运行。此虚拟机公开了几个API,用于您可以进行的低级机器交互,但除此之外,您无法明确地使用机器指令。这增加了巨大的安全性。
此外,一旦编译了字节码,它就可以在任何Java VM上运行。该虚拟机依赖于机器,即它具有不同的Windows,Linux和Mac实现。但是由于这个VM,你的程序可以保证在任何系统中运行。这种理念被称为[“一次编写,随处运行”](https://en.wikipedia.org/wiki/Write_once,_run_anywhere) 。
## 你好,世界!
我们来编写一个示例Hello World应用程序。打开所选的任何编辑器/ IDE并创建一个文件`HelloWorld.java` 。
```
public class HelloWorld {
public static void main(String[] args) {
// Prints "Hello, World" to the terminal window.
System.out.println("Hello, World");
}
}
```
**NB**请记住,Java文件名应该**与公共类的名称完全相同**才能编译!
现在打开终端/命令提示符。将终端/命令提示符中的当前目录更改为文件所在的目录。并编译文件:
```
$ javac HelloWorld.java
```
现在使用`java`命令运行该文件!
```
$ java HelloWorld
Hello, World
```
恭喜!您的第一个Java程序已成功运行。这里我们只是打印一个字符串,将其传递给API `System.out.println` 。我们将介绍代码中的所有概念,但欢迎您[仔细查看](https://docs.oracle.com/javase/tutorial/getStarted/application/) !如果您有任何疑问或需要其他帮助,请随时在我们的[Gitter Chatroom](https://gitter.im/FreeCodeCamp/java)联系我们!
## 文档
Java有大量[文档记录](https://docs.oracle.com/javase/8/docs/) ,因为它支持大量的API。如果您使用的是Eclipse或IntelliJ IDEA等任何主要IDE,您会发现其中包含Java文档。
此外,这里是Java编码的免费IDE列表:
* [NetBeans](https://netbeans.org/)
* [日食](https://eclipse.org/)
* [IntelliJ IDEA](https://www.jetbrains.com/idea/features/)
* [Android Studio](https://developer.android.com/studio/index.html)
* [BlueJ](https://www.bluej.org/)
* [jEdit](http://www.jedit.org/)
* [Oracle JDeveloper](http://www.oracle.com/technetwork/developer-tools/jdev/overview/index-094652.html)