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基础运行原理相关推荐

  1. Java入门教程:最全面最简单的Java基础教程

    Java是一种跨平台的语言,一次编写,到处运行,在世界编程语言排行榜中稳居第二名(第一名是C语言). Java用途广泛,可以用来开发传统的客户端软件和网站后台,也可以开发如火如荼 Android 应用 ...

  2. java清华大学教程_清华大学出版社-图书详情-《Java Web应用开发基础教程》

    目录                                                  ...

  3. java lambda教程_Lambda系列教材 (一)- Java Lambda 表达式教程

    假设一个情景: 找出满足条件的Hero 本教程将从使用普通方法,匿名类,以及Lambda这几种方式,逐渐的引入Lambda的概念 步骤1:普通方法 步骤2:匿名类方式 步骤3:Lambda方式 步骤4 ...

  4. java注解教程 pdf_Java注解教程和示例

    Java注解教程和示例 塔尼亚·辛格 Java注解使我们可以将元数据信息添加到源代码中,尽管它们不是程序本身的一部分.注解是从JDK 5添加到Java的.注解对其注解的代码的操作没有直接影响(即,它不 ...

  5. Java泛型教程–示例类,接口,方法,通配符等

    泛型是Java编程的核心功能之一,它是Java 5中引入的.如果您使用的是Java Collections ,并且版本5或更高版本,则可以肯定使用了它. 在集合类中使用泛型非常容易,但是它提供了比仅创 ...

  6. Java并发教程–重入锁

    Java的synced关键字是一个很棒的工具–它使我们能够以一种简单可靠的方式来同步对关键部分的访问,而且也不难理解. 但是有时我们需要对同步进行更多控制. 我们要么需要分别控制访问类型(读取和写入) ...

  7. Java并发教程–信号量

    这是我们将要进行的Java并发系列的第一部分. 具体来说,我们将深入探讨Java 1.5及更高版本中内置的并发工具. 我们假设您对同步和易失性关键字有基本的了解. 第一篇文章将介绍信号量-特别是对信号 ...

  8. Java并发教程–线程池

    Java 1.5中提供的最通用的并发增强功能之一是引入了可自定义的线程池. 这些线程池使您可以对诸如线程数,线程重用,调度和线程构造之类的东西进行大量控制. 让我们回顾一下. 首先,线程池. 让我们直 ...

  9. 在新版win10上的Java安装教程(全网最全)

    在win10上的Java安装教程(全网最全) 前言 JAVA环境变量配置 一.JDK的下载与安装 二.JAVA环境变量配置 1.打开高级系统设置 2.然后选择环境变量 3.点击新建 4.配置JAVA_ ...

  10. Java并发教程–阻塞队列

    如第3部分所述,Java 1.5中引入的线程池提供了核心支持,该支持很快成为许多Java开发人员的最爱. 在内部,这些实现巧妙地利用了Java 1.5中引入的另一种并发功能-阻塞队列. 队列 首先,简 ...

最新文章

  1. 各大厂分布式链路跟踪系统架构对比
  2. 清空memcached中缓存的数据的方法
  3. php考察新人的题目,PHP面试指南2020-sql考察题
  4. 几种进程间的通信方式
  5. IO流的练习5 —— 读取文件中的字符串,排序后写入另一文件中
  6. [恢]hdu 2021
  7. linux dhcpd 设置 关于 subnet
  8. Forrester报告:人工智能将取代6%的工作岗位
  9. vue根据屏幕大小适配表格高度
  10. 2017-2018-1 20155222 《信息安全系统设计基础》第7周学习总结
  11. 大麦无线路由器改装打印服务器,大麦domywifi DW33D路由器固件openwrt重分区版
  12. Modbus通信协议
  13. android OpenGL渲染带骨骼动画的3D模型
  14. 由课堂思考生活(作者:张子逸)
  15. java求矩阵的逆矩阵_Java逆矩阵计算
  16. Unity Custom PBR材质
  17. JS模块化-实现一个简单的CommonJS
  18. MySQL学习笔记(1)——高可用组复制
  19. 6.C语言 二维数组
  20. 《深入理解Java虚拟机》知识点目录

热门文章

  1. 程序员——神圣的职业
  2. 华为服务器设置iBMC管理网口IP地址,开启Monitor图文教程
  3. Vxscan:一款实用综合扫描工具
  4. [zabbix]解决binlog日志过大/web界面中文乱码问题
  5. Ubuntu16安装OpenStack
  6. 质数(素数) 与 加密(密码学上的应用)
  7. 【PostgreSQL-9.6.3】设置非自动提交
  8. Jmeter工具使用-分布式架构和服务器性能监控解决方案
  9. SpringBoot(6) SpringBoot配置全局异常
  10. 新上手jupyterlab安装及问题解决