java语言概述、java语言特性、java语言发展史、java语言作用-程序员宅基地

技术标签: Java  java  

Java介绍:

Java语言概述:

Java语言是由美国Sun(Stanford University Network)斯坦福网络公司的java语言之父–詹姆斯·高斯林,在1995年推出的高级的编程语言。所谓编程语言,是计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。Java 可运行于多个平台,如 Windows, Mac OS 及其他多种 UNIX 版本的系统。

Java分为三个体系:

  • JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
  • JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
  • JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。

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

在这里插入图片描述

Java语言特性:

简单性:Java 语言的语法与 C 语言和 C++ 语言很接近,使得大多数程序员很容易学习和使用。Java 语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。

面向对象性:Java 语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制。Java 语言全面支持动态绑定,总之Java语言是一个纯的面向对象程序设计语言。

分布式性:Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。

健壮性:Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。

安全性:Java通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。

体系结构中立的:Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。

可移植的:这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。

解释型的:Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统中运行。在运行时,Java 平台中的 Java 解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

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

多线程的: Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为 Thread(Runnable) 的构造子类将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized)。

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

Java语言的发展史:

1995年Sun公司发布Java 1.0版本(1996年发布正式版)

1997年发布Java 1.1版本

1998年发布Java 1.2版本

2000年发布Java 1.3版本

2002年发布Java 1.4版本

2004年发布Java 5版本

2006年发布Java 6版本

2009年Oracle公司收购Sun公司,并于2011发布Java 7版本

2014年发布Java 8版本

2017年发布Java 9版本

2018年发布Java 10~11版本

2019年发布Java 12~13版本

Java语言的作用:

Java语言主要应用在互联网程序的开发领域。常见的互联网程序比如天猫、京东、物流系统、网银系统等,以及服务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:[email protected]联系笔者删除。
笔者:苦海

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

智能推荐

最新版PandoraBox潘多拉安装adbyby去广告插件图文详细教程!!-程序员宅基地

文章浏览阅读1.2w次。2019独角兽企业重金招聘Python工程师标准>>> ..._7620n.tar.gz

【干货技术分享】1688商品如何批量铺货到拼多多?一键筛选优质低价货源上架!|拼多多上货API接口_1688的产品怎么批量上传到拼多多-程序员宅基地

文章浏览阅读853次,点赞23次,收藏22次。拼多多开店的低门槛吸引了很多小卖家入驻,然而新手开店首先需要解决的就是货源问题。新店前期可选择一件代发,无需囤货,成本更低。然而很多卖家会发现,1688上面很多商品的拿货价都比同行售价高,想要找到产品品质好、服务不错且价格低的货源真的太难了!其实,1688上面的商品都是零售价,想要稳定合作的话可以去找厂家谈价,而且上面还有赚差价的中间商,想要找到合适的货源还是需要费点心思的。那么有没有什么好方法可以快速从1688找到优质厂家货源呢?具体需要接入哪些接口类型呢?_1688的产品怎么批量上传到拼多多

连接数据库的SID错误的解决方法-程序员宅基地

文章浏览阅读7.3k次。Oracle报错:Listener refused the connection with following error:ORA-12505,TNS:listener......这是连接数据库的SID错误,解决方法:1.知道你的SID名:可以再注册表中查找,也可以通过借助Oracle的sqlplus工具并以管理员方式连接敲命令查看:select instance_name_sid错误

ModuleNotFoundError: No module named ‘torchvision.models.mobilenet‘ 解决方法_from torchvision.models.mobilenetv2 import mobilen-程序员宅基地

文章浏览阅读5.4k次,点赞2次,收藏5次。一、问题今天在跑一个 pytorch 模型的时候,出现了下面的错误:二、解决方法pip install cffi -i http://pypi.douban.com/simple --trusted-host pypi.douban.compip install cmake -i http://pypi.douban.com/simple --trusted-host pypi.douban.compip install mkl -i http://pypi.douban.com/simple _from torchvision.models.mobilenetv2 import mobilenet_v2 modulenotfounderror:

【python量化】将Transformer模型用于股票价格预测_transformer进行股票预测-程序员宅基地

