问题

  1. 谈谈对 Java 平台的理解
  2. Java是解释执行的 这句话对么
  3. 程序的编译与解释有什么区别

Java 平台的了解

Java的主要特点是两个,

  1. 编写一次到处运行 Write once, run anywhere
  2. 具有垃圾回收

编写一次到处运行是说通过 JVM这一层抽象可以让 Java 代码在不同的 CPU 平台转换成相同的字节码, 然后通过不同平台定制的虚拟机来执行字节码. 这也就是通过在代码和目标平台增加抽象层来解决问题.

Java 通过垃圾回收器来回收内存. 不需要程序员来显示的释放对象. 但是也增加了消耗, 使用不当会产生内存泄漏的问题.

Java是解释执行的 这句话对么

这句话不完全对.
通常来说, Java代码先有 javac 编译成平台无关的字节码, 然后再有 jvm 解释执行.
在 Hotspot Jvm 中有提供 JIT编译器, 有一些热点代码编译成机器码. 这部分热点代码属于编译执行.

程序的编译与解释有什么区别

编译和解释的区别在于代码什么时候翻译成目标CPU系统的机器码
程序的编译相当于将全部代码转换成机器码, 然后逐行执行机器码.

程序的解释相当于增加了一种中间代码, 这种代码在运行过程中才被翻译成目标CPU指令.

总之:
1,编译型语言在编译过程中生成目标平台的指令,解释型语言在运行过程中才生成目标平台的指令。
2,虚拟机的任务是在运行过程中将中间代码翻译成目标平台的指令。

Java-谈谈对Java平台的理解的更多相关文章

  1. Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构

    Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构 概述 毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术.不过大多数讲解还停留 ...

  2. Java生鲜电商平台-深刻理解电商的库存架构与解决方案

    Java生鲜电商平台-深刻理解电商的库存架构与解决方案 说明:一般电商的库存都是跟SKU相关联的,那么怎么样才能进行SKU的库存管理呢?有以下几种方式与方法: 一.七大库存分类 首先得学习什么是库存, ...

  3. 谈谈你对 Java 平台的理解

    声明 本篇所涉及的提问,正文的知识点,全都来自于杨晓峰的<Java核心技术36讲>,当然,我并不会全文照搬过来,毕竟这是付费的课程,应该会涉及到侵权之类的问题. 所以,本篇正文中的知识点, ...

  4. 《Java核心技术36讲》阅读笔记:谈谈对Java平台的理解笔记

    1. 谈谈你对Java平台的理解. Java是一种面向对象的语言,最显著的特性有两个方面: 一个就是一次编译,到处运行(Write once, run anywhere),能够非常容易的获得跨平台能力 ...

  5. java面试题(杨晓峰)---第一讲谈谈你对java平台的理解

    本人总结: 面向对象(封装,继承,多态) 平台无关性(jvm运行,class文件) 语言(泛型,lambda) 类库(集合,并发,网络,io/nio) jre(java运行环境,JVM,类库) JDK ...

  6. 1.谈谈对Java平台的理解

    1.谈谈你对Java平台的理解 Java 本身是一种面向对象的语言,最显著的特性有两个方面,一是所谓的“一次编译,到处运行”(Compile once,run anywhere),能够非常容易地获取跨 ...

  7. 谈谈你对java平台的理解?

    问题:谈谈你对java平台的理解?java是解释执行,这句话对吗? 典型回答:java本身是一种面向对象的语言,具有很好的跨平台的能力,能够做到“write once ,run anywhere”.另 ...

  8. Java核心-01 谈谈你对Java平台的理解

    今天我要问你的问题是,谈谈你对 Java 平台的理解?“Java 是解释执行”,这句话正确吗? 典型回答 Java本身是一种面向对象的语言,最显著的特性有两个.一是所谓的“书写一次,到处运行”,能够非 ...

  9. 谈谈对Java平台的理解

    从我第一次接触Java的时候,老师就说"Write once,run anywhere",这句话虽然听起来有一点太过于形式主义,但是也突出了它的特点.那么,现在的我们应该总结一下和 ...

随机推荐

  1. centos无法用password登录,只能用public key的解决办法

    如上图只能用public key登录,只是我在17年申请的阿里云免费体验半年的服务器上遇到的, 那么我们用阿里云后台的远程连接按钮进入服务器,进入后 就看/etc/ssh/sshd_config文件配 ...

  2. .net 流(Stream) - StreamWriter和StreamReader、BinaryReader和BinaryWriter

    转自:http://www.oseye.net/user/kevin/blog/86 一.StreamWriter和StreamReader 从上一篇博文可知文件流.内存流和网络流操作的都是字节,每次 ...

  3. tp框架 php5.5以上版本出现”No input file specified“错误问题解决

    public文件夹下  .htaccess文件中的 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 在默认情况下会导致No input file specifie ...

  4. AngularJs学习笔记--Dependency Injection(DI,依赖注入)

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/di 一.Dependency Injection(依赖注入) 依赖注入(DI)是一个软件设计模式,处理 ...

  5. 第三篇——第二部分——第一文 SQL Server镜像简单介绍

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/DBA_Huangzj/article/details/26951563 原文出处:http://bl ...

  6. Libevent源码学习笔记一:event2/event.h

    一.libevent标准使用方法: 每个程序使用Libevent必须include <event2/event.h> 头文件,并 传给 -levent  链接器.如果只是想使用主要的eve ...

  7. CopyOnWriteArrayList介绍

    CopyOnWrite容器即写时复制的容器.通俗的理解是当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后, ...

  8. CentOS 安装postgresql

    CentOS 安装postgresql   添加postgresql官网安装源 在/etc/yum.repos.d目录下新建pgdg-10-centos.repo 文件 [pgdg10] name=P ...

  9. 移动端web开发技巧和常见问题

    常见问题 1.移动端如何定义字体font-family 三大手机系统的字体: ios 系统 默认中文字体是Heiti SC 默认英文字体是Helvetica 默认数字字体是HelveticaNeue ...

  10. Haroopad 中文不显示

    https://blog.csdn.net/zgf19930504/article/details/51508111 1. 选择文件--> 偏好设置 2. 选择 编辑器--> 编辑--&g ...