Java技术是一套完整的IT行业解决方案,其中包含了很多技术。最初是从解决家电设备联网通讯的方案发展起来的,其特点适用于Internet,于是在Internet广泛应用的环境下,迅速发展成为一种计算机语言、一个平台、一个网络计算的架构。

  从整体上划分,Java技术可分成Java编程语言和Java平台。Java编程语言是一种高级编程语言,Java平台是指程序运行的硬件或软件环境。

  Java编程语言的特征:

  1、简单易用

  2、面向对象

  3、跨平台,可移植

  4、多线程

  5、健壮性

  6、安全性

  7、动态

  8、分布式

  9、高性能

  10、结构独立

  Java平台的两个主要组件:

  Java虚拟机(Java Virual Machine,简称JVM);

  Java应用程序编程接口(Java Aplication Programming Interface,简称JavaAPI);

  Java平台按应用领域分为三个版本:

  JavaSE(Java Standard Edition),即Java标准版,主要用于桌面应用开发;(同时作为JavaEE的基础)

  JavaEE(Java Enterprise Edition),即Java企业版,重点定位于企业级别的服务器端分布式软件系统;

  JavaME(Java Micro Edition),即Java微型版,主要应用于嵌入式设备的应用开发;(属于JavaSE的一个子集,但有其特殊的类库支持)

  JavaAPI中是一些已经完成的软件组件,其提供了Java编程语言的核心功能,其提供涵盖了数据库、多媒体、网络、电话、加密、AWT/Swing、脚本、Web服务、XML、编译器、JMX等领域的支持;

  计算机只能直接理解执行机器语言,所有必须要将高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。

  Java的翻译过程分为两个步骤:

  1、将编写好的源文件*.java通过编译器javac.exe翻译成中间语言,Java字节码,即Java类文件*.class,对所有计算机、电器是相同的;

  2、通过JVM(java.exe)将Java字节码文件解释成计算机和电器的机器语言;

  不同的操作系统上的虚拟机负责将相同的字节码转变成本地的机器码,Java程序运行在虚拟机上,隔离具体的操作系统和硬件平台,从而实现Java程序的跨平台性。

  虚拟机的工作原理及步骤:

  1、Java字节码(类文件*.class)通过类加载器(Class Loader)为程序的执行加载所有需要的全部类。类加载的过程是,先加载加载启动类库,在加载扩展类库,最后加载自定义类库。避免了一些非法代码的执行,提高了代码执行的安全性。

  2、通过字节码校验器对加载的字节码进行校验,测试代码段格式,并进行语句和语法的规则检查;确保代码符合JVM规范并且不破坏系统的完整性。

  3、通过字节码校验的代码被送到即时编译器JIT(Just in time complier)翻译成机器代码,每段代码执行前先将其编译为本地机器码;

  4、本地机器码执行结果在操作系统上显示;

  面向对象是一种看待问题和解决问题的方式,本质上是人类日常的直观思维。

  面向对象编程思想中包含两个基本概念:对象和类;

  对象(Object),即日常生活中的“东西”,对象是用来表示现实世界的东西,对象由两个主要组件组成:属性和行为;

  类(Class),是生产对象的模版,用来表示现实生活中各种东西的“图样”和“模版”。

