- 博客(191)
- 资源 (14)
- 收藏
- 关注
原创 Java通过串口通信实现温度监测
开发环境 JDK1.8 + Rxtx2.1.7 + Eclipse一:首先,你需要下载一个额外的支持Java串口通信操作的jar包,由于java.comm比较老了,而且不支持64位系统,这里推荐Rxtx这个jar包(32位/64位均支持)。下载地址:http://files.cnblogs.com/files/Dreamer-1/mfz-rxtx-2.2-20081207-w...
2018-11-28 10:37:39
4027
13
原创 阿里云服务器搭建私人云盘seafile
cd进入根目录执行下面的指令 yum install wget -y wget https://raw.githubusercontent.com/helloxz/seafile/master/install_seafile.sh chmod +x install_seafile.sh && ./install_seafile.sh 粘贴上...
2018-09-13 11:38:42
9155
1
原创 04-机器学习与KNN算法
相册人物自动分类流媒体同类视频推荐手机语音服务:Hi Siri垃圾邮件自动识别机器学习是让计算机系统从数据中自动学习规律,并利用这些规律对新数据做出预测或决策,而无需人为编写明确的规则。与传统编程不同,机器学习是从数据中生成程序的过程。其核心不是写死的逻辑,而是通过数据驱动的方式,让模型自己学会如何完成任务。换句话说,传统程序是 “输入数据 + 程序代码 → 输出结果” ,而机器学习是 “输入数据 + 输出结果 → 学习程序代码”。机器学习的三大范式(三种不同的学习方式或学习框架)
2025-11-17 11:33:53
1014
原创 03-Dify安装部署
该如何选择版本,参考说明(AI提供):https://www.doubao.com/thread/wed5179cb926036d9。github地址:https://github.com/langgenius/dify/tree/main。下载需要等待一会,等下载完成以后,在Docker Deskstop里能看到对应的环境。Docker默认的镜像源是国外的,对于国内用户不太友好,所以我们切换成国内镜像源。当然,在今天的资料我也已经提前帮大家下载好了对应的源码包。选择模型供应商,然后搜索安装模型供应商。
2025-11-15 11:47:40
1501
原创 02-AI应用开发平台Dify
Dify 是一款开源的大语言模型(LLM)应用开发平台。它融合了后端即服务(Backend as Service)和LLMOps的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的工作流,并同时提供了一套易用的界面和 API。
2025-11-15 11:41:34
1579
原创 01-AI应用开发平台Coze
在人工智能领域,特别是大模型(Large Language Model, LLM)爆发式发展的今天,主流大模型指的是那些影响力大、应用广泛、技术先进、社区活跃的预训练语言模型。参数量巨大(通常在数亿到数千亿级别)基于海量文本进行预训练支持自然语言理解与生成任务可通过微调或提示工程(Prompting)应用于各种场景我们可以将主流大模型分为国外代表模型和国内代表模型两大类。国外主流大模型模型名称开发机构简要介绍GPT 系列OpenAI全球最知名的系列大模型,驱动 ChatGPT。
2025-11-13 21:28:30
1703
原创 09-微服务原理篇(XXLJOB-幂等-MySQL)
某电商系统需要在每天上午10点,下午3点,晚上8点发放一批优惠券。某银行系统需要在信用卡到期还款日的前三天进行短信提醒。某财务系统需要在每天凌晨0:10结算前一天的财务数据,统计汇总。12306会根据车次的不同,而设置某几个时间点进行分批放票。某网站为了实现天气实时展示,每隔5分钟就去天气服务器获取最新的实时天气信息。以上场景就是任务调度所需要解决的问题。任务调度是指系统为了自动完成特定任务,在约定的特定时刻去执行任务的过程。有了任务调度即可解放更多的人 力由系统自动去执行任务。
2025-11-13 19:53:32
1087
原创 08-微服务原理篇(Canal-Redis)
通过上边的解决方案分析可知:保证强一致性使用分布式锁对缓存的读和写加锁控制,这样可以保证强一致性,但是这样影响了使用缓存的性能,可以设想当前如果线程01正在修改缓存,此时线程02去读缓存就需要等线程01修改完成释放锁后才能读到最新数据,这肯定会影响读数据的性能。//获取写锁//修改数据库//更新缓存//释放锁//获取读锁//从缓存读取商品信息//释放锁保证最终一致性允许缓存和数据库的数据存在一段时间不一致,但最终数据会一致。可以使用延迟双删、定时任务异步同步的方式。
2025-11-13 19:52:45
1068
原创 07-ES分布式搜索引擎高级
所谓的地理坐标查询,其实就是根据经纬度查询,官方文档携程:搜索我附近的酒店滴滴:搜索我附近的出租车微信:搜索我附近的人找附近的酒店:附近查询,也叫做距离查询(geo_distance):查询到指定中心点小于某个距离值的所有文档。Elasticsearch 中的nested类型允许你在文档内存储复杂的数据结构,比如一个用户可能有多个地址,或者一个博客文章可能有多个标签等。nested类型可以让你索引这些复杂数据,并且允许你对嵌套的数据进行查询。
2025-11-12 11:00:25
854
原创 06-ES分布式搜索引擎入门
Elasticsearch是由elastic公司开发的一套搜索引擎技术,Elasticsearch的官方网站它是elastic技术栈中的一部分,整套技术栈被称为ELK,经常用来做日志收集、系统监控和状态分析等等。AI:ELK是干什么的ELK 是指一套流行的技术栈,用于构建高级的日志收集、分析和展示系统。Elasticsearch:这是一个分布式的、RESTful接口的搜索和分析引擎。它能够存储大量的数据,并且提供近乎实时的搜索能力。在ELK栈中,Elasticsearch作为存储和搜索日志数据的核心。
2025-11-12 10:57:29
870
原创 05-异步消息组件MQ高级
一般情况下,只要生产者与MQ之间的网路连接顺畅,基本不会出现发送消息丢失的情况,因此大多数情况下我们无需考虑这种问题。MQ内部处理消息的进程发生了异常生产者发送消息到达MQ后未找到Exchange生产者发送消息到达MQ的Exchange后,未找到合适的Queue,因此无法路由针对上述情况,RabbitMQ提供生产者确认机制,包括和两种。在开启确认机制的情况下,当生产者发送消息给MQ后,MQ会根据消息处理的情况返回不同的回执。
2025-11-12 10:56:04
839
原创 04-异步消息组件MQ基础
RabbitMQ的架构如图:publisher:生产者,也就是发送消息的应用程序consumer:消费者,也就是消费消息的应用程序queue:队列,存储消息的缓冲区。生产者投递的消息会暂存在消息队列中,等待消费者处理exchange:交换机,负责消息路由。生产者发送的消息由交换机决定投递到哪个队列。:虚拟主机,起到数据隔离的作用。每个虚拟主机相互独立,有各自的exchange、queue上述这些东西都可以在RabbitMQ的管理控制台来管理,下一节我们就一起来学习控制台的使用。
2025-11-12 10:54:36
631
原创 03-微服务网关与配置中心
无论是还是都支持自定义,只不过编码方式、使用方式略有差别。@Component@Slf4j@Override// 编写过滤器逻辑log.info("打印全局过滤器");// 放行// 拦截@Override// 过滤器执行顺序,值越小,优先级越高return 0;全局过滤器不用在路由中配置。请自行测试。自定义不是直接实现,而是继承。注意:该类的名称一定要以为后缀!/*** @description 第一个网关过滤器*/
2025-11-12 10:52:36
994
原创 02-服务保护、分布式事务
AI:Spring cloud微服务保护的方案Spring Cloud微服务架构中的服务保护是非常重要的,它能够确保系统的稳定性和可用性,特别是在面对突发流量或者服务异常的情况下。熔断 (Circuit Breaker)熔断机制用于在服务出现问题时快速失败,避免调用链路中的服务相互等待,导致整体系统响应变慢甚至不可用。如何快速失败(fast fail)呢?当服务的错误率达到一定程度时,断路器(相当于保险丝)会打开,直接返回错误而不是尝试调用服务。
2025-11-12 10:44:12
1611
原创 01-微服务服务注册与发现
我们发现一个问题:就是购物车业务中需要查询商品信息,但商品信息查询的逻辑全部迁移到了服务,导致我们无法查询,查询端口信息的代码已经屏蔽:最终结果就是查询到的购物车数据不完整,因此要想解决这个问题就需要通过远程调用技术。一个微服务架构的项目会包括很多的微服务,一次业务操作会由多个微服务互相协作完成,比如:一次下单操作的执行流程如下:执行流程如下:1.用户请求订单服务提交订单2.订单服务在自己的数据库创建订单3.订单服务请求账户服务,账户服务数据库扣减余额。
2025-11-12 10:42:21
1230
原创 历史教学视频&信息汇总
此篇幅将之前整理所有教学视频、文档进行归总合并,免得各处分散。希望阅读后有所帮助,有其他问题请直接留言或私信软件安装相关Eclipse项目导入教学:链接Idea项目导入教学:链接软件安装教学视频(JDK、MySQL、Tomcat、Maven等):链接MySQL版本不一致解决方案:链接答辩帮助相关小白改代码教学:链接小白看代码教学:链接模拟一次计算机答辩及问题解答(效果好):链接答辩帮助博客(搭配上面模拟视频更佳):博客教程2021届答辩答疑直播:链接Ja..
2022-03-20 18:09:30
1703
原创 基于新零售业务重构学习系统设计
关于DDD的落地可以参照:COLA开源框架:https://github.com/alibaba/COLA阶段一调整:业务复杂性聚合、收敛上述可以通过:组合方法模式,替代流程编排,但是结构化分解并不能解决全部问题领域知识被割裂肢解 代码表达业务语义能力弱阶段二调整:模型统一共享模型:解决读写分离、跨业务场景共用一个业务模型的处理为了解决模型的稳定性,而数据的不稳定性,需要有一层依赖倒置处理:convert 因为数据来源有可能是RPC、有可能是数据库...
2022-01-16 20:45:56
400
原创 LOMBOK注解修改set方法默认返回值
LOMBOK注解修改set方法默认返回值@Accessors(chain=true)package com.pollyduan;import lombok.Data;import lombok.experimental.Accessors;@Data@Accessors(chain=true)public class User { private Integer id; private String name; private Integer age;
2021-04-28 14:28:43
5510
转载 转载:Tomcat重复请求,log4j2日志重复显示问题排查
原文链接:http://www.amd5.cn/atang_3841.html前提:公司项目用的是nginx+tomcat+java,线上环境和线下环境版本配置都是一样,采用的是jenkins自动化部署。问题:前段时间突然发现浏览器访问一个页面,后端日志会出现重复的两条日志记录一模一样,请求时间都是一样的,经过测试发现所有的请求都会有两条重复的日志记录。如下图:排查:1、一开始认为是前端重复请求了,查看nginx访问日志,发现刷新一次页面的确nginx会出现两条请求记录,一次是O
2020-12-29 10:38:32
1651
1
原创 String字符串GBK转UTF8
假设有字符串String str = "***";转换语句为str=new String(str,"GBK").getBytes("UTF-8")
2020-12-10 14:04:40
3251
原创 & | ^运算
& 运算 ------------------------2个都为1-》10&1 =0; 0&0 =0;1&0 =0;1&1 =1;| 运算 ---------------------------1个为1--》10|0=0; 0|1=1;1|0=1;1|1=1;^ 运算---------------------------不同则为1,相同则为0 //当且仅当两个运算值中有一个为1但...
2020-12-07 15:19:02
187
原创 ACP云计算认证:个人笔记(真题总结)
Elastic Compute Server 是一种处理能力可弹性伸缩的计算服务。CPU内存需要停机,带宽不需要。 垂直:带宽 CPU 内存 水平:服务器 Region 地域 Zone 可用区 安全组, 允许包含跨可用区的实例 磁盘 只能挂在同一可用区 快照镜像 可以跨可用区,镜像可以复制到别的地域 发生故障时,实例只能在同一个可用区迁移 默认系统盘40GB-500GB ,系统盘设备名:/dev/xvda ECS创建时必须要选择 镜像 来确定其操作系统...
2020-10-20 21:01:08
1134
原创 常见Lambda使用技巧
初始化程序private static List<User> initData() { User user1 = new User(1, 10, "1994-1-1", "15"); User user2 = new User(2, 20, "1995-1-1", "25"); User user3 = new User(3, 30, "1996-1-1", "25"); User user4 = new User(4, 40, "1997-1-1", "45");
2020-10-20 21:00:03
471
原创 Tomcat报错:No buffer space available
近日收到一个客户方的反馈,应用程序无法访问,想着应该是中间件异常了,重新启动一下就好,然而,登陆服务器的时候,发现tomcat已经不知道什么时候自动结束了,程序运行在tomcat+windows server2008的环境下,以为是客户给结束了,然后直接尝试重启,发现如下报错(前面的一堆就不再截取了,因为此文是事后所写,报错信息是从日志文件中取出):严重: Error starting endpointjava.io.IOException: Unable to establish l...
2020-10-20 20:56:10
1905
原创 Arthas精准定位Java应用CPU负载过高问题
1.前言尝试一:定位哪个Controller执行了代码前言trace指令能追踪调用链路,而Springmvc应用都是借助于:javax.servlet.Servlet * 执行的watch指令能够实时监测指定方法的:返回值,抛出异常,入参,同时支持OGNL操作实践为了节省时间,这里直接给出实施方案,采用watch指令,命令如下[监听内容是依靠trace的内容决定的,但是SpringMvc应用都是一样的,所以可以复用]:watch org.springframework.we
2020-10-20 20:54:09
656
原创 2.Arthas基础指令
1.dashboard输入dashboard,按回车/enter,会展示当前进程的信息,按ctrl+c可以中断执行ID: Java级别的线程ID,注意这个ID不能跟jstack中的nativeID一一对应 NAME: 线程名 GROUP: 线程组名 PRIORITY: 线程优先级, 1~10之间的数字,越大表示优先级越高 STATE: 线程的状态 CPU%: 线程消耗的cpu占比,采样100ms,将所有线程在这100ms内的cpu使用量求和,再算出每个线程的cpu使用占比。 TIME
2020-10-20 20:52:59
937
原创 1.Arthas下载安装
1.依赖Arthas的使用需要别的Java应用先启动,所以确保您的服务器上(Windows/Linux/Mac)上已经启动需要安装JDK需要能访问公网2.安装arthas-bootcurl -O https://arthas.aliyun.com/arthas-boot.jar下载完成后如下图3.上传一个java应用您可以用我自己开发的这个Demo(基于SpringBoot+JDK1.8),如下附件:????Arthas.jar或使用官方提供的:cur
2020-10-20 20:51:51
5070
2
原创 初始化Map,大小应该是:size/0.75+1
初始化Map并非用多少初始化Size是多少,建议使用Guava,避免扩容引起的动荡()说明如:Map<String, String> map = new HashMap<>(1); 在具体使用时,并非size=1,而是最近的2的幂等,如1实际是2,3实际是4,9实际是16使用方法依赖gvaua:Map<String, String> map = Maps.newHashMapWithExpectedSize(7);<dependency>
2020-10-20 20:48:27
3403
原创 阿里云Flink开通
前置条件访问地址:https://realtime-compute.console.aliyun.com/#/sell/serverless/asi/default,进行产品开通。开通前提是账户余额需要>100,如不满足请先缴费充值。1.开通全托管Flink这里的“计算资源配额”,对于新用户1-10CU都是99元首月(包年包月计费模式下),其中1 CU = 1 核 CPU + 4Gi 内存,为了更好体验Flink的实时计算效果,新用户可以默认10CU,后续使用结合自己实际使用场景进
2020-10-20 20:47:05
1000
原创 a too low setting for -Xss and illegal cyclic inheritance dependencies.
tomcat日志:ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)at or
2020-08-24 15:14:40
1087
原创 各种数据形式转JSON与互转
引用以下包在未主动声明前提下,均为下述引用import cn.hutool.core.util.XmlUtil;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import java.util.List;import java.util.Map;一维数组转JSONpublic static String arrToJson(String[] arr) { String jsonStr = JSONAr
2020-08-24 15:12:35
877
1
原创 超长String接收处理(常量字符串过长修复方案)
1 背景String内部是以char数组的形式存储,数组的长度是int类型,那么String允许的最大长度就是Integer.MAX_VALUE了。又由于java中的字符是以16位存储的,因此大概需要4GB的内存才能存储最大长度的字符串。不过这仅仅是对字符串变量而言,如果是字符串字面量(string literals),如“abc"、"1a2b"之类写在代码中的字符串literals,那么允许的最大长度取决于字符串在常量池中的存储大小,也就是字符串在class格式文件中的存储格式:CONSTA
2020-08-20 20:29:50
25756
原创 记Arthas实现一次CPU排查与代码热更新
1.前言背景线上代码经常会出现CPU占用过高的情况,按以往经验我会使用top指令,进一步借助于jstack去查看具体信息从而进行问题排查,但基本上都逃不过需要重新发包的局面,及时是一个增量包,应用也需要短暂停启。后来运维大兄弟让我试一下Arthas,说是可以进行代码的热更新操作,正好来试一下。关于Arthas的安装与基础使用可以参考我这两篇:Arthas安装与监听SpringBoot应用Arthas基础指令使用说明环境JDK1.8SPringBoot 2.2.2Arthas
2020-08-19 18:38:13
673
原创 SpringBoot自动装配机制源码剖析【图文说明】
前言SpringBoot主启动类被@SpringBootApplication所修饰,点击进去该注解,出现上图,会发现其为组合注解,本章节将会基于注解进行解释其自动装配在源码层面是怎么实现的,完整的注解调用链路如下图所示:1.元注解@Target注解注解的作用目标 @Target(ElementType.TYPE) //接口、类、枚举、注解 @Target(ElementType.FIELD) ...
2020-08-15 15:32:48
1406
统计SVN代码提交次数工具-statSVN
2019-01-14
基于Java的上下位机室内参数监测
2019-01-06
FastDFS所需全部资源,大小170M
2019-10-14
Redis Windows版本双击即可使用
2020-08-24
customizer.jar、jmf.jar、multiplayer.jar、sound.jar、mediaplayer.jar
2018-10-21
Dubbo+Spring+zookeeper即插即用Demo
2019-06-06
zookeeper_for_dubbo.7z
2019-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