在前面的几章中我们一直在进行环境的搭建,然而并没有对代码进行讲解,那么从现在起,我们开始撕开Java程序神秘的外衣.来了解他.以便于完成我们想要实现的功能

JavaSE程序入口:

在生活中我们要做一个事情,那么总要找一个突破口,或者说进入口.那么程序也一样,从哪里开始执行也是有规定的

JavaSE项目的程序入口就是我们见到的main方法,哒哒哒他来了,我们来康康他

就是我们红色框中的方法,他的写法是固定的:

public static void main(String[] args){

}

在该代码中我们唯一能改的就是args,为什么可以改,我们暂时先不说,提到变量的时候,我们自然就明白了

如果你只想知道JavaSE的程序入口在哪里,接下来就别看了.以下内容,程序功力不到高深莫测的境地,基本就是看着玩

Java代码运行原理

当我们程序运行时,Java虚拟机开始执行的我们的程序,会寻找我们程序中main方法的所在,找到后开始从上向下执行我们的代码.

Java虚拟机?这是什么玩意.哪里蹦出来的?

Java虚拟机又称为JVM.那么他在哪里呢?

还记得我们按照Java时按照了JDK与JRE吗?

JDK(Java开发工具集)其中是有JRE(Java运行环境)的.

这就是我们JDK的安装包,我们在里面可以明显的看到JRE的存在.

然而在JRE文件夹下bin文件夹中server文件内发现有一个JVM.dl的可执行文件

所以JDK(Java开发工具集)包含JRE(Java运行环境).JRE包含JVM(Java虚拟器),如图:

JDK的作用:

编译与运行Java程序所需的各种工具和资源,包括JVM与JRE,以及常用的Java基础类库等.

JRE的作用:

全称:Java runtime environment 是运行基于Java语言编写的程序所不可缺少的运行环境,用于解释执行Java的字节码文件。

啥,什么是字节码文件?

还记得没有安装开发工具时,我们先将.java文件通过Javac命令,编译为了.class文件.

那么这个.class文件就是字节码文件.字节码文件就不要打开了,打开了也不是给人看的,是给JVM看的.所以还是别打开了

JVM的作用:

全称:Java Virtual Machine,是JRE的一部分.它是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,是可运行java字节码文件的虚拟计算机.对你可以理解为就是一个虚拟器

JVM分别需要执行以下操作:

1,加载字节码文件,即.class文件

2,运行字节码文件

3,分配管理内存.

当程序运行时系统需要给他一片运行的区域,所有程序运行可占用的最大空间,就是手机或电脑所言的运行内存为4个G或8个G什么的

一个程序是占不了那么多的哦

4,执行垃圾回收,调用 垃圾回收器

当一个程序中出现用过后不再使用的数据或对象时,那么为了节省内容空间,系统就会将其回收,以便我们程序运行的内存不会占用太大.那么这个回收机制就是我们的垃圾回收器

本篇就写到这里了,太长了看着难受

欢迎转发给需要的朋友,让更多的初学者受益

如有不对,欢迎拍砖

如果喜欢我的文章,麻烦您点赞,评论,关注三连哦

谢谢大家的支持,文章会持续更新

