本单元是基于JML规格来实现对社交关系的模拟和查询,整体架构与设计都是官方给出。在实现过程中,我深感JML是一个非常适合开发的形式化规格语言。尤其对于团队项目的开发,用JML可以清晰规定每一部分的代码要求,程序员在实现时仅需思考在此基础上如何提升性能,而不用为架构设计发愁,体验极佳。 设计策略 由于 ...
分类:
其他好文 时间:
2021-06-02 15:07:31
阅读次数:
0
USB2.0IP设计 最近,在学习USB2.0IP的设计,其中包含了CRC校验码的内容,之前学习千兆以太网曾经用到过CRC32校验(https://www.cnblogs.com/Xwangzi66/p/14185143.html),CRC详细原理可见括号的链接,今天则从怎么用工具快速生成Veril ...
分类:
其他好文 时间:
2021-06-02 15:06:59
阅读次数:
0
前言 ELF格式的.gnu.hash节在设计上比较复杂,直接从glibc源码进行分析的难度也比较大。今天静下心来看了这篇精彩的文章,终于将布隆滤波器、算数运算转为位运算等一系列细节搞懂了(值得一提的是,这篇博客十分值得花一些时间读懂,它不仅对总体有一个较好的描述,而且还涉及了许多有益的实现细节)。但 ...
分类:
其他好文 时间:
2021-06-02 15:06:42
阅读次数:
0
一,创建线程池时,可能使用Excutors的四种方式。 newSingleThreadExecutor()和 newFixedThreadPool(int nThreads),内部实现队列为 LinkedBlockingQueue。LinkedBlockingQueue 是一个由链表实现的有界阻塞队 ...
分类:
其他好文 时间:
2021-06-02 15:01:54
阅读次数:
0
虚拟机栈 简介 虚拟机栈的出现背景 由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的【如果设计成基于寄存器的,耦合度高,性能会有所提升,因为可以对具体的CPU架构进行优化,但是跨平台性大大降低】。 优点是跨平台,指令集小,编译器容易实现,缺点是 ...
分类:
其他好文 时间:
2021-06-02 15:01:36
阅读次数:
0
MarkDown学习 标题方法 标题采用#+空格+标题名称来实现,一般只有六级标题,一级标题是一个#、二级标题是##以此类推 字体学习 hello 用一对*包含内容会使字体变成斜体 hello 用一对**包含字体会使字体加粗 hello 用一对***包含字体会使字体加粗倾斜 hello 用一对~~可 ...
分类:
其他好文 时间:
2021-06-02 14:51:17
阅读次数:
0
FreeRTOS Heap Memory Management (5) - heap5源码分析 /* FreeRTOS Kernel V10.4.1 */ heap5的实现与heap4除了内存初始化有所不同,其余部分几乎一致。 因此本文只分析初始化函数,其余部分详见FreeRTOS Heap Mem ...
分类:
其他好文 时间:
2021-06-02 14:41:36
阅读次数:
0
三步问题。有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模1000000007。 示例1: 输入:n = 3 输出:4 说明: 有四种走法示例2: 输入:n = 5 输出:13提示: n范围在[1, 1000 ...
分类:
其他好文 时间:
2021-06-02 14:38:48
阅读次数:
0
1、String的基本特性 String:字符串,使用一对""引起来表示。 String sl = "hello";//字面量的定义方式 String s2 = new String("hello") ; String声明为final的, 不可被继承。 String实现了Serializable接口 ...
分类:
其他好文 时间:
2021-06-02 14:38:33
阅读次数:
0
/** * 策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。 */ //js 特定的可 ...
分类:
编程语言 时间:
2021-06-02 14:37:57
阅读次数:
0