摘要:
还在为找不到收藏的网页而烦恼吗?还在为书签管理混乱而头疼吗? 作为一个经常收藏各类技术博客的人,我深知管理大量书签的痛苦。有时候明明记得收藏了一个很好的文章,但就是找不到在哪里;有时候看到一个网页想在手机上打开,却要经历复杂的分享过程。如果你也有类似的困扰,那么今天我要向你推荐一个专门解决这些烦恼的 阅读全文
摘要:
package com.sasworld.util; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jac 阅读全文
摘要:
起名篇 通用原则 [1] 函数与变量名称要能够表达出其正确的含义,不要使用魔数(直接量) [2] 类名和对象都应该时名词或者名词短语,类名不应该是动词,毕竟类是对事物的抽象而不是行为的抽象(方法才是对行为的抽象) 变量命名原则 [1] 不轻易使用类型名称作为变量的后缀,例如使用List作为后缀时,该 阅读全文
摘要:
内存管理策略 基本概念 内存可以看作是由一个很大的字节数组来组成的,每个字节都有各自的地址(在以字节寻址系统中),字节是操作系统的最小寻址单元。CPU根据程序计数器的值从内存中提取指令,这些指令又可能引对特定内存地址的额外加载与存储(读取操作数或者转储计算结果)。 基本硬件 CPU可以直接访问的通用 阅读全文
摘要:
创建第一个Spring Boot项目 这里我考虑的是使用前后端分离的方式编写项目,前后端的数据通过交互JSON数据格式实现,下面演示如何一步一步搭建整个项目。 开发环境 IDEA JDK 1.8+ Maven 3.5+ FastJSON 创建项目 浏览器打开https://start.spring. 阅读全文
摘要:
逻辑地址结构 32位的二级页表的逻辑地址结构中,前10位 p 1地址用于表示相应的二级页表, p 2中的地址表示相应页表中的页表项中保存的物理页的序号。二级页表能够检索的最大地址同样为2 p 1 2 p 2 2 d = 232。 二级页表地址转换 地址转换示意图: 初始时只有一级页目录表在内存中,在 阅读全文
摘要:
读者 写者问题 在读者 写者问题中,只对共享数据进行读取的进程为读者进程,修改共享数据的进程称为写者进程。多个读者可同时读取共享数据而不会导致出现错误,但是任何时刻多个写者进程不能同时修改数据,写者进程和读者进程也不能同时访问共享数据。读者 写者问题的解决策略有不同的倾向。 读者优先 需要用到的共享 阅读全文
摘要:
进程 基本概念 为了保证多道程序设计系统中程序能够正确地运行,引入进程概念用于更好地控制和管理程序的执行。进程包括程序但不只是程序本身,它还包括程序运行过程中的一些状态数据信息以及描述特定进程的数据结构PCB(Process Control Block)。操作系统通过PCB来感知进程的存在,并根据P 阅读全文
摘要:
ConcurrentLinkedQueue ConcurrentLinkedQueue内部的队列使用带头节点的单向链表实现,并且维持头尾两个指针,头指针出队、尾指针入队。该队列的出队入队操作都是线程安全的。 保证安全的方式 对于头尾指针均使用volatile关键字修饰从而保证可见性,对于头尾指针的修 阅读全文
摘要:
抽象同步队列—AQS AbstractQueuedSynchronizer抽象同步队列,它是实现同步器的基础组件,并发包中锁的底层就是使用AQS实现的。如常见的ReentrantLock、CountDownlatch、semaphore等。 state变量 AQS最重要的一个变量——状态信息变量 , 阅读全文