零、程序
程序是软件可执行的一部分,完成某些事情的一种既定方式和过程。可以将程序堪称对一系列动作的执行过程的描述。
计算机程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。
一、开发Java程序的三个步骤
编写.java文件
编译.class文件(字节码文件) javac 文件名.java
运行 在jdk平台运行 java 文件名 这里的文件名是编译后的字节码(.class)文件名
Java入口程序框架
public static void main(String[] args){}
类名和文件名完全一样
Java对于大小写敏感
二、Java程序模板
public class Hello{
public static void main(String[] args){}
}
三、向控制台输出信息
打印后换行
System.out.println("");
打印后不换行
System.out.print("");
四、类名的规范
①可以使用英文、数字和下划线_
②不能以数字开头
③首字母大写
五、转义符
六、Java内存分配
在运行的时候,JVM占计算机的一个内存空间
1.内存空间组成
Ⅰ.栈
方法运行时使用的内存,比如mian方法运行,进入方法栈中执行
- 程序的主入口开始执行时会进栈,代码执行完毕会出栈
Ⅱ.堆
存储对象或者数组,new来创建的(引用类型),都存储在堆内存
- 在堆内存中开辟空间并产生不同的地址值
Ⅲ.方法区
存储可以运行的class文件
Ⅳ.本地方法栈
JVM在使用操作系统功能的时候使用,和开发无关
Ⅴ.寄存器
给CPU使用,和开发无关
2.程序在内存当中怎么运行的?
①基本数据类型
②只要是new出来的一定是在堆里面开辟了一个小空间
如果new了多次,那么在堆里面有多个小空间,每次小空间中都有各自的数据
③字节码文件
七、Java反编译
javap 文件名.class
javap是 Java class文件分解器,可以反编译,也可以查看java编译器生成的字节码。用于分解class文件
-help 帮助
-l 输出行和变量的表
-public 只输出public方法和域
-protected 只输出public和protected类和成员
-package 只输出包,public和protected类和成员,这是默认的
-p -private 输出所有类和成员
-s 输出内部类型签名
-c 输出分解后的代码,例如,类中每一个方法内,包含java字节码的指令,
-verbose 输出栈大小,方法参数的个数
-constants 输出静态final常量
//将反编译后的文件存放到指定文件地址中
javap DocFooter > 文件存放地址