Java技术的特点的更多相关文章

  1. 向Java技术进军

    前两天有个朋友要我帮忙写个打印机服务,要求能应用在.net .Dephi.和java程序上面.看了下需求不难也就串口操作,所以就在周未写了个Win32的动态库,对于一个曾经写MFC程序的.net程序员 ...

  2. 【JAVA】基于MVC架构Java技术荟萃案例演练

    基于JAVA-MVC技术的顾客管理项目案例总结 作者 白宁超 2016年6月9日22:47:08 阅读前瞻:本文源于对javaweb相关技术和资料汇总,涉及大量javaweb基础技术诸如:Servle ...

  3. (转)如何学习Java技术?谈Java学习之路

    51CTO编者注:这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典.如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领 ...

  4. 从程序员到CTO的Java技术路线图 作者:zz563143188

    在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平. Java程序员 高级特性 反射.泛型. ...

  5. [原创]上海好买基金招高级Java技术经理/运维主管/高级无线客户端开发等职位(内推)

    [原创]上海好买基金招高级Java技术经理/运维主管/高级无线客户端开发等职位(内推) 内部推荐职位 高级JAVA技术经理: 岗位职责: 负责项目管理(技术方向),按照产品开发流 ,带领研发团队,制定 ...

  6. Tomcat系列之Java技术详解

    一.概述 1.前言 在前面几篇博客中,我们和大家说了负载均衡器服务器.Web服务器.反向代理服务器.缓存服务器,从这篇博客开始我们和大家说说应用程序服务器,对于上述内容不了解的博友可以去参考一下我们前 ...

  7. 如何精通java技术

    如何精通java技术 | 浏览:173 | 更新:2013-05-15 14:42 | 标签:java 对于一个程序员来说,精通JAVA可以说是他们的最高境界了.那么对于JAVA程序员来说,怎么才能精 ...

  8. java技术栈:一、java编程语言概述

    Java是一种编程语言,起源于20世纪90年代初Sun公司的一个叫Green的项目,该项目主要目的是是开发嵌入家用电器的分布式软件系统,从而使电器更加智能化.因为项目小组成员皆为C++的高手(那个年代 ...

  9. java技术栈:项目概述

    学习使用java到现在也有三年多了,这三年基本是以项目驱动的方式学习,有好有坏,个人觉得好处在于,有一个清晰的目标让你解决,这会让你学习非常迅速有效.当然坏处就是片面,不成体系.这种学习方式在学校以小 ...

随机推荐

  1. linux定时执行任务

    (1)Linux下如何定时执行php脚本?(2)Linux下如何设置定时任务?(3)Crontab定时执行程序 核心提示:键入 crontab -e 编辑crontab服务文件 分为两种情况:(还有一 ...

  2. 升级PHP

     wget http://down.wdlinux.cn/in/php_up53.shsh php_up53.sh 

  3. Oracle求连续的年份

    SELECT ('2013') + ROWNUM year FROM dualCONNECT BY ROWNUM <= 2;

  4. 特征的SID表、M表、P表、Q表、X表、Y表、T表

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  5. 06-scanf函数

    本文目录 变量的内存分析 scanf函数 回到顶部 一. 变量的内存分析 1. 字节和地址 为了更好地理解变量在内存中的存储细节,先来认识一下内存中的“字节”和“地址”. 1> 内存以“字节为单 ...

  6. 使用 InstallShield 制作 Delphi 软件安装包

    软件版本: InstallShield 12 Delphi 5/7 SQL Server 2005 一.配置软件信息 二.软件安装的需求配置 三.安装架构 四.安装需要的文件 软件的安装路径.可执行文 ...

  7. 报错 for input String ...

    一个String类型的数值后面有空格,如:“10001         ” 要转化成int时用     Integer.parseInt  报错 先用.trim()去掉空格 就可以转换了 这个问题其实 ...

  8. 20161026__Oracle10g_DataGuard

    1. orcl.__db_cache_size=180355072 orcl.__java_pool_size=4194304 orcl.__large_pool_size=4194304 orcl. ...

  9. CSS 3 动画2D

    动画分为两种,1,逐帧动画  组成动画的每一个画面就是一帧 2,关键帧动画,确定关键帧电脑会自动过度 动画中如果遇到不兼容的问题也是要加前缀 @-webkit-keyframes规则   @-webk ...

  10. stm32cube--通用定时器--产生pwm波

    看了通用定时器的资料,发现内容挺多,挺难看懂,现在还是先掌握使用方法,以后再多看几遍吧. ① ② ③生成mdk工程后,在main.c的while(1)前面加上HAL_TIM_PWM_Start(&am ...