Java的运行机制(一)

Java的运行机制(一)前言:还是那句话,第一、凡是涉及到概念性内容的时候,我都会到官网去确认内容的真实性!第二、我喜欢偏向于原理学习。在java介绍里面,我认为知道这是一门完全面向对象的语言就足够了。我的导师说C++是认为程序员是很强大的,开放了所有的功能权限;Java是认为程序员不是那么全能的,有些危险的操作,不会让你执行。不知道您是否也这么认为呢?目录一、类的结构二、运行机制1、编译方式…

大家好,又见面了,我是你们的朋友全栈君。

前言:还是那句话,第一、凡是涉及到概念性内容的时候,我都会到官网去确认内容的真实性!第二、我喜欢偏向于原理学习。在 java介绍里面,我认为知道这是一门完全面向对象的语言就足够了。C++认为程序员是很强大的,开放了所有的功能权限;Java是认为程序员不是那么全能的,有些危险的操作,不会让你执行。

目录

一、 类的结构

二、 运行机制

1、 编译方式

2、 运行

3、JVM

4、 原理

编译原理

运行原理


一、 类的结构

//HelloWorld是自定义类名与cpp一样,
//不一样的是这个类名一定要和文件名一致,
//每个单词的首字母需要大写。
class Helloworld{
    //主方法入口
    public static void main(String [] args){
        //在控制台输出的方式
        System.out.printIn("Hello,world");
    }
}

二、 运行机制

先了解一下什么是JVM、JDK、JRE,学习直通车:JVM、JRE与JDK三者的区别_DJun的博客-CSDN博客

在java中,我们写出来的代码都是源代码(*.java),源代码是不能执行的,必须编译成字节码文件(*.class)

运行前提:下载了java,将java的bin目录添加到了系统的环境变量中。你会发现在bin目录中有javac.exe与java.exe的文件。作用如下:

1、 编译方式

javac  文件名 .java

2、 运行

java  文件名.class

3、JVM

JVM是什么?

说白了就是java的字节码文件运行时创建的虚拟机,然后在运行.class文件。至于java如何创建的JVM,有兴趣的话也可以了解一下。

在C++中,  C++没有虚拟机这种概念,也就是说C++一旦编译就可以运行,是一种编译型语言,速度上一般比JAVA快得多(这个要看个人水平写出来的程序运行的效率),C++编译完成后是机器码(二进制文件)可以直接在操作系统上运行。

4、 原理

编译原理

在Java的运行环境中,JRE包括JVM和Java的核心类库。

Java的运行机制(一)

运行原理

首先任何程序的运行都离不开计算机的内存!当我们切换到盘符下面执行HelloWorld的时候,会立即在计算机的内存里面创建一个JVM,再把HelloWorld.class这个文件调到JVM中。

Java的运行机制(一)

下一章节:Java的标识符与数据类型——有C++基础的Java入门(二)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157135.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JavaScript设计模式—-策略模式[通俗易懂]

    JavaScript设计模式—-策略模式[通俗易懂]声明:这个系列为阅读《JavaScript设计模式与开发实践》—-曾探@著一书的读书笔记1.策略模式的定义将不变的部分和变化的部分隔开是每个设计模式的主题。定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。2.策略模式的目的将算法的使用与算法的实现分离开来。3.传统语言中的策略模式和JavaScript中的策略模式对比3.1.传统语言中的策略模式使用策略模式来实现计算奖金v

    2022年7月12日
    21
  • 微信小程序:微信登陆(ThinkPHP作后台)

    微信小程序:微信登陆(ThinkPHP作后台)

    2021年10月14日
    51
  • idea 2021.5.3 激活码[在线序列号]

    idea 2021.5.3 激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    73
  • c语言的stl库_c语言string库

    c语言的stl库_c语言string库今天推荐一个函数库glib注意不是glibc https://developer.gnome.org/glib/一直在抱怨,标准C中为什么没有类似于STL的标准容器,让全世界的程序员在数以万次的重复实现它们。不过,还算走运,有了glib,恶梦在此终结了。glib提供了动态数组、单/双向链表、哈希表、多叉树、平衡二叉树、字符串等常用容器,完全是面向对象设计的,实现得非常精致。

    2022年10月15日
    2
  • quartus ii引脚分配再学习下

    quartus ii引脚分配再学习下最近开始鼓捣AC620这个板子,上来第一步就是要把引脚分配整理下,因为本身附带的文档并没有引脚分配文档。开发板:AC620芯片:CycloneIVEEP4CE10F17C8软件:quartusii一般来说对于芯片的引脚分配,最稳妥的方式就是在pinplanner中手动设置,当然用脚本文件也是可以的,一般的板子会提供一个.csv来提供所有的引脚分配。不过这个板子没有所以只…

    2022年10月15日
    2
  • [转载]Asp.net MVC 2 + Castle + NHibernate 项目实战(1)

    [转载]Asp.net MVC 2 + Castle + NHibernate 项目实战(1)

    2021年8月15日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号