IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 初识Java -> 正文阅读

[Java知识库]初识Java

目录

1. Java语言概述

? ??1.1 Java是什么?

? ??1.2?Java语言的重要程度

? ??1.3 Java的历史

? ??1.4 Java语言的特性


1. Java语言概述


1.1 Java是什么?

? ? ? ? Java是一门非常优秀的程序设计语言,Java身上具备了很多的优点,从而让Java位居各种程序设计语言中的榜首经久不衰。它具有非常让人可以欣赏的语法以及更加易懂的语义。

? ? ? ? Java还具备有一系列计算机软件和规范形成的技术体系,这个体系为跨平台部署和软件开发提供了必要的环境。并且可以应用于各大场合。(嵌入式系统、移动终端、各种服务器、大型机等)

1.2?Java语言的重要程度

1、火热程度

? ? ? ? TIOBE编程社区指数(The TIOBE Programming Community index)是编程语言流行度的指标,该榜单每月更新一次。指数基于全球技术工程师、课程和第三方供应商的数量。包括流行的搜索引擎,如谷歌、必应、雅虎、维基百科、亚马逊、YouTube和百度都用于指数计算。

? ? ? ? 上图就是来自?TIOBE编程社区2021年7月的排行情况,可以看出Java语言在所有语言中位居第二,与第一的C语言仅仅只差0.45% ,足以说明Java在编程语言中所占的半壁江山(哈哈哈这么说也不为过吧)。这只是2021年7月反应的情况,不过只要你是留心观察的话,那就不难发现Java的受欢迎程度一直位居前二的席位。虽然所这个受欢迎程度并不是说语言的好坏问题,只是在大家应用中的应用程度,每个语言都有所适应自己应用场景。

2、工作程度

? ? ? ? Java语言在IT行业中应用的非常广泛,熟练的掌握了Java语言可以从事不少相关IT的开发岗位!

a、Java与电子商务
? ? ? ? 电子商务是当今的热门话题,然而传统的编程语言难以胜任电子商务系统,电子商务要求程序代码具有基本的要求:安全、可靠、同时要求能与运行于不同平台的机器的全世界客户开展业务。
? ? ? ? Java以其强安全性、平台无关性、硬件结构无关性、语言简洁同时面向对象,在网络编程语言中占据无可比拟的优势,成为实现电子商务系统的语言。
b、Java企业级应用开发
? ? ? ? JavaEE是目前开发企业级Web应用的主流框架技术,在当今企业级项目开发中与微软公司的MS.NET一起构成两大核心框架技术。JavaEE的主流应用服务器和集成开发工具。
? ? ? ? 主要内容包括JavaEE框架核心结构、应用服务器、集成开发工具、Servlet组件编程、请求处理编程、响应处理编程、会话跟踪编程、ServletContext对象和应用、过滤器编程、器编程、JSP、EL和JSTL、JNDI服务基础和编程、JDBC服务编程、JavaMail编程和JavaEEMVC式架构应用。
c、Java网站建设

? ? ? ? 近几年来,网站建设业务一直呈快速上升势头,行业市场越来越大。就国内情况而言,沿海发达省市比中西部省市市场需求要大,业务普及工作也很到位,许多行业形成了竞相建设企业网站,开展网络营销的局面。新技术的应用将促使企业网站建设更具魅力。
? ? ? ? Java编程语言,.net技术和服务器CDN技术也将使网站结构更紧密,访问更流畅,更能适应新的要求。但是以目前的市场分析Java做网站成本太高,对硬件要求比较高,中小企业会放弃,但是像大企业还是比较喜爱Java技术。
d、Java游戏编程
? ? ? ? 对于游戏开发来说,由于涉及到比较复杂的情况,开发过程很多时候是一个不断修改的过程,可以方便地修改游戏内容是十分关键的。
? ? ? ? 对于很多游戏引擎来说,都有自己编写的脚本解释器,用来解释一些自定义的游戏脚本身而言,另一些则提供了例如lua和rubby等的脚本语言来访问游戏引擎。由于其虚拟机特性,Java本身就可以用来编写游戏脚本,目前也有例如beanshellgroovy等脚本语言可以方便的无缝的和Java语言进行交互,这些都极大地方便了Java游戏编程。

