摘要: OS 同步、异步 1、同步:需要线程之间协同操作,才能完成一件事。于是就会有 “阻塞” 状态 2、异步:线程之间不需要互相等待,将事情丢进去,处理完给个结果就行 进程、线程 1、进程:资源分配、调度的最小单位,线程CPU时间片分配的最小单位 2、操作系统有上下文的概念,进程切换的代价要比线程高得多 阅读全文
posted @ 2022-07-15 21:30 spongie 阅读(146) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2022-07-15 10:54 spongie 阅读(0) 评论(0) 推荐(0)
摘要: 一道从单例模式展开的面试题 涉及考点: synchronized 上锁 volatile 关键字 final、static关键字 单例模式,我只记懒汉式(饿汉式直接线程安全,还说个啥) 参考 懒汉式 public final class Singleton{ private static Singl 阅读全文
posted @ 2022-07-13 09:45 spongie 阅读(63) 评论(0) 推荐(0)
摘要: 1、拉链表 好文 需要查看一件事物从开始到现在的全部状态,比如用户从注册到今天改了几次手机号? 实际应用场景:1、用户数据量很大 2、某些字段经常被更新,其他字段基本不变 3、需求存在查看历史快照 举例:会员订单表:量很大,里面大部分信息不变化,但是会员有效时间会变,需求是:用户想查看自己买了多久的 阅读全文
posted @ 2022-07-12 22:02 spongie 阅读(55) 评论(0) 推荐(0)
摘要: 常见的排序算法对比: 时间复杂度上:插入类没有,选择类的 堆排、交换类的 快排、独一档:归并 稳定性:归并排序独一档,又快又稳定,剩下的都是慢的(直接插入、冒泡) 参考文章 插入类 【ShellSort】 暂不研究 【直接插入】核心思想:有序数组中 找位置 -- 给无序数组第一个 找位置 for ( 阅读全文
posted @ 2022-03-01 09:55 spongie 阅读(117) 评论(0) 推荐(0)
摘要: 基础问题 谈谈你对面向对象的理解 -- 结合场景 为何要使用对象编程? 可重复利用,方便拓展 面向对象有三大特征:封装、继承和多态 封装:为什么要封装?可以使类的**成员(数据和行为)**有选择性的暴露,这里面就有了四个不同的修饰符 -- private protected default publ 阅读全文
posted @ 2021-04-13 14:06 spongie 阅读(87) 评论(0) 推荐(0)