- 博客(92)
- 资源 (2)
- 收藏
- 关注
原创 Mac上装了最新版本的Android Studio,但是没找到jdk的设置选项也没找到jbr的目录
新版Android Studio(2025.3.1+)因三项变更导致常见问题:一、JDK设置移至“DaemonJVM criteria”,新项目默认自动探测或下载JDK;二、JBR目录改名为带版本号的jbr-21等,需进入.app/Contents/查看,或通过About窗口确认运行时;三、命令行缺adb因platform-tools未加入PATH,需在SDK Manager中勾选并配置~/.zshrc中的ANDROID_HOME及PATH。重装或清理残留可解决缺失问题,切勿手动设JAVA_HOME或安装冲
2026-11-09 09:59:32
330
原创 git 如何把一个已经commit到本地分支的,被错误staged的文件,单独拿出来revert呢?
<think>我们根据内容写一个≤150字的文章摘要。内容是关于Git撤销误提交文件的几种场景。摘要要概括核心要点:根据commit是否push、是否想改写历史、文件是否该跟踪等选择方法;本地未push用reset --soft,已push用新提交恢复文件,不该跟踪用rm --cached加gitignore。注意字数。</think>文章摘要:撤销误提交文件需分场景处理:未push时用git reset --soft HEAD~1拆开提交并取消暂存;已push或不想改写历史则用git checkout H
2026-09-01 20:52:20
185
原创 git pull --rebase 到底有没有amend你的commit?
<think>我们根据要求生成≤150字的文章摘要。内容是关于git pull --rebase冲突解决后是否amend。需要简洁概括核心。输出中文摘要。注意字数限制。</think>git pull --rebase 遇冲突解决后执行 git rebase --continue,冲突内容会被直接并入当前重放的 commit,等同 amend 该提交,但生成新 hash。不会产生额外提交,历史线保持线性。可用 --abort 放弃,--skip 跳过。
2026-08-31 21:35:28
202
原创 什么是TOCTOU?
TOCTOU 是 Time-of-Check to Time-of-Use 的缩写,中文常译为“检查到使用的时间差”漏洞,属于竞态条件(Race Condition)的一种经典安全漏洞。if (access(“/tmp/user_config.txt”, W_OK) == 0) { // ← Time-of-Check:检查用户有没有写权限。使用文件描述符而非文件名 open() 拿到 fd 后,用 fstat(fd) 检查权限,而不是用文件名重新检查——fd 指向的是同一个文件,无法被替换。
2026-08-20 20:49:40
215
原创 JAVA_HOME和ANDROID_HOME在windows上怎么设置?
本文提供了Windows系统配置JAVA_HOME和ANDROID_HOME环境变量的详细指南,适用于Win10/Win11系统。主要内容包括:1)确认JDK和Android SDK的正确路径;2)分步骤配置系统环境变量,包括JAVA_HOME、Path路径添加、ANDROID_HOME/ANDROID_SDK_ROOT设置;3)验证配置是否成功的方法;4)常见错误排查。特别强调了路径不带空格/中文、使用AS自带JDK、新开终端使配置生效等关键点,并指出90%的问题源于路径格式错误或变量未更新。配置完成后需
2026-08-19 05:52:11
286
原创 git怎么把本地某个指定的stash变成patch共享给队友
本文介绍了如何将 Git stash 内容导出为 patch 文件并分享给队友的完整流程。核心步骤包括:使用 git stash show -p 导出指定 stash 的 diff 为 patch 文件,处理可能存在的二进制文件和未跟踪文件问题,并通过各种方式传输给队友。队友收到后可用 git apply 命令应用 patch,并介绍了冲突处理方法。文章还对比了直接生成 patch 和创建临时分支两种共享方式的优缺点,建议简单改动用 patch,复杂改动通过临时分支共享更可靠。最后提供了推荐操作流程,适合大
2026-08-18 20:20:03
225
原创 git怎么在clone的时候就指定clone指定的分支
文章摘要:Git克隆时可使用-b参数指定分支,常用方法包括:1) 直接检出分支git clone -b <分支> <url>;2) 仅克隆单分支--single-branch以节省带宽;3) CI场景推荐浅克隆--depth 1仅获取最新提交。支持分支名、tag或commit hash,注意--single-branch会隐藏其他远程分支,可通过git remote set-branches恢复。不同场景选择:常规开发用默认克隆,大仓库用单分支,快速部署用浅克隆+单分支组合。(149字)
2026-08-18 19:53:35
481
原创 nvm如何安装node/npm? 不要忘了use?
摘要:通过nvm安装npm的核心步骤是安装Node.js,npm会随之自动安装。首先安装nvm工具(不同系统命令不同),然后使用nvm install安装指定Node.js版本(推荐LTS版),注意安装后需执行nvm use切换版本。验证安装使用node --version和npm --version查看版本号即可。Windows用户需使用nvm-windows,且无需单独安装npm。(150字)
2026-08-17 10:42:30
241
原创 本地提交之后, git pull --rebase产生冲突,解决之后是否不影响提交日志?还是会多一条merge日志?
摘要: 使用 git pull --rebase 解决冲突后,不会产生多余的 merge 提交,历史保持线性,但本地提交的 commit hash 会被改写。与默认的 git pull(合并方式)不同,rebase 会重新应用本地提交到远程最新节点,避免生成合并记录。冲突解决后需执行 git add 和 git rebase --continue。若提交已推送到远程,需强制推送(--force-with-lease),否则可能影响协作。核心区别:rebase 保持干净历史,适合未推送的提交;merge 保留
2026-08-15 16:57:03
334
原创 git stash save 和 git stash push有什么区别?
直接说结论: 和 功能几乎一样,但 已被官方标记为“废弃(deprecated)”,现在一律推荐用 。两者的核心区别在于 参数解析方式, 更安全、更严格。2、指定文件路径(这是最大的坑!)这是你刚才问的“只 stash 个别文件”的场景,必须用 :为什么? 强制使用 分隔符,明确区分“消息”和“文件路径”,永远不会混淆。 没有 分隔符。Git 会尝试把后面的参数解析为消息,如果文件名看起来像参数(比如以 开头),或者解析逻辑有歧义,就会报错或产生非预期行为。功能一样,但
2026-08-13 18:47:06
232
原创 Spring弹簧动画是否是起点终点固定而时长不固定?
Spring弹簧动画采用目标驱动而非时间驱动的设计理念,其核心特点是起点终点固定而时长不固定。动画时长由物理模型决定,取决于弹簧刚度、阻尼比和初始速度的相互作用。与传统补间动画不同,弹簧动画能动态调整目标值,实现平滑过渡,并在速度与位移足够小时自动停止。这种设计牺牲了精确时长控制,但提供了更真实的物理模拟效果,特别适合交互式场景。
2026-03-12 09:22:03
234
原创 Android里面的layer、DisplayList和hardwarebuffer之间是什么关系
Android图形渲染流程包含三个核心组件:DisplayList(渲染节点树)记录绘制指令,HardwareBuffer(图形缓冲区)存储像素数据,Layer(图层)管理合成属性。DisplayList在应用进程CPU侧录制绘制命令,GPU执行后输出到HardwareBuffer,该缓冲区通过跨进程共享传递给SurfaceFlinger。SurfaceFlinger将HardwareBuffer封装为Layer,附加位置、透明度等合成属性,最终将所有Layer合成为显示画面。三者分别对应绘制指令、像素数据
2026-01-07 11:33:18
1025
原创 Linux time命令简介
命令用于测量命令执行时的资源消耗,包括时间、内存、I/O 等,是性能调优的重要工具。显示详细资源统计,包括内存、I/O、上下文切换等。,尤其在 I/O 密集型任务中(如文件遍历)。若需保存结果,需重定向标准错误(追加结果到文件(不覆盖)。如需更高级分析,可结合。
2025-02-19 09:16:43
505
原创 Rust里面针对Option和Result的and_then和map有什么区别
map方法用于对Option或Result中的值进行转换,如果值存在(对于Option)或成功(对于Result),则应用提供的函数,否则返回原始的None或Err。and_then方法用于对Option或Result中的值进行转换,但它允许返回一个新的Option或Result。如果值存在(对于Option)或成功(对于Result),则应用提供的函数,否则返回原始的None或Err。返回类型map方法返回的类型与原始类型相同(即Option或),但内部的值被转换了。and_then。
2024-11-11 03:05:37
1296
转载 nginx+tomcat+memcached搭建服务器集群及负载均衡
from http://blog.youkuaiyun.com/binyao02123202/article/details/42065915在实际项目中,由于用户的访问量很大的原因,往往需要同时开启多个服务器才能满足实际需求。但是同时开启多个服务又该怎么管理他们呢?怎样实现session共享呢?下面就来讲一讲如何使用tomcat+nginx搭建服务器集群以及如何实现session共享。
2016-03-24 08:30:42
613
转载 Java技术路线
原文来自IT技术博客大学习在技术方面无论我们怎么学习,总感觉需要提升自已,却又不知道从哪里着手,同时也不知道自己处于哪个水平。这时候就需要有清晰的指示图来指引我们,这样我们能清楚的知道我们在哪方面不足,以及自己大概处于哪个阶段和水平。(一)java程序员 1. 高级特性 反射、泛型、注释符、自动装箱和拆箱、枚举类、可变
2016-03-18 07:00:08
788
转载 如何从菜鸟成长为(伪)架构师
如何从菜鸟成长为(伪)架构师转自:http://www.kuqin.com/shuoit/20160314/351181.html前些天,我在各种论坛里发招聘贴,遇见X君,前来问我道,“你可曾为招聘贴写过什么软文吗?”我说“没有”。他就正告我,“那还是写一点罢;现在的招聘贴不写点鸡汤文是没有人转发的。”于是我思考许久,想起去年大约也是这个时候,写过一篇名为《如何从菜鸟程序员成长为(
2016-03-16 20:02:51
996
转载 管中窥豹:Docker生态系统一览
转自点融黑帮管中窥豹:Docker生态系统一览2016-03-11 点融黑帮导语容器化是一种便携、可控的分发和部署应用方式。为了达成此目标,需要将应用封装进一个相对标准化的、轻量的独立环境内,即容器。当下许多组织设计的应用和服务,都力求实现一个轻易部署的分布式系统,即扩展方便又得有一定故障承受能力。Docker作为一个追求将容器化过程变得更加
2016-03-14 14:31:46
631
转载 40个Java多线程问题总结
原文出处: 五月的仓颉前言Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能
2016-03-13 21:38:16
595
原创 诡异的D3D
前几天同事在加入D3D引擎之后d3d9 CreateDevice之后计算精度会降低,需要调用_controlfp_s(0, _PC_53, MCW_PC); 将精度恢复回来
2014-11-18 09:33:30
509
转载 Qt窗体关闭时,如何自动销毁窗体类对象
Qt窗体关闭时,如何自动销毁窗体类对象 2013-01-10 17:11:03| 分类: Qt | 标签:qt 关闭窗口 删除窗口 wa_deleteonclose |举报|字号 订阅QMainWindow* ImgWindow1;ImgWindow1 = new QMainWindow(this);ImgWindow1->show();c
2014-08-05 16:40:00
6184
原创 关于vector的循环删除
网上找到一些文章,分析得有点画蛇添足,用以下程序写了一下,测试通过。具体的原因可能还得分析STL源代码。#include #include #include #include using namespace std;int main(){ vector in_vec; in_vec.push_back(1); in_vec.push_ba
2014-03-06 17:43:57
885
转载 关于计算机图形学的学习
一只冰棍2005-07-20, 21:08关于计算机图形学的学习 [转]注意: 本文尽量避免理论化的描述,试图用最通俗的语言介绍一下计算机图形学的学习,以及一些参考书目和网络资源; 本文不涉及对概念的定义,以免陷入学术讨论之中 本文是作者学习计算机图形学的体会,如果有不同的意见,请不要攻击和漫骂 本文合适的题目应当是:白话说学计算机图形学? 1.
2012-11-18 03:05:12
834
转载 ANSI C标准函数库
ANSI C标准函数库 (2008-09-01 11:13) 分类: c语言编程 absread()读磁盘绝对扇区函数原形:int absread(int drive,int num,int sectnum,void *buf)功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num个(最多64K个)扇
2012-11-16 16:17:57
2227
转载 中文Unicode范围
4e00~9fbb有的说4e00~9fa5 若要判断是否是中文只需要用以下代码:for (int i = 0; i char c = sentence.charAt(i); if ((c >= 0x4e00)&&(c System.out.println("中文"); }} 下面是各语言在Unicode中的范围
2012-11-13 08:36:35
1549
原创 Testing problems
<br /> /b test.scr /t acad.dwtchd apih_src and amakebuildlinks apihbinfiles.map (under apih_src)
2010-06-10 16:32:00
523
转载 挫折不是惩罚,而是学习的机会
挫折不是惩罚,而是学习的机会 ——李开复2009年10月17日在浙江大学的演讲(节选) 因为挫折让你反思,因为反思让你坚定。今天回顾我的一生,我发现自己最大的学习机会都来自我的挫折,而不是来自成功。 我想用一种轻松的方式,把我从小到大的过程描述给大家听,这些启发是我经过了40多年、接近50年的人生生涯后,感到对自己最有启发的东西,也希望对在座的20岁的你们有同样的启发。天赋
2010-04-02 14:34:00
567
原创 Estimation
AutoCAD software development estimation model: Coding time: 3Unit testing time: 1Writing subdoc: 0.5Code review time: 0.5 So as a result: Coding time: 60%Unit testing time: 20%Su
2010-01-27 15:37:00
546
转载 四个寓言故事
第一课一个男人在他妻子洗完澡后准备进浴室洗澡。这时,门铃响了。妻子迅速用浴巾裹住自己冲到门口。当她打开门时,邻居鲍勃站在那儿。在她开口前,鲍勃说,“你如果把浴巾拿掉,我给你800美元。”想了一会儿,这个女人拿掉浴巾赤裸地站在鲍勃面前。几秒钟后,鲍勃递给她800美元然后离开了。女人重新裹好浴巾回到屋里。当她踏进浴室时,丈夫问她,“是谁呀?”“是邻居鲍勃。”她回答。“哦,”丈夫说,“他有没有提到还欠我
2009-11-30 23:47:00
889
1
转载 哈佛大学图书馆馆训
1.现在睡觉的话会做梦而现在学习的话会让梦实现This moment will nap, you will have a dream; But this moment study,you will interpret a dream.2.我无所事事地度过的今天是昨天死去的人们所奢望的明天I leave uncultivated today, was precisely yesterdayperis
2009-11-30 21:37:00
804
DataOrientedDesign.pdf
2019-08-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