JAVA基础

java的八种数据类型
  • byte 1字节
  • short 2字节
  • int 4字节
  • long 8字节
  • char 2字节
  • float 4字节
  • double 8字节
  • boolean 1字节
RESTful风格

RESTful简单来说:URL用来访问定位资源,根据HTTP动词(POST,GET,DELETE,PUT,HEAD)描述操作资源,看到http method就知道要干什么,看http status code知道结果,如果一个架构符合REST原则,就称为RESTful风格架构

重写与重载
  • 重载就是同一个类,多个同名方法根据不同的传参执行不同的逻辑处理;
  • 重写是子类对父类允许访问的方法的重新改造,修改内部逻辑;
  • 重载发生在编译期间,方法名必须相同,参数顺序、参数类型、参数个数必须不同,方法返回值和访问修饰符可以相同;
  • 重写发生在运行期间,方法名必须相同,返回值类型与参数列表必须相同,抛出的异常范围小于父类,访问修饰符范围大于等于父类。
按值传递与按引用传递
  • 形参是基本数据类型:按值传递是指调用时实参把值传递给对应的形参,形参使用该值初始化自己的存储单元,是两个不同的存储单元,对形参的修改不影响到实参。由于直接复制,在数据量非常大的情况下,运行效率就变低。
  • 形参是引用数据类型:方法调用时,实参是对象实例或者数组,实参与形参指向同一地址,对形参的修改实际就是在对实参进行操作。
Java中抽象与接口
  • 相同点
    1. 都不能被实例化
    2. 接口的实现类或抽象的子类只有实现方法才能被实例化
  • 不同点
    1. 接口只有定义,无方法的具体实现,抽象类可以进行定义与实现
    2. 一个类可以实现多个接口,但只能继承一个抽象类
    3. 接口强调功能实现,抽象强调从属关系
    4. 接口成员变量默认public static final,必须赋值且无法修改;抽象成员变量默认default,可重新定义和赋值
Comparable和Comparator

Comparable是排序接口,若一个类实现了该接口,必须重写compareTo方法,相当于内部比较器
Comparator是比较器接口,需要控制某个类的次序,可以使用该接口,相当于外部比较器

error和exception

error属于编译期的错误,发生在JVM层面上的,程序员是不能改变和处理的。
exception是运行期的错误,多是代码逻辑层面问题,程序员可捕捉并进行异常处理

java的泛型

泛型可认为是参数化类型,将类型当作参数进行传递。java泛型属于伪泛型,泛型信息存在代码编译阶段,在进入JVM前,与泛型相关的信息会做类型擦除操作。类型擦除能提高程序的简洁性和可读性,高度兼容,同时提供安全检测功能,但是抹掉了很多继承相关的特性。

String类

String类是final类

  • 实现字符串池
  • 实现线程安全
  • 实现hashcode不可变性
    被final修饰的类不能被继承,被final修饰的方法不能被重写,被final修饰的变量需要进行初始化操作
hash解决冲突的方法优缺点
  • 开放定址法
    1. 线性探测:冲突发生时,顺序查看表中下一单元,直到找出一个空单元或查遍全表。
    2. 二次探查:冲突发生时,在表的左右进行跳跃式探测,比较灵活
    3. 伪随机探测
  • 链地址法
    处理简单,查找时间短,链表长度动态变化,指针需要额外的空间,故当结点规模较小时,开放定址法较为节省空间
  • 再哈希法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值