1--java语言概述

  • 软件开发介绍
  • 计算机编程语言介绍
  • java语言概述
  • java运行机制以及运行过程

1.软件开发介绍

什么是软件?
软件就是一系列按照特定顺序组织的计算机数据和指令的集合。软件分为系统软件和应用软件之分。我们 平时说所的软件开发大部分指的是应用软件开发,例如手机App程序、OA办公软件、网上商城等等。系统软件大部分指的是操作系统,比如windows操作系统、linux操作系统、苹果系统等。
人和机器是如何交互的呢?

  • 图形化界面(Graphical User Interface GUI)这种方式简单直观,使用者易于接受,容易上手操作。比如我们常常使用的windows桌面图标,办公软件,手机App等都是图形化的界面。
  • 命令行的方式(Command Line Interface CLI):需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些
    命令。比如windows的DOS命令。

2.计算机编程语言介绍

什么是计算机语言?

  1. 语言:是人与人之间用于沟通的一种方式。例如:中国人与中国人用普通话沟通。而中国人要和英国人交流,就要学习英语。
  2. 计算机语言:人与计算机交流的方式。如果人要与计算机交流,那么就要学习计算机认识的语言,计算机语言有很多中,例如::C ,C++ ,Java ,PHP , Kotlin,Python,Scala等。
  3. 计算机从无到有经历了多个阶段:
    第一阶段:机器语言。了解过计算机的人都是知道,计算机只认识0和1这两个符号,也就是二进制代码的形式存在。
    第二阶段:汇编语言。这个阶段出现了比较容易记忆英文符号作为机器的指令。
    第三阶段:高级语言。此时出现了大量的更加容易进行编程的语言:
  4. C、Pascal、Fortran面向过程的语言
  5. C++面向过程/面向对象
  6. Java跨平台的纯面向对象的语言
  7. .NET跨语言的平台
  8. Python、Scala…

java语言概述

java是SUN(Stanford University Network,斯坦福大学网络公司 ) 1995年推出的一 门高级编程语言。是一种面向Internet的编程语言。Java一开始富有吸引力是因为Java程序可以 在Web浏览器中运行。这些Java程序被称为Java小程序(applet)。applet使 用现代的图形用户界面与Web用户进行交互。 applet内嵌在HTML代码中。 随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
java的诞生
java之父James Gosling团队在开发”Green”项目时,发现C缺少垃圾回收系统,还有可移植的安全性、分布程序设计和多线程功能。最后,他们想要一种易于移植到各种设备上的平台。Java确实是从C语言和C++语言继承了许多成份,甚至可以将Java看成是类C语言发展和衍生的产物。比如Java语言的变量声明,操作符 形式,参数传递,流程控制等方面和C语言、C++语言完全相同。但同时,Java是一个纯粹的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间。JDK1.5又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱。
java之父简介
java语言的发展史
1.1991年 Green项目,开发语言最初命名为Oak (橡树) 2. 1994年,开发组意识到Oak 非常适合于互联网
9. 1996年,发布JDK 1.0,约8.3万个网页应用Java技术来制作
10. 1997年,发布JDK 1.1,JavaOne会议召开,创当时全球同类会议规模之最
11. 1998年,发布JDK 1.2,同年发布企业平台J2EE
12. 1999年,Java分成J2SE、J2EE和J2ME,JSP/Servlet技术诞生
13. 2004年,发布里程碑式版本:JDK 1.5,为突出此版本的重要性,更名为JDK 5.0
14. 2005年,J2SE -> JavaSE,J2EE -> JavaEE,J2ME -> JavaME
15. 2009年,Oracle公司收购SUN,交易价格74亿美元
16. 2011年,发布JDK 7.0
17. 2014年,发布JDK 8.0,是继JDK 5.0以来变化最大的版本
18. 2017年,发布JDK 9.0,最大限度实现模块化
19. 2018年3月,发布JDK 10.0,版本号也称为18.3
20. 2018年9月,发布JDK 11.0,版本号也称为18.9
java技术体系平台
JavaSE(Java Standard Edition)标准版:支持面向桌面级应用(如Windows下的应用程序)的Java平台.包含构成Java语言核心类,如数据库连接,接口定义,输入/输出和网络编程等。
Java EE(Java Enterprise Edition)企业版 :是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如 :Servlet 、Jsp等,主要针对于Web应用程序开发。
Java ME(Java Micro Edition)小型版 :支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加 入了针对移动终端的支持
虽然Java语言的发展方向有3个,但是这3门技术最核心的部分是J2SE,而且J2ME和J2EE是在J2SE基础上发展起来的。2005年这3门技术重新命名:
J2SE命名为JAVASE,J2ME命名为JAVAME,J2EE命名为JAVAEE。
Java在各领域的应用
从Java的应用领域来分,Java语言的应用方向主要表现在以下几个方面:
• 企业级应用:主要指复杂的大企业的软件系统、各种类型的网站。Java的安全机制以及它的跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、电信、交通、电子商务等。
• Android平台应用:Android应用程序使用Java语言编写。Android开发水平的高低 很大程度上取决于Java语言核心能力是否扎实。
• 大数据平台开发:各类框架有Hadoop,spark,storm,flink等,就这类技术生态 圈来讲,还有各种中间件如flume,kafka,sqoop等等 ,这些框架以及工具大多数是用Java编写而成,但提供诸如Java,scala,Python,R等各种语言API供编程。
• 移动领域应用:主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,包括手 机、PDA、机顶盒、汽车通信设备等。
主要特性
Java语言是易学的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员 很容易学习和使用Java。
• Java语言是强制面向对象的。Java语言提供类、接口和继承等原语,为了简单起见, 只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制 (关键字为implements)。
• Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编 程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类 库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程 方法激活)机制也是开发分布式应用的重要手段。
• Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序 健壮性的重要保证。对指针的丢弃是Java的明智选择。
1.3 Java语言概述:主要特性
• Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机 制以防恶意代码的攻击。如:安全防范机制(类ClassLoader),如分配不同的 名字空间以防替代本地的同名类、字节代码检查。
• Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被 编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个 Java平台的任何系统中运行。
• Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统的解释器中运行。
• Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性能还是较优的。
• Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的对象,它必须 由Thread类或其子(孙)类来创建。

java运行机制以及运行过程

  1. 面向对象:
    两个基本概念:类、对象
    三大特性:封装、继承、多态
  2. 跨平台性 :
    跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , Run Anywhere”
    原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java Virtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。
    在这里插入图片描述
    Java两种核心机制
  3. Java虚拟机 (Java Virtal Machine)
  • JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指 令,管理数据、内存、寄存器。
  • 对于不同的平台,有不同的虚拟机。
  • 只有某平台提供了对应的java虚拟机,java程序才可在此平台运行
  • Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
  1. 垃圾收集机制 (Garbage Collection)
  • 不再使用的内存空间应回收—— 垃圾回收

  • 在C/C++等语言中,由程序员负责回收无用内存。

  • Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空 间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。

  • 垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。

猜你喜欢

转载自blog.csdn.net/qwy715229258163/article/details/113610795