• java体系结构概览


    java体系结构包括四个方面:

    java程序设计语言

    java class文件格式

    java API

    java 虚拟机

    1.java虚拟机

    java虚拟机的任务是装载class文件并执行字节码

    执行引擎的实现有:一次性解释字节码;即时编译器;自适应优化器;

     java程序通过调用本地代码和主机交互,访问主机底层系统资源,如上图,本地方法是由其他语言编写的,编译成和处理器相关的机器代码

    2.类装载器的体系结构

    java应用程序分为两种类装载器,启动(bootstrap)类装载器和用户自定义类装载器

    启动类装载器有操作系统对应的语言有不同实现,如C,但是用户自定义的类装载器能够用java编写,是java程序可执行代码的一部分

    装载器装载类时采用双亲委派模式,被装载的类默认情况下只能看到由同一个类装载器装载的其他类,每个类装载器都有他自己的命名空间,通过这种方式,能控制不能源文件装载的类之间的相互影响,特别是阻止恶意代码访问和破坏善意代码

    3.java class文件:为java程序提供独立于底层主机平台的二进制服务,是java虚拟机的二进制语言,被设计的紧凑适合传输

    4.java API

    是运行库的集合,提供一套访问主机系统资源的标准方法,在一个平台能够执行java程序之前,必须在这个平台上明确地实现API的功能,JAVA API通过本地方法访问主机资源

    5.java程序语言

    除了平台移动性,安全性,网络移动性,java语言相比其他语言,还有其他优势:

    java语言相比于c++,还有一些能够提高开发效率的特性:

    1. 1.对内存直接操作的约束:不能直接将引用类型的指针转化为其他类型,除非确定此对象为新类型的前提下;不能直接对指针进行偏移量等运算操作
    2. 2.自动垃圾收集:不释放对象会导致内存泄露,多次释放一个对象会导致内存冲突
    3. 3.数组边界检查:每次使用数组的时候,会进行边界检查
    4. 4.对对象引用的检查:一个空的引用不会导致程序崩溃,只会抛出一个异常

    6.java体系结构的代价

    1. 和其他技术相比,java程序的执行速度可能比较低:但java或许很慢,但不会永远那么慢,1995年第一个java虚拟机诞生采用解释技术,不久,即时编译器诞生了,现在,适应性优化等先进技术能够使java程序和本地编译的c程序相媲美的速度运行
    2. 在内存管理上的缺陷:垃圾收集器给程序的运行加入不确定性,你不能确定什么时候开始进行垃圾收集,无法确认是否开始,无法确认持续多长时间
    3. 在线程调度上的缺陷:对线程调度上的约束松散,有利于将java虚拟机移植到不同的硬件,但是,这导致程序员无法控制线程的调度
    4. 平台无关性导致的最小公分母的问题:某种特性只在一种操作系统上有,API可能决定不支持;当支持某个特性,某些操作系统上不具备时需用API模拟实现
    5. class文件的逆向编译较容易:工作成果容易被窃取,解决方法--使用混淆器
  • 相关阅读:
    [译]:Orchard入门——媒体文件的添加与管理
    [译]:Orchard入门——给网站添加页面
    [译]:Orchard入门——给网站添加新博客
    [译]:Orchard入门——导航与菜单
    [译]:Orchard入门——构建你的第一个Orchard网站
    [译]:Orchard入门——Orchard控制面板概览
    [译]:Orchard入门——使用WebMatrix管理Orchard网站
    [译]:Orchard入门——手动安装Orchard
    [译]:Orchard入门——安装Orchard
    VS2013缺少报表工具
  • 原文地址:https://www.cnblogs.com/qilong853/p/6519600.html
Copyright © 2020-2023  润新知