- 博客(361)
- 资源 (19)
- 收藏
- 关注
原创 anaconda3如何切换虚拟环境
在Anaconda3中切换虚拟环境可以通过命令行或Anaconda Navigator图形界面实现。命令行方法推荐使用:首先通过conda env list查看所有虚拟环境,然后使用conda activate 环境名激活目标环境,验证切换成功后,可使用conda deactivate退出当前环境。Anaconda Navigator方法则通过图形界面选择环境并操作。常见问题包括环境路径冲突和环境未列出,可通过指定用户目录安装环境或检查环境创建情况解决。总结:激活环境使用conda activate 环境名
2025-05-15 13:38:42
158
原创 LightGBM算法原理及实例
高效性能:直方图算法和Leaf-wise生长策略大幅提升训练速度低内存使用:特征离散化和并行优化减少内存消耗准确率高:GOSS和EFB等创新保持甚至提升模型精度支持并行:特征并行和数据并行优化广泛适用:支持分类、回归、排序等多种任务LightGBM已成为机器学习竞赛和工业界的主流工具之一,特别适合处理大规模数据和高维特征场景。
2025-05-06 14:13:56
571
原创 JVM堆的分代机制
Java虚拟机的堆内存采用,将堆划分为不同的区域,以便更高效地管理内存和进行垃圾回收。:绝大多数对象都是"朝生夕死"的:跨代引用相对于同代引用来说只是极少数。
2025-05-06 11:39:03
492
原创 可检查异常与不可检查异常
/ 不处理NullPointerException(运行时异常)也能编译。:通常是代码逻辑问题(如空指针、数组越界)或系统级错误(如内存溢出)。:通常是程序外部因素导致的、可预见的错误(如文件不存在、网络中断)。:即使不捕获或声明,代码也能编译通过(但运行时可能崩溃)。:通过代码检查预防(如判空、校验参数),而非盲目捕获。// 必须处理IOException(可检查异常):强制开发者关注并处理可能的外部故障,提升健壮性。:优先捕获并尝试恢复,或转换为用户友好提示。及其子类),编译器强制要求处理。
2025-05-06 10:22:32
308
原创 脏读、不可重复读、幻读示例
- 账户1扣除100元,未提交。-- 第二次读取,返回900(与第一次不同)-- 第二次查询返回3条记录(出现幻行)-- 新增一个高余额账户。-- 读取到未提交的修改(脏读)-- 第一次查询返回2条记录。-- 第一次读取,返回1000。-- 事务A回滚,但事务B已经读取了错误的数据。
2025-04-30 10:39:02
389
原创 系统设计中三高指什么
指系统能够同时处理大量用户请求的能力。关键技术:线程池、异步处理、消息队列、负载均衡等。例如:秒杀系统需应对瞬时流量高峰。系统在出现故障时仍能持续提供服务,通常通过冗余和容错实现。关键指标:SLA(如99.99%可用性,全年停机≤52分钟)。技术:多节点部署、故障转移(Failover)、心跳检测、熔断降级等。系统能快速处理请求,低延迟、高吞吐量。优化方向:缓存(Redis)、CDN、数据库索引、代码效率等。例如:数据库分库分表减少查询时间。
2025-04-29 15:43:49
285
原创 如何把注释在idea中批量去除
输入 "File contains copyright header" 或 "Copyright comment"点击 "Find" 查找所有匹配项,然后点击 "Replace All"打开 "Run Inspection by Name"选择 "Structural Search" 标签。如果注释格式有变化,可能需要调整正则表达式。确保勾选了 "Regex" 选项。点击 "Replace All"在结果窗口中可以批量删除这些注释。可以先在单个文件上测试替换效果。对每个文件应用这个宏。
2025-04-22 11:18:14
368
原创 com.aerospike.client.AerospikeException: Error 22,1,0,3000,3000,0,BB952ED3E3E1600 10.0.0.10 3000: Op
(Namespace Supervisor Period)是一个关键的配置参数,用于控制后台清理(过期数据淘汰、碎片整理等)任务的执行频率。evict-tenths-pct 5 # 触发淘汰的内存阈值(默认5%)nsup-threads 1 # 后台清理线程数(默认1)# 关键配置:设置 nsup-period(单位:秒,默认 120),可能导致某些操作被禁止(如写入带有 TTL 的记录)。如果数据设置了 TTL(生存时间),必须启用。(某些操作被禁止)。
2025-04-18 17:41:56
403
原创 机器学习KNN算法
K-最近邻算法(K-Nearest Neighbors, KNN)是一种简单而强大的。,因为它不会在训练阶段构建显式模型,而是在预测时直接计算输入样本与训练数据的相似度。:使用距离度量(如欧氏距离、曼哈顿距离)计算新样本与所有训练样本的距离。:确定要考虑的最近邻数量(如 K=3, 5, 10)。(如 KD-Tree、Ball-Tree 加速搜索)。(需要存储所有训练数据,预测时计算量大)。(如使用欧氏距离,不同量纲会影响结果)。(使用交叉验证选择最佳 K)。(如 PCA 减少特征维度)。
2025-04-15 11:34:16
786
原创 Aerospike数据存储策略
只能用顺序写入模式(默认),但需自行保障磁盘可靠性(如阿里云云盘本身有 3 副本,可降低风险)。数据会在不同节点的磁盘上存储副本(例如 Node1 和 Node2 各存一份)。适合高性能场景,但需额外保障磁盘可靠性(如云盘 RAID 或定期备份)。如果追求高可用,直接部署 Aerospike 集群(至少 3 节点)。device /dev/vdc # 节点 1 的盘。device /dev/vdc # 第一块盘。device /dev/vdd # 第二块盘。实现跨节点备份,无需关心单机多盘写入顺序。
2025-04-14 11:08:56
241
原创 blkdiscard -z
丢弃(Discard/TRIM)设备上的所有块,告诉存储设备这些块不再使用(适用于 SSD/NVMe,可优化性能和寿命)。,确保数据不可恢复(适用于安全擦除或初始化存储设备)。会额外写入零,可能增加磨损(但对安全擦除很有用)。(不能直接用于已挂载的分区,需卸载后操作)。:执行 TRIM 并清零,改善写入性能。:在重新分区或格式化前,清零设备。是一个 Linux 命令,用于。:确保旧数据无法恢复(比单纯。是一个快速且有效的方法!,并确保被丢弃的区块会被。,请确保选择正确的设备!
2025-04-14 10:49:43
329
原创 blkdiscard -z --length 8MiB /dev/vdcblkdiscard: /dev/vdc: BLKZEROOUT ioctl failed: Device or resour
确保设备未被使用。如果。
2025-04-14 10:38:35
385
原创 WARNING (os): (os.c:239) failed min-free-kbytes check - min_free_kbytes should be at least 1150976
WARNING (os): (os.c:290) failed thp-enabled check - THP enabled not set to either 'never' or 'madvise'
2025-04-14 10:33:30
587
原创 Apr 11 2025 10:02:09 GMT: CRITICAL (drv_ssd): (drv_ssd.c:2420) /dev/vdc: bad device-id 32785
sudo blkdiscard -z --length 8MiB /dev/vdc # 清零前 8MB(Aerospike 要求)sudo journalctl -u aerospike -n 50 --no-pager # 检查日志是否仍有错误。sudo dd if=/dev/zero of=/dev/vdc bs=1M count=8 # 仅清零前 8MB。sudo umount /dev/vdc 2>/dev/null # 强制卸载(如果已挂载)# 方法 2:使用 dd(备选方案,较慢)
2025-04-14 10:29:50
781
原创 jar包安全加密工具
的代码安全(防止反编译、篡改或恶意使用),可以采用多种加密和混淆工具。混淆不会加密代码,但会重命名类、方法和变量,使其难以直接阅读和反编译。:基于 JavaAgent 的加密工具,支持 JAR 运行时解密。:商业工具,混淆效果更强,支持字符串加密和控制流混淆。(如 ProGuard)不加密,但能增加反编译难度。使用 AES/DES 加密 JAR 中的。:商业工具,支持 AOT 编译和代码保护。:商业工具,提供高级混淆和反调试功能。:免费、开源,支持代码优化和混淆。:商业工具,提供强加密和混淆功能。
2025-04-11 14:24:49
1188
原创 ClassFinal - Java 字节码加密工具
ClassFinal 是一款 Java 字节码加密工具,主要用于保护 Java 应用程序的代码安全,防止反编译和代码泄露。
2025-04-11 13:54:09
333
原创 模型特征筛选算法
selector = VarianceThreshold(threshold=0.1) # 移除方差<0.1的特征。selector = SelectKBest(chi2, k=10) # 选择卡方检验前10的特征。print(f"原始特征准确率: {original_scores.mean():.3f}")print(f"选择后准确率: {selected_scores.mean():.3f}"):先用过滤法快速降维,再用包装法或嵌入法。:衡量特征与目标变量的统计依赖性。:先处理缺失值和异常值。
2025-04-11 09:43:43
711
原创 模型变量筛选
在模型构建过程中,变量(特征)筛选是提高模型性能、降低过拟合和增强可解释性的关键步骤。分类问题:卡方检验(分类变量)、ANOVA(连续变量 vs 分类目标)、T检验(二分类目标)。使用搜索算法(如遗传算法、贪心搜索)结合模型表现选择最优特征子集(计算成本高)。前向选择(逐个添加显著变量)、后向消除(从全模型逐步剔除不显著变量)。:通过L1正则化(Lasso回归)自动稀疏化,剔除系数为零的变量。:根据领域知识剔除明显无关或重复的变量(如ID类变量)。:剔除方差为零或几乎不变的变量(如所有样本取值相同)。
2025-04-11 09:29:06
791
原创 随机森林与决策树
随机森林(Random Forest)和决策树(Decision Tree)都是经典的机器学习算法,但它们在原理、性能和适用场景上有显著差异。:通过树形结构(节点和分支)递归划分数据,最终到达叶子节点得到预测结果。:通过集成多棵决策树(Bagging方法),综合投票或平均结果提升性能。:基于特征的条件判断(如“年龄>30”),逐步将数据分类或回归。:CART(基尼系数)、ID3/C4.5(信息增益)。通过迭代修正错误提升性能(与随机森林的并行训练不同)。:进一步随机化分割阈值(速度更快,方差更大)。
2025-04-10 18:27:01
595
原创 信贷风控不同类型的评分卡
是不同业务场景下的信用评分模型,用于评估借款人的风险等级。:F卡拦截欺诈 → A卡评分放款 → B卡监控降额。常用算法:逻辑回归、随机森林、XGBoost。央行征信报告、第三方征信数据(如百行征信)。逾期1~30天的早期催收(短信/电话提醒)。申请人填写的资料(收入、职业、学历等)。循环贷产品的利率浮动(如借呗、微粒贷)。:A卡审批 → B卡调额 → C卡催收。常与机器学习结合(孤立森林、图算法)。贷款申请时的欺诈拦截(如黑产攻击)。历史还款记录(逾期、提前还款等)。账户活跃度(登录频率、消费行为)。
2025-04-10 16:16:18
410
原创 linux查看当前文件夹下面文件大小
它会显示一个交互式界面,可以方便地浏览和排序文件大小。:以人类可读的格式显示(KB、MB、GB)这会显示当前目录下所有文件和子目录的大小。如果你需要更直观的查看方式,可以安装。:按文件大小排序(大的在前):显示所有文件和目录。
2025-04-07 10:03:19
493
原创 查看 Linux 操作系统信息的常用命令
适用于大多数发行版(RedHat/CentOS/Fedora/Debian/Ubuntu等)# 查看系统日志(不同发行版可能不同)# 查看系统架构(32位/64位)# 查看内核版本和操作系统信息。# 查看系统运行时间和平均负载。# 查看磁盘分区和挂载情况。# 查看CPU详细信息。# 或查看特定日志文件。# 查看CPU核心数。# 查看内存使用情况。# 查看详细内存信息。# 查看磁盘详细信息。# 查看磁盘使用情况。# 查看运行中的进程。# 查看网络接口信息。# 查看所有硬件信息。
2025-04-03 15:07:12
578
原创 如何查看linux硬盘是不是SSD
如果没有显示"Nominal Media Rotation Rate"或显示"Solid State Device",则是SSD。在输出中查找"description"字段,通常会标明是SSD还是HDD。"Solid State Device"表示SSD。应替换为你实际的磁盘标识符(如sda、sdb等)。显示具体RPM值(如7200)表示HDD。表示SSD(非旋转设备)表示HDD(旋转磁盘)注意:在这些命令中,
2025-04-03 13:41:23
471
原创 aerospike6.2.0集群部署
进入解压目录aerospike-server-enterprise_6.2.0.0_tools-8.0.2_el8_x86_64,执行sudo ./asinstall。进入/etc/aerospike,修改aerospike.conf。修改astools.conf。
2025-04-01 17:06:24
315
原创 aerospike6.2集群配置
access-address 192.168.1.100 # 本节点对外IP(需替换为实际IP)data-in-memory true # 数据同时驻留内存(高性能模式)replication-factor 2 # 副本数(通常=集群节点数)address 192.168.1.100 # 本节点IP(需替换)multicast-group 239.1.99.222 # 组播地址(默认),因为组播在某些云环境(如 AWS、Azure)可能不可靠。
2025-04-01 14:21:10
913
原创 ApplicationContext与BeanFactory的用法区别
/ 首次调用时初始化。// 自动注入依赖(@Service/@Autowired):基础 DI vs 全栈支持(AOP、事件、国际化等)。// 自动加载并初始化所有单例 Bean(预加载)// 获取 Bean(懒加载,首次调用时初始化)无需 Spring 的高级功能(如 AOP)。需要注解驱动、AOP、事务管理等高级功能。:支持注解、AOP、国际化、资源访问等。// 适用于资源受限环境(如嵌入式设备):不支持注解、AOP、事件等高级特性。// 直接获取已初始化的 Bean。// 发布事件(观察者模式)
2025-04-01 10:11:50
731
原创 如何去评估一个系统的高可用
评估一个系统的高可用性(High Availability, HA)需要从多个维度综合分析,包括架构设计、容错能力、运维监控、灾备机制等。关键组件(数据库、中间件)是否有集群化方案(如 MySQL 主从、Redis Cluster)?是否有集中式日志(如 ELK)和分布式追踪(如 SkyWalking)?是否覆盖全链路指标(CPU、内存、QPS、延迟、错误率)?(恢复时间目标):业务恢复最大耗时(如 ≤ 1分钟)。是否定期进行混沌工程测试(如模拟网络分区、节点宕机)?
2025-03-28 16:26:08
668
原创 离散的数据及参数适合用什么算法做模型
离散数据和参数适用的机器学习算法取决于具体任务(分类、回归、聚类等)、数据特点(稀疏性、类别数量等)以及业务需求。将离散特征(如用户ID、商品类别)通过嵌入层(Embedding Layer)映射为连续向量,再输入DNN。优先尝试树模型(如XGBoost)或概率模型(如朴素贝叶斯),复杂场景可结合嵌入技术或深度学习。用目标变量的统计量(如均值)编码类别,适合高基数特征。对离散特征自动处理(需转换为数值),适合表格数据。降低维度,适合大规模稀疏数据(如文本)。适用于集合型离散数据(如用户兴趣标签)。
2025-03-28 13:40:26
460
原创 redis的key是如何找到对应存储的数据原理
Redis 通过哈希表实现高效的键值对存储和查找。其核心步骤包括:计算 Key 的哈希值。定位哈希槽。遍历链表,找到匹配的键值对。为了提高性能,Redis 使用了渐进式 Rehash 和链地址法等优化技术。合理设计 Key 可以进一步提升 Redis 的性能和可维护性。
2025-03-20 16:12:14
870
原创 dubbo服务META-INF.dubbo文件夹作用
SPI 是 Java 提供的一种服务发现机制,允许框架在运行时动态加载实现类。Dubbo 对其进行了扩展,使其更加强大和灵活。Dubbo 的 SPI 机制通过。
2025-03-20 11:27:22
836
原创 TreeNode底层实现原理
Java 中的TreeNode是树结构的基本单元,通过对象引用实现节点之间的连接。其核心是数据域和子节点引用,具体的实现和操作会根据树的类型(如二叉树、多叉树、平衡树等)和应用场景有所不同。
2025-03-19 15:16:32
478
原创 可重入锁synchronized
可重入锁是指一个线程在已经持有锁的情况下,可以再次获取该锁。每次获取锁时,锁的计数器会加 1;每次释放锁时,计数器会减 1。只有当计数器归零时,锁才会完全释放,其他线程才能获取该锁。当线程第一次获取锁时,计数器为 1,持有线程设置为当前线程。同一个线程在持有锁的情况下,可以多次获取同一把锁而不会造成死锁。由于锁不可重入,线程 A 会被阻塞,等待自己释放锁,从而导致死锁。是可重入的,线程可以再次获取同一把锁,而不会阻塞。作为内置锁,使用更简单,且不需要显式释放锁。,同一个线程可以多次获取同一把锁。
2025-03-19 10:48:09
372
原创 mysql与redis的日志策略
的写前日志(WAL)机制是为了满足事务的 ACID 特性,特别是持久性(Durability)。在数据写入磁盘之前,先将修改操作记录到日志(Redo Log)中。:记录事务修改前的数据,用于回滚和 MVCC(多版本并发控制)。在数据写入内存后,再将操作记录追加到日志(AOF 文件)中。:定期生成数据快照,不是日志机制,但也是持久化的一种方式。的写后日志(AOF)机制更注重性能,同时通过配置(如。)控制日志写入磁盘的频率,平衡性能和数据安全性。通过记录操作日志,实现数据的持久化。确保数据的持久性和一致性。
2025-03-19 10:28:44
812
原创 org.apache.groovy与org.codehaus.groovy的区别
迁移到 Apache 后,Groovy 的开发更加规范化,并与其他 Apache 项目(如 Apache Maven、Apache Ant)更好地集成。2015 年,Groovy 项目从 Codehaus 迁移到了 Apache 软件基金会(ASF),并成为 Apache 的顶级项目。这是 Groovy 在 Apache 时期的包名前缀,主要用于 Groovy 3.x 及更高版本。这是 Groovy 的早期版本(1.x 和 2.x)使用的包名前缀。如果你使用的是较新的 Groovy 版本,建议使用。
2025-03-17 18:25:27
777
超精美工作总结汇报PPT模板.pptx
2019-11-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人