文章浏览阅读1w次,点赞9次,收藏156次。前言下面的这篇文章主要教大家如何搭建一个基于Transformer的简单预测模型,并将其用于股票价格预测当中。原代码在文末进行获取。1、Transformer模型Transformer 是 Google 的团队在 2017 年提出的一种 NLP 经典模型,现在比较火热的 Bert 也是基于 Transformer。Transformer 模型使用了 Self-Attention 机制,不采用 RNN 的顺序结构,使得模型可以并行化训练,而且能够拥有全局信息。这篇文章的目的主要是将带大家通过Pytor_transformer进行股票预测

未终止的[<%@ page]标记_timeinfo.jsp (行.: [1], 列: [2]) 未终止的[<%@ page]标记-程序员宅基地

文章浏览阅读1.4k次。未终止的[<%@ page]标记_timeinfo.jsp (行.: [1], 列: [2]) 未终止的[<%@ page]标记。

随便推点

windows10以及liunx下的Nacos下载安装,并配置连接外部mysql数据库_nacos中安装mysql和windows中装mysql有什么区别-程序员宅基地

文章浏览阅读793次。????摘要今天分享下 —— windows10 以及 liunx 下的 Nacos 下载安装,并配置连接外部 mysql 数据库 的一些基本知识,欢迎关注!欢迎阅读,总结系列:SpringCloudAlibaba 实战搭建????下载 NacosNacos 下载首先,需要去 https://github.com/alibaba/nacos/releases 下载我们需要的 Nacos 最新稳定版本,本篇博客使用的是 Nacos1.4.1 版本。Windows 下安装 Naco_nacos中安装mysql和windows中装mysql有什么区别

PTA7-9 旅游规划 (25 分)_出格式:在一行里输出路径的长度和收费总额,数字间以空格分隔,输出结尾不能有多余-程序员宅基地

文章浏览阅读1.1k次,点赞5次,收藏7次。7-9旅游规划有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。输入格式:输入说明:输入数据的第1行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0~(N−1);M是高速公路的条数;S是出..._出格式:在一行里输出路径的长度和收费总额,数字间以空格分隔,输出结尾不能有多余

Java PriorityQueue优先队列自定义类比较器的使用方法_priorityqueue定义比较器-程序员宅基地

文章浏览阅读4.9k次,点赞5次,收藏5次。Java PriorityQueue优先队列自定义类比较器的使用方法PriorityQueue官方APIPriorityQueue默认是升序自定义类比较器的用法: public class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { this.val = val; } ListNode(int val, ListNode next) _priorityqueue定义比较器

centos6 mongodb 安装-程序员宅基地

文章浏览阅读123次。1. 下载MongoDB 官网下载地址 https://www.mongodb.com/download-center#community 下载地址 32位 http://dl.mongodb.org/dl/linux/i686 开始下载 wget https://fastdl.mongodb.org/linux/mongodb-linux-x8..._centos6 mongo安装

深入浅出Gin框架,看这一篇就够了_gin框架api-程序员宅基地

文章浏览阅读1.3k次,点赞6次,收藏25次。Gin是一个简单、快速而强大的Web框架,适用于构建各种规模的Web应用程序。它的设计理念是简洁、高效和易用,可以帮助开发人员快速构建高性能的Web服务。无论是构建API服务、Web应用还是微服务,Gin都是一个不错的选择。它具有类似martini的API,但性能要好得多,多亏了httprouter,速度提高了40倍。如果您需要性能和良好的生产力,您一定会喜欢Gin。执行模板时,函数从两个函数字典中查找:首先是模板函数字典,然后是全局函数字典。一般不在模板内定义函数,而是使用Funcs方法添加函数到模板里。_gin框架api

开源企业管理软件 ONES-程序员宅基地

文章浏览阅读148次。ONES 不是 ONS,基于AngularJS + ThnkPHP开发的企业管理系统平台,名字可以理解为ONES is a Niubility ERP System 或者 ONES Notonly an ERP System。以基础核心+扩展应用模式适配不同场景下的需求。Features:核心+扩展应用架构,模块之间相对独立又可有机结合。可视化的的工作流设定。..._ones 开源 demo