Leo Technology Stack Leo Technology Stack
首页
  • Android
  • Web
  • SpringBoot
  • 数据库
  • Docker
  • Netty
  • KubeSphere
  • Linux
  • Android Framework
  • 开源库
思维
  • 面试
  • 投资理财
  • 杂事记录
  • 索引

    • 分类
    • 标签
    • 归档
  • 开源项目

    • Advance Markdown
    • AnLibrary (opens new window)

Leo

不知名的架构师
首页
  • Android
  • Web
  • SpringBoot
  • 数据库
  • Docker
  • Netty
  • KubeSphere
  • Linux
  • Android Framework
  • 开源库
思维
  • 面试
  • 投资理财
  • 杂事记录
  • 索引

    • 分类
    • 标签
    • 归档
  • 开源项目

    • Advance Markdown
    • AnLibrary (opens new window)
  • 目录页

  • 前端

  • 后端

  • Linux

  • thinking

  • interview

    • 面试锦集
    • LeetCode笔记

    • Java面试题

      • Readme
      • 线程池
      • Collection接口详情
      • Map接口详情
      • Java虚拟机
    • Android面试题

    • 数据结构

  • notes
  • interview
  • Java面试题
2021-04-13

Readme

# Java

  • 面向对象编程
  • 容器
    • Map
    • List
    • Set
  • JVM内存模型
  • 垃圾回收算法
  • 类加载过程
  • 反射
  • 多线程、线程池
  • 进程、线程与进程关系区别

# Java

面向对象编程

  • 封装
把客观事物封装成抽象的类,
并且类可以把自己的数据和方法给可信的类或者对象操作使用,
对不可信的进行信息隐藏
1
2
3
  • 继承
指可以让某个类的对象获得另一个类型的对象的属性的方法
实现方式一: 实现继承,直接使用父类的属性和方法而无需额外编码的能力
实现方式二:接口继承,仅使用属性和方法的名称,但子类必须提供实现的能力
1
2
3
  • 多态
指一个类实例的相同方法在不同情形有不同表现形式
多态机制使具有不同内部结构的对象可以共享相同的外部接口
1
2

设计原则(SPR、OCP、LSP、DIP、ISP)

  • 单一职责原则(SPR)
一个类功能要单一,不能包罗万象
1
  • 开放封闭原则(OCP)
一个模块在扩展性方面应该是开放的
而在更改性方面是封闭的
1
2
  • 里氏替换原则(LSP)
子类应当可以替换父类
并出现在父类能够出现的任何地方
1
2
  • 依赖倒置原则(DIP)
具体依赖抽象
上次依赖下层
1
2
  • 接口分离原则(ISP)
模块间要通过抽象接口隔离开
而不是通过具体的类强耦合起来
1
2

容器:Map、List、Set

  • Map(键值对存储方式)

    • HashMap
      • key可以为Null,把Null当作key存储
    • HashTable
    • TreeMap
    • ConcurrentHashMap
    • LinkedHashMap
    • WeakHashMap
  • List(侧重于顺序)

    • LinkedList
      • 底层是由双向链表结构实现的,通过节点来存储下一个元素的位置
      • 对集合中元素可以方便的增删,更适合用于大量修改
    • ArrayList
      • 底层由数组实现,数组在内存中的存储顺序是连续的
      • 对集合中的元素可以进行快速访问,更适合随即查询数据
    • Vector
      • Vector与ArrayList区别就是Vector是线程安全的集合
      • 在需要线程安全而且对效率要求比较低的情况下使用
  • Set(侧重于独一无二,不包含重复元素)

    • HashSet
      • 侧重于快速访问
    • TreeSet
      • 侧重于排序
    • LinkedHashSet
      • 侧重于插入顺序

JVM内存模型

垃圾回收算法

类加载过程

反射

多线程、线程池,进程、线程与进程关系区别

Java重要的基础类

  • Collections
  • CharSequence
  • Iterator集合的迭代器
编辑此页 (opens new window)
上次更新: 2022-05-07, 10:54:46
Longest_Substring_Without_Repeating_Characters
线程池

← Longest_Substring_Without_Repeating_Characters 线程池→

Theme by Leo | Copyright © 2016-2022 Leo | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式