zoukankan      html  css  js  c++  java
  • Java的安全性和可移植性

     
     
    Java的这两个特性,关键在于Java编译器的输出并不是可执行的代码,而是字节码 bytecode. 
     
      字节码是一套设计用来在Java运行时系统下执行的高度优化的指令集,该Java运行时系统称为Java虚拟机 JVM. 在其标准形式下,JVM就是一个字节码解释器。 出于对性能的考虑,许多现代语言都被设计为编译型,而不是解释型。
     
      将一个Java程序翻译成字节码,有助于它更容易地在一个大范围的环境运行程序。在一个给定的系统中,只要系统运行包存在,任何Java程序都可以在该系统上运行。因此,对字节码进行解释是编写真正可移植性程序的最容易的方法。
     
      对Java程序进行解释也有助于它的安全性。因为每个Java程序的运行都在Java虚拟机的控制系啊,Java虚拟机可以包含这个程序并且能组织它在系统之外产生副作用。Java语言的某些限制增强了它的安全性。
     
      尽管Java被设计为解释执行的程序,但是技术上Java并不妨碍动态将字节码编译为本机代码。Java虚拟机的一部分JIT(Just In Time),能根据需要、一部分一部分地将字节码实时编译为可执行代码。它不能讲整个Java程序一次性全部编译为可执行的代码,因为Java要执行各种检查,而这些检查只有在运行时才执行。因此JIT只编译它运行时需要的代码。
     
      Java的字节码经过仔细设计,因为很容易便能使用JIT编译技术奖字节码直接转换成高性能的本机代码。Java运行时系统在提供这个特性的同时仍具有平台独立性。
     
  • 相关阅读:
    Fiddler配置代理hosts的方法
    Android利用Fiddler进行网络数据抓包
    Android键盘面板冲突 布局闪动处理方案
    View的三次measure,两次layout和一次draw
    jquery.fly.min.js 拋物插件
    js刷新页面方法大全
    Console命令详解,让调试js代码变得更简单
    div中的内容垂直居中的五种方法
    Struts2之i18N国际化
    maven阿里云中央仓库
  • 原文地址:https://www.cnblogs.com/mywy/p/5049956.html
Copyright © 2011-2022 走看看