- 博客(335)
- 资源 (23)
- 收藏
- 关注
原创 数据结构 - 稀疏数组
当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。记录数组一共有几行几列,有多少个不同的值。把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模。
2025-03-09 15:11:20
1085
原创 数据结构和算法内容介绍
数据结构和算法的重要性数据结构和算法概述数据结构和算法的关系线性结构和非线性结构线性结构非线性结构数据结构是一门研究组织数据方式的科学,有了编程语言也就有了数据结构。学好数据结构可以编写出更加漂亮、更加有效率的代码。要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决。程序 = 数据结构 + 算法数据结构是算法的基础,换言之,想要学好算法,需要把数据结构学到位。
2025-03-09 15:10:45
374
原创 DeepSeek的核心技术探索
DeepSeek 2023年7月成立于杭州,是幻方量化旗下的子公司,全称是杭州深度求索人工智能基础技术研究有限公司。“成立时间才一年多”、“最近推出的V3已经能和OpenAI的4o(名称中"o"代表Omni,即全能的意思,凸显了其多功能的特性。)媲美”、“训练成本不到600W美元”、“API定价仅是国内其它头部厂商几十分之一”、“APP已经在中美APP store登上免费应用榜首”;
2025-02-11 18:08:47
1071
原创 Windows下载安装Ollama
Ollama是一个开源工具,能够运行多种大型语言模型,如LLAMA、Qwen和Mistral等。它支持在本地部署,用户可以通过命令行与模型进行交互,并且可以通过Web界面进行调用。。
2025-02-07 18:37:05
6343
原创 国产AI大模型DeepSeek的本地化部署
1月20,DeepSeek (全称,杭州深度求索人工智能基础技术研究有限公司) 正式发布DeepSeek-R1模型,这位AI界的"后起之秀"似乎在一夜之间成了科技圈的"网红",一度登顶苹果美国地区应用商店免费App下载排行榜。
2025-02-07 18:35:58
1470
原创 Java 开发的智能工具 SpringAI
随着人工智能技术的飞速发展,越来越多的开发者开始探索如何将AI能力集成到现有的应用中来提升产品的智能化水平。Spring AI 正是为Java开发者提供的一款强大的 AI 框架,使得这一集成过程变得前所未有的简单和高效。本文将探讨 Spring AI的核心概念以及如何快速上手使用这款智能新利器。目前AI应用程序开发框架主要是Python生态;而Spring AI是由Spring团队推出的一个扩展框架,专为将 AI 能力集成到Java应用中而设计。
2025-01-24 08:56:49
982
原创 Spring Security 应用详解
Spring Boot是一套Spring的快速开发框架,基于Spring4.0设计,使用Spring Boot开发可以避免一些繁琐的工程搭建和配置,同时它集成了大量的常用框架,快速导入依赖包,避免依赖包的冲突。基本上常用的开发框架都支持Spring Boot开发,例如:MyBatis、Dubbo等,Spring家族更是如此,例如:Spring cloud、Spring mvc、Spring Security等,使用Spring Boot开发可以大大提高生产效率,所以Spring Boot的使用率非常高。
2025-01-24 08:56:01
976
原创 Rancher UI无法访问 x509: certificate has expired or is not yet valid
升级到 Rancher v2.0.14+ 、v2.1.9+、v2.2.2+ 后会自动检查证书有效期,如果发现证书即将过期,将会自动生成新的证书。所以独立容器运行的 Rancher Server,只需在证书过期前把 rancher 版本升级到支持自动更新 ssl 证书的版本即可,无需做其他操作(此描述本人持有疑虑,因为我部署的单节点Rancher Server2.5.6的证书满一年期证书过期了)。即使升级到 Rancher v2.0.14+ 、v2.1.9+、v2.2.2+ 也可能会提示证书错误。
2025-01-22 08:43:01
615
原创 Spring Cloud Alibaba AI 入门与探索
Spring AI 是 Spring官方社区项目,旨在简化 Java AI应用程序开发,让Java开发者像使用Spring开发普通应用一样开发AI应用。Spring Cloud Alibaba AI是一个将Spring Cloud微服务生态与阿里巴巴AI能力无缝集成的框架,帮助开发者快速构建具备AI功能的现代应用。本文将介绍Spring Cloud Alibaba AI的基本概念、主要特性和功能,并演示如何完成一个 在线聊天 和 在线画图 的AI应用。
2025-01-22 08:33:30
2691
原创 JAVA集合
它继承于HashSet,其所有的方法操作上又与HashSet相同,因此LinkedHashSet的实现上非常简单,只提供了四个构造方法,并通过传递一个标识参数,调用父类的构造器,底层构造一个LinkedHashMap来实现,在相关操作上与父类HashSet的操作相同,直接调用父类HashSet的方法即可。TreeMap实现SortedMap接口,能够把它保存的记录根据键排序,默认是按键值的升序排序,也可以指定排序的比较器,当用Iterator遍历TreeMap时,得到的记录是排过序的。
2025-01-04 15:19:21
924
原创 JVM
JVM线程JVM内存区域程序计数器(线程私有)虚拟机栈(线程私有)本地方法区(线程私有)堆(Heap-线程共享)-运行时数据区方法区/永久代(线程共享)JVM运行时内存新生代Eden区Servivor FromServivor ToMinorGC的过程(复制->清空->互换)老年代永久代JAVA8与元数据垃圾回收与算法如何确定垃圾引用计数法可达性分析标记清除算法(Mark-Sweep)复制算法(copying)标记整理算法(Mark-Compact)分代收集算法新生代与复制算法老年代与标记整理算
2025-01-04 15:19:09
994
原创 基本概念说明
进入移动互联网时代,大家每天都在刷手机,常用的软件有微信、支付宝、头条等,下边拿微信来举例子说明认证相关的基本概念,在初次使用微信前需要注册成为微信用户,然后输入账号和密码即可登录微信,输入账号和密码登录微信的过程就是认证。系统为什么要认证?认证是为了保护系统的隐私数据与资源,用户的身份合法方可访问该系统的资源。认证:用户认证就是判断一个用户的身份是否合法的过程,用户去访问系统资源时系统要求验证用户的身份信息,身份合法方可继续访问,不合法则拒绝访问。
2024-10-24 01:30:00
724
原创 基于Session的认证方式
基于Session认证方式的流程是,用户认证成功后,在服务端生成用户相关的数据保存在session(当前会话),而发给客户端的session_id存放到cookie中,这样客户端请求时带上session_id就可以验证服务器端是否存在session数据,以此完成用户的合法校验。因此,在认证成功后,一般会把认证成功的用户信息放入Session中,在后续的请求中,系统能够从Session中获取到当前用户,用这样的方式来实现会话机制。基于Session的认证方式是一种常见的认证方式,至今还有非常多的系统在使用。
2024-10-24 01:30:00
929
原创 OAuth2.0
OAuth(开放授权)是一个开放标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不需要将用户和密码提供给第三方应用或分享他们数据的所有内容。OAuth2.0是OAuth协议的延续版本,但不向后兼容OAuth1.0,即完全废止了OAuth1.0。很多大公司如Google、Yahoo、Microsoft等都提供了OAUTH认证服务,这些都足以说明OAUTH标准逐渐称为开放资源授权的标准。OAuth协议目前发展到2.0版本,1.0版本过于复杂,2.0版本已得到广泛应用。
2024-10-23 23:45:00
1464
原创 Spring Security快速上手
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。由于它是Spring生态系统中的一员,因此它伴随着整个Spring生态系统不断修正、升级,在spring boot项目中加入spring security更是十分简单,使用Spring Security减少了为企业系统安全控制编写大量重复代码的工作。
2024-10-23 23:45:00
893
原创 Spring Security OAuth2.0认证授权
Spring Security OAuth2.0认证授权目录基本概念基于Session的认证方式Spring-Security快速上手Spring-Security应用详解分布式系统认证方案OAuth2.0Spring-Security实现分布式系统授权目录基本概念基于Session的认证方式Spring-Security快速上手Spring-Security应用详解分布式系统认证方案OAuth2.0Spring-Security实现分布式系统授权
2024-10-09 23:45:00
337
原创 springboot 项目使用 gitlab 的 API
需求是通过gitlab的api获取其中的数据。gitlab官方API文档:https://docs.gitlab.com/ee/api/users.htmlgitlab的github地址:https://github.com/eutkin/gitlab4j-api/
2024-10-09 23:00:00
2111
原创 分布式系统认证方案
随着软件环境和需求的变化,软件的架构由单体结构演变为分布式架构,具有分布式架构的系统叫分布式系统,分布式系统的运行通常依赖网络,它将单体结构的系统分为若干服务,服务之间通过网络交互来完成用户的业务处理,当前流程的微服务架构就是分布式系统架构,如下图:分布式系统具有如下基本特点:1、分布性:每个部分都可以独立部署,服务之间交互通过网络进行通信,比如:订单服务、商品服务。2、伸缩性:每个部分都可以集群方法部署,并可针对部分节点进行硬件及软件扩容,具有一定的伸缩能力。
2024-09-05 23:45:00
984
原创 麒麟系统 mate_indicators 进程占用内存资源高
桌面组件mate-indicators在长时间使用后发现有占用内存过高的情况,尤其是在某些用户场景,如频繁打开日历或不停点击日历等操作,会造成mate-indicators占用内存的迅速增长,且在长时间不操作的情况下,占用的内存不释放。从现象来看,mate-indicators在运行中未及时回收内存,长时间运行时,就出现了内存占用过高的现象。升级mate-indicators至mate-indicators-20150918kord0ukui58-10.p07.ky10及以后版本。
2024-09-05 23:45:00
2480
1
原创 RocketMQ源码分析
RocketMQ源码分析 - 环境搭建RocketMQ源码分析 - NameServerRocketMQ源码分析 - ProducerRocketMQ源码分析 - 消息存储RocketMQ源码分析 - Consumer
2024-08-20 23:45:00
434
原创 RocketMQ源码分析 - 环境搭建
创建conf配置文件夹,从distribution拷贝broker.conf和logback_broker.xml和logback_namesrv.xml。展开namesrv模块,右键NamesrvStartup.java。配置ROCKETMO_HOME。
2024-08-20 23:45:00
816
原创 RocketMQ源码分析 - NameServer
消息中间件的设计思路一般是基于主题订阅发布的机制,消息生产者(Producer)发送某一个主题消息到消息服务器,消息服务器负责将消息持久化存储,消息消费者(Consumer)订阅该兴趣的主题,消息服务器根据订阅信息(路由信息)将消息推送到消费者(Push模式)或者消费者主动向消息服务器拉取(Pull模式),从而实现消息生产者与消息消费者解耦。NameServer与每台Broker保持长连接,并间隔10s检测Broker是否存活,如果检测到Broker宕机,则从路由注册表中删除。
2024-08-20 23:45:00
1034
原创 RocketMQ源码分析 - Producer
/创建主题//根据时间戳从队列中查找消息偏移量//查找消息队列中最大的偏移量//查找消息队列中最小的偏移量 long minOffset(final MessageQueue mq)//根据偏移量查找消息//根据条件查找消息//根据消息ID和主题查找消息//启动//关闭//查找该主题下所有消息//同步发送消息//同步超时发送消息//异步发送消息//异步超时发送消息//发送单向消息//选择指定队列同步发送消息。
2024-08-20 23:45:00
1144
原创 RocketMQ源码分析 - 消息存储
RocketMQ源码分析 - 消息存储消息存储1) 消息存储核心类2) 消息存储流程3) 存储文件4) 存储文件内存映射1 MappedFileQueue2 MappedFile3 TransientStorePool5) 实时更新消息消费队列与索引文件1 转发到ConsumerQueue2 转发到Index6) 消息队列喝索引文件恢复1 存储文件加载2 正常恢复3 异常恢复7) 刷盘机制1 同步刷盘2 异步刷盘8) 过期文件删除机制9) 小结消息存储1) 消息存储核心类private final
2024-08-20 23:45:00
1104
原创 RocketMQ源码分析 - Consumer
消息消费以组的模式开展,一个消费组内可以包含多个消费者,每一个消费者组可订阅多个主题,消费组之间有集群模式和广播模式两种消费模式。集群模式,主题下的同一条消息只允许被其中一个消费者消费。广播模式,主题下的同一条消息,将被集群内的所有消费者消费一次。消息服务器与消费者之间的消息传递也有两种模式:推模式、拉模式。所谓的拉模式,是消费端主动拉起拉消息请求,而推模式是消息达到消费服务端后,推送给消息消费者。RocketMQ消息推模式的实现基于拉模式,在拉模式上包装一层,一个拉取任务完成后开始下一个拉取任务。
2024-08-20 23:45:00
1220
原创 Docker 容器网络及其配置说明
自定义 docker0 网桥的网络属性信息需要修改 /etc/docker/daemon.json 配置文件在客户端上像 dockerd 直接传递 "-H|–host"选项指定要控制哪台主机上的 docker 容器/ #再创建一个容器,使用默认的bridge桥/ # ls/ #
2024-07-06 23:45:00
2762
原创 rocketmq-console可视化界面功能说明
(1) Broker TOP 10 :是指集群中的Broker列表,可以查看broker处理消息的数量。rocketmq-console是rocketmq的一款可视化工具,提供了mq的使用详情等功能。(3) 主题 TOP 10 : 是集群中Topic的列表,查看所有topic的消息数量。(2) Broker 5min trend : 五分钟内Broker的趋势信息。TopicTest是rocketmq系统自带的Topic,默认配置有4个队列。(4) 筛选出某个Topic下5分钟的消息数量。
2024-07-06 23:45:00
1440
原创 Docker的理解
UnionFS使用branch(分子)将不同文件系统的文件和目录透明叠加覆盖, 形成一个单一一致的文件系统, 此外UnionFS使用写时复制(Copy on Write,简称, CoW)技术来提高合并后文件系统的资源利用。Docker镜像分层、增量增加等功能正是通过利用AUFS的分层文件系统结构、增量增加等功能实现, 这也导致了运行Docker容器如果没有指定volume(数据卷)或bind mount, 则Docker容器结束后,运行时产生的数据便丢失了。
2024-06-27 23:45:00
1389
原创 Kubernetes实现应用零宕机
Kubernetes确实有神奇的作用,但只有当应用程序尽可能是云原生且配置正确时,它才能发挥神奇作用。最少两个实例添加健康检查(探针)应用程序必须处理Sigterm配置自动缩放器给予足够的资源使用pod反亲和力添加PDB如果一切设置正确,Kubernetes体验将令人难以置信,你将大大减少应用停机情况。
2024-06-27 23:45:00
699
原创 Kubernetes架构详解
Kubernetes的核心组件部署在Master管理节点上,主要作用是作为Kubernetes的"大脑",控制整个分布式集群的运转,Node节点作为"四肢",执行Master的操作指令。Scheduler调度程序会监视来自API Server的新请求,并将其分配给运行状态良好的节点,比如:对节点的质量进行排名,并将Pod部署到最适合的节点。在Kubernetes中,Pod是调度的最小元素,没有它容器就不能成为集群的一部分,主节点会把Pod调度到特定工作节点上,并与容器运行时协调以启动容器。
2024-06-12 23:45:00
1583
原创 K8S功能详解
Kubernetes工作节点(Node)通过:Kubelet、Kube-proxy和容器运行时等组件,提供了强大的容器运行环境。K8S全称是"Kubernetes",是一个容器编排平台,用于自动化应用程序的部署、扩展和管理,由谷歌(Google)开发。1.容器编排:Kubernetes(K8S)的核心功能之一,容器编排可以自动管理、协调容器化应用程序的部署、扩展和运行。等,确保集群状态与期望状态一致。以及,监控未绑定到节点的Pod,并根据预定义的策略和约束,将其分配到合适的节点上。
2024-06-12 23:45:00
1832
原创 Docker 是什么? Docker 和 k8s 之间是什么关系?
Docker 本质上就是一个将程序和环境打包并运行的工具软件,而 Docker 容器本质上只是个自带独立运行环境的特殊进程,底层用的其实是宿主机的操作系统内核。Docker 软件 通过 Dockerfile 描述环境和应用程序的依赖关系, docker build 构建镜像, docker pull/push 跟 Docker Registry 交互实现存储和分发镜像,docker run 命令基于镜像启动容器,基于容器技术运行程序和它对应的环境,从而解决环境依赖导致的各种问题。
2024-05-20 23:30:00
1052
1
原创 Spring Boot优雅重试调用第三方API
Spring Retry是Spring框架提供的一个模块,它通过提供注解或编程的方式,帮助我们实现方法级别的重试机制。在Spring Boot中,可以很方便地集成并使用Spring Retry。在Spring Boot项目中,通过集成Spring Retry模块,我们可以优雅地实现对第三方API调用的重试机制。通过@Retryable注解,我们能够很方便地在方法级别上添加重试策略。同时,异步方法和异常类型的支持使得我们能够更灵活地应对不同的业务场景。
2024-05-20 08:50:28
686
原创 RocketMQ消息发送样例
顺序消息的原理解析:在默认的情况下消息发送会采取Round Robin轮询方式把消息发送到不同的queue(分区队列);消费者将接收包含TAGA或TAGC的消息,但是限制是一个消息只能有一个标签,这对于复杂的场景可能不起作用。限制是这些批量消息应该有相同的topic,相同的waitStoreMsgOK,而且不能是延时消息。上图说明了事务消息的大致方案,其中分为两个流程:正常事务消息的发送及提交、事务消息的补偿流程。消费者采用负载均衡方式消费消息,多个消费者共同消费队列消息,每个消费者处理的消息不同。
2024-04-10 23:30:00
1201
原创 Spring Boot实现跨域的5种方式
当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域当前页面url被请求页面url是否跨域原因否同源(协议、域名、端口号相同)跨域协议不同 (http/https)跨域主域名不同 (test/baidu)跨域子域名不同 (www/bloq)跨域端口号不同 (8080/7001)首先编写一个过滤,可以起名字为MyCorsFilter.java@Component@Override@Override@Override。
2024-04-10 23:30:00
1132
1
原创 安装RocketMQ报错汇总
原因在于如果我们已经创建好了store文件夹作为存储路径,并且broker的配置文件中写的是同一个路径,就会起冲突。修改broker-b-s.properties配置文件中的rocketmq路径,改成rocketmq1。
2024-03-18 11:49:05
508
原创 Centos启用rc-local服务
大多时候我们可以在/etc/rc.d/rc.local中写一些命令来实现随着服务器的启动(重启)运行自己的程序或服务,但是配置后无法启动,查看了下rc-local.service服务状态显示未启动。static;Condition: start condition failed at 五 2024-03-15 15:40:37 CST;2s ago。
2024-03-17 23:04:56
1341
原创 RocketMQ集群搭建
Producer:消息的发送者;举例:发信者Consumer:消息的接收者;举例:收信者Broker:暂存和传输消息;举例:邮局NameServer:管理Broker;举例:各个邮局的管理机构Topic:区分消息的种类;一个发送者可以发送消息给一个或者多个Topic;一个消息的接收者可以订阅一个或者多个Topic消息Message Queue:相当于是Topic的分区;用于并行发送和接收消息。
2024-03-15 18:41:58
1202
nexus-3.19.1-01.zip
2020-09-21
dubbo-admin-develop.zip
2020-10-27
elastic-job-lite-console-2.1.5.tar.gz
2020-04-03
layui.js 下载
2020-08-18
jdk-8u161-linux-x64.tar.gz 压缩包
2020-10-26
VMware-workstation-full-16.0.0-16894299.rar
2020-09-21
后台管理系统一.zip
2020-11-09
jquery-1.8.3.min.zip
2020-08-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人