- 博客(338)
- 资源 (4)
- 收藏
- 关注
原创 揭秘Java Web内存飙升:从危机到化解
复制算法则是将内存分为两个区域,每次只使用其中一个,当这个区域满了,就将存活的对象复制到另一个区域,然后清空当前区域,这种方式简单高效,但会浪费一半的内存空间,就像有一半的房间一直空着不用。这就像一个超市,货物的保质期设置得过长,而且不断地进货,却不清理过期的货物,最终超市的货架被过期货物堆满,影响了正常的运营。在排查过程中,我们还发现了一些大对象的存在。如果在一个循环中频繁创建对象,而这些对象又没有及时被释放,就会导致内存占用不断增加,就像一个房间里不断搬进新的家具,却不清理旧的家具,最终房间会被堆满。
2025-04-03 11:03:11
702
原创 MySQL 8.0.41源码目录深度解析:探索数据库内核的架构蓝图
MySQL 8.0.41 作为一款广泛应用的开源关系型数据库管理系统,其目录结构设计精巧,分为安装目录和数据目录两大核心部分,这两大核心部分,分别承载系统程序文件与数据存储,共同构成了 MySQL 稳定运行的基石。安装目录涵盖了 MySQL 运行和管理所需的各种可执行文件、库文件、头文件等,是数据库系统的 “运行中枢”;而数据目录则负责存储数据库的实际数据、日志、配置信息等,是数据的 “栖息地”。其源码组织遵循模块化设计原则,通过功能划分实现高内聚低耦合的架构。这种架构设计使得各个模块之间职责明确,相互协作
2025-03-26 23:01:02
878
原创 技术进阶:Open WebUI与Ollama的跨平台整合秘籍
例如,有些模型可能支持查看详细信息,点击模型名称旁边的信息图标,可以查看模型的参数、训练数据、性能特点等详细内容,帮助我们更好地了解模型的特性和适用场景。连接成功后,返回 Open WebUI 的主界面,点击界面左上角的 “新聊天” 按钮,在弹出的下拉菜单中,可以看到 “选择一个模型” 选项。例如,如果 Open WebUI 提示与 Ollama 版本不兼容,可以查看 Open WebUI 的官方文档,了解支持的 Ollama 版本范围,然后将 Ollama 升级或降级到相应版本。)确认服务是否正常运行。
2025-03-19 13:56:04
972
原创 Mac下Ollama安装全攻略:开启本地大模型之旅
因此,在安装 Ollama 之前,请确保你的 Mac 有足够的可用磁盘空间来存储模型文件,建议至少预留 50GB 以上的磁盘空间,以应对未来可能下载的更多模型。例如,你可以输入 “请介绍一下人工智能的发展历程”,模型会分析你的问题,并生成关于人工智能发展历程的介绍内容。对于 Mac 用户来说,在 Mac 系统上安装 Ollama,就可以利用 Mac 的硬件性能,在本地享受大语言模型带来的各种便利,无论是进行开发工作、学习研究还是日常的文本处理,都能提供强大的支持。
2025-03-18 13:36:51
1015
原创 解锁MySQL 8.0.41源码调试:Mac 11.6+CLion 2024.3.4实战指南
搭建 MySQL 8.0.14 源码在 Mac 11.6 系统下,借助 CLion 2024.3.4、CMake 3.30.5 和 LLDB19.1.3 进行 Debug 环境的过程,虽然步骤较为繁琐,但每一步都至关重要。在这个过程中,需要特别注意各软件版本的兼容性,比如 CMake 版本与 CLion、MySQL 源码之间的适配,避免因版本不兼容导致构建失败。同时,配置 CMake 选项时,一定要仔细核对路径和参数,任何一个小的错误都可能引发后续构建和调试的问题。
2025-03-16 22:09:59
885
原创 Java Web 大文件上传优化:从困境到高效
同时,服务端在处理上传时,若采用单线程模式,同一时间只能处理一个上传请求,进一步延长了整体上传时间。比如,在上传过程中网络突然中断,由于没有断点续传机制,用户不得不重新开始整个上传流程,这对于用户来说是非常糟糕的体验。综上所述,通过对 Java Web 大文件上传在客户端(Vue)和服务端(Java)的优化,我们成功克服了传统上传方式的诸多弊端,实现了高效、稳定的大文件上传功能,为用户带来了更好的体验。这样,即使某个分片上传失败,也只需重新上传该分片,大大提高了上传的稳定性。,可以实现更高效的文件读写。
2025-03-15 21:33:08
810
原创 Java Web大文件下载:从卡顿到丝滑的优化之旅
以一个 2GB 的视频文件下载为例,未优化的下载可能需要漫长的半小时甚至更久,而经过优化后,借助多线程、分块下载等技术,下载时间可能缩短至十几分钟甚至更短,极大提升了用户获取数据的效率,避免了用户因长时间等待而产生的烦躁情绪,从而提升用户对应用的满意度和忠诚度。优化后的大文件下载对内存的占用显著降低,有效减少了内存溢出的风险。以下载一个大型游戏安装包为例,假设游戏安装包大小为 10GB,单线程下载可能需要很长时间,而使用多线程并发下载,可以将文件分成多个部分,每个线程负责下载一部分,大大缩短了下载时间。
2025-03-13 15:20:17
703
原创 【unable to find valid certification path to requested target】问题处理
https请求报错unable to find valid certification path to requested target解决
2025-02-24 14:18:28
582
原创 Flink 1.18安装 及配置 postgres12 同步到mysql5.7(Flink sql 方式)
解决方案:在flink的flink-conf.yaml文件中添加classloader.resolve-order: parent-first 改成parent-first,重启集群即可。flink 下载地址:https://flink.apache.org/downloads/下载 flink 安装包:flink-1.18.1-bin-scala_2.12.tgz。Flink sql 客户端开启: ./sql-client.sh。解决: 在flink -->lib 目录下增加如下jar。
2024-10-17 16:26:54
1224
1
原创 nginx This request has been blocked; the content must be served over HTTPS问题处理
例如,当客户端使用HTTPS协议访问Nginx代理服务器,但Nginx代理服务器转发给上游服务器的协议类型为HTTP时,上游服务器会认为这个请求是不安全的,因为它没有收到客户端与Nginx之间的SSL加密通信。此外,还需要确保在Nginx配置文件中启用了proxy_set_header指令。那么,Nginx就会在发送请求给上游服务器时,将"x-forwarded-proto"字段值设置为"https",这样上游服务器就可以正确地判断请求的协议类型是HTTPS,并做出相应的处理了。
2024-04-08 10:23:54
2015
原创 centos7 挂载磁盘
(注:挂载后,挂载目录中的数据会被覆盖,建议找空目录进行挂载,如果操作了此步,则直接操作第4步,做开机自动挂载,不操作的继续下步操作。(注:正常在Centos7中第一块数据盘标识一般是/dev/sda,第二块数据盘标识一般是/dev/sdb)1.使用命令:mkfs.ext4 /dev/vdb1(ext4为磁盘格式化的格式)对分区磁盘进行格式化。使用命令:fdisk /dev/sdb 对新增磁盘进行分区(/dev/sdb为新增数据盘标识)sync //同步内存写入磁盘reboot //重启。
2024-03-04 14:08:51
1039
1
原创 局域网内telnet不通问题
在本机(windows ip为192.168.1.127)通过navicat工具可以连接上PostgreSQL服务,但是在其它的机器(linux)上通过telnet工具有时候能连接上PostgreSQL服务,有时候连接不上(重启下network后第1次能连接上)。原因:是因为有另外一台机器的ip跟postgres服务的ip冲突了,导致连接不稳定。网络设置的是自动获取ip,春节刚回来,获取ip都是争抢的。本机的网络:路由器—》集线器—》路由器—》电信光猫。linux的网络:集线器—》路由器—》电信光猫。
2024-02-19 13:36:06
2192
原创 SunCertPathBuilderException: unable to find valid certification path to requested target问题处理
RestTemplate ssl跳过证书验证。
2024-02-04 16:29:11
1711
原创 node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found
查看系统内安装的glibc版本 然后再根据分析可得知 新版的node v18开始 都需要GLIBC_2.27支持,可是目前系统内却没有那么高的版本。为了适配vue3 ,发布前端项目的jenkins分发镜像必须升级node 版本,如下镜像脚本。这时 所有的问题 真的真的都已经解决完毕 再重新执行上一步 更新glibc即可。用旧的镜像创建镜像,并做以上步骤,然后打包成新的镜像。但是升级好,准备安装 pnpm 时,却报了如下错误。我的依旧报错:bison太老旧。3、做完以上升及后,打包镜像。
2023-12-30 23:42:35
1597
原创 PostgreSQL10数据库源码安装及plpython2u、uuid-ossp插件安装
我们有时候需要像Oracle或MySQL那样可以通过函数sys_guid()或uuid()来获得uuid,如:bdf7eb80-776f-11eb-b4e3-0800277427f4。首先进行编译,使用make命令进行编译,如果希望编译所有的东西,包括文档(man、html)和附加模块(contrib),使用。进入扩展目录:(注意只有源码安装且要带上 --with-uuid=ossp 选项才有这个目录)注意:在安装postgres库的时候一定要带上 --with-python这个选项,
2023-12-29 09:24:44
1949
原创 arthas(阿尔萨斯) 使用问题汇总
上面我们在介绍时说默认会在/tmp/hsperfdata_userName目录保存进程信息,但由于以上1、2所述原因,可能导致该文件无法生成或是丢失,所以java启动时提供了参数(-Djava.io.tmpdir),可以对这个文件的位置进行设置,而jps、jconsole都只会从/tmp目录读取,而无法从设置后的目录读物信息。1、进入到/Users/herman/.arthas/lib/3.1.7/arthas路径下,把所有的内容打包,上传到服务器。这就尴尬了,jps为什么不显示已经启动的Java进程?
2023-12-13 11:30:27
2393
原创 RocketMq顺序消息
rocketmq 运维1.RocketMq 架构图2.RocketMq顺序消息2.1部分消息有序2.1.1 生产者构建2.1.2 生产者保证有序2.1.3 消费者保证有序性问题1.MessagingException: sendDefaultImpl call timeout1.RocketMq 架构图2.RocketMq顺序消息顺序消息分为全局有序消息和部分有序消息,全局有序消息是指一个topic下所有的消息都是有序的,而部分有序消息是指同一类型的消息有序,举个例子,如订单创建、订单支付、订单完成
2023-12-08 15:42:41
1106
原创 java.lang.NoSuchMethodError: org.apache.log4j.Logger.trace(Ljava/lang/Object;)V 问题处理
类冲突处理
2023-12-08 08:59:29
1286
原创 postgres pg_dump: fe_sendauth: no password supplied问题处理
这是另外一个问题,是因为执行脚本里的创建文件所在的目录的用户名和用户组跟执行脚本的用户名不一致导致 的。用root用户在/home/root目录下创建.pgpass文件,并把如下内容放在文件中。第一次碰到这个问题是因为是在root用户下执行定时任务时抛出的。修改用户名和用户组权限。
2023-12-05 13:09:40
1402
原创 麒麟v10 数据盘初始化 gpt分区
2048s”表示磁盘起始磁柱值,“100%”表示磁盘截止磁柱值,此处仅供参考,您可以根据业务需要自行规划磁盘分区数量及容量。有两种情况,一种是在一个磁盘上面留有一大块空间,另一种是新增一个磁盘,以下讨论的是第二种情况。输入“unit s”,按“Enter”,设置磁盘的计量单位为磁柱。gpt格式的磁盘才用parted分区。mount 磁盘分区 挂载目录。再查看磁盘,多了一个分区。
2023-12-05 11:46:01
2704
原创 eclipse svn ClassNotFoundException: javassist.ClassPool
五月 10, 2023 9:26:49 上午 org.apache.catalina.core.StandardContext filterStart。严重: Exception starting filter struts2。解决方法:把安装的SVN插件卸载就可以了。原因:是因为安装了SVN插件导致 的。
2023-05-12 09:02:13
439
原创 k8s环境jenkins发布vue项目指定nodejs版本
kubesphere 平台安装了jenkins ,基于Jenkins Kubernetes插件,自动化在Kubernetes中运行的Jenkins-slave代理的缩放。该插件为每个jenkins-slave代理创建Kubernetes Pod,并在每个构建后停止它。发布一个前端项目,它需要nodejs 16.9.0版本支持,而kubesphere 3.2.0集成的jenkins 的镜像只支持nodejs v10.16.3。发布vue项目需要以上镜像的支持,所以要改变nodejs的版本就需要改变该镜像。
2023-02-28 16:22:06
2125
原创 k8s证书未过期时续约
上面这个问题处理后,接下来重启了devops的里两个服务就解决了以下问题。把第一台的配置文件复制到第二,第三台:这一步不确定是否有用。第一台可以了,但是第二,第三台还是不行。
2023-02-27 10:24:24
55
k8s 安装 mongodb 分片(Sharding)+ 副本集(Replica Set)
2022-04-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人