简易 源码hydrooj
源码补丁神器—patch-package
一、背景 vue项目中使用 vue-pdf 第三方插件预览pdf,书写业务代码完美运行,pdf文件内容正常预览无问题。后期需求有变,业务需求增加电子签章功能。这个时候pdf文件的内容可以显示出来,但是公司的电子签章无法显示。这令人沮丧,因为已经编写了许多特定于此依赖项的代码,如果替换依赖库,这些代码 ......
ThreadPoolExecutor源码学习
Java构建线程的方式 集成Thread 实现Runnable 实现CallAble 线程池方式 Java提供了Executors创建(不推荐,不方便进行控制) 推荐手动创建线程池ThreadPoolExecutor。 ThreadPoolExecutor参数 int corePoolSize 核心 ......
# ReentrantLock源码阅读
ReentrantLock源码阅读 目录ReentrantLock源码阅读简介例子代码分析Sync.tryLockSync.initialTryLockSync.lockSync.tryReleaseNonFairSync.initialTryLockNonFairSync.tryAcquireFa ......
【C语言数据结构】对Lua Table源码的一次劣质学习
/* new_key */ KLcBool KLcmCreateMapKeyValue(KLCMAP_PTR pTag, KLCTVALUE_PTR pKv) { KLcBool kbRet = KL_FALSE; KLcBool kbIsKvLegal = KL_FALSE; DWORD dwIn ......
Java线程池ThreadPoolExecutor源码解析
Java线程池ThreadPoolExecutor源码解析 1.ThreadPoolExecutor的构造实现 以jdk8为准,常说线程池有七大参数,通常而言,有四个参数是比较重要的 public ThreadPoolExecutor(int corePoolSize, int maximumPoo ......
简易mybatis实现
package com.ibatis.io.entity;public class User { private Integer id; private String name; private Integer age; public Integer getId() { return id; ......
AbstractQueuedSynchronizer源码阅读
AbstractQueuedSynchronizer源码阅读 目录AbstractQueuedSynchronizer源码阅读例子Overview-CLH锁Overview的剩余内容代码分析cleanQueueacquireacquire总结acquire共享模式补充release内部类Condit ......
ThreadLocal底层源码解析
ThreadLocal底层源码解析 ThreadLocal:顾名思义的意思是本地线程或者局部线程的意思,其真正含义是希望多个线程之间拥有自己的局部变量,多个线程间拥有自己的私人变量,在多线程间不被共享,被线程单独享用,这就是ThreadLocal设计之初的原衷 因此,无论是操作系统级别还是编程语言中 ......
openjdk源码-java是如何执行shell命令的
一般我们在java中调用shell脚本的方式如下 public int executeLinuxCmd(String cmd) { LOGGER.info("cmd:{}", cmd); Runtime run = Runtime.getRuntime(); try { Process proces ......
大语言模型生成模型的源码结构复习
modeling_gpt2.py:1099 if labels is not None: # move labels to correct device to enable model parallelism labels = labels.to(lm_logits.device) # Shift ......
【源码系列#04】Vue3侦听器原理(Watch)
本章目标:侦听器watch是如何兼容ref、响应式对象和getter函数等不同数据源的?回调时机immediate是如何实现的?关于onCleanup,一个用于注册副作用清理的回调函数是如何实现的? ......
34.Appium 源码修改定制
为什么需要改造开源框架 bug fix 增强功能 提升性能 改造方式 直接改造:直接改造开源框架,创建特性分支 二次封装:不修改原有项目,直接进行上层封装 插件改造:利用已有项目的插件或者扩展机制进行定制 外挂改造:不修改原有代码的情况打补丁,利用 mock、hook 方法 维护开源项目的方式 fo ......
33.Appium 源码分析
Appium 所有的源代码 Appium server Node.js 系列包 adb shell ChromeDriver 底层引擎 Uiautomator java WDA selenium Appium client : Python 、Java Appium 体系 了解 appium/pac ......
Netty源码学习9——从Timer到ScheduledThreadPoolExecutor到HashedWheelTimer
系列文章目录和关于我 一丶前言 之前在学习netty源码的时候,经常看netty hash时间轮(HashedWheelTimer)的出现,时间轮作为一种定时调度机制,在jdk中还存在Timer和ScheduledThreadPoolExecutor。那么为什么netty要重复造轮子昵,Hashed ......
Druid源码阅读--带流程图
一、架构分析 Druid类图如下所示: 两大核心类:DruidDataSource和DruidAbstractDataSource 连接有效性check:从连接池中获取连接后会做有效性check,在类中有ValidConnectionChecker接口,对应有不同数据库的实现 异常处 ......
Druid源码阅读--带设计思想
一、Druid数据源连接池概念 对于连接来说,建立连接和销毁连接是非常耗时的,因此使用池化思想,将连接放入连接池中,便于复用。 1、Druid 中连接的概念 由于将连接放入了连接池,那么就存在两个维度的连接,一个是在连接池中真实的物理连接,一个是应用角度获取到的连接,即逻辑连接。物理连接 ......
Feign源码解析:初始化过程(二)
背景 上一篇介绍了Feign源码初始化的一部分,内容主要是,@EnableFeignClients、@FeignClient这些注解,都支持设置一些自定义的配置类: A custom @Configuration for all feign clients. Can contain override ......
Day36 写一个简易计算器
写一个计算器 写一个计算器,要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现。 思路推荐:(不用写出界面) 写4个方法:加减乘除 利用循环+switch进行用户交互 (判断是+-*/) 传递需要操作的两个数 输出结果 难点:1.选用哪种循环结构 主要是要实现:(是否继续使用计算器,输 ......
spring-jcl 模块源码分析
目录简介源码分析总结 简介 spring-jcl是spring用于处理日志打印的模块,被spring-core所依赖: jcl全称是Jakarta Commons Logging,是apache提供的日志门面(功能同slf4j),日志门面利用设计模式中的门面模式提供统一的日志接口,实际的日志实现可以 ......
源码安装pgsql16.1
源码安装pgsql16.1 进入postgresql官网下载源码包 postgresql源码包下载地址 这里以目前最新的pgsql v16.1为例 创建组:postgres groupadd postgres 创建用户postgres并加入组postgres中 useradd -g postgres ......
短视频app源码,实现幂等设计的重要方式
短视频app源码,实现幂等设计的重要方式 一、取消重试 取消重试有两种方法,第一是设置重试次数为零,第二是选择不重试的集群容错策略。 <!-- 设置重试次数为零 --> <dubbo:reference id="helloService" interface="com.java.front.dubb ......
LockSupport源码阅读
LockSupport源码阅读 目录LockSupport源码阅读 本人的源码阅读主要聚焦于类的使用场景,一般只在java层面进行分析,没有深入到一些native方法的实现。并且由于知识储备不完整,很可能出现疏漏甚至是谬误,欢迎指出共同学习 相比mutex这个概念来说,LockSupport更像是信 ......
HydroOJ 从入门到入土(11) 管理域-设置详解
域权限相对于系统权限, 更加细致. 功能上能玩出的花样更多, 但有些设置可能会带来较高的潜在风险, 小心处理. 管理域功能中, 主要有属性和访问控制两大类. 目录一. 属性1. 管理域2. 编辑域资料3. 加域申请3.1 方法:3.2 角色分配3.3 过期3.4 邀请码二. 访问控制1. 管理角色2 ......
C++/模板变量的典型应用(STL)源码剖析
C++ std::is_same_v的实现 声明: template<class _Ty, class _Uty> constexpr bool is_same_v = false 特化版本后,即是同一个类型的实现(同一个变量的版本): template<class _Ty> constexpr b ......
HydroOJ 从入门到入土(10) 配置 nix 支配下的 Python 环境
官网已经更新了在线生成数据的功能, 方便不少, 如果能用我习惯用的 cyaron 数据生成器就好了. 但 nix 作为 Hydro 的安全沙箱, 隔离性做的太好, 以至于跟 Python 这种喜爱全局安装包的编译器天生八字不合, 用 nix 安装 Python 包, 大坑套小坑, 这里记录一下解决的 ......
llama的hf源码结构
上一个博客我们看了rope. 那么llama的hidden_states就没啥难点了. 再整体把握一下hf里面llama的代码结构. 文件是:D:\Users\admin\miniconda3\Lib\site-packages\transformers\models\llama\modeling_ ......
llama的rope源码阅读
关键代码的理解: class LlamaRMSNorm(nn.Module): def __init__(self, hidden_size, eps=1e-6): """ LlamaRMSNorm is equivalent to T5LayerNorm """ super().__init__( ......
HydroOJ 从入门到入土(9)源码简易修改记录——卍解!
随着 OJ 的使用越来越深入, 本强迫症总会觉得一些细节有时候不那么符合自己的习惯, 但是想改又无处下手, 最终还是走上了修改源码的邪路. 目录0. 重要1. 超级管理员查看自测代码2. 超级管理员隐身查看比赛 / 作业题目3. 超级管理员隐身查看比赛题目列表4. 关掉客观题的多选题部分分5. 修改 ......
centos7上源码安装postgresql 13.6
1 环境描述 操作系统:Centos7.6 postgresql:13.6 安装方式:源码安装 2 创建用户 # groupadd -g 2000 pgsql # useradd -u 2000 -g pgsql pgsql 3 目录规划 # mkdir -p /postgresql/{pgdata ......