java原理教程,java基础之运行原理(一),java基础运行原理
java基础之运行原理(一),java基础运行原理
java的核心配置:JDK
JDK主要包括三个部分
1、Jre:java的运行环境
2、Java的工具:java的编译器(java.c.exe)、 java执行解释器
3、Java的类库
java程序运行过程
编写一个.java文件格式的源文件,源文件经过编译器编译成字节码文件(.class文件),字节码文件为二进制,为什么要编译为二进制呢,是因为我们编写的java文件计算机看不懂,计算机只能读取二进制,所以要编译成二进制,毕竟是计算机帮我们运行程序,那么首先得先转换成它能看懂的文件,然后由执行解释器将字节码文件加载到java虚拟机中,.class文件就会在java虚拟机中运行。
这里就清楚的看到编译和运行的区别,一般在ecilpse中,当点击文件保存时,eclipse会自动将代码进行编译此时已经生成.class文件,点击运行时,编译好的.class文件才会运行。所以,才会有编译错误和运行错误,编译错误在保存.java源文件时,就会出现错误提示,并且程序无法运行,有时候程序编译没有问题,但是运行后出现问题,结果不对,这就是运行错误。
java语言的好处
java语言最大的好处应该就是跨平台(操作系统)运行了, java源代码编译成字节码文件是不需要平台支持的,但是每个操作系统的JVM是不一样的,不同的JVM都能够翻译二进制文件,所以当你的程序由wondows系统转移到Linux系统时,只需要安装不同的JVM版本,不用更改源代码,就能够将程序跨平台运行。即实现了一次编译,到处运行。
相关文章暂无相关文章
java原理教程,java基础之运行原理(一),java基础运行原理相关推荐
- Java入门教程:最全面最简单的Java基础教程
Java是一种跨平台的语言,一次编写,到处运行,在世界编程语言排行榜中稳居第二名(第一名是C语言). Java用途广泛,可以用来开发传统的客户端软件和网站后台,也可以开发如火如荼 Android 应用 ...
- java清华大学教程_清华大学出版社-图书详情-《Java Web应用开发基础教程》
目录 ...
- java lambda教程_Lambda系列教材 (一)- Java Lambda 表达式教程
假设一个情景: 找出满足条件的Hero 本教程将从使用普通方法,匿名类,以及Lambda这几种方式,逐渐的引入Lambda的概念 步骤1:普通方法 步骤2:匿名类方式 步骤3:Lambda方式 步骤4 ...
- java注解教程 pdf_Java注解教程和示例
Java注解教程和示例 塔尼亚·辛格 Java注解使我们可以将元数据信息添加到源代码中,尽管它们不是程序本身的一部分.注解是从JDK 5添加到Java的.注解对其注解的代码的操作没有直接影响(即,它不 ...
- Java泛型教程–示例类,接口,方法,通配符等
泛型是Java编程的核心功能之一,它是Java 5中引入的.如果您使用的是Java Collections ,并且版本5或更高版本,则可以肯定使用了它. 在集合类中使用泛型非常容易,但是它提供了比仅创 ...
- Java并发教程–重入锁
Java的synced关键字是一个很棒的工具–它使我们能够以一种简单可靠的方式来同步对关键部分的访问,而且也不难理解. 但是有时我们需要对同步进行更多控制. 我们要么需要分别控制访问类型(读取和写入) ...
- Java并发教程–信号量
这是我们将要进行的Java并发系列的第一部分. 具体来说,我们将深入探讨Java 1.5及更高版本中内置的并发工具. 我们假设您对同步和易失性关键字有基本的了解. 第一篇文章将介绍信号量-特别是对信号 ...
- Java并发教程–线程池
Java 1.5中提供的最通用的并发增强功能之一是引入了可自定义的线程池. 这些线程池使您可以对诸如线程数,线程重用,调度和线程构造之类的东西进行大量控制. 让我们回顾一下. 首先,线程池. 让我们直 ...
- 在新版win10上的Java安装教程(全网最全)
在win10上的Java安装教程(全网最全) 前言 JAVA环境变量配置 一.JDK的下载与安装 二.JAVA环境变量配置 1.打开高级系统设置 2.然后选择环境变量 3.点击新建 4.配置JAVA_ ...
- Java并发教程–阻塞队列
如第3部分所述,Java 1.5中引入的线程池提供了核心支持,该支持很快成为许多Java开发人员的最爱. 在内部,这些实现巧妙地利用了Java 1.5中引入的另一种并发功能-阻塞队列. 队列 首先,简 ...
最新文章
- 各大厂分布式链路跟踪系统架构对比
- 清空memcached中缓存的数据的方法
- php考察新人的题目,PHP面试指南2020-sql考察题
- 几种进程间的通信方式
- IO流的练习5 —— 读取文件中的字符串,排序后写入另一文件中
- [恢]hdu 2021
- linux dhcpd 设置 关于 subnet
- Forrester报告:人工智能将取代6%的工作岗位
- vue根据屏幕大小适配表格高度
- 2017-2018-1 20155222 《信息安全系统设计基础》第7周学习总结
- 大麦无线路由器改装打印服务器,大麦domywifi DW33D路由器固件openwrt重分区版
- Modbus通信协议
- android OpenGL渲染带骨骼动画的3D模型
- 由课堂思考生活(作者:张子逸)
- java求矩阵的逆矩阵_Java逆矩阵计算
- Unity Custom PBR材质
- JS模块化-实现一个简单的CommonJS
- MySQL学习笔记(1)——高可用组复制
- 6.C语言 二维数组
- 《深入理解Java虚拟机》知识点目录