Java学习笔记(一)

Java语言发展史

  • Java语言诞生于1995年
  • 在1995年之前SUN公司(太阳微电子公司:该公司目前被Oracle(甲骨文:做数据库)收购)为了占领智能电子消费产品市场,派James Gosling领导团队开发了一个Oak(橡树)语言
  • 1996年:JDK1.0诞生
    • JDK:
      • Java开发包工具,做Java开发必须安装的一个工具包,该工具包需要从官网下载
  • Java包括三大块:
    • JavaSE(Java标准版)
    • JavaEE(Java企业版)
    • JavaME(Java微型版)
      其中JavaSE是基础,以后主攻方向是JavaEE方向

Java语言特性(开源,免费,纯面向对象,跨平台)

  • 简单性:
    • 相对而言,Java中不再支持多继承,C++支持多继承,多继承比较复杂
    • C++中有指针,Java中屏蔽了指针的概念
    • Java语言底层是C++实现的,不是C语言
  • 面向对象:
    • Java是纯面向对象,更符合人的思维模式,更容易理解
  • 可移植性(跨平台):
    • Java程序可以做到一次编译,到处运行
    • 不做任何修改,同样的Java程序可以直接放到Linux操作系统上运行
    • Windows操作系统内核和Linux操作系统的内核肯定不同,他们这两个操作系统执行指令的方式也是不一样的
    • 结论:显然Java程序不能直接和操作系统打交道,因为Java程序只有一份,操作系统执行原理都不同。
    • SUN的团队让Java程序运行在一台虚拟的计算机当中,这个虚拟的计算机叫做Java虚拟机,简称JVM。Java虚拟机再和底层的操作系统打交道
  • 多线程
  • 健壮性
    • 和自动垃圾回收机制有关,自动垃圾回收机制简称GC机制
    • Java语言运行过程中产生的垃圾是自动回收的,不需要程序员关心
  • 安全性

Java的加载与执行

  • Java程序的运行包括两个非常重要的阶段:
    • 编译阶段
    • 运行阶段
  • 编译阶段:
    • 主要任务是检查Java源程序是否符合Java语法
    • 符合Java语法则能够生成正常的字节码文件(.class)
    • 字节码不是纯粹的二进制,这种文件无法在操作系统中直接执行
    • 字节码文件/class文件是最终要执行的文件
    • 过程:
      • 程序员需要在硬盘的某个位置新建一个.java扩展名的文件,被称为Java源文件,源文件中编写的是Java源代码/源程序
      • 而这个源程序是不能随意编写的,必须符合Java语法规则
      • 程序员需要使用JDK当中自带的javac.exe命令进行Java程序的编译
        • javac在DOS命令窗口中使用
        • javac的使用规则:javac java源文件的路径
        • javac是一个java编译器的工具/命令
    • 编译结束后,可以将class文件拷贝到其他操作系统当中运行
  • 运行阶段
    • JDK安装之后,除了自带一个javac.exe之外,还有另一个工具/命令,叫做java.exe,主要负责运行阶段。(在DOS窗口中使用)
    • java 类名
      例如:硬盘上有一个a.class,即:java a
    • 过程:
      • 打开DOS命令窗口
      • 输入:java a
      • java.exe命令会启动Java虚拟机(JVM),JVM会启动类加载器ClassLoader
      • ClassLoader会去硬盘上搜索a.class文件,找到该文件则将该字节码文件装载到JVM中
      • JVM将a.class字节码文件解释成二进制
      • 然后操作系统执行二进制和底层硬件平台进行交互
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值