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. Cenos(6.6/7.1)下从源码安装Python+Django+uwsgi+nginx到写nginx的环境部署(一)

    梳理下这几个的关系: centos是redhat的社区版操作系统. Python2.7.5是开发语言(centos6.5下自带的python是2.6.6版本,所以需要源码更新,而centos7.1下面 ...

  2. [问题2015S05] 复旦高等代数 II(14级)每周一题(第六教学周)

    [问题2015S05]  设 \(A\) 是 \(n\) 阶复方阵, 证明: \(A\) 可对角化的充分必要条件是 \(A\) 相似于某个如下的循环矩阵: \[C=\begin{pmatrix} a_ ...

  3. Java 输入输出流 转载

    转载自:http://blog.csdn.net/hguisu/article/details/7418161 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所 ...

  4. 关于js touch事件 的引用设置

    一开始做前端页面的时候,接触的也是js,但是随后便被简单高效的jquery吸引过去,并一直使用至今. 而js,则被我主观的认为底层技术而抛弃. 直到这几天工作需要,研究移动端页面的触屏滑动事件,搜索j ...

  5. Hibernate <二级缓存>

    二级缓存: 定义: 1.二级缓存被称为进程级缓存或者sessionFactory级缓存,二级缓存可以被所有session共享 2.二级缓存的生命周期和sessionFactory生命周期一样(sess ...

  6. Windows下面安装easy_install报UnicodeDecodeError: 'ascii' codec can't decode byte解决方法

    在运行python ez_setup.py install后, 发现是在下载并解压setuptools-2.1,并运行setup.py时出现如下错误: 提示D:\Python27\lib\mimety ...

  7. 002_kafka_相关术语详细解析

    参考: http://www.cnblogs.com/likehua/p/3999538.html http://kafka.apache.org/documentation.html#getting ...

  8. Clojure学习笔记(一)——介绍、安装和语法

    什么是Clojure Clojure是一种动态的.强类型的.寄居在JVM上的语言. Clojure的特性: 函数式编程基础,包括一套性能可以和典型可变数据结构媲美的持久性数据结构 由JVM提供的成熟的 ...

  9. 读javascript高级程序设计16-几条函数小技巧

    内容概要 作用域安全的构造函数 惰性载入函数 函数绑定 函数节流 一.作用域安全的构造函数 我们知道,当使用new操作符调用构造函数时,构造函数内部的this会指向新创建对象的实例. function ...

  10. Spring知识点

    IOC: Inversion of Control 控制反转 ①自己控制→容器控制 ②控制具体实现→控制抽象(接口) DI:Dependency Injection 依赖注入 依赖于容器注入的对象 注 ...