> 文章列表 > 【Java基础】Java总览

【Java基础】Java总览

【Java基础】Java总览

一、what-什么是Java?

      Java是一种面向对象的编程语言,其他面向对象的编程语言还有C#,C++,Python,Python,golang,VB等。

1、和其他语音对比

对比项\\语言 C C++ Java
上线时间 1972年 1979年 1995年
特点 面向过程 面向对象 面向对象
特点

不需要任何运行环境;

编译简单,产生少量机器码;

移植性;

丰富的数据结构;

丰富的运算符;

完全兼容C语言;

数据封装和隐藏;

继承;

多态;

适合大型软件的设计和开发;

一次编译,到处执行;

封装;

继承;

多态;

简单;

自动垃圾回收;

缺点

(三种语言对比)

不适合大型项目;

封装性差,复用性差,不安全;

语法限制不严格;

对数组下标越界不作检查;

指针,可操作硬盘,不安全;

手动释放内存;

支持多继承;

学习成本相较Java较高;

手动释放内存;

运行速度相对较慢(多一层jvm)但随着对jvm的优化,性能已经提升;

不能直接操作底层;

没有指针,不够灵活;

* 缺点这一栏,主要想突出该语言的特点在一些情况下可能产生的问题。个人认为缺点和优点都是相较的,最适合研发场景需要的就是最好的。

2、Java语言的特点

        Java是用C++实现的,保留了C++的优点,如面向对象;丢弃了指针等容易使程序崩溃的内容,提升了语言的健壮性;去掉了头文件,指针,结构,联合等,学习起来更简单;通过jvm实现平台无关性;支持数据分布和操作分布,提供一整套网络类库,开发人员可以利用类库进行网络程序设计,方便地实现Java语言的分布式特性;对数组和字符串访问越界检查,并提供异常处理,可靠性高;天然支持多线程;支持网络编程;Java的编译器将源码(.java)编译成字节码(.class),字节码(.class)由解释器翻译成二进制码,使程序执行。同时Java支持即时编译JIT(把热点代码编译成本地相关的机器码保存下来,下次可减少编译时间,直接执行)。 

 3、JDK,JRE

JDK:Java development kit -Java开发工具,包含Java语言、Java虚拟机、Java类库,是支持Java程序开发的最小环境。

JRE:Java runtime environment -Java运行环境,包含JavaSE中核心类库API和Java虚拟机,简单理解为JVM+核心类库API。

JVM(Java Virtual Machine)Java虚拟机,运行于各种操作系统Linux,Windows,Solaris等之上,执行编译好的Java字节码class文件

JDK= JRE+一些工具类

4、Java基础 (后面的文章会一一讲到)

语法基础;

面向对象;

Exception;

Array;

基础类;

I/O Stream;

Collection /Generic;

Thread;

TCP、UDP;

GUI;

Meta data;

Regular Expression;

5、Java的发展体系

       JDK初步:作为其他方向的基础;

       JavaWeb编程:针对Web程序;

       J2EE:企业级应用

二、where-用在什么地方?

 

三、when-什么时候用?

        任何时候,都可以考虑使用Java作为开发语言。

四、who-什么人使用?

        有一定计算机基础,理解能力。

五、why-为什么用Java?

        1、面向对象;

        2、具备平台无关性,提供程序运行的解释环境,一次编译,导出执行-JVM;

        3、健壮性,吸收了C/C++的特点,去掉了影响健壮性的部分(如指针,内存申请和释放)-垃圾收集;

        4、内置安全;

        Java的核心机制:JVM,垃圾收集机制。

        JVM屏蔽了底层运行平台的差异,使开发专注在应用开发。JVM将源代码编译成.class文件,由JVM将字节码编译成对应的操作系统能执行的文件,该操作系统只需要安装对应的JVM即可,实现一次编译,到处执行。对比C/C++,只能一次将代码编译成对应的操作系统能执行的文件,操作系统不一样时,需要重新编译。JVM就相当于Java程序的操作系统,JVM的可执行文件是.class文件。需要注意的是,JVM为Java程序屏蔽了操作系统的差异,但不同的操作系统需要运行不同的JVM。

六、how-如何使用?

        具体安装流程,网上的优秀文章多,本文将不再赘述。可以阅读:

Java基础:Java开发环境下载以及安装【详细】_jdk1.8.0_251_1024de小shen的博客-CSDN博客 等博客。

        值得注意的是,在配置时,关于path和classpath。

        path:系统路径,Windows系统执行命令查找路径;

        classpath: 类路径,Java文件编译和执行查找class文件命令的查找路径;

         

        以上就是我对Java总体上的了解,感谢大家的阅读。