Java杂谈

Java 语言杂谈

Java由sun公司开发,后被oracle公司收购。

Java环境

java环境中涉及到几个概念:jdk/jre/jvm,三者的包含关系如下图:

1600690211275

1.jdk

Jdk 为Java语言为Java开发人员提供的工具包,包括

  • java运行环境jre
  • 工具包(如javac\javadoc)
  • 基础类库lib

2.jre

Jre是Java语言为Java程序用户提供的运行Java程序的环境,包含jvm和lib,jre中的lib是jdk中lib的子集。

3.jvm

jvm是Java语言跨平台的核心,Java语言中,自底向上分别为硬件、OS、JVM,程序的平台不通用是源于硬件和OS环境不一致,JVM在硬件和OS上再次抽象出一台个运行环境,该环境被称为JVM,JVM为不同环境开发一个JVM,这些JVM致力于在不同平台上提供一个完全一致的虚拟运行环境,于是由.java文件编译成的.class文件可以不加修改的直接运行在所以具有虚拟机的平台环境上。

(小注:)java源程序首先被编译为字节码文件,字节码文件在jvm中解释运行,相比于C++等编译型源程序,java程序的优点是跨平台,但缺点时运行速度和资源占用可能不及C++;相比于纯解释型语言,java程序的速度又更快。

在命令行编译java源文件

1. 编写源文件Main.java

public class Main
{
    public static void main(String [] args){
        int a=1;
        System.out.println(++a);
        System.out.println("Hello my java");
    }
}

2.编译源文件

javac Main.java

3.运行Main.class文件

java Main

编写的.java源文件通过javac命令编译为.class文件,.class字节码文件通过java命令在Jvm中解释运行。注意的是Jvm,在不同平台有又不同的实现,Jvm屏蔽了不同的平台细节,也就是说我的.class文件在windows上编译之后可以不加修改的拿到苹果系统上去运行(本质是拿到为苹果系统开发的Jvm中去运行),这是我们常说的一次编译处处运行。

javadoc & javap

1.javadoc命令用于将生成.java源文件的类文档

javadoc Main.java

javadoc命令与文档注释配合使用,常用的文档注释有

/**
 * @author
 * @data
 * @version
*/
public class Main(){
    /**
     * @param count 
     * @return 
     */
    public string funTest(int count){
    
    }
}

生成类文档可以使用开发工具去做,生成类文档后还可以使用jd2chm.exe快速将生成的多个文档打成chm文件。

2.javap命令用于反编译

反编译:就是将一个.class字节码文件反编译为一个.java源文件

javap Main
javap -c Main

命名规范v1.0

  • 项目名为全小写下划线命名法
  • 包名全小写单单词命名法
  • 类名、接口名、枚举类名采用帕斯卡pascal命名法
  • 方法名属性名采用小写驼峰命名法
  • 常量采用全大写下划线命名法

标签

评论

this is is footer