zoukankan      html  css  js  c++  java
  • Java 之 Java 语言概述

    一、软件开发

      1、软件开发

        软件,即一系列按照特定顺序组织的计算机数据和指令的集合。有系统软件应用软件之分。

      2、人机交互方式

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

      Pascal之父Nicklaus Wirth“Algorithms+Data Structures=Programs” 

    二、计算机编程语言

      1、计算机语言

        计算机语言:人与计算机交流的方式。 计算机语言有很多种。 如: C ,C++ ,Java ,PHP , KotlinPythonScala等。

      2、计算机语言的发展迭代史

        (1)第一代语言

          机器语言。指令以二进制代码形式存在。 (二进制0,1)

        (2)第二代语言。

          汇编语言。使用助记符表示一条机器指令。
            

        (3)高级语言

          CPascalFortran面向过程的语言
          C++面向过程/面向对象
          Java跨平台的纯面向对象的语言
          .NET跨语言的平台
          PythonScala… 

    三、Java 语言概述

      1、语言概述

        (1)SUN(Stanford University Network,斯坦福大学网络公司 ) 1995年推出的一门高级编程语言。

        (2)是一种面向Internet的编程语言。可以在Web浏览器中运行,被称为Java小程序(applet)。

        (3)随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。

      2、Java简史

    1991Green项目,开发语言最初命名为Oak (橡树)
    1994年,开发组意识到Oak 非常适合于互联网
    1996年,发布JDK 1.0,约8.3万个网页应用Java技术来制作
    1997年,发布JDK 1.1JavaOne会议召开,创当时全球同类会议规模之最
    1998年,发布JDK 1.2,同年发布企业平台J2EE
    1999年, Java分成J2SEJ2EEJ2MEJSP/Servlet技术诞生
    2004年, 发布里程碑式版本: JDK 1.5, 为突出此版本的重要性,更名为JDK 5.0
    2005年, J2SE -> JavaSEJ2EE -> JavaEEJ2ME -> JavaME
    2009年, Oracle公司收购SUN,交易价格74亿美元
    2011年,发布JDK 7.0
    2014年,发布JDK 8.0,是继JDK 5.0以来变化最大的版本
    2017年,发布JDK 9.0,最大限度实现模块化
    20183月, 发布JDK 10.0,版本号也称为18.3
    20189月,发布JDK 11.0,版本号也称为18.9
     
         

      3、Java 技术体系平台

        

      4、Java在各领域的应用

        主要表现在以下几个方面:

        (1)企业级应用:主要指复杂的大企业的软件系统、各种类型的网站。 Java的安全机制以及它的跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、电
    信、交通、电子商务等

        (2)Android平台应用Android应用程序使用Java语言编写。 Android开发水平的高低很大程度上取决于Java语言核心能力是否扎实。

        (3)大数据平台开发:各类框架有Hadoopsparkstormflink等,就这类技术生态圈来讲,还有各种中间件如flumekafkasqoop等等 ,这些框架以及工具大多数
    是用Java编写而成,但提供诸如JavascalaPythonR等各种语言API供编程

        (4)移动领域应用:主要表现在消费和嵌入式领域, 是指在各种小型设备上的应用,包括手机、 PDA、机顶盒、汽车通信设备等。 

      5、Java 语言的诞生

        

    四、Java 主要特性

       1、Java 语言是易学的。

        语法简单明了,容易掌握(相对于 C 语言,C++来说)

       2、Java 语言是强制面向对象的。(OOP)

        Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。

       3、Java 语言是分布式的。

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

       4、Java 语言是健壮的。

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

       5、Java 语言是安全的。

        Java通常被用在网络环境中,为此, Java提供了一个安全机制以防恶意代码的攻击。如:安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查。

       6、Java 语言是体系结构中立的。(跨平台的,可移植的)

        Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个
    Java平台的任何系统中运行。

        Java 程序具有与体系结构无关的特性,可以方便地移植到网络上的不同计算机中。可以运行不同的操作系统,服务器,数据库中。

       7、Java 语言是解释型的。

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

      8、Java 是性能略高的。

        Java 编译后的字节码是在解释器中运行的。字节码可以在程序运行时被翻译成特定平台的机器指令,从而进一步提高运行速度。

      9、 Java 语言是原生支持多线程的。

        多线程机制能够使应用程序在同一时间执行多项任务,而且相应的同步机制可以保证不同线程能够正确地共享数据,使用多线程,可以带来更好的交互能力和实时行为。

        在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。

    五、Java 程序运行机制及运行过程

      1、Java 语言的特点

        特点一:面向对象

          两个基本概念:类、对象

          三大特性:封装、继承、多态、(抽象)

        特点二:健壮性

          吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制

        特点三:跨平台性   

          程序员使用程序设计语言所写的文件称为源文件,而提交给计算机,运行的时候是机器码文件。

          转换机制:

        •  编译型:将源文件直接编程成机器码,一次编译,多次执行。执行效率高,不可跨平台。(C语言,C++)
        •  解释型:将源文件一行一行解释,一行一行执行。不同的操作系统具备不同的解释器。运行效率低,可以跨平台。(Python,jJavaScript,shell)
        •  半编译半解释型:Java语言。先编译,后解释。
          •  将源文件编译成字节码文件(平台中独立文件 .class文件)(可跨平台)
          •  将字节码文件进行解释执行

              由java源文件编译成的字节码文件可以在任意平台上运行。Java之所以有这种跨平台的特性,归功于java虚拟机,java虚拟机屏蔽了底层操作系统的差异。

          跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。 “Write once , Run Anywhere” 。

          原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java Virtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。

          

           因为有了JVM,同一个Java 程序在三个不同的操作系统中都可以执行。这样就实现了Java 程序的跨平台性。 

          

      2、Java两种核心机制

        (1)Java 虚拟机(Java Virtual Machine)

        (2)垃圾收集机制 (Garbage Collection)

      3、核心机制——Java 虚拟机

        JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。

        对于不同的平台,使用不同的虚拟机。

        只有某平台提供了对应的 Java 虚拟机,Java 程序才可在此平台运行。

        Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次运行,到处编译”。

        

          

      4、核心机制——垃圾回收

        (1)不再使用的内存空间应回收——垃圾回收

          ① 在 C/C++ 等语言中,由程序员手动负责回收无用内存;

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

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

        Tips:Java 中虽然存在垃圾回收,但仍然还是会出现内存泄漏和内存溢出问题。

  • 相关阅读:
    Codeforces Round 269 (Div. 2)
    Codeforces Round 268 (Div. 2)
    杜教筛
    Codeforces Round 267(Div. 2)
    Codeforces Round 548 (Div. 2)
    Educational Codeforces Round 62 (Rated for Div. 2)
    数据结构编程实验——chapter9-应用二叉树的基本概念编程
    数据结构编程实验——chapter8-采用树结构的非线性表编程
    组合数学及其应用——polya计数
    《A First Course in Abstract Algebra with Applications》-chaper1-数论-棣莫弗定理
  • 原文地址:https://www.cnblogs.com/niujifei/p/13472991.html
Copyright © 2011-2022 走看看