自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 [Redis源码笔记] 基础数据结构之sds

的flexible array member是被忽略的。同样,flexible array member的地址空间也需要显示分配,

2023-09-17 22:29:43 69

原创 Cmake + vcpkg 构建 OpenCV 应用

本文主要记录使用 vcpkg 包管理工具安装 OpenCV,然后在 CLion 中使用 CMake 构建工具调用 OpenCV 的环境配置过程环境:Windows 10VS 2019安装使用 vcpkg官方文档1. 克隆 vcpkggit clone https://github.com/Microsoft/vcpkg.git2. 构建 vcpkg.\vcpkg\bootstrap-vcpkg.bat构建完成之后,可以将 vcpkg 所在路径加入环境变量,便于在其它目录下调用.

2021-12-15 16:12:39 5026

原创 CSAPP实验笔记一:Data Lab

本实验中涉及的知识点均包含于原书第二章1.使用~和&表示^题目要求:/* * bitXor - x^y using only ~ and & * Example: bitXor(4, 5) = 1 * Legal ops: ~ & * Max ops: 14 * Rating: 1 */即使用非和与运算符表示异或运算符,下面给出异或的真值表:ABA^B000101011110异或

2021-11-15 17:42:44 936

翻译 设计模式:工厂模式

工厂模式是重要的创建型模式之一,所有的开发者都应当了解,它是许多高级设计模式的基础。长时间以来,我一直弄不清不同类型的工厂模式的区别,另外,很难找到一篇能将清除这些模式的文章。本文主要叙述以下工厂模式的以下几点:工厂方法模式抽象工厂模式静态工厂方法简单工厂工厂方法模式在“Gang of Four”的《设计模式》一书中提到,我第一次在书中读到该内容时,我将它与 Joshua Bloch 在《Effective Java》中提到的静态工厂弄混了。简单工厂(也就是常说的工厂模式)是常规的也是最常用的

2021-10-26 17:35:20 176

翻译 Java中的引用

简介在 Java 中有四种引用:强引用(Strong Referenc)软引用(Soft References)弱引用(Weak References)虚引用(Phantom References)不同的引用,主要是垃圾回收时有区别。如果你从来没有听说过这些引用,那说明你只使用过强引用,了解他们的区别或许对你有所帮助,特别是当你需要临时存储对象,却不能使用真实的缓存库(例如 eHcache 和 Guava)时。因为这些引用类型的不同和垃圾回收有很大的关联,这里首先回顾一下 Java 中的垃

2021-09-27 21:28:35 801

翻译 JVM 内存模型

众所周知,Java 以 WOTA (Write once, run anywhere)闻名。为了实现这一点,Sun Microsystems 创造了 Java 虚拟机,它是对底层操作系统的一种抽象,可以解释执行编译的 Java 代码。JVM(Java Vritual Machine) 是 JRE(Java Runtime Environment) 的核心组件,它原本是用来运行 Java 代码的,但是现在有一些其他的语言也在使用它(Scala, Groovy, JRuby, Closure)。本文将着重讲述

2021-09-16 22:29:58 285

原创 Qt实现区分左键、右键和双击的ListWidget (PySide2)

具体代码如下"""Author: MengdeDate: 2021/9/8"""from PySide2.QtCore import Signal, QPointfrom PySide2.QtWidgets import QListWidgetfrom PySide2.QtGui import QMouseEvent, Qt, QCursorclass MyListWidget(QListWidget): """ 自定义的 ListWidget, 区分鼠标事件中的左键单击,右键单

2021-09-09 16:43:39 2007

翻译 HashMap的工作原理

有很多 Java 开发者都在使用HashMap,HashMap是一种简单易用,且功能强大的数据结构。但是有多少开发者知道HashMap的底层原理呢?这些天,为了深入理解HashMap这一基础数据结构的底层原理,我阅读了大量的源码(包括 Java 7 和 Java 8)。在这篇文章中,我将解释HashMap的具体实现,展示它在 Java 8 中新的改变,讨论HashMap的性能、内存以及已知的问题。内部存储方式Java 的HashMap类实现了Map<K,V>接口,该接口的只要方法有:V

2021-09-09 16:28:06 142

翻译 C语言中变长数组的陷阱

C语言中变长数组的陷阱本文为译文[原文链接](The (too) many pitfalls of VLA in C | Jorengarenar)相比于定长数组,变长数组会产生额外的代码,使代码运行速度更慢,鲁棒性更差 ~ Linus Torvalds变长数组缩写为VLA(variable-length array),它是一种在运行时才确定长度的数组(地址空间连续的数组,并不是表现得像数组的多段内存组成的数据结构),而非编译期。以一种或多种方式提供VLAs支持的语言包括:Ada, Algol

2021-09-01 09:31:18 2184 1

原创 C语言中字符串的初始化

字符串是最常用的数据类型之一。C语言中,是没有类型来存储字符串的,字符串被看做是一组连续的类型。所以,字符串有两种表示方法,分别是字符数组和字符指针,而这两种表示的初始化却又不尽相同...

2021-03-19 14:29:23 25622 10

原创 Java中只有值传递

Java中只有值传递文章目录Java中只有值传递参数传递值传递指针传递引用传递Java中的参数传递基本变量类型对象值得一提数组包装类和String参数传递在我们日常编写代码的过程中,调用函数可能是最常见的操作了。那么,在调用函数时,参数是怎么样传递的呢?值传递相信有很多人都是学C语言入门的,刚开始写代码时,用的最多的就是值传递了。void plus_one(int a){ a++; printf("a: %d", a);}int main(){ int n = 10

2021-01-12 11:00:27 152 1

原创 Ubuntu中安装Java

安装流程下载下载地址下载过程注意:本文介绍的是安装oracle官方的版本,通过apt-get安装的openjdk可能出现无法查看源码的问题。下载下载地址https://www.oracle.com/java/technologies/javase-downloads.html下载过程下载想要的版本的jdk文件即可,如下图所示:...

2020-05-11 10:53:12 1269

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除