首页 > 编程语言 >二.初识Java

二.初识Java

时间:2023-02-03 22:15:23浏览次数:39  
标签:Java 语言 JDK 编程 Oak 初识 运行

二.初识Java

1.Java是什么?

(1)Java是一种编程语言

编程是把我们的要求和想法,按照能够让计算机看懂的规则和约定编写出来.编程的结果就是一些计算机能够看懂并能够执行和处理的东西,我们把它叫做软件或者程序.事实上,程序就是我们对计算机发出的命令集(指令集).语言是用来交流的,和我们说的汉语很像,但是汉语是人与人交流,Java是一种人与计算机交流的语言.换句话说把我们的要求和想法用Java表达出来,让计算机能看懂,并且能够按照我们要求运行,这个过程就是我们说的Java编程,所以我们说Java是一种计算机编程语言.为了让计算机看懂,Java会有一系列的规则和约定,这些就是Java的语法.

(2)Java是一种软件开发、运行、部署的平台

简单来说就是我们可以用Java语言开发出应用程序,部署并运行在安装有Java环境的计算机上.

2.Java能干什么?

Java能做的事情很多,涉及到编程领域的各个方面.

(1)桌面级应用

桌面级应用,简单的说就是主要功能都在我们本机上运行的程序,比如word 、excel等运行在本机上的应用就属于桌面应用,尤其是需要跨平台的桌面级应用程序,但是目前使用Java做桌面级开发的场景越来越少.

(2)企业级应用

企业级应用,简单的说就是大规模的应用,一般使用人数较多,数据量较大,对系统的稳定性、安全性、可扩展性和可装配性等都有比较高的要求.这是目前Java应用最广泛的一个领域,几乎一枝独秀.包括各种行业应用,企业信息化、电子政务等,领域涉及办公自动化OA、客户关系管理CRM、人力资源HR、企业资源计划ERP 、知识管理KM、供应链管理SCM 、企业设备管理系统EAM 、产品生命周期管理PLM 、面向服务体系架构SOA 、商业智能BI、项目管理PM、营销管理、流程管理WorkFlow 、财务管理……等等几乎所有你能想到的所有应用.其实这个概念念已经慢慢淡化了,我们现在进入了互联网时代,一个软件的体量已经不能同日而语,现在的软件需要支持更高的并发,追求更稳定的效果.

(3)嵌入式设备

包括无线手持设备、智能卡、通信终端、医疗设备、信息家电(如数字电视、机顶盒、电冰箱)、汽车电子设备等都是近年以来热门的Java应用领域,尤其是手机上的Java应用程序和Java游戏,更是普及.

(4)大数据领域产品

很多大数据领域使用的软件都是Java编写的,所以Java学习也是大数据的基础.

3.Java的历史

(1)简介

在上世纪90年代初,Sun公司有一个叫做Green的项目,目的是为家用消费电子产品开发一个分布式代码系统,这样就可以对家用电器进行控制,和它们进行信息交流.詹姆斯·高斯林(JamesGosling)等人基于C++开发一种新的语言Oak(Java 的前身).Oak是一种用于网络的精巧而安全的语言.Sun公司曾依此投标一个交互式电视项目,但结果是被SGI打败,因此Sun公司就打算抛弃Oak.但是随着互联网的发展,Sun公司看到了Oak在计算机网络上广阔的应用前景,于是改造了Oak,最终在1995年5月以“Java”的名称正式发布,从此Java走上了繁荣之路.当然提到Java历史,不得不提的一个故事就是Java的命名.开始“Oak”的命名是以项目小组办公室外的树而得名,但是Oak商标被其他公司注册了,必须另外取一个名字,传说有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,得到了其他人的赞同,于是,Java这个名字就这样传开了.当然对于传说,了解一下就好,不必过于认真.

(2)Java大事迹

作为学习Java的人士,对Java历史上发生的大事件有一个简单了解是应该的.

JDK(Java Software Develop Kit):Java软件开发工具包.JDK是Java的核心,包括了Java运行环境和一系列Java开发工具和Java基础的类库.

目前主流的JDK是Sun公司发布的JDK,除了Sun公司之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等.

4.Java语言特点

Java语言的风格很像C语言和C++语言,是一种纯粹的面向对象语言,它继承了C++语言面向对象的技术核心,但是拋弃了C++的一些缺点,比如容易引起错误的指针以及多继承等,同时也增加了垃圾回收机制,释放掉不被使用的内存空间,解决了管理内存空间的烦恼.Java语言是一种分布式的面向对象语言,具有面向对象、平台无关性、简单性、解释执行、多线程、安全性等很多特点,下面针对这些特点进行逐一介绍.

(1)面向对象

