Java 杂记

记载 Java 杂项的笔记和零碎的笔记

Java 杂记

一. Java 特性

1.1 封装

属性私有化,提供公共的可以访问的方法

1.2 继承(extends)

Java 类没有多继承,一个子类只能有一个父类,一个父类可以有多个子类
子类拥有父类一切非私有的属性和方法
Object:顶级父类(根类)

1.3 多态

对象的多态:父类的引用指向了子类的对象(前提是:继承,重写)

1.4 抽象(abstract)

抽象类天生是被继承实现的

1.5 接口(interface)

类似于抽象类:父类相当于接口,子类相当于实现类

  • 方法都是抽象的
  • 属性是静态常量
  • 可以多继承多实现
  • 面向接口的编程

二. Java 的主要对象

  • String
  • StringBuffer:线程安全,相对慢
  • StringBuilder:线程不安全,相对快

三. java.util.Collection 接口

3.1. List 接口

可变数组长度的实现
ArrayList → 实现类(有序,可以重复)
ArrayList:对于查询结果十分快速(结构基于数组)
linkedList:对于开始结束位置的操作十分快速(结构基于链表)
通过 for 循环遍历:add(object),get(index)

3.2. Set 接口

HashSet:通过 iterator() 迭代存取
无序,不能重复

3.3. Map 接口

键值对存储
k   key 键
v   value   值

3.4 集合框架

List    ArrayList   LinkedList  Vector
Set HashSet     TreeSet
Map HashMap     TreeMap

ArrayList:查询效率高,插入数据慢
LinkedList:查询效率相对较慢,但是插入数据方便

判断两个对象是否重复,既比较equals方法又比较hashcode方法

四. 泛型

规定集合数据存储的类型(JDK1.5之后出现的新特性)
1. 提升程序的执行效率
2. 减少数据转换带来的错误风险

五. 堆内存和栈内存

堆内存:基本数据类型,引用数据类型的句柄,局部变量
堆内存:new 出来的对象是存储在堆中
常量池:基本数据类型包装类和 String 的值是存储在常量池中

六. 内部类

在一个类里面再创建一个类,这个类就叫做内部类
内部类作用:在 Java 中所有的类之间都是单继承的,有了内部类,就可以间接的实现多继承

七. new 子类的执行顺序

父类静态方法 > 子类静态方法 > 父类普通方法(属性) > 父类构造方法 > 子类普通方法(属性) > 子类构造方法

八. 退出程序

finally {
    // 除非系统退出,否则一定会执行!
    System.exit(1);
}

Original: https://www.cnblogs.com/xiqingbo/p/java-22.html
Author: Schieber
Title: Java 杂记

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/598694/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Docker 部署前后端项目

    Docker 部署前后端项目 平生不会相思,才会相思,便害相思。 简介:都是被逼的,从零开始一个Docker 部署九个微服务和三个前端项目。其中,这些服务需要用到Nacos、MyS…

    数据库 2023年6月14日
    086
  • nexus3搭建私有Docker仓库

    Nexus3: version: "3" services: nexus: image: sonatype/nexus3:3.33.0 volumes: – /…

    数据库 2023年6月9日
    070
  • 我的第一次校招

    2018-09-26 23:40:03 虽然是第一次参加,但这次的笔试完成结果让我不是很满意,因为有几道超简单的字符串编程没有做,忘了或者是想复杂了,还有一些概念题不是很清楚,自己…

    数据库 2023年6月16日
    0118
  • MySQL–用通配符进行过滤(LIKE操作符)

    1、LIKE操作符 怎样搜索产品名中包含文本anvil的所有产品?用简单的比较操作符肯定不行,必须使用通配符。利用通配符可创建比较特定数据的搜索模式。在这个例子中,如果你想找出名称…

    数据库 2023年6月16日
    080
  • 基于PHP7.2+MySQL5.7的回收租凭系统

    likeshop回收租赁系统适用于物品回收、物品租赁、二手买卖交易等三大场景。 系统支持智能评估回收价格,后台调整最终回收价,用户同意回收后系统即刻放款,用户微信零钱提现。支持在线…

    数据库 2023年6月14日
    092
  • 对象映射时 Integer 类型字段转换枚举处理麻烦 一个工具类搞定

    使用场景 当我们返回给前端所需的对象数据时,大多数情况可以直接使用 StructMap 映射实现自动转换,但碰到对象中的某些字段需要从 Integer 类型转换成对应枚举的时候,在…

    数据库 2023年6月6日
    071
  • 【黄啊码】这种PHP验证码你值得拥有(注:支持中文)

    csharp;gutter:true; width = $width; $this->height = $height; $this->codeNum = $codeN…

    数据库 2023年6月16日
    093
  • 设计模式之简单工厂

    一、简单工厂:为了客户类和服务类之间的解耦,把对象的创建任务交给第三方类,这个第三方类就充当工厂的作用,严格来说简单工厂不属于23种设计模式之一。 二、实现思路 :创建一个简单工厂…

    数据库 2023年6月14日
    085
  • JDK卸载

    win+r,进入cmd,输入java -version显示命令不存在即删除成功 Original: https://www.cnblogs.com/Icy01/p/16298149…

    数据库 2023年6月11日
    074
  • 没有 Cgroups,就没有 Docker

    Cgroups 是什么? Cgroups 是 control groups 的缩写,是 Linux 内核提供的一种可以 限制、 记录、 隔离进程组(progress groups)…

    数据库 2023年6月6日
    0111
  • Nginx进阶篇—web模块及proxy代理

    server { #在server{下面输入 sub_filter n…

    数据库 2023年6月14日
    0107
  • JSON

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。并有效地提升网络传输效率。 一. 什么是 …

    数据库 2023年6月11日
    082
  • Linux_hadoop2.2.0伪分布式搭建安装

    1.1 开启网络,ifconfig指令查看ip 1.2 修改主机名为自己名字(hadoop)centos 7 连接:https://zhuanlan.zhihu.com/p/375…

    数据库 2023年6月11日
    0108
  • [Mysql]null与真值

    SQL的逻辑运算使用的是三值逻辑,逻辑表达式的计算结果有三种可能, true, false, unknown 比较运算的表达式含 NULL时会产生 unknown结果,例如 SEL…

    数据库 2023年6月16日
    082
  • Spring(三)-AOP

    1、名词理解 切面(Aspect): 含有前置通知,后置通知,返回通知,异常抛出通知,环绕通知等方法的 类; 通知(Advice): 对原方法进行添加处理(如日志等)的 方法; 切…

    数据库 2023年6月16日
    079
  • 55 道MySQL基础题

    1.一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后, 删除了第 15, 16, 17 条记录,再把 Mysql 重启,再 insert 一条记 录,这条记录…

    数据库 2023年5月24日
    0108
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球