zoukankan      html  css  js  c++  java
  • Java跨平台原理(字节码文件、虚拟机) 以及Java安全性

    1. Java跨平台原理(字节码文件、虚拟机) 

     

     

    C/C++语言都直接编译成针对特定平台机器码。如果要跨平台,需要使用相应的编译器重新编译。

    Java源程序(.java)要先编译成与平台无关的字节码文件(.class),然后字节码文件再解释成机器码运行。解释是通过Java虚拟机来执行的。

    字节码文件不面向任何具体平台,只面向虚拟机。

    Java虚拟机是可运行Java字节码文件的虚拟计算机。不同平台的虚拟机是不同的,但它们都提供了相同的接口。

    Java语言具有一次编译,到处运行的特点。就是说编译后的.class可以跨平台运行,前提是该平台具有相应的Java虚拟机。但是性能比C/C++要低。

    Java的跨平台原理决定了其性能没有C/C++高。

     

     

    2. Java的安全性

    语言层次的安全性主要体现在:

    Java取消了强大但又危险的指针,而代之以引用。由于指针可进行移动运算,指针可随便指向一个内存区域,而不管这个区域是否可用,这样做是危险的,因为原来这个内存地址可能存储着重要数据或者是其他程序运行所占用的,并且使用指针也容易数组越界。

    获取Java零基础入门到精通视频课程,请点击:尚学堂Java1103集

    垃圾回收机制:不需要程序员直接控制内存回收,由垃圾回收器在后台自动回收不再使用的内存。避免程序忘记及时回收,导致内存泄露。避免程序错误回收程序核心类库的内存,导致系统崩溃。

    异常处理机制:Java异常机制主要依赖于try、catch、finally、throw、throws五个关键字。

    强制类型转换:只有在满足强制转换规则的情况下才能强转成功。

    底层的安全性可以从以下方面来说明

    Java在字节码的传输过程中使用了公开密钥加密机制(PKC)。

    在运行环境提供了四级安全性保障机制:

    字节码校验器 -类装载器 -运行时内存布局 -文件访问限制。

  • 相关阅读:
    R语言与医学统计图形-【25】ggplot图形分面
    R语言与医学统计图形-【21】ggplot2标题
    R语言与医学统计图形-【24】ggplot位置调整函数
    R语言与医学统计图形-【23】ggplot2坐标系转换函数
    R语言与医学统计图形-【22】ggplot2统计变换函数
    R语言与医学统计图形-【20】ggplot2图例
    Android开发教程
    寒假来临,开启脚本语言的学习
    汇编语言学习资料
    SORT函数的使用方法(转载)
  • 原文地址:https://www.cnblogs.com/shsxt/p/13062479.html
Copyright © 2011-2022 走看看