重温Java(一):Java入门

说明:重温Java系列是本人结合资料重新学习Java时整理的笔记,主要参考资料如下,如有侵权,请联系删除!

参考资料:

  • 高淇 Java300集视频
  • Java 核心卷一
  • 码出高效Java开发手册
  • 明解Java
  • Oracle官方教程

说明:本系列以高淇Java300集视频为主线,形成整体的知识体系,然后通过所列资料对知识点补充、修改;如有遗漏,错误,请指正!

本章目录:

  1. Java版本介绍
  2. Java的特点
  3. Java运行机制
  4. JVM、JRE和JDK
  5. Java程序员入门仪式

正文

1.Java版本介绍

Java分为以下三个版本:
JavaSE(Java Standard Edition):标准版,定位于客户端,主要用于桌面或简单服务器的应用开发,这个版本是Java平台的核心,它提供了丰富的API(Application Program Interface, 应用程序接口)来开发相关应用,包括用户界面接口AWT及Swing、网络功能与国际化、图像处理以及输入输出等。

JavaEE(Java Enterprise Edition):企业版,定位于复杂服务器应用的开发,主要用于分布式网络程序开发,比如阿里巴巴的电子商务网站。

JavaME(Java Micro Edition):微型版,定位于手机和其他小型设备的应用开发。

三个版本之间的关系,如图所示:
Java三个版本之间的关系图

2.Java的特点

Java是一种高级语言,具备以下特点:

  1. Simple 简单
  2. Object oriented 面向对象
  3. Distributed 分布式
  4. Multithreaded 多线程
  5. Dynamic 动态性
  6. Architecture neutral 体系结构中立
  7. Portable 可移植性
  8. High performance 高性能
  9. Robust 健壮性
  10. Secure 安全性
    以上10个特点摘自Oracle官方教程,仅作了解即可。
3.Java运行机制

Java最大的优势就是跨平台,而跨平台主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码进行运行。

跨平台其实是通过在不同的操作系统上安装相应的虚拟机实现。下面可以来看一下Java运行机制。

首先要知道目前编程语言主要分为:编译型和解释型,而Java则是两者的结合。

Java的源文件(Source File)的后缀名为.java;需要通过编译器(javac)将源文件编译(Compile)成以.class为后缀名的字节码文件;最后通过虚拟机(Java解释器)解释执行。
java运行机制
正是因为虚拟机可以安装在不同的操作系统中(操作系统的不同是因为计算机只认识二进制的机器语言,并且不同平台的计算机,其机器语言指令都是不同),通过虚拟机将Java源码编译成.class文件然后解释成对应平台认识的机器语言,所以Java程序可以在不同操作系统上运行。(.class二进制文件是平台独立的结构中立的)
Java跨平台
Java跨平台的原理,简单总结一下:

  1. 一次编译,到处运行
  2. 编译器:将源码编译成class文件
  3. 虚拟机:将class文件的字节码解释成对应平台的机器语言并执行
  4. 解释器是虚拟机的一个重要组成部分
  5. Java语言的执行的需要经过编译和解释两个阶段。
4.JVM、JRE和JDK

JVM(Java Virtual Machine)就是一个虚拟的用于执行字节码的“虚拟计算机”。它定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域。JVM负责将Java字节码解释执行,边解释边运行,速度就会受到一定的影响。
不同的操作系统有不同的虚拟机。Java虚拟机机制屏蔽了底层运行平台的差异,实现了跨平台,也就是“一次编译,随处运行”。
JVM
JRE(Java Runtime Environment)就是Java运行环境,包含Java虚拟机(JVM)、库函数、运行Java应用程序所须的文件。
JDK(Java Development Kit)就是Java开发工具包,包含JRE以及编译器和调试器等用于程序开发的文件。
JVM、JRE、JDK三者关系图
Java虚拟机总结:

• JVM是Java Virtual Machine(Java虚拟机)的缩写
• JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
• JVM就是一个虚拟的用于执行bytecodes字节码的计算机
• Java虚拟机是Java最核心技术,也是跨平台的基础。
• Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
• Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因

补充:

平台是程序运行的软硬件环境,前面说过Java也是一个平台,只不过Java是一个基于硬件基础上的纯软件平台。Java平台包括两部分:

  1. The Java Virtual Machine Java虚拟机
  2. The Java Application Programming Interface(API) Java应用程序接口
    前面已经介绍了Java虚拟机,是Java语言的核心基础;
    API是一个提供了大量现成软件组件的集合,提供了许多有用的功能。它被分为相关类和接口的库;这些库称为包。
    在这里插入图片描述
    Java虚拟机和API使Java程序和底层硬件相互隔离,所以Java程序可以不用过多的关注底层硬件;但是这也使Java语言运行会慢了一点。随着硬件性能提升和Java平台的不断优化,Java语言的速度不会成为限制其发展的瓶颈。
5.Java程序员入门仪式

Java开发的准备:

  1. 安装JDK
    Java是一门面向对象的编程语言,其最大的优势就是“跨平台”,想要实现跨平台,必须安装Java必备的运行环境,而对于Java开发人员来说不但要安装运行环境,还要安装Java的开发工具,具体的安装过程参考:https://blog.csdn.net/u012187452/article/details/72595040#comments
  2. 安装Java开发工具
    常用Java开发工具
    • 文本编辑器(选择任意一个)
    • UltraEdit
    • EditPlus
    • notepad++
    • 集成开发环境(IDE:Integrated Development Environment)
    • JBuilder (http://www.borland.com)(基本淘汰)
    • Eclipse (http://www.eclipse.org)****开源 解压即可(重点)
    • MyEclipse:若进行J2EE开发,还要加MyEclipse插件。MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境。现在直接安装集成Eclipse的MyEclipse即可。商业软件
    • NetBeans(http://java.sun.com
    • IntelliJ IDEA(https://www.jetbrains.com/idea/)(强烈推荐)

第一个Java程序

/**
 * Created by lining on 2019/6/15.
 *
 * The HelloWorld class implements an application that
 * simply prints "Hello World! I am Coming!" to standard output.
 */
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World! I am Coming!"); // Display the string.
    }
}

运行结果:
在这里插入图片描述
我们来分析一下这个代码

我们可以发现这部分源码主要包括三部分:源码注释、类定义和Main方法。

第一部分:源码注释

/**
 * Created by lining on 2019/6/15.
 *
 * The HelloWorld class implements an application that
 * simply prints "Hello World! I am Coming!" to standard output.
 */

这部分就是源码的注释,用来说明源码的作用,可以提高源码的可读性。Java编译器在编译源码是会跳过注释,所以注释不会出现在字节码文件中。

Java提供了三种注释:

/* text */ 

多行注释 Java 编译器会忽略 //之间的内容,多行注释也叫作传统注释(traditional comment),这是因为其注释形式和C语言的注释形式相同

/** documentation */

文档注释(documentation comment) Java编译器同样会忽略/** 和*/之间的内容;可以通过JDK提供的Javadoc命令,生成程序的API文档。

// text

单行注释(end of line comment)注释内容从//到本行结尾

第二部分:类定义

// 这是程序的类定义
public class HelloWorld {

}  

上面代码的意思就是名称为HelloWorld的类(class)的类定义或类声明(class declaration)。class关键字后面就是类名称,类名称后面会紧跟着一对大括号{},{}中间的代码就是Java源码。

第三部分:main方法

public static void main(String[] args) {
	// java语句
}

这就是main方法的定义,每一个独立的Java应用程序都必须有main方法。

  • 修饰符public和static的组合可以是public static或者static public,一般约定使用public static;方法的入参名称可以随意,但是一般都是args或者argv。
  • Main方法和C、C++语言的Main方法相像,都是程序的入口,main方法可以调用其他方法。
  • Main方法接受一个入参,类型是字符串数组
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值