【个人学习JAVA---学后的梳理】 一、从外,观识JAVA

简介: 认识Java语言

认识Java语言

横看成岭侧成峰,远近高低各不同...

1. Java的历史

Java来自于Sun公司的一个Green项目,它期望能与家用电器进行信息交流,一开始是准备采用C++,不过C++太复杂,安全性差,于是最后基于C++开发了一种新语言Oak(Java的前身),该语言是一种用于网络的精巧而安全的语言。

2. Java的现状

Java是Sun公司推出的新一代面向对象程序设计语言,特别适用于Internet应用程序开发。它具有平台无关的特性(Java开发环境有JDKJRE)。

2.1:Java的技术分支

Java主要有3类技术分支:(它们前身的前缀名为J2 ,05年后均改为JAVA )

  1. JAVA SE:Java2Platform,StandardEdition;(标准版)
  2. JAVA EE: Java2Platform,EnterpriseEdition;(企业版)
  3. JAVA ME: Java2Platform,MicroEdition;
    以上三个分支,不管如何划分,都是以JAVA SE为核心,那么掌握JAVA SE最为重要

3. Java的特点

JAVA是一种简单的、面向对象的、分布式的、解释性的、可移植的、多线程的、动态的程序设计语言。

3.1:Java语言的关键特性说明:

  1. 简洁有效
    Java语言是一种相当简洁的程序设计语言。它省略了C++语言中所有难以理解、容易混淆的特性,例如头文件、指针、结构、单元、运算符重载、虚拟基础类等。所以它更加严谨、简洁。
  2. 可移植
    同操作系统平台无关的特性,使得Java应用程序可以在配备了Java解释器和运行环境的任何计算机操作系统上运行,这就是Java应用软件便于移植的良好基础。而且,Java的基本数据类型设计不依赖具体实现,它通过定义独立于平台的基本数据类型及其运算,使得Java数据得以在任何的硬件平台上保持一致。
  3. 面向对象
    Java语言的设计完全是面向对象的,不支持类似C语言那样的面向过程的程序设计技术。Java支持静态和动态风格的代码继承和重用。
  4. 解释型
    Java语言是一种解释性语言,相对于C/C++语言来说,Java程序的效率低,执行速度慢。
  5. 适合分布式计算
    Java语言具有强大的、易于使用的联网能力,非常适合开发分布式计算的程序。Java应用程序能像访问本地文件系统那样,通过URL访问远程对象。它十分使用于公共网关接口(GGI)脚本的开发,另外还能使用Java小应用程序(Applet)、Java服务器页面(Java Server Page,JSP)和Servlet等手段来构建更丰富的网页。

4. Java虚拟机(JVM)

虚拟机,即在机器和编译程序间加入了一层抽象的虚拟的机器。它能够在任何平台上都提供给编译程序一个共同的接口。编译程序只需要面向虚拟机,编译生成虚拟机可以理解的代码,然后由解释器虚拟机代码转换为特定系统的机器码执行。
那么在Java中,虚拟机能理解的代码叫做字节码(Byte Code)。
每一种平台的解释器是不同,但实现的虚拟机相同。
Java源程序(代码存在.java文件)经过编译器编译后变成了字节码(代码存在.claa文件),字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上执行。
Java虚拟机也具有一个指令集,并使用不同的存储区域。它负责执行指令,还要治理数据、内存和寄存器。

图片丢失


图1-Java源文件编译运行过程图

结束

目录
相关文章
|
15天前
|
消息中间件 前端开发 Java
java学习路径
【4月更文挑战第9天】java学习路径
17 1
|
15天前
|
设计模式 前端开发 安全
Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
【4月更文挑战第9天】Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
15 1
|
5天前
|
JavaScript Java 测试技术
基于Java的驾考自主学习预约平台的设计与实现(源码+lw+部署文档+讲解等)
基于Java的驾考自主学习预约平台的设计与实现(源码+lw+部署文档+讲解等)
17 0
|
6天前
|
JavaScript Java 测试技术
基于Java的精品课程在线学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的精品课程在线学习系统的设计与实现(源码+lw+部署文档+讲解等)
25 1
|
6天前
|
JavaScript Java 测试技术
基于Java的中文学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的中文学习系统的设计与实现(源码+lw+部署文档+讲解等)
22 0
|
12天前
|
Java 存储
键值之道:深入学习Java中强大的HashMap(二)
键值之道:深入学习Java中强大的HashMap
20 0
键值之道:深入学习Java中强大的HashMap(二)
|
14天前
|
JavaScript Java 测试技术
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
30 0
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
|
1天前
|
安全 Java 调度
Java线程:深入理解与实战应用
Java线程:深入理解与实战应用
13 0
|
1天前
|
Java
Java中的并发编程:理解和应用线程池
【4月更文挑战第23天】在现代的Java应用程序中,性能和资源的有效利用已经成为了一个重要的考量因素。并发编程是提高应用程序性能的关键手段之一,而线程池则是实现高效并发的重要工具。本文将深入探讨Java中的线程池,包括其基本原理、优势、以及如何在实际开发中有效地使用线程池。我们将通过实例和代码片段,帮助读者理解线程池的概念,并学习如何在Java应用中合理地使用线程池。
|
5天前
|
安全 Java
深入理解 Java 多线程和并发工具类
【4月更文挑战第19天】本文探讨了Java多线程和并发工具类在实现高性能应用程序中的关键作用。通过继承`Thread`或实现`Runnable`创建线程,利用`Executors`管理线程池,以及使用`Semaphore`、`CountDownLatch`和`CyclicBarrier`进行线程同步。保证线程安全、实现线程协作和性能调优(如设置线程池大小、避免不必要同步)是重要环节。理解并恰当运用这些工具能提升程序效率和可靠性。