Java是如何实现跨平台的
一.Java是如何实现跨平台的
1.我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件
2.Java虚拟机JVM就是负责将字节码文件翻译成特定平台下的机器码然后运行。也就是说,只要在不同平台上安装对应的JVM,就可以运行字节码文件,运行我们编写的Java程序。
注意:跨平台的是Java程序,不是JVM。JVM是用C/C++开发的,不同平台下需要安装不同版本的JVM
所以对成千上万的java开发者和java程序来讲,java是跨平台的
二.JRE,JDK, JVM是什么
JVM 就是Java虚拟机,有多个版本,用来支持Java跨平台的
三.安装和配置java环境
1.先下载安装jdk,首先百度搜索jdk下载,去Orcle官网下载,下载完后安装
2.安装完毕后会有jdk,和jre两个文件夹
JDK打开后目录结构如下图所示:
3.配置环境变量,打开windons系统的环境变量设置窗口,win10下是:
打开我的电脑,在空白处右键单击选择“属性”->“高级系统设置”->“环境变量”
然后在用户变量这里新建,变量名为PATH,变量值为javac.exe的路径,我的是D:\code\jdk1.8.0_151\bin,点击保存
打开cmd,输入javac,出现下图说明已经配置成功:
四.编写Java程序并编译
1.在D盘下新建一个文本文件,改后缀名为.java. 比如111.java
2.打开111.java,编辑,输入如下代码:
class Hello
{
public static void main(String[] args)
{
System.out.println("HelloWorld");
};
}
3.打开cmd,进入D盘,输入javac 111.java , 这是编译的命令,javac是编译的意思
4.编译成功后,会在同样目录下生成Hello.class字节码文件
5.启动JVM,并执行字节码文件,语法:java 带有main函数的类名 举例java Hello
6.控制台输出“Hello World”
五.java的基本语法
1.java严格区分大小写
2.一个java源文件中能有多个类,但只能有一个public类,而且源文件名必须与类名相同
3.一个java源文件中有N个java类时,编译后会生成N份字节码,字节码名称与类名一一对应
4.建议:一个源文件中只定义一个类,并修饰为public
参考资料:https://blog.csdn.net/songkai320/article/details/51819046
http://www.open-open.com/lib/view/open1408453806147.html
Java是如何实现跨平台的的更多相关文章
- Java 是如何实现跨平台的?
Java 是如何实现跨平台的? 注意:跨平台的是 Java 程序,而不是 JVM.JVM 是用 C/C++ 开发的,是编译后的机器码,不能跨平台,不同平台下需要安装不同版本的 JVM 答:我们编写的 ...
- Java虚拟机(JVM)以及跨平台原理详细的介绍
相信大家已经了解到Java具有跨平台的特性,可以"一次编译,到处运行",在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的.那么,跨平台是 ...
- java语言为什么能跨平台
参考https://blog.csdn.net/woailuo453786790/article/details/51660015 因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一 ...
- [Java学习] Java虚拟机(JVM)以及跨平台原理
相信大家已经了解到Java具有跨平台的特性,可以“一次编译,到处运行”,在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的. 那么,跨平台是怎样实现的呢?这就 ...
- JAVA虚拟机(JVM)以及跨平台原理(JDK、JRE、JVM)
相信大家已经了解到Java具有跨平台的特性,可以“一次编译,到处运行”,在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的. 那么,跨平台是怎样实现的呢?这就 ...
- Java虚拟机(JVM)以及跨平台原理
相信大家已经了解到Java具有跨平台的特性,可以"一次编译,到处运行",在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的. 那么,跨平台 ...
- 基础02 Java 跨平台原理
1993 , JAVA初衷: 机顶盒 1994 年互联网刚刚兴起,.(高司令\ 高斯林),改造成了面向互联网的计算机语言.java重要特性之 ------- 跨平台(一次编译,到处运行).平台:操作系 ...
- Java笔记1-Java相关概念和如何实现跨平台
一.Java相关概念 1.Java语言的核心特点跨平台面向对象 2.Java的历史版本JDK1.0,JDK1.1,JDK1.2....JDK5.0,JDK6.0,JDK7.0,JDK8.0 注意:JD ...
- 如何编写跨平台的Java代码
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
随机推荐
- 提高Modelsim仿真速度的方法(1) -- force
假如主驱动时钟频率很高,因为要一个周期输出,仿真时间过长,仿真速度慢是自然. 但是仿真中,并不是每个驱动周期都是必要的,这时可以使用force命令把想要的信号提前制造出来. 事实上,对于使用到PLL的 ...
- nicescroll 使用与配置
使用// 1. 简单模式,设置html元素滚动 $(document).ready(function() { $("html").niceScroll(); }); // 2. 返 ...
- 跳表上线性dp——1150D 好题!
题目设计的很好,感觉做了这题对dp的状态有了更深的理解 /* 先预处理序列自动机 dp[i][j][k]表示匹配到i,j,k时的最靠前的位置 那么现在A串加入了一个字母,我们要求的就是dp[i+1][ ...
- Ubuntu GitHub操作——使用仓库
若你想更新github代码 在正式更新github仓库时,可以先 git status 查看一下分支master的状态 1.因为是更新代码,所以不用前面那么多步骤,直接添加所更新的文件到 分支mast ...
- hp笔记本在设置VT-x为启用模式后还是无法在VMware上开启CentOS虚拟机
在h笔记本上,将VT-x设置为Enabled模式后,需要断开电源,拆下电池,然后再按住开机按钮10秒钟左右放开,再重新装上电池,接通电源即可.
- 面向对象_访问修饰符_构造与析构函数_this指针
1:面向对象 以codeblocks举例,在一个工程里面: File-->new -->Class可以建一个类,可以设置类的参数,是否有set get方法,有无构造函数等设置,.h文件主要 ...
- EF实体模型的更新
摘要 解决前期数据库优先添加的实体,然后数据库表结构发生变化后,导致代码操作EF插入更新数据失败问题 EF 数据库更新模型 相比大家在使用实体操作数据库的时候,都是采取数据库优先,手动添加实体模型.但 ...
- 使用python和tableau对数据进行抓取及可视化
使用python和tableau对数据进行抓取及可视化 本篇文章介绍使用python抓取贷款及理财平台的数据,并将数据拼接和汇总.最终通过tableau进行可视化.与之前的python爬虫文章 不同之 ...
- .Net Core微服务系列--服务发现
什么是服务发现 首先我们先思考一个问题,当我们在浏览器中输入一个域名比如baidu.com,然后发生了什么才能让我们访问到百度的网页?简单来说,浏览器会首先从主机的hosts文件中查看是否有baidu ...
- Node中js获取异步操作的结果
js中要获取异步操作的结果必须使用回调函数 回调函数也被称为高阶函数,简单来说就是,函数作为一个参数传到另一个主函数里面,当那一个主函数执行完之后,再执行传进去的作为参数的函数 function fn ...