200-Java语言基础-Java编程入门-001 | Java语言简介

一、Java语言特点
1、是一个行业内通用技术实现标准:
2、是一门面向对象编程语言,这样使得Java语言语法结构更加方便开发者接受,这些面向对象的设计思想还在不断进行着扩充(不同的JDK版本)。
3、提供有方便的内存回收处理机制;像某些编程语言里面需要明确的手工进行对象的回收释放,否则程序将无法正常提供支持,但是Java可以提供有自动的内存回收操作,这样处理会更加方便一些(这里面就牵扯到了一些优化方面的问题了)。
4、避免了复杂的指针问题,而使用更加简单的引用来代替指针;指针虽然是一种高效的内存处理模式,但需要较强的逻辑分析能力,而Java在设计的时候充分的考虑到了这一点,所以开发者直接利用引用就可以简化指针的处理,而引用也是在初学过程中最为麻烦最为难以理解的部分;
5、Java是为数不多支持多线程编程的开发语言,这样就可以使得单位时间内,处理的性能得到提升(性能的提升并不是绝对),多线程也是Java开发之中最难以理解的部分,而正确的多线程处理才是提升性能的核心所在。
6、Java提供有高效的网络处理能力,可以基于NIO实现更加高效的数据传输处理。
7、Java具有良好的可移植性,这样就可以提升一个程序的适用范围。a
8、Java语言足够简单
 
二、Java可移植性
  • 移植性:指的是同一个程序可以在不同的操作系统之间任意的进行部署,这样就减少了开发的难度。在Java里面如果想要实现可移植性的控制,那么主要是依靠的是JVM(Java虚拟机)。Java虚拟机是一个由软件和硬件模拟出来的计算机,所有程序只要有Java虚拟机的支持,那么就可以 实现程序的执行,并且不同的操作系统上会有不同版本的JVM虚拟机存在,这样就可以实现移植性。
  • 所有Java程序的解释都要求放在Java虚拟机之上处理
 
  • 所有的*.java的源代码程序最终都是需要经过编译后才可以使用的,但是编译完成的程序代码并不是一个绑定在某个具体操作系统上的,而是一种通用性的程序,而这种通用性的程序就是JVM所能够识别的代码
  • 所有程序并不是直接运行在操作系统上,而是通过JVM执行,这样一来肯定要比直接在操作系统上执行程序的处理速度要慢,先期这的确是个问题,但是后来由于硬件技术的飞速发展,这些问题已经可以忽略了,但是依然会存在JVM调优问题
 
三、JDK简介
  • Java语言属于编译型与解释型的开发语言,对于Java语言,如果想要进行开发,则一定要进行JDK的相关安装配置,
 
四、Hello World
1 public class Hello {
2     public static void main(String [] args) {
3         System.out.ptrintln("hello world!");
4     }
5 }
Java程序是需要经过两次处理后才可以正常执行的:
  • 对源代码程序进行编译:javac Hello.java,会出现一个Hello.class的字节码文件
    • 利用JVM进行编译,编译出一套与平台无关的字节码文件(*.class)
  • 在JVM上进行程序的解释执行:java Hello
    • 解释的就是字节码文件,字节码文件的后缀是不需要编写的;
 
1、对于第一个程序进行完整的解释:
  • 在Java程序开发之中最基础的单元是类,所有的程序必须封装在类中执行,而类的基本定义语法如下:
 1 [public] class 类名称 {} 
  • 在本程序之中定义的类名称为“Hello”,而类的定义中有两种形式:
    • “public class 类名称 {}”:类名称必须与文件名称保持一致,一个*.java文件中只允许有一个public class定义;
    • “class 类名称 {}”:类名称可以与文件名称不一致,但是编译后的*.class名称是类名称,解析的时候要求解析的是生成*.class文件名称,在一个*.java文件里面可以有多个class定义,并且编译之后会形成不同的*.class文件
  •  提示:关于以后源代码定义问题
    • 在以后进行项目开发的时候,很多会出现一个*.java源代码中定义多个class的情况,在开发中一个*.java文件中就定义一个public class类
    • Java语言有着明确的命名要求,以后定义类名称的时候要求每一个单词首字母大写,例如:HelloWorld。。。
 
2、主方法:主方法是所有程序执行的起点,并且一定要定义在类中,Java的主方法定义
1 [public] class 类名称 {
2     public static void main(String [] args) {
3         程序的代码由此开始执行
4     }
5 }
  • Java主方法名称定义非常长,具体解释后期说明
 
3、屏幕打印(系统输出)可以直接在命令行方式下进行内容的显示,有两类语法形式:
  • 输出之后追加换行:System.out.prinln();
  • 输出之后不追加换行:System.out.print();
 
五、JShell(JDK1.9后新增)
 
六、CLASSPATH
1、PATH与CLASSPATH区别:
  • PATH:是操作系统提供的路径配置,定义所有可执行程序的路径;
  • CLASSPATH:是由JRE提供的,用于定义Java程序解释时列加载路径,默认设置为当前所在目录加载;
    • 关系:JVM → CLASSPATH定义的路径 → 加载字节码文件
 
posted @ 2021-03-08 09:05  sftp  阅读(72)  评论(0编辑  收藏  举报