Java是一种面向对象的语言,它对对象中的类、对象、继承、封装、多态、接口、包等均有很好的支持.为了简单起见,Java只支持类之间的单继承,但是可以使用接口来实现多继承.使用Java语言开发程序,需要采用面向对象的思想设计程序和编写代码.

(2)平台无关性

平台无关性的具体表现在于,Java是“一次编写,到处运行(Write Once,Run any Where)”的语言,因此采用Java语言编写的程序具有很好的可移植性,而保证这一点的正是Java的虚拟机机制.在引入虚拟机之后,Java语言在不同的平台上运行不需要重新编译.Java语言使用Java虚拟机机制屏蔽了具体平台的相关信息,使得Java语言编译的程序只需生成虚拟机上的目标代码,就可以在多种平台上不加修改地运行.

(3)简单性

Java语言的语法与C语言和C++语言很相近,使得很多程序员学起来很容易.对Java来说,它舍弃了很多C++中难以理解的特性,如操作符的重载和多继承等,而且Java语言不使用指针,加入了垃圾回收机制,解决了程序员需要管理内存的问题,使编程变得更加简单.

(4)解释执行

Java程序在Java平台运行时会被编译成字节码文件,然后可以在有Java环境的操作系统上运行.在运行文件时,Java的解释器对这些字节码进行解释执行,执行过程中需要加入的类在连接阶段被载入到运行环境中

(5)多线程

Java语言是多线程的,这也是Java语言的一大特性,它必须由Thread 类和它的子类来创建.Java支持多个线程同时执行,并提供多线程之间的同步机制.任何一个线程都有自己的run()方法,要执行的方法就写在run()方法体内.

(6)分布式

Java语言支持Internet应用的开发,在Java的基本应用编程接口中就有一个网络应用编程接口,它提供了网络应用编程的类库,包括 URL、URLConnection、Socket 等.Java的RIM机制也是开发分布式应用的重要手段.

(7)健壮性

Java的强类型机制、异常处理、垃圾回收机制等都是Java健壮性的重要保证.对指针的丢弃是Java的一大进步.另外,Java的异常机制也是健壮性的一大体现.

(8)高性能

Java的高性能主要是相对其他高级脚本语言来说的,随着JIT(Just in Time)的发展,Java的运行速度也越来越高.

(9)安全性

Java通常被用在网络环境中,为此,Java提供了一个安全机制以防止恶意代码的攻击.除了Java语言具有许多的安全特性以外,Java还对通过网络下载的类增加一个安全防范机制,分配不同的名字空间以防替代本地的同名类,并包含安全管理机制.

标签:Java,语言,JDK,编程,Oak,初识,运行
From: https://www.cnblogs.com/yll0519/p/17090554.html

相关文章

  • java 数组
                                            数组一旦创立,长度无法改变;数组角标从0开始;......
  • java 声明类和方法的作者
      类的作者修改格式;     方法的作者修改; ......
  • Java基础班升级考试文档1
    一、笔试题部分一、Mysql笔试题列名数据类型长度是否为空备注idint4否ID,主键namevarchar12是姓名ageint3是年龄birdatetime是生日......
  • Java基础班升级考试文档2
    一、笔试题部分一、Mysql笔试题列名数据类型长度是否为空备注emp_noint11否ID,主键,自增birth_datedatetime是生日first_namevarchar14是姓......
  • JavaScript 错误 - Throw 和 Try to Catch
    try 语句使您能够测试代码块中的错误。catch 语句允许您处理错误。throw 语句允许您创建自定义错误。finally 使您能够执行代码,在try和catch之后,无论结果如何。......
  • Java基础阶段升级考试3
    一、笔试题部分一、mysql部分1.创建学生表studentcreatetablestudent(studentNovarchar(10)notnullprimarykeycomment'学生学号',studentNamevarchar(20)no......
  • javascript时间与日期的学习
    JavaScript日期输出默认情况下,JavaScript将使用浏览器的时区并将日期显示为全文本字符串: FriFeb03202316:07:59GMT+0800(中国标准时间)Date类是JavaScript中用......
  • Java两大工具库:Commons和Guava(5)
    您好,我是湘王,这是我的51CTO博客。值此新春佳节,我给您拜年啦~祝您在新的一年中所求皆所愿,所行皆坦途,展宏“兔”,有钱“兔”,多喜乐,常安宁!在开发中,经常会遇到这样的场景:有些数据......
  • Java两大工具库:Commons和Guava(5)
    您好,我是湘王,这是我的博客园。值此新春佳节,我给您拜年啦~祝您在新的一年中所求皆所愿,所行皆坦途,展宏“兔”,有钱“兔”,多喜乐,常安宁!   在开发中,经常会遇到这样的场景......
  • java复制指定文件
    packagecom.cn.file;importorg.junit.Test;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjav......