Java基础(下)

第三部分:Java源程序的编辑

我们知道,计算机是不能直接理解源代码中的高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。

翻译的方式有两种:一个是编译,一个是解释,而两种方式的优缺点各不相同,编译的速度快,但不能跨平台,而解释却恰恰相反,翻译的速度慢,但是能够跨平台。因此,Java采用半编译半解释语言,速度既快,也能跨平台。

作为编译型语言,Java中的所有源程序文件被编译后,统一生成一种被称为Java字节码的中间语言。与C语言生成特定硬件和操作平台不同是,Java程序编译后生成的字节码对所有的计算机都是相同的。因为编译后的文件名后缀为class,所以字节码文件又称为Java类文件。

作为解释型语言,Java源代码编译后生成的字节码文件是不能直接执行的,需要一个称为Java虚拟机的程序翻译成本地的机器码后才能执行,如图所示:

类名.java→javac.exe→类名.class→JVM→本地代码

Java虚拟机本质上是一个软件,该软件被放在某个操作系统上,例如Unix,Linux,Windows等,从而为相应操作系统上Java程序的运行提供一个独立的标准环境。Java虚拟机之所以称为“虚拟”机,就是让我们把这个软件当做一个虚拟的机器。我们编写的Java程序运行在这个虚拟的机器上,隔离具体的操作系统和硬件平台,从而实现了Java程序的跨平台特性:在一个操作系统上开发的的程序可以在任何操作系统上运行,这就是SUN所宣扬的”一次编写,到处执行“。

第四部分:JavaAPI

一个复杂的Java程序可能要牵涉网络,安全,数据库访问,图形等等方面,如果所有这些都让我们自己从头到尾编写,即使一个简单的应用也会耗费我们大量的时间。因此,SUN在发布JVM时,也为我们提供了一个庞大的类库,这就是JavaAPI。JavaAPI中是一些已经完成的软件组件,这些组件提供了Java编程语言的核心功能。我们可以在我们编写的应用程序中使用这些组件。JavaAPI与JVM一起,将我们编写的Java程序与下层硬件隔离,如图所示:

Java基础-考察JVM内部结构的常用工具介绍

Java基础-考察JVM内部结构的常用工具介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们可以通过jvisualvm.exe考察jvm内部结构.而jvisualvm.exe ...

Java基础:JVM垃圾回收算法

众所周知,Java的垃圾回收是不需要程序员去手动操控的,而是由JVM去完成.本文介绍JVM进行垃圾回收的各种算法. 1. 如何确定某个对象是垃圾 1.1. 引用计数法 1.2. 可达性分析 2. 典型 ...

Java基础篇——JVM之GC原理(干货满满)

原创不易,如需转载,请注明出处https://www.cnblogs.com/baixianlong/p/10697554.html ,多多支持哈! 一.什么是GC? GC是垃圾收集的意思,内存处理是 ...

java基础(15):常用API(Object、String、StringBuffer)

1. Java的API及Object类 在以前的学习过程中,我们都在学习对象基本特征.对象的使用以及对象的关系.接下来我们开始使用对象做事情,那么在使用对象做事情之前,我们要学习一些API中提供的常用 ...

面试题(二)—Java基础(下)

一.进程和线程 进程 (1)正在运行的程序,是系统进行资源分配和调用的独立单位. (2)每一个进程都有它自己的内存空间和系统资源. 线程 (1)是进程中的一条执行路径. (2)一个进程如果只有一条执行 ...

Java基础--虚拟机JVM

JVM内存结构 Heap Space: 堆内存(Heap Space)是由Young Generation和Old Generation组成,而Young Generation又被分成三部分,Eden ...

面试【JAVA基础】JVM

1.内存模型 1.1.堆 堆是所有线程共享的,主要存放对象实例和数组. 新生代和老年代的比例是1:2. 新生代中三个区域的比例是 8 : 1 : 1. 1.1.1.新生代 对象分配在eden区中,当e ...

java基础JDK jvm path环境变量

JDk=JRE +java的开发工具(javac.exe java.exe javadoc.exe)JRE =JVM +Java核心类库 2.为什么 要配置 path环境变量 ?如何配置?JAVA_H ...

Java基础学习-常见API

package commonAPIs; /*java.lang 类 Object java.lang.Object public class Object类 Object 是类层次结构的根类.每个类都 ...

java基础3.0:Java常用API

本篇介绍Java基础中常用API使用,当然只是简单介绍,围绕重要知识点引入,巩固开发知识,深入了解每个API的使用,查看JavaAPI文档是必不可少的. 一.java.lang包下的API Java常 ...

随机推荐

父ListView嵌套子ListView时点击事件没有响应

转发请备注出处:http://www.cnblogs.com/LT5505/p/5972999.html 问题: 在ListView中嵌套ListView之后,子ListView会把父ListView ...

ngOptions

ngOptions select as select as label for value in array

extjs 箱子布局

a.flex 配置项 flex 配置项不是设置在布局上,而是设置在子项的配置项.每个子项相对的 flex 值都会与全体子项 flex 累加的值相比较,根据此结果,处理每个子项的 flex 最后是多少. ...

Ubuntu14.04LTS系统QQ的安装:pidgin-lwqq

本人是轻度聊天工具使用者(大言不惭是轻度,偷笑),发现输入法到博主也有解决linux下QQ的解决方法,一并抄过来,有需要,请联系原作者 参考链接:http://www.cnblogs.com/zhj5 ...

FTP上传

package cn.zto.util; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileIn ...

java中Commons-fileupload实现上传

java中Commons-fileupload组件实现上传 在实现功能之前需要导入两个jar文件,分别是 commons-fileupload-1.3.1.jar 和 commons-io.jar 文 ...

Hibernate入门6.Hibernate检索方式

Hibernate入门6.Hibernate检索方式 20131128 代码下载 链接: http://pan.baidu.com/s/1Ccuup 密码: vqlv Hibernate的整体框架已经 ...

对lua继承中self.__index = self的释疑

首先看看从lua表中查找一个键时的流程: -- 当从表t中查找键k时,lua处理如下: -- 1.t中是否有k,有则直接返回值,否则第2步 -- 2.t是否有元表, 无则返回nil, 有则第3步 -- ...

excel文档

1.快速统计行数(ctrl+Shift+(方向键向下)). bson数据类型 留个影响 public enum BsonType { Double = 0x01, String = 0x02, Doc ...

Windows8 Metro快捷键 | Win8迷

Windows8 Metro快捷键 | Win8迷   Win + Q : 打开 搜索面板 Win + C : 打开屏幕右侧的Charms简化菜单 Win + 空格 : 切换输入语言和键盘布局

Java包括jvm及API,Java基础(下)(JVM、API)相关推荐

  1. 资料搜集-JAVA系统的梳理知识5-JAVA基础篇JVM

    <!-- TOC -->- [Collections 工具类和 Arrays 工具类常见方法](#collections-工具类和-arrays-工具类常见方法)- [Collection ...

  2. java 字节码详解_Java基础篇(JVM)——字节码详解

    这是Java基础篇(JVM)的第一篇文章,本来想先说说Java类加载机制的,后来想想,JVM的作用是加载编译器编译好的字节码,并解释成机器码,那么首先应该了解字节码,然后再谈加载字节码的类加载机制似乎 ...

  3. c语言win api函数,Win2K下的Api函数的拦截

    这么多高手在这里,哎,小弟愿意向各位高手学习. Api拦截并不是一个新的技术,很多商业软件都采用这种技术.对windows的Api函数的拦截,不外乎两种方法,第一种是Mr. Jeffrey Richt ...

  4. 八股文--Java基础下

    目录 String相关 字符型常量和字符串常量的区别? 什么是字符串常量池? String str="aaa"与 String str=new String("aaa&q ...

  5. JVM 并发性: Java 和 Scala 并发性基础(1)

    转载于:http://www.itxuexiwang.com/a/javajishu/jvm_jdk_yuanmafenxi/2016/0129/50.html?1454076380 处理器速度数十年 ...

  6. Java基础之jvm,堆的分类新生代、老生代和永久代详解

    JVM是Java Virtual Machine(Java虚拟机),是一种用于计算设备的规范,一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的. 引入Java语言虚拟机后,J ...

  7. 【Java 基础】JDK API Documentation 教程使用详解

    文章目录 一.JDK API是什么 二.获取文档 三.文档查看教程 1.大纲 2.目录结构查看 3.包查看 4.类查看 5.详细使用信息 相关 一.JDK API是什么   API(Applicati ...

  8. java在gc正常工作的情况下_最新JVM面试题小结,程序猿直呼内行

    这篇文章主要介绍了JVM面试题小结(2020最新版),觉得挺不错的,现在分享给大家,也给大家做个参考. Java内存区域 说一下 JVM 的主要组成部分及其作用? JVM包含两个子系统和两个组件,两个 ...

  9. Java EE API(基础包)

    2021-2022赛季 软191级队学习资料 J2EE编程之重点API(基础包) [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xEgMG8Mr-16311861226 ...

最新文章

  1. c语言课程设计贴吧,【图片】发几个C语言课程设计源代码(恭喜自己当上技术小吧主)【东华理工大学吧】_百度贴吧...
  2. 阿里云风险识别决策引擎发布
  3. ES6前端就业课第三课之class
  4. jsp页面点击显示影藏div的一个方法
  5. 博客园的博客终于开通了
  6. react学习系列1 修改create-react-app配置支持stylus
  7. 软件研发作为一项工程而言,纳闷!
  8. 从微店到小程序店,微商仍是电商途中的苦行僧?
  9. 计算机外部设备的配置及扩展能力也是计算机,计算机1-6修改后.docx
  10. 影像篡改与识别(三):人工智能时代
  11. word计算机板书,Word板书设计怎么写
  12. 使用inkscape制作logo
  13. 央国企的企业并购重组信息能在塔米狗上找到吗?
  14. node.js转换shp文件数据的坐标系
  15. 微信气泡主题设置_华为手机微信怎么设置气泡? 怎样改微信的气泡和主题
  16. 头发合成:手绘草图妙变逼真秀发
  17. 工业制造厂房vr虚拟实景展示,真实立体呈现到客户面前
  18. ApiPost 前后端协作开发神器 Postman+Swagger+Mock+Websocket的完美替代品
  19. python异常处理
  20. java实验八 内部类,匿名类

热门文章

  1. 间述i计算机主要应用领域,电子科技大学17年11月《计算机导论》作业考核试题题目...
  2. 停车场管理系统实习题〈数据结构〉
  3. 高考填报志愿计算机操作技巧,2021高考填报志愿六个技巧
  4. java单位转换_如何创建单位转换Java程序
  5. 网络文件夹目前是以其他用户名和密码进行映射的 解决方案
  6. Dubbo的使用和原理
  7. 浅谈Prim,Kruskal最小生成树算法
  8. 一张图看懂信息化和数字化的本质区别
  9. COI 2020 Semafor(矩阵乘法+优化)
  10. Could not determine artifacts for“xxx“No cached version available for offline mode