reentrantlock源码 笔记jdk
pwn学习笔记-ROP和hijack GOT
前情提要 修改返回地址,让其指向溢出数据中的一段指令(shellcode) 修改返回地址,让其指向内存中已有的某个函数(return2libc) 修改返回地址,让其指向内存中已有的一段指令(ROP) 修改某个被调用函数的地址,让其指向另一个函数(hijack GOT) 相关知识 在上篇的背景知识中, ......
数学做题笔记
ABC267G Increasing K Times [ABC267G] Increasing K Times 一道计数题. 主要是是一个比较经典的trick才来做的这题. 就是形如已知一个序列,求有多少个排列满足一个条件,这个条件一般是制约相邻两个元素的 那么可以采用一个技巧就是序列排序,然后按照 ......
数据结构做题笔记
LG2827 [NOIP2016 提高组] 蚯蚓 用单调队列简单维护就可以做到 $O(m\log m) $,但 $m$ 有点大,我们就需要考虑特殊性质。 注意到每次切割的蚯蚓长度一定小于前几次切割的长度(指的是没有每天增加 $q$ 的情况下)。 这样考虑使用队列 $q[3]$ 分别维护还没有切割的, ......
直播平台搭建源码,Android进度条ProgressBar颜色的渐变设置
直播平台搭建源码,Android进度条ProgressBar颜色的渐变设置 1. 第一步 在res/drawable目录下新建自己的样式文件my_progressBar.xml文件。 <?xml version="1.0" encoding="utf-8"?><layer-list xmlns:an ......
Linux下JDK和JMeter部署及使用
一、在Linux下安装JDK并配置环境变量 1、下载JDK JDK8下载地址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html 2、rz命令上传到服务器并解压JDK安装包 tar -zxvf ......
3月阅读笔记1
首先要明确开发计算机软件是一个复杂的工程,并不比建设高楼大厦简单。这项活动和传统的土木工程类有相似的部分,也有迥然不同的地方。 主要有下面的几种活动(根据进程推动顺序): 定义问题 需求分析 规划构建 软件架构/高层设计 详细设计 编码与调试 单元测试 集成测试 系统测试 部署/分发及保障维护 《代 ......
3月阅读笔记2
软件构建是软件开发的核心活动;构建活动是每个项目中位移一项必不可少的工作 软件构建的主要活动包括:详细设计、编码、调试、集成、开发者测试(包括单元测试和集成测试) 构建也被称作“编码”和“编程” 构建活动的质量对软件的质量有着实质性的影响 最后,你对“如何进行构建”的理解程度,决定了你这名"程序员" ......
3月阅读笔记3
无论是以何种方式来进行设计,小型项目也能和大型项目一样从精心的设计之中获益,而如果能认识到设计是一项明确的活动,你就更会获益匪浅。 设计过程充满了不确定性,因此设计技术也趋于探索性质 软件的首要技术使命:管理复杂度 设计特征: 最小复杂度 易于维护 松散耦合 可扩展性 可重用性 高扇入:大量的类使用 ......
OI 学习笔记 III:字符串
阅读时建议在右下角开启目录。 本文涉及以下内容: 字符串的性质与结构 哈希及其扩展应用 trie & 有穷状态自动机 KMP & AC自动机 SA数组和SAM 1.字符串的性质与结构 ......
pwn学习笔记-栈溢出
背景知识 函数调用栈 函数调用栈是指程序运行时内存一段连续的区域,用来保存函数运行时的状态信息。包括函数参数与局部变量等。 称之为栈是因为在函数调用时,调用函数的状态被保存在栈内,被调用函数的状态被压入调用栈的栈顶;在函数调用结束之后,栈顶的函数状态会被弹出,栈顶回复到调用函数之前的状态。 函数调用 ......
linux 删除rpm安装的jdk,修改软连接
由于rpm安装的java使得maven读取jdk环境变量出错NB: JAVA_HOME should point to a JDK not a JRE。 弄了半天无果,索性删除所有jdk文件重新安装 #查看Java版本 java -version #查看是否有自带的openJDK rpm -qa|g ......
我试图通过这篇文章,教会你一种阅读源码的方式。
你好呀,我是歪歪。 是的,正如标题描述的这样,我试图通过这篇文章,教会你如何阅读源码。 事情大概是这样的,前段时间,我收到了一个读者发来的类似于这样的示例代码: 他说他知道这三个案例的回滚情况是这样的: insertTestNoRollbackFor:不会回滚insertTestRollback:会 ......
【艾跃进】口才艺术与社交礼仪笔记
写在前面 不知道从何写起,说了许久要去看艾老师的课,终于在一周后看完了,艾老师的课真是让人受益匪浅,只能说相见恨晚,如果大学时就看到,那现在应该会是另一个现象,但现在也不晚,希望可以以后做到更好。 1.礼仪 2.口才 参考链接 【艾跃进】口才艺术与社交礼仪(57集全) ......
Asp-Net-Core开发笔记:使用RateLimit中间件实现接口限流
前言# 最近一直在忙(2月份沉迷steam,3月开始工作各种忙),好久没更新博客了,不过也积累了一些,忙里偷闲记录一下。 这个需求是这样的,我之前做了个工单系统,现在要对登录、注册、发起工单这些功能做限流,不能让用户请求太频繁。 从 .Net7 开始,已经有内置的限流功能了,但目前我们的项目还在使用 ......
pwn学习笔记-什么是gcc、libc、glibc、libc++、libstdc++
在做pwn题目的时候总是会遇到自己不熟悉,不会的内容,每次都觉得非常难整理和理清,不如每遇到一次就做一次笔记,方便随时复盘。 gcc gcc在我学习c语言的时候,编译阶段有用到,和pwn题貌似关系不大,放一放。 libc libc是Linux下的标准C语言库,也是当初写helloworld里包含的头 ......
start线程开启(C源码分析)
一个线程开启都经历了什么 public class ThreadBaseDemo { public static void main(String[] args) { Thread t1 = new Thread(() -> { }, "t1"); t1.start(); } } start 源码 ......
太坑了,我竟然从RocketMQ源码中扒出了7种导致消息重复消费的原因
大家好,我是三友~~ 在众多关于MQ的面试八股文中有这么一道题,“如何保证MQ消息消费的幂等性”。 为什么需要保证幂等性呢?是因为消息会重复消费。 为什么消息会重复消费? 明明已经消费了,为什么消息会被再次被消费呢? 不同的MQ产生的原因可能不一样 本文就以RocketMQ为例,来扒一扒Rocket ......
Spring源码核心剖析
SpringAOP作为Spring最核心的能力之一,其重要性不言而喻。然后需要知道的是AOP并不只是Spring特有的功能,而是一种思想,一种通用的功能。 ......
学习OpenTk,笔记三
1、着色器的类型,目前是六种着色器(枚举内是六种) 2、需要创建Program实例用来组合已经编译的着色器,就像是C++的编译链接过程一样,它们链接后会上载的到GPU,之后就可以释放本地的一些着色器资源 3、uniform是全局的,它称为常量存储,主要用途是给shader传递参数的重要方式。它是一种 ......
灵魂云 上网 在笔记本上可以 但是到了公司的电脑上就上不去。
问题; 在宿舍的笔记本上可以上网,使用手机开的热点,但是到了公司, 使用公司电脑就上不去了, 使用的是局域网。 解决: ......
阅读笔记-构建之法1
《构建之法》第一章:软件=程序+软件工程。作为一名程序员,不能仅仅会写代码,深入了解一个软件是通过怎么样的层层工序制作出来,也是我们应当重点掌握的。 文中通过生活实例,启发我们对什么是程序,什么是软件,什么是软件工程,没有使用到算法需不需要学习、掌握。软件和算法,数据结构有无关联等问题的思考。仔细想 ......
广义圆方树学习笔记
广义圆方树上一条从 $u$ 到 $v$ 的简单路径,设为 $u \to s_1 \to c_1 \to s_2 \to c_2 \to \cdots \to c_k \to s_{k + 1} \to v$,其中 $s$ 为方点,$c$ 为圆点。 事实上是对原图上 $u \rightsquigarr ......
读Java性能权威指南(第2版)笔记29_线程和同步性能下
1. JVM线程优化 1.1. 当空间不足时,可以调整线程使用的内存 1.2. 每个线程都有一个原生栈,操作系统会在这里存储线程的调用栈信息 1.3. 原生栈的大小是1 MB 1.3.1. 32位的Windows JVM原生栈大小是320KB 1.3.2. 在64位的JVM中,通常不会修改这个值 1 ......
stm32学习笔记---i2c学习
stm32学习笔记 i2c学习 1、半双工,不能同时发送数据,一个设备发送另一个设备接受 2、接受到数据有有应答 3、能够挂在多个模块,且通信之间不受干扰,支持一主多从,多住多从 4、有两根通信线:scl,cda(serial clock ,serial data)采用同步时序(加一根clk线)通信 ......
《构建之法》阅读笔记3
第四章是《构建之法》中关于编程范式的章节,介绍了两种主流编程范式:面向对象编程和函数式编程。作者首先介绍了面向对象编程的概念和特点,通过一个简单的实例介绍了面向对象编程中的类、对象、封装、继承和多态等基本概念。然后,作者介绍了函数式编程的概念和特点,通过几个简单的例子介绍了函数式编程中的高阶函数、闭 ......
GNN(图)笔记
图的基本概念不再详细描述 有顶点(node, V)、边(edge, E),这里还有一个全局属性(global, U),但不知道具体表示什么 边分为无向的边和有方向的边 三者都是通过向量来表示(embedding) 将图像表示成图的方法:一个像素是一个节点 下图左边是原图,中间是邻接矩阵,右边是图 文 ......
Single-spa 源码浅析
引言 前一段时间, 正好在做微前端的接入和微前端管理平台的相关事项。 而我们当前使用的微前端框架则是 qiankun, 他是这样介绍自己的: qiankun 是一个基于 single-spa 的微前端实现库,旨在帮助大家能更简单、无痛的构建一个生产可用微前端架构系统。 所以本文基于 single-s ......
轻松管理笔记,云端实现同步:Ihome主页插件的云笔记功能介绍
IHome主页插件是一款方便实用的浏览器扩展,可以帮助用户快速访问常用的网站、应用和工具,提高上网效率和使用体验。它可以自定义主页,支持多种主题和布局,同时还提供了各种实用的功能,如天气预报、即时通讯、书签管理、备忘录、日历等。无论是工作、学习还是生活,IHome插件都能为用户带来便利和舒适的使用体 ......
MM32 SPIN MCU 电机 FOC 驱动 风机无传感器弦波驱动篇应用笔记
在现今越来越强调环保节能的法规要求下, 新一世代的产品需要具备更高的高效性能, 在永磁无刷电机驱动上亦是如此, 除了高效率的电机外, 电子组件及驱动算法也必须尽可能的高效。为此灵动微电子提出了以 MM32 SPIN 系列 32 位微处理器开发的风机无位置传感器 FOC 弦波驱动解决方案。以下表格为此 ......