深入JAVA虚拟机 1

JAVA 语言适合网络 特点有三 1.平台无关性 ,2 ,安全性 (可以定制不同的安全级别),3.程序的健壮性(内部屏蔽了很多BUG,如内存泄露等)4,网络移动性(rmi和序列化API)

JAVA体系结构 包含4个方面

  1、JAVA虚拟机 2、CLASS文件格式 3、JAVA编程接口和API  4、JAVA语言

  2、JAVA虚拟机 (是JAVA面向网络编程的核心,包含JAVA的三个方面如上)是一台抽象的计算机,可以用软件实现,硬件实现等等但必须都能执行JAVA字节码,JAVA虚拟机 有JAVA类装载器和JAVA执行引擎组成。 JAVA中只有运行时需要的类才会被加载,不同的执行引擎执行JAVA字节码的方式不同。

3、JAVA中有2中方法,本地方法(JNI)和JAVA方法 (本地方法由别的语言实现)

4、类装载体系结构(在安全性方面保证)
     在JAVA虚拟机的安全性和网络移动性方面发挥重要的作用。在JAVA虚拟机中存在多个类装载器

     一个JAVA程序可以有2中类装载器(启动类装载器(用别的语言编写,装载JAVA API)和用户定义的类装载器(和普通的JAVA对象一样)) ,不同类装载器装载的类不能相互访问,除非系统显示的声明. 一个类被A装载器装载,那么他里面调用的其他类也被这个类装载器装载

5、JAVA CLASS 文件(平台无关性和网络移动性)
    1、提供了独立于平台的2进制文件(在JAVA虚拟机上运行),这种2进制文件的高位在前。
    2、CLASS文件设计的很紧出,而且是动态连接和扩展的,所以在网络移动性方面提供了很大的方便

   NGQ  NOTE:动态扩展与动态载入不一样,前者是给你的程序中动态加入新的类型(可以加入新的类型),后者一般是系统动态载入程序中已经有的类型。

6、JAVA API

   用户程序 --》JAVA API --》本地动态连接库 --》系统资源

7、JAVA 的缺点

  1、运行速度慢。  2、内存管理(不知道垃圾回收器多会运行) 和线程调度(为了实现平台无关性 线程管理很松散)这中缺陷是JAVA 不适用于某些特定的系统,如事实响应的系统。

 3、CLASS 文件天生的动态连接特性 ,容易被反编译(因为动态连接 把调用方法的参数类型等信息全部用符号标记,还有对自己成员变量和方法的符号引用,调试信息包含了局部变量的名称和类型)CLASS文件的符号信息和字节码指令、和JAVA语言这些方面使得CLASS文件很容易被反编译

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值