Java学习笔记(一)

Java特点

  • 面向对象
  • 平台无关性
  • 多线程
  • 丰富库
    • 语言包
    • 实用程序包
    • I/O包
    • 网络包
    • 图形用户界面包

Java与C++


Java在C++语言上发展起来了,Java相当于C++–(把C++中复杂的东西删去)


  • 无直接指针操作(Java中称引用
  • 自动内存管理
  • 数据类型长度固定
  • 不用头文件
  • 不包含结构和联合
  • 不支持宏
  • 不用多重继承(Java中用接口
  • 无类外全局变量
  • 无GOTO

Java运行机制

Java虚拟机

Java学习笔记(一)_第1张图片

JRE(The Java Runtime Envronment)
JRE=JVM+API(LIB)
JRE运行程序时的三项主要功能

    • 加载代码:由class loader完成
      • 校验代码:由bytecode vertifier完成
      • 执行代码:由runtime interpreter完成

代码安全性检测

垃圾收集机制

Java语言自动垃圾回收

  • 系统级线程跟踪存储空间的分配情况
  • 在JVM的空闲时,检查并释放那些可被释放的存储器空间
  • 程序员无须也无法精确干预该回收过程

JDK = JRE + Tools
JDK提供的工具

  1. Java编译器javac.exe
    • Java执行器java.exe
    • 文档生成器javadoc.exe
    • Java打包器jar.exe
    • Java调试器jdb.exe

JRE = JVM + API

对象

现实:客观世界中一个实体
计算机:指一个可表示的存储区域

具有共同属性和行为的对象集合
属性:变量(字段)
行为:函数(方法method)

  1. 类是对象的抽象
    对象是类的实例

类和对象有时统称为“对象”,为明确起见,后者称为“对象实例”

面向对象三大特征

封装

  1. 模块化:将属性和行为封装在类中,程序定义很多类
  2. 信息隐蔽

继承——父类和子类之间共享数据和方法

  1. 更好的进行抽象与分类
  2. 增强代码重用率
  3. 提高可维护性

多态

  1. 不同的对象收到同一个消息(调用方法)可以产生不同效果
  2. 实现的细节由接收对象自行决定

你可能感兴趣的:(基础入门知识)