zoukankan      html  css  js  c++  java
  • Java学习【1】

    一、Java 简介

    Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。

    2005年6月,SUN公司公开Java SE 6。Java的各种版本已经更名以取消其中的数字"2":J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME。

    Java分为三个体系:

    • JavaSE(J2SE(Java2 Platform Standard Edition,java平台标准版)

    • JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)

    • JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。

    1. JDK(Java Development Kit)Java开发工具包: J2EE、J2SE、J2ME的共同点是语言相同,不同点是捆绑的库不同。J2EE是企业版平台,它除了包含标准版(SE的任何组件,还增加了附加库);J2SE是标准版平台;J2ME是微型平台。SDK软件开发工具包,JDK算是SDK的一种。

    2. JRE(Java  Runtime  Enviroment)Java运行时环境:所有的Java程序都要在JRE下才能运行,包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。

    3. JVM(Java Virtual Mechine)JAVA虚拟机:JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,JVM 的主要工作是解释自己的指令集(即字节码)并映射到本地的 CPU 的指令集或 OS 的系统调用。Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file)。类文件的组成包括 JVM 指令集,符号表以及一些补助信息。

    二、主要特性

    • Java丢弃了C++中的一些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用

    • Java语言是面向对象的:Java语言提供类、接口和继承等原语,只支持之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++只对虚函数使用动态绑定

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

    • 强类型机制、异常处理、垃圾的自动收集

    • Java语言是解释型的:Java程序(.java) —> Java平台编译 —> 字节码格式(.class) —> Java平台中的Java解释器 —> 对.class解释执行,执行过程中需要的类在联接阶段被载入到运行环境。

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

    • Java语言是动态的:Java程序需要的能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

    三、基本点

    • 大小写敏感Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。

    • 类名对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。

    • 方法名所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写

    • 源文件名源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。

    • 主方法入口所有的Java 程序由public static void main(String []args)方法开始执行。

  • 相关阅读:
    【算法学习笔记】76.DFS 回溯检测 SJTU OJ 1229 mine
    【算法学习笔记】75. 动态规划 棋盘型 期望计算 1390 畅畅的牙签盒(改)
    【算法学习笔记】74. 枚举 状态压缩 填充方案 SJTU OJ 1391 畅畅的牙签袋(改)
    【算法学习笔记】73.数学规律题 SJTU OJ 1058 小M的机器人
    【算法学习笔记】72.LCS 最大公公子序列 动态规划 SJTU OJ 1065 小M的生物实验1
    【算法学习笔记】71.动态规划 双重条件 SJTU OJ 1124 我把助教团的平均智商拉低了
    【算法学习笔记】70.回文序列 动态规划 SJTU OJ 1066 小M家的牛们
    【算法学习笔记】69. 枚举法 字典序处理 SJTU OJ 1047 The Clocks
    【算法学习笔记】68.枚举 SJTU OJ 1272 写数游戏
    【算法学习笔记】67.状态压缩 DP SJTU OJ 1383 畅畅的牙签袋
  • 原文地址:https://www.cnblogs.com/coolqiyu/p/6255480.html
Copyright © 2011-2022 走看看