Java学习 | Java概述

Java语言的起源

  • Java语言诞生于1995年
  • 在1995年之前,SUN公司为了占领电子消费产品市场,派James Gosling领导团队开发了一个Oak(橡树)语言(因为开发的办公室门口有一棵橡树)
  • 后来因为Oak与一个轮胎公司的商标重复了,才改成了Java(James Gosling当时正在喝咖啡,咖啡的原材料来自印尼的爪哇岛,所以取名Java,图标也是一个冒着热气的咖啡)
  • SUN公司后来被Oracle(甲骨文)公司收购了,所以Java现在要去Oracle公司的官网下载:http://www.oracle.com

Java语言的特性

  • 简单性

    Java语言的底层是C++,其简单性是相对C++而言的

    例如C++支持多继承,Java不再支持多继承;C++中有指针的概念,Java中屏蔽了指针的概念

  • 面向对象

    Java是纯面向对象的,更符合人的思维模式,更容易理解

  • 可移植性(跨平台)

    Java代码可以做到一次编译,到处运行

    由于各操作系统的内核是不同的,执行程序的方式也不同,因此Java代码并不是直接与操作系统进行交互,而是在不同操作系统上装Java虚拟机(JVM),Java代码运行在Java虚拟机上,通过虚拟机与操作系统进行交互

  • 多线程

    Java语言支持多线程

  • 健壮性

    C++需要程序员手动释放内存,Java有自动垃圾回收机制(GC机制),可以将程序运行期间产生的垃圾自动回收

  • 安全性

Java程序的编译和运行

  • 环境配置

    • 安装JDK(Java开发工具包),JDK中自带有JRE(Java运行时环境),在JRE中装有JVM(Java虚拟机)
    • JDK/bin目录中存放了很多命令,比如javac.exe、java.exe
  • 编译阶段

    • 程序员新建*.java文件,这个文件是Java源程序文件,在源程序文件当中编写Java源代码

    • 程序员使用JDK中自带的javac.exe进行Java程序的编译

      • javac.exe即Java编译器,需要在dos命令窗口中使用
      • 语法规则为:javac [Java源程序路径]
    • 编译器会检查Java源文件是否符合Java语法,如果没有问题就会编译生成*.class字节码文件

      一个*.java源文件可以编译生成多个*.class字节码文件

      *.class字节码文件是Java最终要执行的文件,因此此时删除*.java源文件并不影响程序的执行

  • 运行阶段

    • 程序员使用JDK中另一个工具java.exe进行Java程序的运行
      • java.exe同样需要在dos命令窗口中使用
      • 语法规则为:java [类名](注意是java A而不是java A.class
    • java.exe会打开Java虚拟机(JVM),JVM会启动类加载器(ClassLoader),ClassLoader会搜索*.class文件,并将字节码装载到JVM当中,JVM再将字节码解释成二进制指令,操作系统再与底层硬件进行交互执行二进制指令

Java第一个程序

// HelloWorld.java
public class HelloWorld{
	public static void main(String args[]){
		System.out.println("Hello World");
	}
}
  • 编译阶段

    • dos命令窗口输入javac显示错误:'javac’不是内部或外部命令,也不是可运行的程序或批处理文件

      这是因为Windows操作系统找不到javac命名的文件,如果切换到bin目录下就可以找到了

      但如果每次都要打开bin目录再输入命令就太麻烦了,如何解决这个问题呢?

      • windows操作系统是搜索硬盘上某个命令的机制
        • 首先会从当前目录下搜索
        • 当前目录搜索不到的话,会从环境变量path指定的路径当中搜索某个命令
        • 如果都搜索不到,则报上述错误
      • 所以要解决这个问题就需要配置环境变量
    • 编译

      • 相对路径

        在源程序所在目录的路径栏输入cmd回车,直接在该目录下打开dos命令窗口

        此时就可以用相对路径,直接输入javac HelloWorld.java

      • 绝对路径

        在任何位置打开cmd,输入javac后将源程序直接拖到dos命令窗口中,这样会直接生成绝对路径

  • 运行阶段

    • 在字节码文件所在目录输入cmd回车,在该目录下打开dos命令窗口

      然后再输入java HelloWorld,注意一定是类名,而不是文件路径

      类加载器默认是在当前目录下找*.class文件

      如果配置了classpath环境变量,就只会从classpath指定的路径下找,而不会从当前目录下找

      classpath是给类加载器指路的环境变量

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值