java的四个核心概念

Java已经成为一个庞大而复杂的技术平台,对于开发人员而言,要想更好的掌握Java技术,深入理解底层的技术处理细节必不可少。现在介绍下java的四个核心概念:

Java虚拟机
Java虚拟机的主要任务是装在class文件并且执行其中的字节码。Java虚拟机包含一个类装载器,它可以从程序和 API中装载class文件。Java API中只有程序执行时需要的那些类才会被装载。字节码由执行引擎来执行。不同的Java虚拟机中,执行引擎可能实现得非常不同。在由软件实现的虚拟机 中,最简单的执行引擎就是一次性解释字节码。
另一种执行引擎更快,但是也更消耗内存,叫做"即时编译器(just-in-time compiler)"。在这种情况下,第一次被执行的字节码会被编译成本地机器代码。编译出的本地机器代码会被缓存,当方法以后被调用的时候可以重用。
第三种执行引擎是自适应优化器。在这种方法里,虚拟机开始的时候解释字节码,但是会监视运行中程序的活动,并且记录下使用最频繁的代码段。程序运行的时 候,虚拟机只把那些活动最频繁的代码编译成本地代码,其他的代码由于使用得不是很频繁,继续保留为字节码-由虚拟机继续解释它们。
一个自适应的优化器可以使得Java虚拟机在80%~90%的时间里执行被优化过的本地代码,而只需要编译10%~20%的对性能有影响的代码。
2.类装载器的体系结构

一个Java应用程序可以使用两种类装载器:"启动(bootstrap)"类装载器和用户定义的类装载器。启动类装载器(这是系统中唯一的)是 Java虚拟机实现的一部分。启动类装载器通常使用某种默认方式从本地磁盘中装载类,包括Java API类(启动类装载器也被称为原始类装载器、系统类装载器或者默认类装载器)。
Java应用程序能够在运行时安装用户定义的类装载器,这种类装载器能够使用自定义的方式来装载类。例如,从网络下载class文件。尽管启动类装载器是虚拟机实现的本质部分,而用户定义的类装载器不是,但用户定义的类装载器能够用Java来编写,能够被编译成class文件,能够被虚拟机装载,还能够像 其它对象一样实例化。
3.Java class文件

Java class文件主要在平台无关性和网络移动性方面使Java更适合网络。它在平台无关性方面的任务是:为Java程序提供独立于底层主机平台的二进制形式 的服务。这种途径途径打破了C或者C++等语言所遵循的传统,使用这些传统语言写的程序通常首先被编译,然后被连接成单独的、专门支持特定硬件平台和操作 系统的二进制文件。
通常情况下,一个平台上的二进制可执行文件不能在其他平台上工作。而Java class文件时可以运行在任何支持Java虚拟机的硬件平台和操作系统上的二进制文件。
4.Java API

Java API通过支持平台无关性和安全性,使得Java适应于网络应用。Java API是运行库的集合,它提供了一套访问主机系统资源的标准方法。运行Java程序时,虚拟机装载程序的class文件所使用的Java API class文件。所有被装载的class文件(包括从应用程序中和从JavaAPI中提取的)和所有已经装载的动态库(包含本地方法)共同组成了在Java虚拟机上运行的整个程序。

Java技术的重要性
  如今,Java已是业界最流行的软件技术之一。凭借其在平台独立性、可移植性和厂商独立性方面的出色表现,Java已在世界范围内成为大多数企业、机 构和团体的IT基础设施的重要组成部分。通过为不同平台定义不同版本,如Java2标准版(Java2Standard Edition,J2SE)、Java2企业版(Java2EnterpriseEdition,J2EE)、Java2微型版(Java2Micro Edition,J2ME)和Java Card平台版(Java Card Platform Edition),Sun Microsystems使每台计算设备都能够支持Java。J2EE平台已成为开发和部署以Web为中心的大型企业级应用解决方案的首选平台,由于其取 得的压倒性胜利。J2ME和Java Card平台版也已分别成为在微处理器设备和智能卡上支持和提供应用解决方案的事实标准平台。作为在软件业广泛采纳的安全、可靠的中间软件平台,Java 可以在各种平台和设备上运行———从钱包大小的智能卡到巨无霸型的大型机,为提供安全网络通信的关键任务应用提供动力。另外,Java技术在游戏、汽车、 空间环境遥测、嵌入式设备和实时处理领域也获得了广泛的接受。
  目前,Java为软件业提供了一个标准化平台,该平台正通过开放性Java社区运动(Java Community Process)获得持续的发展。众多企业和计算厂商都加入了Java社区运动,共同致力于确保Java平台能够最大限度地满足各种行业和业务的需求。这 样,Java成功地为组织机构解决了阻止他们在信息爆炸的经济社会中如何保持竞争力的核心问题。
  Java平台的安全
  Java最初就是为基于网络的计算而设计的,因此安全措施从一开始就是Java设计中不可分割的一部分。Java的安全模型与传统方法以及与之竞争的 平台显著不同。首先,大多数操作系统都允许应用访问系统资源,管理员或用户负责设置权限和防止公开的资源免受非授权访问。更为重要的是,用户在运行应用前,必须验证其真实性,并确保它不包含任何病毒或恶意程序。以上这些都是常用的操作系统的普遍缺点,它们依靠最终用户在执行应用前检查它并确定是否可信。相反,通过将安全作为其核心平台不可分割的部分,Java则采用主动方案。它允许用户下载并运行不可信的应用,并通过将这些代码限制在沙箱内以避免不必要 的风险。沙箱机制能保护资源免受潜在漏洞的影响,因此用户所下载的程序不能访问或修改沙箱外的用户资源。Java还超越底层平台为应用提供端到端安全,确 保了各个层面的安全,包括用户、组件、服务和通信。

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值