- 博客(257)
- 收藏
- 关注
原创 内存的基本知识、概念、管理方式
内存的基本知识总览概念进程的运行原理概念指令逻辑地址 VS 绝对地址运行绝对装入静态重定位动态重定位链接的三种方式回顾内存管理总览内存空间的分配与回收内存空间的分配与回收内存空间扩充地址转换内存保护回顾内存的覆盖与交换总览覆盖技术交换技术回顾连续分配管理方式总览连续分配管理方式单一连续分配固定分区分配动态分区分配内部碎片 VS 外部碎片回顾动态分区分配算法
2021-10-17 20:37:00
515
原创 死锁的概念与解决
死锁的概念总览死锁、饥饿、死循环的区别死锁的必要条件发生死锁的时机死锁的处理策略回顾死锁的预防总览破坏互斥条件破坏不剥夺条件破坏请求和保持条件破坏循环等待条件回顾死锁的避免总览安全序列银行家算法回顾死锁的检测和解除总览死锁的检测回顾...
2021-10-13 20:37:31
339
原创 生产者—消费者问题;多生产者—多消费者问题;吸烟者问题;读者—写者问题;哲学家进餐问题;管程
生产者—消费者问题问题分析回顾多生产者—多消费者问题问题分析问题解决回顾吸烟者问题问题分析问题解决回顾读者—写者问题问题分析问题解决回顾哲学家进餐问题回顾管程总览引入管程原因管程定义和基本特征管程的使用回顾...
2021-10-13 10:03:56
437
原创 进程同步、进程互斥;信号量
进程同步、进程互斥什么是进程同步什么是进程互斥概念软件实现方法单标志法双标志先检查法双标志后检查法Peterson 算法硬件实现方法中断屏蔽方法TestAndSet 指令swap 指令回顾信号量机制概念整型信号量记录型信号量信号量机制信号量机制实现进程互斥信号量机制实现进程同步信号量机制实现前驱关系回顾...
2021-10-10 19:59:08
227
原创 处理器调度的概念、层次;进程调度的时机、切换与过程调度方式;调度算法;
处理器调度的概念、层次总览基本概念调度的三个层次高级调度 中级调度低级调度三层调度的联系、对比七状态模型回顾进程调度的时机、切换与过程调度方式总览进程调度的时机进程在操作系统内核程序临界区中不能进行调度与切换进程调度的方式进程的切换与过程回顾调度算法的评价指标总览cpu 利用率系统吞吐量周转时间等待时间响应时间回顾调度算法总览批处理交互式先来先服务短作业优先最高响应比优先
2021-10-09 19:56:34
281
原创 结构型模式 —— 装饰器模式
装饰器模式概述装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。结构好处使用场景代理模式和装饰者模式的区别...
2021-09-10 10:11:37
127
原创 进程的定义、组成、组织方式、特征、状态与转换、控制、通信;线程概念和多线程模型
进程的定义、组成、组织方式、特征总览进程的定义程序:就是一个指令序列,早期的计算机只支持单道程序。引入多道程序之后,为了方便操作系统管理,完成各程序并发执行,引入了进程、进程实体的概念。系统为每个运行的程序配置一个数据结构,称为程序控制块(PCB),用来描述进程的各种信息(如程序代码存放位置)PCB、程序段、数据段三部分构成了进程实体(进程映像)。一般情况下,我们将进程实体简称为进程,例如,所谓创建进程,实质上是创建进程实体中的PCB;而撤销进程,实质上是撤销进程实体中的PCB。注意:PCB
2021-09-06 20:43:19
290
原创 结构型模式 —— 代理模式
代理模式概述结构JDK 动态代理原理代理类是程序在运行过程中动态的在内存中生成的类。代理类的结构可以通过阿里巴巴开源的 Java 诊断工具 ( Arthas【阿尔萨斯】) 来查看。理解在内存中会生成对应的代理类,该类继承了类 Proxy (内部包含一个 InvocationHandler 接口,在代理时我们会重写接口内的方法), 并且实现了对应的接口方法(例如 SellTicket),接口重写的方法则会调用 InvocationHandler 内的方法。CGLIB 动态代理
2021-09-06 18:29:57
126
原创 创建者模式 —— 建造者模式
建造者模式概述将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。结构优缺点使用场景实例/** * @author guomiaomiao * @date 2021-09-04 下午9:46 */public class Phone { private String cpu; private String screen; private String memory; private String mainBoard;
2021-09-04 22:02:13
103
原创 操作系统的概念、功能、目标、特征、发展与分类、运行机制与体系结构;中断和异常;系统调用
操作系统的概念、功能和目标概念功能和目标作为系统资源的管理者作为用户计算机硬件之间的接口命令接口:1.1 联机命令接口 = 交互式命令接口,对应于操作系统提供的执行命令,如top,ps1.2 脱机命令接口 = 批处理命令接口(linux shell 文件,windows *.bat 文件)程序接口 = 系统调用 = 广义指令(只能通过用户程序间接使用 windows *.dll)作为最接近硬件的层次回顾操作系统的特征并发共享并发和共享互为存在条
2021-09-04 18:59:39
139
原创 创建者模式 —— 原型模式
原型模式概述用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。结构实现使用场景对象的扩展非常复杂,可以使用原型模式快捷的创建对象性能和安全要求比较高...
2021-09-02 15:52:32
95
原创 leetcode——计算器
可以实现正数、负数、+、-、*、/、(、)的运算class Solution { public int calculate(String s) { List<String> words = getInversePolishExpressions(handleSpacesAndNegativeNumber(s)); return calculateResult(words); } private int calculateResult(L
2021-09-01 21:20:38
524
原创 计算机网络面试题
TCP/IP、Http、Socket的区别HTTP原理概念HTTPS 是在 HTTP 和 TCP 之间建立了一个安全层,HTTP 与 TCP 通信的时候,必须先进过一个安全层,对数据包进行加密,然后将加密后的数据包传送给 TCP,相应的 TCP 必须将数据包解密,才能传给上面的 HTTP。TLS散列函数 、对称加密和非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。非对称加密是实现身份认证和密钥协商;对称加密是对信息进行加密
2021-09-01 21:14:17
114
原创 Redis 面试题
CAP 理论,BASE 理论CAPBASEBASE理论是Basically Available(基本可用),Soft State(软状态)和Eventually Consistent(最终一致性)三个短语的缩写。核心思想:既是无法做到强一致性(Strong consistency),但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性(Eventual consistency)。负载均衡算法、类型redis集群方案哨兵模式Redis ClusterRe
2021-09-01 21:09:51
108
原创 创建者模式 —— 工厂模式
工厂模式简单工厂模式简单工厂模式不是一种设计模式,反而比较像是一种编程习惯结构实现优缺点静态工厂工厂方法模式概念结构实现优缺点抽象工厂模式概念结构实现优缺点使用场景模式扩展...
2021-07-18 20:57:00
120
原创 创建者模式 —— 单例设计
创建者模式单例设计模式结构实现饿汉式需要加 final 关键字吗?声明final的变量,必须在类加载完成时已经赋值,如果你是final非static成员,必须在构造器、代码块、或者直接定义赋值;如果是fainal static 成员变量,必须直接赋值或者在静态代码块中赋值。在单例模式中,如果存在释放资源的情况下,就不能加final修饰了。public void releaseInstance(){ if(instance != null){ instance
2021-07-18 13:38:30
167
1
原创 计算机网络
UDPTCPMVC模式 业务代表模式 组合实体模式 数据访问对象模式 前端控制器模式 拦截过滤器模式 服务定位器模式 传输对象模式可靠交付:不重复,不丢失,不失序拥塞控制HTTP前瞻相关网络协议IP网际协议确保可靠性的 TCP 协议解析 IP 地址 —— DNS 协议协议关系http 协议不足解决方法HTTP 协议URL 与 URI请求报文与响应报文HTTP 方法状态码204和206: 分段请求处
2021-07-17 10:19:49
100
原创 Java 设计模式 —— 软件设计原则
设计模式概念目的必要性分类UML 类图表示方式软件设计原则单一职责开闭原则里氏代换原则依赖倒转原则接口隔离原则迪米特原则合成复用原则
2021-07-15 21:02:30
115
原创 juc 之线程安全集合类
线程安全集合类ConcurrentHashMapJDK 7 HashMap 并发死链重要属性和内部类LinkedBlockingQueueConcurrentLinkedQueueCopyOnWriteArrayList
2021-07-15 11:51:14
234
原创 juc之并发工具类
并发工具类AQS 原理概述ReentrantLock 原理非公平锁读写锁 ReentrantReadWriteLock注意事项缓存更新策略stampedlockSemaphoreCountdownLatchCyclicbarrier
2021-07-14 20:28:09
163
原创 juc之无锁
CAS 与 volatile调用原子类中的 compareAndSet 方法为什么无锁效率高CAS的特点API原子整数原子引用ABA问题原子数组字段更新器原子累加器原理之伪共享UNSAFE
2021-07-13 10:17:00
134
原创 juc之JMM
JMMJava内存模型原子性通过锁 synchronized、ReentrantLock 来保证原子性可见性线程对主存的数据进行了修改,对另外的线程不可见。通过volatile来解决。有序性JVM会在不影响正确性的前提下调整语句的执行顺序,这种特性称之为指令重排,多线程下指令重排会影响正确性。可见性 vs 原子性System.out.println(); 方法中使用了 synchronized来保证变量的可见性。synchronized (this) {
2021-07-12 18:48:59
187
原创 juc之ReentrantLock
ReentrantLock可重入可中断synchronized 和 lock.lock() 都是不可打断的,可以使用 lock.lockInterruptibly() 来设置可打断锁。interrupt() 方法可以打断sleep、wait、lock.lockInterruptibly() 状态,停止无休止的等待,解决死锁。锁超时如果无法获得锁,直接返回公平锁默认非公平条件变量小结...
2021-07-12 10:47:52
95
原创 juc之wait/notify、join、park&unpark、线程状态转换
wait/notify原理API介绍wait notify的正确姿势同步模式之保护性暂停join实质就是保护性暂停,条件不满足时实施wait等待public final synchronized void join(long millis) throws InterruptedException { long base = System.currentTimeMillis(); long now = 0; if (millis
2021-07-12 09:41:51
168
原创 juc之synchronized
synchronizedsynchronized,即俗称的【对象锁】,它采用互斥的方式让同一时刻至多只有一个线程能持有【对象锁】,其它线程再想获取这个【对象锁】时就会阻塞住。这样就能保证拥有锁的线程可以安全的执行临界区内的代码,不用担心线程上下文切换synchronized 实际是用对象锁保证了临界区内代码的原子性,临界区内的代码对外是不可分割的,不会被线程切换所打断。注意:虽然 java 中互斥和同步都可以采用 synchronized 关键字来完成,但它们还是有区别的:互斥是保证临界区的竞态
2021-07-10 14:52:34
124
原创 juc之ThreadLocal
并发工具类——分类线程池好处提高响应速度便于资源管理节约开销,合理利用CPU和内存应用场合创建和停止线程工作队列直接交接:只是作为缓冲,相当于长度为0的队列,直接将任务交给线程,需要将最大线程数加大无界队列:无限填充任务有界队列:根据需要设置队列大小线程池手动创建线程数量设置拒绝策略线程池状态ThreadLocal使用场景...
2021-07-08 19:16:10
203
原创 juc之线程池
线程池好处提高响应速度便于资源管理节约开销,合理利用CPU和内存应用场合创建和停止线程工作队列直接交接:只是作为缓冲,相当于长度为0的队列,直接将任务交给线程,需要将最大线程数加大无界队列:无限填充任务有界队列:根据需要设置队列大小线程池手动创建线程数量设置拒绝策略DB_TRX_ID最新一次修改本行记录的操作ID同一个事务,同一个操作要加以区分,这里指操作DB_ROLL_PTR回滚指针,存储的
2021-07-08 14:46:11
240
原创 imdb数据集安装文档 mysql + pgsql
imdb数据集下载wget ftp://ftp.fu-berlin.de/misc/movies/database/frozendata/*gz速度可能较慢,需要耐心等待imdbpy安装imdbpy 需要安装Python3和mysqlclientsudo apt install python3pip3 install PyMySQLpip3 install sqlalchemy在github上下载imdbpy安装包,解压文件unzip 6.8.zip进入解压后的文件目录安装imdbpy
2020-12-03 20:31:40
1362
1
原创 英语六级
单词替换thinkhave been conviced thatbe of the opinion thatcling to the perspective thatmaintaincontendassertargueassumeclaimmanya sea ofmultitudes ofimmense amounts ofnumerousinnumerableplentifulpeople | we | usprivate individualsyoungsters
2020-11-28 21:40:36
4428
1
原创 mysql 8.0 相关内容
修改密码alter user ‘root’@'localhost’IDENTIFIED BY ‘1234567890’;
2020-11-27 15:58:10
93
原创 leetcode 763. 划分字母区间
leetcode 763. 划分字母区间题目详情题目链接字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。示例 1:输入:S = “ababcbacadefegdehijhklij”输出:[9,7,8]解释:划分结果为 “ababcbaca”, “defegde”, “hijhklij”。每个字母最多出现在一个片段中。像 “ababcbacadefegde”, “hijhklij” 的划分是
2020-10-22 12:01:32
90
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人