e、Web开发领域

? ? ? ? Java语言在设计初期,赶上了互联网发展的风口,当时就瞄准了互联网开发,凭借稳定的性能表现和较 好的扩展性,Java语言一直是大型互联网平台的重要解决方案。

f、Android平台应用

? ? ? ? ?Android是一种智能手机操作系统,Java是一门非常流行的编程语言。Android上的应用程序就是大多是 用Java编写的,Android的SDK大部分是直接将Java SDK翻译过来的,所以具有Java基础,也可以快速 上手Android开发。

1.3 Java的历史

Java的起源与诞生

? ? ? ? 20世纪90年代,单片式计算机系统诞生,单片式计算机系统不仅廉价,而且功能强大,使用它可以大幅度提升消费性电子产品的智能化程度。

? ? ? ? SUN公司为了抢占市场先机,在1991年成 立了一个由詹姆斯·高斯林(James Gosling)领导,名为“Green”项目小组,目的是开发一种能够在各种消费性电子产品上运行的程序架构。 那么使用何种编程语言来设计,是项目小组头疼的事。当时C++较为有优势的,项目小组首先考虑的是采用它来编写程序,但C++过于复杂和庞大,再加上由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,需要让编写的程序跨平台运行,假如用C++编写的话对程序的跨平台运行不友好。

? ? ? ? 最后项目小组决定:既不用C++编写,也不开发全新的编程语言,而是对C++进行改造,去除了C++复杂的指针和内存管理,并结合嵌入式系统的实时性要求,最终在1992年,他们开发了—种名为“Oak”的面向对象语言。 科当他们在向硬件生产商进行演示的时候,硬件生产商对此并不感冒,OaK语言因为缺乏硬件的支持而无法进入市场,从而被搁置一旁。

? ? ? ? 1994年,项目小组看到了浏览器在未来的发展前景,于是决定将OaK应用于万维网。

? ? ? ? 1995年,他们用OaK语言研发了一种能将小程序嵌入到网页中执行的技术——Applet,由于Applet不仅能嵌入网页,还可随同网页在网络上进行传输,这让无数的程序员看到了OaK这门语言,与此同时,OaK正式更名为Java。从此,Java在互联网的推动下火了。并提出了“Write once, Run anywhere" 的口号。

1.4 Java语言的特性

以下Java语言特性来自于Java白皮书:

