Java介绍_Alan Zhuang的博客-程序员宅基地

技术标签: Java  编程  

(一)Java介绍

    Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。

    其中Java语言是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程  。

(二)Java发展历史

1995年5月23日,Java语言诞生。

1996年1月,第一个JDK-JDK1.0诞生。

1997年2月18日,JDK1.1发布。

1998年12月8日,发布里程碑式的Java 1.2,java2。

1999年6月,SUN公司发布Java的三个版本:

  标准版(J2SE)、企业版(J2EE)和微型版(J2ME)。

2000年5月8日, JDK1.3发布,支持XML等。

2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升。

2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。

                             为了表示该版本的重要性J2SE1.5更名为Java SE 5.0。

2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME。

2006年12月,SUN公司发布Java SE6.0版。

2011年7月,甲骨文公司发布java7 的正式版。

2013年9月,甲骨文公司发布java 8

2017年9月,甲骨文公司发布java 9

2018年9月,甲骨文公司发布java11

(三)Java主要技术以及应用领域

Java SE

      Java Platform,Standard Edition,java平台标准版,Java SE 以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java 应用程序,能为Java EE提供开发基础。

Java EE

     Java Platform,Enterprise Edition,java平台企业版,以前称为J2EE。可帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在Java SE 的基础上构建的,它提供Web 服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和Web 2.0 应用程序。

Java ME

    Java Platform,Micro Edition,java平台微型版,以前称为J2ME,也叫K-JAVA。用来开发移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)。现在使用的越少用了,Android会逐渐的取代J2ME的市场份额。

以java语言开发的其他智能设备

     时下最火的Android ,屹立不倒的BlackBerry等智能设备开发

(四)Java技术特性

Java语言是简单的:

    Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

Java语言是面向对象的:

    Java语言提供类、接口和继承等面向对象的特性,是一个纯的面向对象程序设计语言。

Java语言是分布式的:

    Java语言支持Internet应用的开发。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

Java语言是健壮的:

    Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。Java的安全检查机制使得Java更具健壮性。

Java语言是安全的:

    Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。

Java语言是可移植的:

    这种可移植性来源于体系结构中立性,可以移植到不同的操作系统,windows,linux,ios系统中。

Java语言是解释型的:

    Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。

Java是高性能的:

   与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。

Java语言是多线程的:

    在Java是一种多线程的语言, 实现多个线程并发执行的技术。

Java语言是动态的:

    Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。

(五)工作原理

    由四方面组成:
  (1)Java编程语言
  (2)Java类文件格式
  (3)Java虚拟机
  (4)Java应用程序接口 
     当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类   ,通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用  。

(六)学习Java常用开发工具

(七)编程语言排行

 

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/shuaigexiaobo/article/details/85040649

智能推荐

【VB.NET视频总结(三)】_阳光下奔跑的小孩儿的博客-程序员宅基地

前言在上一篇博客中总结到了第10单元,今天我们总结剩下的5个单元 。单元十一单元十二单元十三单元十四单元十五总结VB.NET 视频完成了,一个阶段的学习告一段落了,但是对于VB.NET的学习还没有停止,下面的学习会继续学习!

Redis双机热备方案_weixin_34234721的博客-程序员宅基地

参考资料: http://my.oschina.net/guol/blog/182491 http://18567.blog.51cto.com/8567/655043 http://www.qixing318.com/article/by-keepalived-redis-double-machine.html 背景 目前,Redis集群的官方方案还处...

Android-IM架构设计_weixin_33989780的博客-程序员宅基地

###1. 架构总览###2. 模块介绍####2.1 协议封装与任务流程#####1) 协议与任务的封装 a. 协议有协议头(协议头因为格式相同,被抽象出来)和协议体组成,协议有两类:请求协议(request)和回复协议(response); b. 任务(action)由请求协议、回复协议和任务回调(callback)组成; c. callback是针对客户端主动...

23种设计模式----解释器模式----行为型模式_a18792721831的博客-程序员宅基地

解释器模式1.什么是解释器模式2.核心思想3.例子3.1 背景3.2 分析3.3 画界面3.4 代码实现3.5 效果4.总结23种设计模式1.什么是解释器模式遇到需求经常变化的项目,直接用Java语言实现,然后每更改一次需求,就修改相应的源代码?这样的做法是非常不明智的。好一些的程序会把经常变化的部分作为可配置的,这样需要修改哪些部分,只需要修改配置文件即可。但是如果我们需要修改的这部...

钟表的指针_行者走着走着的博客-程序员宅基地

题目来源:http://116.56.140.75:8000/JudgeOnline/problem.php?id=17271727: 钟表的指针Time Limit: 1 Sec Memory Limit: 64 MBDescription钟表作为计时报时工具在我们的日常生活中必不可少。相信每个学习程序设计的人都想设计一款美观实用且具有个性特色的钟表软件。如果要设计出美观大方的图形化用户界面,...

随便推点

钱奇库--为您讲解无线 LTE 基站从建设到使用_mashaofangzx的博客-程序员宅基地

一、 简介LTE,长期演进技术(英语:Long Term Evolution,常简写为 LTE),商业宣传上通常被称作 4G LTE,但事实上是 3.5G 下 HSDPA 迈向 4G 的过度版本。也曾经被俗称为 3.9G,直到 2010 年 12 月 6 日国际电信联盟把 LTE Advanced 正式定义为4G。LTE 是应用于手机及数据卡终端的高速无线通讯标准,该标准基于旧有的 GSM/E...

回文串最少划分数_icodingbird的博客-程序员宅基地

这个是正向分析字符串,觉得比较好理解. 这个问题以后还要补充……via http://blog.csdn.net/u010885899/article/details/50364183#pragma warning(disable:4996) #include <iostream> #include <algorithm> #include <cmath> #include <ve

java excel 多个sheet_java poi 通过excel模板导出并且生成多个sheet_Aelius Censorius的博客-程序员宅基地

@SuppressWarnings("deprecation")private static void copyRows(HSSFWorkbook workbook, HSSFSheetfromsheet, HSSFSheet newsheet, int firstrow, int lastrow){if ((firstrow == -1) || (lastrow == -1) || lastro...

Owin Middleware如何在IIS集成管道中执行_weixin_30952103的博客-程序员宅基地

Owin Middleware Components(OMCs)通过安装Install-Package Microsoft.Owin.Host.SystemWeb可以让OMCs在IIS集成管道下工作在IIS集成管道里,这个request pipeline 包含HttpModules关联到一组预定义的管道事件,例如BeginRequest, AuthenticateRequest, ...

LeetCode热题100-3.无重复字符的最长子串_万阁的博客-程序员宅基地

文章目录LeetCode热题100-3.无重复字符的最长子串题目思路解LeetCode热题100-3.无重复字符的最长子串题目无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pww

多核时代 .NET Framework 4 中的并行编程6---并行LINQ_weixin_34341117的博客-程序员宅基地

1.并行LINQ(PLINQ)并行LINQ (PLINQ) 是 LINQ 模式的并行实现。 PLINQ 查询在许多方面类似于非并行 LINQ to Objects 查询。 PLINQ 尝试充分利用系统中的所有处理器, 它利用所有处理器的方法是,将数据源分成片段,然后在多个处理器上对单独工作线程上的每个片段并行执行查询。 在许多情况下,并行执行意味着...