Java程序设计基本概念

JVM

JVM使用Unicode字符表示

ClassLoader知识

Java程序并不是一个可执行文件,而是由许多独立的类文件组成,每个文件对应一个Java类。这些类文件不是全部装入内存,程序根据需要载入。

  • 基本概念
    • JVM实现的一部分
    • 包括bootstrap classloader(启动类加载器)
    • 在JVM运行时加载Java核心API,其中包括用户定义ClassLoader(用户定义,指通过java程序实现的ClassLoader,ExtClassLoader和AppClassLoader)
  • 加载流程(父类委托模式)
    • JVM启动,运行bootstrap classloader,加载Java核心API(ExtClassLoader和AppClassLoader也被加载)
    • 调用ExtClassLoader加载扩展API
    • AppClassLoader加载CLASSPATH目录下定义的Class

i++

i++;先赋值在自加;++i;先自加在赋值

java中间变量缓存机制

public static void main(String[] args){   
    int j = 0;   
    for(int i = 0; i < 100; i++)   
        j = j++;   
    System.out.println(j);   
} 

以上代码的输出结果是? 0!!!

因为java的中间缓存变量机制使j=j++语句看以分解成如下操作:

temp = j;
j = j + 1;
j = temp;

类型转换

java的数据类型转换

三大类,布尔型、字符型、数值型,数值型分为整型和浮点型

  • 简单数据类型之间的转换、字符串与其他数据类型的转换、其他实用数据类型的转换
  • 简单数据类型之间的转换
    • 低级->高级
    • (byte、short、char)- int - long - float - double
    • 可分为三种
      • 自动类型转换
        e.g. char->int 转换为对应ASCII码值
      • 强制类型转换 (溢出或精读下降)
      • 包装类过渡类型转换
        6个包装类: Boolean Character Integer Long Float Double

位运算

&&,|| 短路运算符,符合前面,后面就不做了
&,|非短路

异常

Java中的异常

所有抛出的异常必须从Throwable派生而来,Error,死循环、内存泄漏等,不处理;Exception分为RuntimeException(不处理)和非运行时异常(捕获、声明)

final、finally、finalize的区别
  • final关键字
    • 修饰类,不能派生新子类,不能被继承,类不能同时被abstract和final修饰
    • 修饰变量或方法,保证在使用中不被改变。变量只能在定义或构造函数赋值,方法不能重写(override)
  • finally
    • 异常处理时
  • finalize
    • 方法名 在垃圾收集器将对象从内存中清除出去之前做必要的清理工作

传递与引用

传值与传引用

  • 基本类型变量,传值的副本;引用类型变量,传引用的副本

静态修饰符 static

  • 静态变量(类变量) 静态成员属于整个类
  • 静态方法(类方法) 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员

输入/输出流

内存管理

垃圾回收

Java在对象创建时自动分配内存,当对象引用不存在时释放内存。

Java实用垃圾回收技术监视程序运行,当对象不再使用时自动释放内存。使用软指针跟踪对象的各个引用,并用对象表将软指针映射为对象的引用。使用软指针,垃圾回收器能以单独的线程在后台运行,依次检查每个对象。通过改变对象表项,可标记、移除、移动、检查对象。

clone

clone方法是object的方法,所以任何一个类都会自动拥有这个方法。但这并不说明就可以调用clone了,需要显示指明可以调用clone,需要写上字符串“implements Cloneable"。该字符串只是起指示作用。

面向对象

集合类

在这里插入图片描述

HashMap和Hashtable的区别
  • HashMap允许null值,null键
  • Hashtable不允许null值和null键
  • Hashtable方法是同步的

多态的概念

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值