XOR
简单实现线程安全的Observer模式
title: 简单实现线程安全的Observer模式 date: 2022-10-20 23:08:43 tags: # 简单实现线程安全的Observer模式 最近开始看陈硕老师的《Linux多线程服务器编程》,刚好发现b站Up主啊起个名字不容易的[总结视频](https://www.bilibi ......
C-中的编译期反射
title: C++中的编译期反射 date: 2022-11-17 23:15:28 tags: # C++的编译期反射 我们可以利用`__PRETTY_FUNCTION__`这个宏获取当前函数的签名。 比如以下代码: ```cpp #include #include template std:: ......
C-中的异常处理机制
title: C++中的异常处理机制 date: 2022-03-29 13:56:20 tags: # 异常处理 ## 传统的C语言处理方法 传返回值表示函数调用是否结束 ```c int f1() { return 0; //... return 1; } ``` 这种方法比较简洁明了,但对异常 ......
C-中类所占的空间
title: C++中类所占的空间 date: 2022-11-06 23:14:07 tags: # 类所占的空间 ## 概览 ```cpp struct A { public: }; std::cout<<"sizeof(A):"<<sizeof(A)<<std::endl; // sizeof ......
HTTP1-0的4个元素
title: HTTP1.0的4个元素 date: 2022-11-07 22:13:38 tags: # HTTP1.0的4个基本元素 HTTP的4个基本元素分别是 * 方法和路径 * 首部 * 主体 * 状态码 这里简要总结《详解HTTP》中的内容。首先利用Go语言简要实现一个显示hello的e ......
Innodb行格式
title: InnoDB行格式 date: 2022-09-23 22:33:00 tags: MySQL,InnoDB,页 # InnoDB行格式 InnoDB是一个将表中的数据存储到磁盘上的存储引擎。 为了方便磁盘与内存的读取,InnoDB以页的格式存储数据。我们可以通过 `SHOW GLOB ......
InnoDB页结构简述
title: InnoDB页结构简述 date: 2022-09-25 22:33:00 tags: MySQL,InnoDB,页 # InnoDB数据页结构 ## 数据页结构概览 |名称|占用字节| | : :| : : | |File Header(文件头部)|38字节| |Page Heade ......
LeetCode-146-LRU缓存
title: LeetCode-146-LRU缓存 date: 2022-11-18 23:17:17 tags: # 146题:LRU缓存 ## 题目 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 `LRUCache` 类: `LRUCache(int capac ......
LeetCoe-25-K个一组翻转链表
title: LeetCoe-25-K个一组翻转链表 date: 2022-11-21 22:46:38 tags: # 25题:K个一组翻转链表 ## [题目](https://leetcode.cn/problems/reverse-nodes-in-k-group/) 给你链表的头节点 hea ......
Redis中的事务与持久化简单整理
title: Redis中的事务与持久化简单整理 date: 2022-11-17 23:16:38 tags: # Redis中的事务与持久化 事务可以一次执行多个命令,并带有两个重要的保证: 1、 事务中的所有命令都被序列化并按顺序执行。Redis执行事务期间,不会被其它客户端发送的命令打断,事 ......
分支代码元编程示例
title: 分支代码元编程示例 date: 2022-03-28 21:55:10 tags: # 分支代码的元编程 ## 最简单的编译期执行的分支语句 直接使用constexpr: ```cpp #include #include constexpr int fun(int x) { if(x ......
350. 两个数组的交集 II
难度简单 980 给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。 示例 1: 输入:nums1 = [1,2,2,1], nums2 ......
AtCoder Grand Contest 021 E Ball Eat Chameleons
[洛谷传送门](https://www.luogu.com.cn/problem/AT_agc021_e "洛谷传送门") [AtCoder 传送门](https://atcoder.jp/contests/agc021/tasks/agc021_e "AtCoder 传送门") 容易发现一个变色龙 ......
周记
6月26 在小姨家中看小孩 6月27 从小姨返回家中 坐动车 6月28 在家玩游戏 6月29 练科二 早上5点起晚上9点回 6月30 练科二 跑了8公里早上5点起晚上9点回 7月1 玩游戏,交作业 ......
你真的了解线程池吗?
## 前言 真实高并发场景下,项目一般不会直接使用 Thread 类创建线程,而是使用线程池来创建并管理线程。对于程序员来说,学好线程池对于并发编程是非常重要的。 ## 为什么要使用线程池 主要有以下三方面的原因: 1. 频繁的创建/销毁线程需要消耗系统资源,线程需要重新被cpu从就绪到运行状态调度 ......
【springboot】修改扫描包(ComponentScan注解)
在springboot中默认的`xxxApplication`上面都是要加上`@SpringBootApplication`注解的 ```java package com.oo2.oo2; import org.springframework.boot.SpringApplication; impo ......
暑假周记(1)
周日: 练车考本,话说科一还没过就让我们开始摸车了,上午早去早回,下午晚去晚回,赶不太热的时候开始练 周一: 通知不练车了,猜测是教练家的孩子高考完要填志愿,一天无事 周二: 因过于闲的没事让家里厌烦,我被扔老家去了,老家一个妹妹高考完,一个弟弟中考完,高考填志愿还要我帮着填来着 周三: 回到家中, ......
六、配置获取规则
在有了cluster概念后,配置的规则就显得重要了。 比如应用部署在A机房,但是并没有在Apollo新建cluster,这个时候Apollo的行为是怎样的? 或者在运行时指定了cluster=SomeCluster,但是并没有在Apollo新建cluster,这个时候Apollo的行为是怎样的? 接 ......
创建多线程程序两种方式的区别
1、使用实现 Runnable 接口的方式创建多线程程序,可以避免单继承的局限性 a. 类继承了 Thread类,就不能在继承其他的类了 b. 类实现了 Runnable接口,还可以继承其他的类 2、使用实现 Runnable 接口的方式创建多线程程序,可以把设置线程任务和开启线程进行解耦(解除了耦 ......
每周总结
20230626 星期一 收拾屋子,打游戏,看科一,刷视频 20230627 星期二 打游戏 看科一 刷视频 20230628 星期三 出门检查身体 流鼻血太频繁,打游戏,看科一 20230629星期四 看科一 找同学玩 20230630星期五 去浇地,帮表弟填志愿,吃烤串 20230701星期一 ......
第一周
## 开源许可证 GPL、BSD、MIT、Mozilla、Apache和LGPL 开源不等于免费,开源指的是开放源码,但服务是收费的。 **开源是有条件和有限制的,也就是开源协议/开源许可**  end_index = str1.find(",尊") result = s ......
[MAUI]用纯C#代码写两个漂亮的时钟
@[toc] 谷歌在2021年5月份推出的Android 12给我们带来了新的UI设计规范Material You,你是否已经体验到了Material You设计的魅力了呢? 在原生主屏幕启动器中,有一个时钟小部件。这个小部件可以选择表盘风格。 >  设置开发环境(如配置Java路径和编译器) 周二:变量和数据类型 学习如何声明和使用变量 掌握Java的基本数据类型(整数、浮点数、字符、布尔值 ......