【Java基础】Java总览

简介: 【Java基础】Java总览

一、what-什么是Java?

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

1、和其他语音对比


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


特点

不需要任何运行环境;

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

移植性;

丰富的数据结构;

丰富的运算符;

完全兼容C语言;

数据封装和隐藏;

继承;

多态;

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

一次编译,到处执行;

封装;

继承;

多态;

简单;

自动垃圾回收



9.png

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


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-用在什么地方?



c3944cd64d777c0ab2d3cee456db2f51.png




三、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。



cd625747cc685495f112fbd031b396c3.png



六、how-如何使用?



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


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


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


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


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


     


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






相关文章
|
8天前
|
Java Linux
java基础(3)安装好JDK后使用javac.exe编译java文件、java.exe运行编译好的类
本文介绍了如何在安装JDK后使用`javac.exe`编译Java文件,以及使用`java.exe`运行编译好的类文件。涵盖了JDK的安装、环境变量配置、编写Java程序、使用命令行编译和运行程序的步骤,并提供了解决中文乱码的方法。
24 1
|
2月前
|
Java 编译器 C++
【Java基础面试一】、为什么Java代码可以实现一次编写、到处运行?
这篇文章解释了Java能够实现“一次编写,到处运行”的原因,主要归功于Java虚拟机(JVM),它能够在不同平台上将Java源代码编译成的字节码转换成对应平台的机器码,实现跨平台运行。
【Java基础面试一】、为什么Java代码可以实现一次编写、到处运行?
|
2月前
|
Java
【Java基础面试四】、介绍一下Java的数据类型
这篇文章介绍了Java的数据类型,包括8种基本数据类型(整数、浮点、字符、布尔)和3类引用数据类型(数组、类、接口),并提供了基本数据类型所占内存空间和数据范围的详细信息。
|
2月前
|
前端开发 Java 编译器
【前端学java】java基础练习缺少项目?看这篇文章就够了!(完结)
【8月更文挑战第11天】java基础练习缺少项目?看这篇文章就够了!(完结)
34 0
|
19天前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
174 37
|
19天前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
19天前
|
缓存 安全 Java
【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)
Java的特点和优点,、Java 8的新特性、面向对象、基本数据类型和引用类型、自动拆装箱与自动装箱、==与equals()的区别、为什么重写equals()就要重写hashcode()、抽象类和接口的区别、重载和重写的区别、四种引用方式、wt()和sleep()的区别、java方法是值传递还是引用传递?访问修饰符、static、final、this和super、volatile的用法及原理
【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)
|
2月前
|
Java C++
【Java基础面试十七】、Java为什么是单继承,为什么不能多继承?
这篇文章讨论了Java单继承的设计原因,指出Java不支持多继承主要是为了避免方法名冲突等混淆问题,尽管Java类不能直接继承多个父类,但可以通过接口和继承链实现类似多继承的效果。
【Java基础面试十七】、Java为什么是单继承,为什么不能多继承?
|
2月前
|
Java
【Java基础面试三】、说一说你对Java访问权限的了解
这篇文章介绍了Java中的四种访问权限:private、default(无修饰符时的访问权限)、protected和public,以及它们分别在修饰成员变量/方法和类时的不同访问级别和规则。
【Java基础面试三】、说一说你对Java访问权限的了解
|
2月前
|
缓存 前端开发 Java
【前端学java】java基础巩固复习巩固语法练习-工具类的封装(14)
【8月更文挑战第10天】java基础巩固,工具类的封装
20 1
【前端学java】java基础巩固复习巩固语法练习-工具类的封装(14)
下一篇
无影云桌面