编译
大家现在学习Java的第一节课是干什么,安装jdk,配置Java环境变量,之后老师就会说到idea官网上下载一个idea,或者学校内网老师文件夹里有下载好的idea安装包,下载完成了打开新建一个class,来学习码农的第一行代码
public static void main(String [] args) {
System.out.println(“Hello World.”);
}
点击运行看着下面弹出的运行框显示的Hello World,第一次接触代码并且成功运行的我们显得很兴奋,但老师也不会讲这个System.out.println(“Hello World.”)怎么输出的,原理是什么,内存都做了哪些事情,长时间的把方法直接拿过来用,快捷的编写代码于是导致了大部分不用心的同学潜在的意识里,必须有一个编译器,我们的代码才能编码,实则idea是方便我们程序员编写代码的一个工具,离开它我们也能工作,举个列子,新建一个文本文档,写一个class类结构,
public class hello { public static void main(String[]args){ int a = 1; System.out.print(a); } }
后缀格式改成.java 在cmd里到目标文件下输入Javac命令去编译你刚写的文件,没有错误的话就会生成一个class文件这个就叫字节码,再接着输入Java运行指令,这个class类文件就会在JVM虚拟机的方法区加载里面的信息,生成一个类模板,里面的单个数据就会存放在虚拟机的栈里,最后一句输出是系统里的一个out对象调用了一个print方法找到a这个名字空间,把空间里面的东西拿出来输出
内存原理
硬件
大家都知道电脑里面有硬盘,内存条,我们写的源代码都放在硬盘上,因为他足够大,一般都是512G或者1T大小,永久保存,内存的话就比较小,一般都是8G或者16G,暂时存放数据,运行的一个硬件,刚接触Java的同学也知道Java在JVM虚拟机上运行,虚拟机就在内存里,虚拟机里面有栈,堆,方法区。