1.4.1 简单性
? ? ? ? 无需深奥的专业培训就可以进行的编程系统,并且符合当今的标准惯例
? ? ? ? 尽可能地接近C++,以便系统更易于理解?Java剔除了C++中许多很少用,难以理解,易混淆的特性(这些特性带来的麻烦远远多于其带来的好处)
? ? ? ? 支持开发能够在小型机器上独立运行的软件(基本的解释器以及类支持大约仅为40KB)
再加上基础的标准类库和对线程的支持(基本上是一个自包含的微内核)大约需要增加175KB
由于不断的扩展,类库已经相当庞大
? ? ? ? 现在有一个独立的具有较小类库的Java微型版(Java Micro Edition),这个版本适用于嵌入式设备
1.4.2 面向对象
? ? ? ? 面向对象设计是一种程序设计技术??它将重点放在数据(即对象)和对象的接口上
面向对象:始终关注的是所制作的椅子,第二位才是所使用的工具;
非面向对象:首先考虑的是所用的工具
? ? ? ? 在本质上,Java的面向对象能力与C++是一样的??旗鼓相当
Java与C++的主要不同点在于多重继承,在Java中,取而代之的是更简单的接口概念
Java提供了更丰富的运行时自省空间
1.4.3 分布式
? ? ? ? Java有一个丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议
Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样
1.4.4 健壮性
? ? ? ? 具有多方面的可靠性
? ? ? ? Java与C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性
Java编译器能够检测许多在其他语言中仅运行时才能够检测出来的问题
1.4.5 安全性?相对安全,凡事无绝对
? ? ? ? 适用于网络/分布式环境
? ? ? ? 可以构建防病毒,防篡改的系统
? ? ? ? 防范各种攻击:
? ? ? ? 运行时堆栈溢出。如蠕虫和病毒常用的攻击手段,破坏自己的进程空间之外的内存,未经授权读写文件,Java代码不论来自哪里,都不能脱离沙箱
? ? ? ? 不可信代码在一个沙箱中执行,在这里它不会影响主系统
安全模型很复杂
? ? ? ? Java浏览器插件不信任远程代码,除非代码有数字签名而且用户同意执行这个代码
1.4.6 体系结构中立
? ? ? ? 很容易地在任何机器上解释执行
? ? ? ? 可以动态地翻译成本地机器代码
? ? ? ? Java虚拟机优点:
? ? ? ? 可以检测指令序列的行为,从而增强安全性
1.4.7 可移植性
? ? ? ? Java规范中没有 "以来具体实现" 的地方
? ? ? ? 基本数据类型的大小以及有关运算都做了明确的说明在Java中,数据类型具有固定的大小,这消除了代码移植时令人头疼的主要问题
? ? ? ? 二进制数据以固定的格式进行存储和传输,消除了字节顺序的困扰,int为永远的32位的整数
字符串是用标准的Unicode格式储存的,作为系统组成部分的类库,定义了可移植的接口,Java库很好地支持平台独立性
? ? ? ? 处理文件,正则表达式,XML,日期和时间,数据库,网络连接,线程等,不仅程序是可移植的,Java API往往也比原生API质量更高
1.4.8 解释型
? ? ? ? Java虚拟机可以在任何安装了jre的环境中运行
? ? ? ? Java解释器可以在任何移植了解释器的机器上执行Java字节码
? ? ? ? 链接是一个增量式且轻量级的过程(开发过程变得更加快捷,更加具有探索性)
1.4.9 高性能
? ? ? ? 更加高效的性能
? ? ? ? 字节码可以(在运行时刻)动态地翻译成对应这个应用的特定CPU的机器码?即时编译器可以监控经常执行代码,并且优化这些代码以提高速度。更为复杂的优化是消除函数调用(即 "内联")?知道哪些类已经加载?基于当前加载的类集,如果特定函数不会被覆盖,就可以使用内联?(必要时,还可以撤销优化)
1.4.10 多线程
? ? ? ? 多线程可以带来更好的交互响应和实时行为
? ? ? ? 并发性?摩尔定律?更多的处理器
? ? ? ? 第一个支持并发程序设计的主流语言
? ? ? ? java提供接口,操作接口以便操作系统多个处理器
1.4.11 动态性
? ? ? ? 库中可以自由地添加新方法和实例变量(对客户端却没有任何影响)
? ? ? ? 可轻易找到运行时类型信息(十分简单)
? ? ? ? 非常重要的特性
? ? ? ? 引入主流程序设计语言中
注:
? ? ? ? J++ Java?有几乎相同的编程语言以及虚拟机
? ? ? ? C#?Java?有很多相似之处,然而使用的却是完全不同的虚拟机

下图为Java在计算机中的主要结构:

(写在后面:我是一名学习Java的小白,本篇博客是我学习中的总结,如果你想和我一起来学习Java这门具有魅力的语言的话,请关注一下博主哦!多多评论,本编博客借鉴了百度知道里的内容,如果有什么问题请在评论中告诉我哦!我会在第一时间进行改正。)

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-24 15:25:20  更:2021-08-24 15:26:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/8 0:08:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码