自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 资源 (2)
  • 收藏
  • 关注

原创 rag ollama + qwen3+ embedding + chroma_db 回答content为空

resp["message"]["content"] 为空的主因是 Ollama 新版 Qwen3 将推理过程写入 thinking 字段,耗尽 num_predict(默认1024)后强制终止,导致未生成 content。解决方案:① 提高 num_predict 至 2048+;② 优化 Prompt 强制直接输出;③ 关键:在 ollama.chat() 中设置 think=False 禁用思考模式,从根本上避免该问题。

2026-10-10 19:26:27 218

原创 python 基础容器:list、tuple、set、dict

列表(list)有序可变,支持增删改查;元组(tuple)有序不可变,适合数据保护与函数返回;集合(set)无序唯一,用于去重与集合运算;字典(dict)键值对存储,键需不可变,支持高效查找与映射。四者各具特性,按需选用。

2026-10-09 01:06:22 63

原创 python insert(index,val) 与 pop() 与 remove(x) `list` 的专属方法

列表支持 insert、pop、remove;元组、字符串不可变,均不支持;集合无索引,不支持 insert,pop() 随机删除,remove() 删除指定值;字典 pop() 接收键而非下标。不可变类型需通过切片拼接创建新对象实现增删。

2026-10-09 01:05:29 158

原创 python append() 与 extend()

append() 是列表专属方法,用于在尾部添加一个元素,原地修改列表,返回 None。仅接受一个参数,若添加列表会将其视为单一元素;如需展开添加,应使用 extend()。注意:append() 返回 None,不可赋值;添加可变对象时为引用,后续修改会影响原列表。

2026-10-09 01:04:44 150

原创 python in 与 not in

not in 是 Python 成员运算符,用于判断元素是否不在容器中,返回 True 或 False。适用于列表、字符串、元组、集合、字典(仅判断键)。常与 if 配合使用,实现条件判断或去重添加。相比 not (x in words),x not in words 更具可读性,推荐使用。

2026-10-09 01:03:59 213

原创 python f-string与字符串高级处理 (格式化)

该程序分析邮箱地址,提取用户名和域名,并判断域名是否为常见类型。通过split('@')分割输入,验证格式合法性,使用预设列表匹配常见域名(如gmail.com、qq.com等)。若域名在列表中,则标记为“常见”;否则为“非标准”。最终输出用户信息及域名类型提示,实现简单高效的邮箱分类功能。

2026-10-08 23:10:23 207

原创 python 内置函数--sorted ()

sorted() 是 Python 内置函数,用于对可迭代对象排序并返回新列表,不修改原数据。支持 key 自定义排序规则和 reverse 降序选项。与列表方法 .sort() 不同,sorted() 适用于所有可迭代对象,且不改变原数据,返回结果始终为列表。

2026-10-08 23:04:32 154

原创 python 变量有没有类似的命名规则

Python中变量命名规则统一:无下划线为公开,单下划线 _var 仅作内部使用约定,双下划线 __var 触发名字改写(如 _Demo__private_var),防止子类意外覆盖,但非安全保护。__var__ 为内置特殊属性,不可自定义。实践中优先使用 _var,仅在基类防覆盖时用 __var,且不可依赖其保密性。模块顶层变量不触发双下划线改写。

2026-10-08 15:43:03 169

原创 Python 项目目录规范

遵循src-layout现代最佳实践,兼顾 PEP420、setuptools。

2026-10-08 14:02:20 213

原创 python 代码规范

本文系统阐述了 Python 代码规范,涵盖缩进(4空格)、行长度(≤79字符)、空行、命名(snake_case、CapWords等)、导入顺序、空格使用、注释与文档字符串、类型注解及常见错误规避。推荐使用 black、isort、flake8 等工具自动化格式化与检查,确保代码风格统一、可读性强。附极简模板示范,适用于团队协作与大型项目开发。

2026-10-08 12:27:23 231

原创 基于 Python 3 语法的 PyCharm 练习示例,涵盖列表操作、类型判断及数据清洗等核心知识点

【代码】基于 Python 3 语法的 PyCharm 练习示例,涵盖列表操作、类型判断及数据清洗等核心知识点。

2026-08-29 00:47:41 47

原创 python控制chrome例子---网页截图

PyChrome 允许 Python 脚本通过 Chrome DevTools Protocol (CDP) 控制 Chrome 浏览器。basic_automation.py basic_automation_v1.py(完善后的升级版)使用前需确保 Chrome 以远程调试模式启动。

2026-08-28 18:08:57 230

原创 pychrom python 开发 打包 部署

本文详细介绍了使用PyCharm进行Python项目开发、打包和部署的完整流程。主要内容包括:1)环境搭建与项目初始化(安装Python和PyCharm、创建虚拟环境);2)开发调试阶段(编写代码、本地调试、生成requirements.txt);3)打包阶段(使用PyInstaller打包可执行文件或setuptools构建Python包);4)部署阶段(服务器部署方案包括手动部署和使用Gunicorn+Nginx,以及Docker容器化部署的最佳实践)。文章提供了各环节的具体操作命令和配置示例,适合开发

2026-08-26 01:48:43 213

原创 【Semaphore & CountDownLatch & CyclicBarrier 原理 + 示例】

接口限流、连接池、有限资源访问控制(数据库连接、硬件资源)。✅全部线程就位,最后到达的线程执行屏障回调,统一开始执行!线程2 冲破屏障,继续往下执行业务。线程0 冲破屏障,继续往下执行业务。线程1 冲破屏障,继续往下执行业务。线程0完成前期工作,等待其他伙伴。线程1完成前期工作,等待其他伙伴。线程2完成前期工作,等待其他伙伴。

2026-08-21 22:26:10 189

原创 【二、神经网络原理与实践--DL4J (Java) 实现神经网络】

本文介绍了使用DL4J(Deep Learning for Java)框架实现神经网络的方法。通过完整可运行代码示例,展示了神经网络在Java中的构建与训练过程,并配有多张示意图辅助理解。核心知识点部分详细解析了神经网络的关键技术点,同时提供了运行结果示例和扩展说明,帮助开发者掌握DL4J框架的实际应用。文章最后总结了该方法的优势及适用场景,为Java开发者实现深度学习提供了实用指导。

2026-08-03 14:12:37 171

原创 【一、神经网络原理与实践】

神经网络是受生物神经系统启发的计算模型,通过分层神经元与权重连接实现非线性映射和自主学习。其核心结构包括输入层、隐藏层、输出层、神经元和激活函数,其中隐藏层负责特征提取,激活函数提供非线性能力。主要类型包括前馈神经网络(FNN)、卷积神经网络(CNN)、循环神经网络(RNN)和Transformer等,分别适用于不同场景如图像识别、NLP等。训练过程依赖前向传播和反向传播算法,通过优化损失函数调整参数。优化方向涵盖正则化、优化器选择、批归一化等技术。PyTorch等框架简化了实现过程,但神经网络仍面临可解释

2026-08-03 13:52:35 281

原创 JDK 26 完整特性、适用场景

JDK26作为LTS版本JDK25的功能补充,聚焦并发编程、云原生和性能优化三大领域。核心更新包括:虚拟线程生态闭环(结构化并发转正、ScopedValues增强),集合API放宽null限制,字符串模板STR正式定稿,未命名模式支持嵌套解构。垃圾回收器全面升级,ZGC实现全引用并发处理,G1优化容器内存归还。性能方面,对象头压缩节省8%-12%内存,VectorAPI转正加速AI计算,AOT缓存提升30%启动速度。同时增强模块化兼容性和运维监控能力,为Java企业应用提供更完善的云原生支持。

2026-07-27 03:57:59 169

原创 JDK 25 终极 LTS 特性(Loom 体系闭环、内存底层优化)

Java 25核心特性摘要(148字) ScopedValues:线程安全替代ThreadLocal,解决内存泄漏问题,适用于链路追踪(traceId/租户ID透传),支持虚拟线程自动清理。 紧凑对象头:对象头从16字节压缩至8字节(JDK25默认),海量小对象堆内存降低15%-25%,零改造成本。 Vector API正式版:支持SIMD指令并行计算,加速AI向量检索/矩阵运算,性能远超传统循环。 G1GC容器优化:自动归还空闲堆内存给操作系统,降低K8s云环境资源占用。 其他增强:原始类型模式匹配更简洁

2026-07-27 03:36:37 178

原创 JDK 21 里程碑特性(架构级提升,核心:虚拟线程)

Java 21 新特性摘要:虚拟线程(VirtualThreads)解决IO密集型服务并发瓶颈,支持百万级任务;Switch模式匹配支持类型解构;未命名变量(_)简化参数忽略;结构化并发(预览)实现批量任务统一生命周期管理;分代ZGC正式成为低延迟GC方案,适合金融场景。适用于微服务网关、MQ消费等IO密集型服务,建议新项目搭配SpringBoot 3.1+使用。(149字)

2026-07-27 03:29:32 235

原创 JDK 17 正式特性

Java 17新特性应用摘要:1.密封类(sealed class)通过permits子句精确控制继承关系,适用于状态机等场景;2.Record类简化不可变对象定义,自动生成常用方法;3.instanceof模式匹配消除类型判断后的强制转换;4.Switch表达式简化多分支逻辑;5.文本块"""优化多行字符串处理。JDK17适合8升级项目,平衡语法现代化与稳定性,完整保留反射等传统特性,是当前最成熟的LTS版本选择。

2026-07-27 03:19:50 171

原创 JVM(十) JDK8应用CMS配置方案

CMS GC配置摘要(适用于JDK8低延迟业务,堆≤8G): 核心参数:堆内存4G(-Xms4g),元空间256-512m,直接内存1g。启用CMS+ParNew收集器,设置并发标记线程4个/并发GC线程2个,CMS触发阈值70%。关键优化:开启类卸载(-XX:+CMSClassUnloadingEnabled)、并行重标记(-XX:+CMSParallelRemarkEnabled)、显式GC禁用(-XX:+DisableExplicitGC)及GC日志记录。注意:CMS在JDK9+已移除,堆>8G

2026-07-24 15:23:12 54

原创 JVM(十) JDK8 CMS (Concurrent Mark Sweep)

CMS(并发标记清除)收集器是一款以降低GC停顿时间为核心目标的老年代垃圾回收器,采用并发标记清除算法实现低延迟回收。其核心流程包含两次短暂STW(初始标记和重新标记)和五个并发阶段(并发标记、预清理等),通过并发执行减少停顿时间,适合对响应速度敏感的系统。主要优势是毫秒级停顿、多核CPU利用率高,但存在内存碎片严重(导致并发模式失败)、浮动垃圾、CPU资源消耗大等缺陷。随着JDK9移除CMS,官方推荐使用G1等新一代收集器替代。该收集器适用于中小堆(≤8GB)场景,但需要合理设置触发阈值和碎片整理参数。

2026-07-24 15:19:37 245

原创 JVM(九) JDK8应用G1配置方案

本文提供了G1垃圾收集器在SpringBoot微服务场景下的优化配置方案。针对8-32G堆内存、要求低延迟稳定的线上业务系统,推荐使用G1GC并给出了详细参数:设置初始/最大堆6G,Metaspace 256-512M,最大停顿200ms,并发GC线程数根据CPU核数配置(示例为4核)。关键优化点包括控制新生代比例(

2026-07-24 14:55:39 62

原创 JVM(九) JDK8 G1 (Garbage-First)

G1GC是JDK7u4引入的低停顿垃圾回收器,核心思想是分Region回收(Eden/Survivor/Old/Humongous)并优先处理垃圾最多的区域。相较ParallelGC,其优势包括可预测停顿(通过MaxGCPauseMillis参数控制)、分块回收降低FullGC频率、原生支持大对象分区等,适合8G~32G堆的互联网服务。但JDK8版本存在并发标记CPU开销、可能触发长时间FullGC、内存占用高等不足,且大堆场景延迟控制能力有限。调优建议包括合理设置停顿阈值(≥50ms)

2026-07-24 14:47:30 222

原创 JVM(八) JDK8 应用ParallelGC配置方案

【摘要】本文针对高吞吐离线任务(如批处理、ETL等)场景,详细解析了JVM参数配置要点:1)堆内存设8GB固定值(-Xms8g -Xmx8g)避免动态调整开销;2)线程栈调为256KB(-Xss256k)提升并发能力;3)元空间限制256-512MB防止类加载泄露;4)DirectMemory限制2GB防范堆外内存泄漏;5)采用ParallelGC并通过-XX:NewRatio=2优化代际比例,结合自适应策略(-XX:+UseAdaptiveSizePolicy)动态调整分区;6)设置1.5秒最大GC停顿目

2026-07-23 23:48:12 49

原创 JVM(八) JDK8 Parallel GC

本文介绍了JDK8默认的ParallelGC垃圾收集器(包含ParallelScavenge和ParallelOld)。它采用分代收集模型,新生代使用并行复制算法,老年代采用并行标记整理算法,核心目标是最大化吞吐量。优势在于高吞吐、无内存碎片、实现简单、调优容易,适合CPU密集型任务和大堆场景。但其致命缺点是STW停顿不可控,堆越大停顿越严重(可达秒级),不支持局部回收,延迟敏感型业务不适用,突发流量易触发FullGC。这些缺陷正是JDK8主推G1收集器的主要原因。

2026-07-23 23:41:24 219

原创 JDK 国内不更新的原因

Java系统从JDK8升级至更高版本面临严峻挑战:法律风险高且技术改造成本巨大。现有百万级系统深度耦合JDK8生态,涉及中间件、自研工具、老旧组件等均需同步适配,其中部分已停止维护。升级需投入多名人力耗时3-6个月,进行全栈改造和全量回归测试,但无直接业务收益。JDK高版本存在GC算法、内存模型等隐性变更,可能在高并发场景暴露风险。多数老系统依赖的SpringBoot 2.x、Dubbo等组件最高仅兼容JDK11,国产信创中间件早期版本更是仅完美适配JDK8,整套基础设施改造工程量巨大。

2026-07-22 23:36:00 241

原创 kubernetes java app 部署使用harbor私服 问题集合

本文介绍了SpringBoot应用在Kubernetes集群中的部署过程及常见问题解决方案。主要内容包括:1)Jenkins流水线配置,实现代码拉取、镜像构建推送和K8s部署;2)Dockerfile优化,采用多阶段构建并解决AppArmor权限问题;3)K8s部署文件调整,处理镜像占位符替换、Harbor认证和资源限制;4)排查了jar包缺少主类、容器启动失败等典型问题;5)最终通过禁用AppArmor、添加镜像拉取密钥等措施实现成功部署。文章总结了部署过程中遇到的主要是权限和镜像源问题,并提供了具体的解

2026-03-17 17:14:22 108

原创 kubernetes Jenkins 二进制安装指南

Jenkins 默认从国外下载插件,国内访问很慢,需要换源。Jenkins 运行依赖 Java,必须先安装 JDK。不配置gitlab插件的方法:(2)需要创建jenkinsfile。配置gitlab的方法(1)

2026-03-07 01:03:44 409

原创 Jenkins 各种部署集成方式与使用场景对比

本文分析了Jenkins的三种部署方式:二进制安装适合小团队(1-5人),简单易用但扩展性差;Docker方式适合中小团队(5-20人),提供环境隔离和快速迁移;K8s Pod方式适合大团队(20人以上),具备高可用和弹性扩展能力。建议团队从二进制安装入门,逐步演进到Docker容器化,最终采用K8s实现企业级DevOps。不同方式在部署复杂度、可用性和扩展性方面存在显著差异,团队应根据规模和需求选择合适的部署方案。

2026-03-03 01:22:37 93

原创 Kubernetes 高可用集群搭建

本文介绍了在企业内网环境中快速部署Kubernetes v1.35.x集群的方案。集群采用高可用架构,包含3个主控节点(2C4G)、3个工作节点(4C8G)和1个负载均衡节点,使用VIP 192.168.0.112实现高可用。部署过程包括:1)所有节点前置准备(主机名配置、系统优化、时间同步);2)containerd安装;3)Kubernetes组件安装;4)HAProxy+Keepalived配置;5)集群初始化和节点加入;6)Calico网络插件部署。方案强调使用二进制安装包部署,适合资源受限的内网环

2026-02-28 11:28:27 692

原创 Kubernetes 证书说明

文件类型核心内容性质作用安全要求.key非对称加密私钥机密 / 私有签名、解密、生成 CSR绝对保密,防泄露.crt数字证书(含公钥)公开分发公钥、身份认证、验签可公开,防篡改.key 是自己藏的 “钥匙”,.crt 是对外展示的 “身份证(带公钥)”,二者配对才能实现完整的加密和身份验证,是 HTTPS、SSL/TLS、SSH 等安全服务的基础。

2026-02-28 03:53:54 662

原创 kubernetes 源码编译(ubuntu) kubernetes-1.34.1

Kubernetes 1.34.1源码编译指南: 安装依赖:包括构建工具、开发库和Docker(可选) 配置Go环境:需安装指定版本(如1.24.0)并设置PATH 安装Bazel:通过Bazelisk自动匹配源码要求的版本 准备源码:解压后初始化git并同步子模块依赖 编译命令:使用make all指定平台为linux/amd64,输出至out_put/linux/bin 关键变量:需正确配置GOPATH、GOROOT及PATH环境变量。编译前需确认工具链版本与源码要求一致。

2025-10-25 02:27:11 302

原创 k8s etcd服务安装维护

摘要: etcd是云原生领域的高可用分布式键值存储系统,基于Raft算法实现强一致性,支持TLS加密和RBAC权限控制。主要应用于Kubernetes集群存储、服务发现和配置中心等场景。文章详细介绍了etcd v3.6.5在Ubuntu 22.04上的高可用集群部署步骤,包括配置生成、证书管理(使用cfssl工具)、systemd服务设置及TLS验证等关键流程,并提供了常见错误排查方法(如日志分析、证书校验和网络检查)。部署需确保三节点配置一致性,且生产环境必须启用TLS加密通信。

2025-10-24 02:27:46 748

原创 线程池 ThreadPoolExecutor ForkJoinPool

线程池 ThreadPoolExecutor ForkJoinPool 异步线程执行实现方式 CompletableFuture

2025-10-03 16:11:47 794

原创 TransmittableThreadLocal

TransmittableThreadLocal 是阿里巴巴开源的一个线程本地变量传递工具,解决了 原生ThreadLocal在线程池场景下无法传递上下文的问题。

2025-10-01 11:35:32 384

原创 ThreadLocal

ThreadLocal

2025-09-30 11:26:44 785

原创 jdk1.8 ConCurrentHashMap CAS乐观锁 + Synchronized

ConCurrenthashMap jdk1.8 锁实现 cas synchronized 相比 1.7 分段锁的区别与提升

2025-09-28 01:38:48 864

原创 HashMap

java Map HashMap LinkedHashMap TreeMap WeakHashMap

2025-09-25 20:08:38 1055

原创 Java 浅复制与深复制

Java 浅复制 与 深复制

2025-09-25 17:08:46 240

数据库基础知识.sql

/*本示例只适合初学者阅读对与各大高手来说有点浪费时间 如果高手来此指点一下臭棋将倍感荣幸在此代谢:非常感谢! 希望对初学者能尽绵薄之力感谢各位提出宝贵意见*/ /*说明本人对数据库只是略知一二 本示例只包含简单的数据库 的创建与修改数据的完整性表的创建 修改 添加 视图与索引的 创建与使用还有存储过程的创建与使用 */

2009-04-23

C 语言 编程 课件

C语言编程c 的学习与开发 指针 结构 算法 内存操作

2009-10-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除