c++ 多线程 垃圾回收器_JavaSE基础代码(3)--JavaSE程序入口,JDK,JRE,JVM垃圾回收器的关系与作用...相关推荐

  1. 【剧前爆米花--爪哇岛寻宝】初识Java,了解Java代码的运行机制及JDK,JRE,JVM等

    作者:困了电视剧 专栏:<JavaSE语法与底层详解> 文章分布:这是一篇知识点较为基础的文章,我会先将JavaSE相关的知识给罗列一遍,然后在后续的文章中会对其中重要的点再逐一进行底层剖 ...

  2. [马士兵] 一. 初识JAVA 20. 反编译工具的使用 21. 本章最后一段代码 22. 扩展面试题: JDK, JRE, JVM区别

    20. 反编译工具的使用 编译 源代码----->class 反编译 class---->源代码 反编译工具 jd-gui.exe 21. 本章最后一段代码 public class Hi ...

  3. day01--java基础编程:计算机基础知识 ,java语言概述,java开发环境搭建,eclipse概述,创建简单java项目,JDK JRE JVM的关系,java开发中的命名规范,编程风格

    1 Day01–Java开发环境+HelloWorld 1.1 计算机基础知识 资料下载网址:刘沛霞 18600949004 code.tarena.com.cn tarenacode code_20 ...

  4. java se开发工具_JavaSE基础代码(1)-Hi ShanShi与开发工具

    上一个文章中说完了Java环境的搭建,那么接下来我们要做的就是编写我们第一个Java代码的项目,其实很简单,我们只要分成以下几步就可以了 步骤1,在除C盘User文件夹外,创建一个txt文件,如D盘下 ...

  5. 重学java基础第十六课:jdk jre jvm

  6. JVM垃圾回收算法与原理详解

    垃圾回收 参考文档 GC参考手册-Java版 理解Java的强引用.软引用.弱引用和虚引用 JVM系列(五) - JVM垃圾回收算法 如何判断对象可以回收 引用计数法 参考文章 Java JVM的引用 ...

  7. 3.1_2 JavaSE入门 P1 【Java基础】Java语言概述、JDK编译

    相关链接 Excel目录 目录 Part1 Java语言概述 1 Java语言概述 1.1 Java发展史 1.2 java应用平台 1.3 跨平台原理 1.4 JVM JRE JDK 1.5 Ora ...

  8. c++ 多线程 垃圾回收器_7种jvm垃圾回收器,这次全部搞懂

    前言 之前我们讲解了jvm的组成结构与垃圾回收算法等知识点,今天我们来讲讲jvm最重要的堆内存是如何使用垃圾回收器进行垃圾回收,并且如何使用命令去配置使用这些垃圾回收器. 堆内存详解 上面这个图大家应 ...

  9. Jvm垃圾回收器(终结篇)

    知识回顾: 第一篇<Jvm垃圾回收器(基础篇)>主要讲述了判断对象的生死?两种基础判断对象生死的算法.引用计数法.可达性分析算法,方法区的回收.在第二篇<Jvm垃圾回收器(算法篇)& ...

最新文章

  1. python gui编程框架添加工具栏_python gui编程,我是初学者。用tk,制作下拉菜单的command不分我想打开另一个界面。如和解决,求解!!...
  2. python带格式复制excel样式和内容_使用python的xlrd,xlwt和xlutils.copy保留样式
  3. 简要分析ZooKeeper基本原理及安装部署
  4. mysql语句中把string类型字段转datetime类型
  5. 考研英语核心词汇辨析(黑魔方系列2007版之十二)
  6. java工作流 表设计_创建activiti工作流所需23张表
  7. html网页打不开二级网页,二级网页打不开,小编教你浏览器二级页面打不开怎么解决...
  8. HTML怎么进行文本居中对齐,css文字怎么居中对齐?
  9. 如何将谷歌浏览器指定网页的背景颜色调成黑色,其他网页背景颜色不变——以HDLBits为例
  10. Mysql中从零点到当前时刻的SQL判断
  11. 个人笔记-如何学习(上)
  12. php cms下载地址,让PHPCMS下载内容页显示链接真实地址
  13. python中mod函数用法_python divmod函数是如何使用的?
  14. 修改ffmpeg支持文件描述符,以适配android10沙箱机制
  15. 查看linux发行版
  16. python读取二进制文件 \xff\xfe \xef\xbb\xbf
  17. ||、、!的使用与区别
  18. 2023软件测试面试全方位话术,你想要的全都有
  19. 除烟超猛的油烟机,还有智慧内核加持,云米AI烟灶套装体验
  20. 使用 Unity 和 C 开发您的首个游戏

热门文章

  1. POJ 2762Going from u to v or from v to u?(强联通 + 缩点 + 拓扑排序)
  2. 用c++定义两个坐标点,计算两点间距离;进而计算线段的面积
  3. J2EE五层架构概念[转+整理]
  4. 【吴恩达机器学习】学习笔记——1.5无监督学习
  5. AC日记——红色的幻想乡 洛谷 P3801
  6. 四则运算03(附第四周进度条)
  7. node连接--MySQL
  8. 单指令流多数据流( SIMD)
  9. 7-Arco大讲堂(二)
  10. 6-Arco大讲堂(一)