java程序运行机制的特点_Java语言的特点

java程序运行机制的特点_Java语言的特点特点一:面向对象1、两个基本概念:类、对象2、三大特性:封装、继承、多态特点二:健壮性吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制特点三:跨平台性跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Writeonce,RunAnywhere”原理:只要在需要运行java应用程序的操作系…

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

特点一:面向对象

1、两个基本概念:类、对象

2、三大特性:封装、继承、多态

特点二:健壮性

吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与

释放等),提供了一个相对安全的内存管理和访问机制

特点三:跨平台性

跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write

once , Run Anywhere”

原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java

Virtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。

ba27dc379cca

image.png

Java语言运行机制及运行过程

##### Java虚拟机 (Java Virtal Machine)

JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指

令,管理数据、内存、寄存器。

对于不同的平台,有不同的虚拟机

只有某平台提供了对应的java虚拟机,java程序才可在此平台运行

Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”

ba27dc379cca

image.png

垃圾收集机制 (Garbage Collection)

不再使用的内存空间应回收—— 垃圾回收

1、在C/C++等语言中,由程序员负责回收无用内存

2、Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空

间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。

垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。

JDK(Java Development Kit Java开发工具包)

JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了

JRE。所以安装了JDK,就不用在单独安装JRE了。

JRE(Java Runtime Environment Java运行环境)

包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,

如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

简单而言,使用JDK的开发工具完成的java程序,交给JRE去运行

Java语言的环境搭建:JDK、JRE、JVM关系

ba27dc379cca

image.png

开发体验 — HelloWorld

步骤:

1. 将 Java 代码编写到扩展名为 .java 的文件中。

2. 通过 javac 命令对该 java 文件进行编译。

3. 通过 java 命令对生成的 class 文件进行运行。

ba27dc379cca

image.png

public class Test{

public static void main(String[] args) {

System.out.println(“Hello World!”);

}

}

声明为public的类应与文件名一致,否知编译失败

注 释(comment)

用于注解说明解释程序的文字就是注释。

Java中的注释类型:

1、单行注释

//注释文字

2、多行注释

/* 注释文字 */

3、文档注释 (java特有)

/**

@author 指定java程序的作者

@version 指定源文件的版本

*/

对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行

多行注释里面不允许有多行注释嵌套。

文档注释 注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形

式体现的该程序的说明文档。

操作方式

ba27dc379cca

image.png

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

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

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


相关推荐

  • 数据可视化之美 — 以Matlab、Python为工具

    数据可视化之美 — 以Matlab、Python为工具在我们科研、工作中,将数据完美展现出来尤为重要。数据可视化是以数据为视角,探索世界。我们真正想要的是—数据视觉,以数据为工具,以可视化为手段,目的是描述真实,探索世界。下面介绍一些数据可视化的作品(包含部分代码),主要是地学领域,可迁移至其他学科。Example1:importnumpyasnpimportmatplotlib.pyplotasplt#创建随机数n=100000x=np.random.randn(n)y=(1.5*x)+np.ra

    2025年6月15日
    2
  • 升降压电路的工作原理

    升降压电路的工作原理1.升压电路也叫自举电路,是利用自举升压二极管,自举升压电容等电子元件,使电容放电电压和电源电压叠加,从而使电压升高,有的电路升高的电压能达到数倍电源电压。开关直流升压电路(即所谓的boost或者step-up电路)原理,theboostconverter,或者叫step-upconverter,是一种开关直流升压电路,它可以是输出电压比输入电压高。基本电路图如图所示假定那个开关(三极管或者mos管)已经断开了很长时间,所有的元件都处于理想状态,电容电压等于输入电压。下面要分充电和放电两个部分来

    2022年6月20日
    63
  • Tomcat配置appBase为空时BlazeDS找不到endpoint路径[通俗易懂]

    因为有用quartz定时任务,把tomcat的appBase设置为空,以防同时执行2次。但这样BlazeDS初始化时会找不到endpoint路径。 解决方法是把endpointurl中的{context.root}全部改为项目的路径,如项目是webapps\abc,就把所有{context.root}改为abc…

    2022年4月15日
    52
  • mt4数据api接口_外汇api

    mt4数据api接口_外汇api1、MT4API交易接口是什么?MT4Api接口是跨平台多账号交易接口,是将MT4交易通道以API的方式聚合在一起,帮助开发商在各经纪商不提供manager后台账号、无须EA插件的情况下,也能轻松接入不同的MT4交易平台,完成登录、交易和订单查询的功能,真正实现跨平台交易,减少巨额的人工成本和硬件成本。适合开发行情展示或者订单管理,交易策略等,如果开发实力可以,你甚至可以用他开发一个MT4客户端!此MT4API比使用MT4终端进行报价和交易要快得多;提供实时开仓、平仓等多种功能。2、MT4API的协

    2025年10月19日
    2
  • 将 VSCode 快捷键修改为 eclipse的快捷键[通俗易懂]

    将 VSCode 快捷键修改为 eclipse的快捷键[通俗易懂]文章目录1、VSCode中打开`命令面板`,如下图所示。2)在命令面板中输入`keyboard`3)打开`首选项:打开键盘快捷方式(JSON)`4)在`keybindings.json`中配置快捷键配置1(常用的快捷键)配置2(最全的快捷键)1、VSCode中打开命令面板,如下图所示。2)在命令面板中输入keyboard在命令面板中输入keyboard,然后在列表中选择首选项:打开键盘快捷方式(JSON):3)打开首选项:打开键盘快捷方式(JSON)点击

    2022年6月3日
    99
  • oracle数据库迁移到新服务器_oracle库对库迁移数据

    oracle数据库迁移到新服务器_oracle库对库迁移数据一、创建用户1.1步骤1.2注意事项二、处理空表(1)描述Oracle11g中的新特性,当一个表中的数据为0时不分配segment,所以就不能够被导出。(2)解决方法方法一:先insert一条数据,再rollback就产生segment了,该方法是在空表中先插入一条数据,再删除就产生segment了,执行exp或者expdp时就可以导出了此空表了。方法二:修改deferred_segment_creation参数,该参数默认为TRUE,当修改为F..

    2022年10月21日
    2

发表回复

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

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