- 博客(320)
- 资源 (1)
- 收藏
- 关注

原创 Spring框架详解New
Spring框架详解New1. Spring框架概述2. Spring框架特点3. Spring框架优缺点3.1 Spring框架优点3.2 Spring框架缺点4. Spring框架设计模式5. Spring IoC5.1 Spring IoC概念5.2 Spring BeanFactory5.3 Spring ApplicationContext5.4 BeanFactory 和 ApplicationContext的区别5.5 Spring DI 依赖注入5.6 WebApplication 体系架构
2022-02-11 15:17:39
1737

原创 SpringCloud分布式架构详解
SpringCloud系统架构详解1. SpringCloud概述1.1 SpringCloud概述1.2 SpringBoot与SpringCloud依赖关系1.3 SpringCloud总体架构及组件说明2. Spring Cloud Netflix2.1 Eureka服务注册与发现2.2 Zookeeper服务注册与发现2.3 Consul服务注册与发现2.4 Ribbon负载均衡服务调用2.5 OpenFeign服务接口调用2.6 Hystrix断路器2.7 Zuul服务网关2.8 Gateway新
2021-12-17 12:45:00
4307
1

原创 SpringCloud分布式架构演进
SpringCloud总体架构及演变1. 系统架构演进1.1 单体应用架构1.2 垂直应用架构1.3 SOA架构1.4 微服务架构1.5 SOA与微服务的关系2. 分布式核心功能2.1 远程调用2.2. CAP原理3. SpringCloud三种架构方案3.1 Spring Boot + Spring Cloud Netflix3.2 Spring Boot + Spring Cloud Alibaba3.3 Spring Boot + Dubbo + Zookeeper1. 系统架构演进1.1 单体应
2021-12-14 11:15:22
3084
4

原创 Java设计模式详解
Java设计模式详解1. 设计模式目的2. 设计模式原则3. 设计模式概述4. 设计模式分类5. 设计模式详解1. 设计模式目的编写软件过程中, 程序员面临着来自 耦合性, 内聚性以及可维护性, 可扩展性, 重用性, 灵活性 。1.代码重用性 (即: 相同功能的代码, 不用多次编写)2.可读性 (即: 编程规范性, 便于其他程序员的阅读和理解)3.可扩展性 (即: 当需要增加新的功能时, 非常的方便, 称为可维护)4.可靠性 (即: 当我们增加新的功能后, 对原来的功能没有影响)5.使程序呈现
2021-11-15 10:15:45
1831

原创 Github域名解析连接慢问题
Github域名解析连接慢问题1. Github访问慢问题2. Github连接解决方案2.1 使用 Gitee 的镜像仓库2.2 配置本地的 hosts 文件3. DNS域名解析分析3.1 根域名服务器3.1 顶级域名服务器3.1 域名解析流程1. Github访问慢问题Github 作为全球最大的代码托管平台和开源社区,因为它的服务器在国外,所以一直存在访问速度过慢、甚至有时候超时无法访问的问题。2. Github连接解决方案2.1 使用 Gitee 的镜像仓库大家都知道国内正在积极推动开源社
2021-11-12 11:09:42
3685

原创 Java对接微信开放平台详解
Java对接微信开放平台详解1.开放平台概述1.1开放平台定义1.2 开放平台概述2.开放平台配置2.1 配置流程说明2.2 配置具体操作2.3 授权序列图2.4 项目对接流程3.项目实现3.1 创建项目3.2 项目依赖3.3 项目配置3.4 加解密工具3.5 代码实现4.验证测试4.1 项目测试流程4.2 启动验证票据服务4.3 获取验证票据4.4获取component_access_token4.5获取pre_auth_code4.6获取链接,手动拼接html的链接4.7扫码授权4.8授权成功跳转成功页
2021-10-27 14:33:56
4223
1

原创 前端框架React,Angular和Vue详解
前端框架React,Angular和Vue详解1. 三种架构概述2. React简介2.1 React概述2.2 React起源2.3 React特点3. Vue概述3.1 Vue简介3.2 Vue起源3.3 Vue特点4. Angular概述4.1 Angular简介4.2 Angular起源4.3 Angular特点5. 三种框架对比分析5.1 核心发展5.2 灵活性5.3 性能5.4 对比总结1. 三种架构概述React,Angular,Vue是目前比较主流的三种前端web应用构建工具。Angu
2021-09-04 08:45:23
1961
2

原创 系统需求分析与领域建模
架构设计 系统需求的分析与设计1. 软件开发概述2. 系统需求分析总体过程3. 系统需求分析案例3.1 领域划分3.2 业务用例1. 软件开发概述常见软件开发流程需求阶段需求调研 - 产出:业务需求说明书需求分析 - 产出:需求分析说明出,可行性分析报告业务建模 - 产出:业务用例(用例图)系统建模 - 产出:系统用例(时序图)数据建模 - 产出:数据库设计(ER图)设计阶段架构设计-网络拓扑图领域划分-划分边界接口拆分-接口文档,sdk概要设计详细设计实现阶段项
2021-07-09 23:07:38
3737
4

原创 DDD领域驱动设计详解
DDD领域驱动设计1. 领域驱动设计1.1 什么是领域驱动设计1.2 为什么用领域驱动设计2. DDD核心知识体系2.1 DDD核心概念2.2 DDD战略战术设计2.2.1 DDD战略设计2.2.1 DDD战术设计3. DDD微服务架构模型3.1 基本架构3.1.1 DDD分层架构3.1.1 六边形理论3.1.1 CQRS架构设计3.2 代码结构3.3 服务调用1. 领域驱动设计1.1 什么是领域驱动设计领域驱动设计(Domain Driven Design) 是一种从系统分析到软件建模的一套方法论
2021-06-04 16:55:38
60760
11
原创 AIGC开启人工智能新时代
通过对海量数据的学习与分析,AIGC系统能够理解各种模式和规律,从而依据给定的指令或条件,生成文本、图像、音频、视频等丰富多样的内容形式。与传统的人类创作内容(HGC,Human - Generated Content)相比,AIGC突破了人类生理和时间的限制,开启了内容创作的新范式。影视制作中,AIGC可用于生成虚拟场景、特效镜头,甚至创建虚拟演员,降低制作成本和难度,实现难以拍摄的画面效果。在医学影像分析中,AIGC助力医生快速识别和分析X光、CT、MRI等影像,检测疾病迹象,提高诊断准确性和效率。
2025-01-17 10:59:29
830
原创 EasyExcel停更,FastExcel接力
目前项目在GitHub上拥有超过30k的stars和7.5k的forks,维护6年关闭了超过3000个issue。但有个好消息:EasyExcel的作者创建了新项目:FastExcel。EasyExcel以其快速、简洁和解决大文件内存溢出的能力而著称,官方测试显示,仅需16M内存即可读取75M(46万行25列)的Excel文件,且耗时仅23秒。11月6日消息,阿里巴巴旗下的Java Excel工具库EasyExcel近日宣布,将停止更新,未来将逐步进入维护模式,将继续修复Bug,但不再主动新增功能。
2024-12-24 14:05:24
457
原创 数据库建模工具 PDManer
PDManer(元数建模)是一款功能强大且易于使用的开源数据库建模工具。它不仅支持多种常见数据库,如MySQL、PostgreSQL、Oracle、SQL Server等,还特别支持国产数据库如达梦、GuassDB等。PDManer集成了数据表管理、视图生成、ER图绘制、数据字典管理和代码生成等多项功能,旨在帮助开发者更高效地进行数据库设计和项目开发。PDManer官方定义是数据库建模工具,其实不止如此,数据建模+生成ddl+生成代码。等等都帮我们很好的完成了。
2024-12-19 17:12:02
516
原创 如何设计一个秒杀系统
对于设计一个秒杀系统,结合图片分层结构,根据每一层从访问层,负载层,服务层,业务层,支撑层,数据层,详细说明每一层应该怎么设计。应该注意那些事项。比如访问层应使用静态资源避免频繁与服务端交互,延迟高且给服务器带来压力,秒杀开始前按钮置灰同样减少与后台服务端交互造成压力。
2024-12-19 07:20:42
532
原创 SpringBoot 应用并发处理请求数的深入解析
在现代Web开发中,了解一个应用程序可以同时处理多少个并发请求是至关重要的。对于基于Spring Boot构建的应用程序来说,这个问题的答案并非绝对,而是取决于多个因素,包括但不限于使用的Servlet容器、配置项以及应用本身的性能特性。
2024-12-13 08:24:33
754
原创 AI与程序员的关系
在当今科技迅猛发展的时代,人工智能(AI)的应用已渗透到社会的各个层面,包括软件开发领域。关于AI是否将完全取代程序员的讨论热度不减,然而,深入分析AI与程序员之间的关系后,我们可以得出一个更加清晰且积极的结论:AI并非旨在替代程序员,而是作为辅助工具,助力程序员提升工作效率和创新能力。面对AI,既不危言耸听丧失未来的信心,不要成天觉着AI即将替代自己,过度杞人忧天。也不要过度依赖AI,丧失核心竞争力,思考力,判断力,创新力。
2024-12-12 12:36:27
422
原创 关于35岁问题探讨
35岁有35岁的优势与劣势,资本与企业不同,企业的发展靠的更多是通过更优质的产品与服务推动社会发展,企业长足发展,获取长久利润,不仅仅是只通过降低成本提高利润,同时还要承担降本的风险。针对35岁在职场上可能遇到的年龄歧视问题,以下是35岁职业人士的具体优势,这些优势可以帮助他们在求职和职业发展中脱颖而出。
2024-12-12 07:54:08
709
原创 git diff命令详解
例如,可以将差异结果输出到一个文件,然后使用文本编辑器或其他差异分析工具来查看。的输出可能不是彩色的,但可以通过设置配置项来启用彩色输出,这样可以更直观地看出差异。是 Git 版本控制系统中一个非常强大的命令,用于比较不同状态下的文件差异。这将在输出中显示单词级别的添加、删除和修改,对于文本文件的差异分析非常有用。这将在全局范围内启用自动彩色输出,根据终端的支持情况显示彩色的差异。来比较特定的文件或目录在不同状态下的差异。时这些被忽略的文件将不会显示在差异结果中。选项可以以更详细的方式显示单词级别的差异。
2024-08-28 17:02:46
4089
2
原创 Mybatis拦截器Interceptor与字段类型处理器BaseTypeHandler区别
MyBatis 的拦截器(Interceptor)和自定义类型处理器(BaseTypeHandler 的子类)在功能、使用场景、使用方式和注意事项等方面有以下区别。TypeHandler是MyBatis中用于处理Java类型与JDBC类型之间转换的接口。在SQL语句执行过程中,无论是设置参数还是获取结果集,都需要通过TypeHandler进行类型转换。MyBatis提供了丰富的内置TypeHandler实现,以支持常见的数据类型转换。同时,也可以根据需要自定义TypeHandler来处理特殊的数据类型或转换
2024-08-22 17:02:08
953
原创 物联网(IoT)详解
首先第一个问题,什么是物联网(IoT)?物联网(英文:Internet of Things,缩写:IoT) 起源于传媒领域,是信息科技产业的第三次革命。物联网是指通过信息传感设备,按约定的协议,将任何物体与网络相连接,物体通过信息传播媒介进行信息交换和通信,以实现智能化识别、定位、跟踪、监管等功能。物联网(Internet of Things,简称 IoT) 是指通过互联网连接和通信的物理设备和对象的网络。
2024-08-19 16:48:57
13119
2
原创 Java从zip文件中读取指定的csv文件使用EasyExcel解析出现流关闭异常Stream closed
根据异常堆栈,可以看到异常发生在 ZipInputStream 的 getNextEntry() 方法调用过程中,具体是在 ZipInputStream.ensureOpen() 方法中抛出了 java.io.IOException,原因是“Stream closed”。读取zip文件中的文件,预期:EasyExcel执行doRead,关闭zipInputStream,while中第二次获取zipInputStream.getNextEntry()异常。).doRead();
2024-08-13 16:05:06
1038
原创 PostgreSQL数据库timestamp数据类型精度进位问题
这是默认的行为,但是您可以更改输出的精度。PostgreSQL 的 timestamp 类型默认只支持到微秒级别(6位小数),为什么select出来的数据中展示三位2024-08-07 16:19:23.999?在这种情况下,2024-08-07 16:19:23.999999999 会被处理为 2024-08-07 16:19:24.000000。进位数据:[2024-08-07 16:19:23.999999500 - 2024-08-07 16:19:23.999999999]
2024-08-08 11:34:04
1736
原创 JDK17详解
国内一直流行一句话,他发任他发,我用Java8。目前也有一些厂商升级到jdk17,我理解升级到jdk17基于以下几点考虑。1.对jdk17有特殊性能场景考虑。2.对jdk17新特性有充分的使用场景。3.对jdk17开源协议是否收费需要考虑。4.新版本的springboot需要jdk17支持。5.老版本的jdk维护时间到了。6.项目jdk升级成本。接下来展开讲讲各个考虑点。
2024-08-07 16:33:57
5224
原创 maven打包指定依赖与commitId
这是两个需求,一个是打包指定依赖,另一个是打包时关联指定git的commitId。maven打包关联commitId采用,打入hello-api这个模块。maven打包指定依赖采用。
2024-07-01 15:25:05
586
原创 Java读取指定 JAR 包路径中的 git.properties 文件
在上述代码中,首先打开 JAR 文件,获取 git.properties 文件的 JarEntry 对象,如果存在该条目,就获取其输入流进行后续的读取和处理。具体的读取和处理逻辑需要根据您的实际需求在注释的位置进行添加。
2024-06-24 16:10:29
365
原创 idea自动生成单元测试工具
TestMe插件可以智能分析被测试类的依赖类,结合Mockito+Junit等单元测试框架,生成Mock/InjectMocks依赖关系,自动生成单元测试类。1.File——>Settings——>Plugins,搜索Squaretest,然后install就好了,插件安装完成后需要重启一下。1.File——>Settings——>Plugins,搜索TestMe,然后install就好了,插件安装完成后需要重启一下。2.打开class-右键–选择testme–生成test。
2024-06-11 22:39:42
2923
原创 SonarQube跳过指定代码检查方法
现在很多项目里使用Sonarqube管理代码质量,团队一般也会有硬性的指标。如果有些代码虽然不合规范,但是在实际环境中不得不这样写,那么我们为了降低issue的数量,可以让Sonar跳过这一段的检测。
2024-03-11 09:34:41
3410
1
原创 JMeter压测异常BindException:Address already in use:conned
执行JMeter时,当并发线程数较高时(尤其是测试机器还存在连接其他服务器的socket),运行一会就会产生address already in use的异常,这是因为Windows中TCP客户端和服务器连接时,客户端必须分配一个动态端口,默认情况下这个动态端口的分配范围为 1024-5000 ,也就是说默认情况下,客户端最多可以同时发起3977 个Socket 连接,如果线程数过多,导致了我们在短时间内发起大量请求的时候将端口占满了且无法及时回收,导致客户端的地址就会不够用,就会引发该异常。
2024-03-05 14:55:42
2158
原创 JProfiler详解 JVM性能监测内存泄露分析工具
JProfiler是一款业界领先的Java性能分析工具,由ej-technologies公司开发,专门设计用于分析和优化Java和JVM应用程序的性能。它可以无缝集成到多种开发环境如IntelliJ IDEA、Eclipse等,并支持对本地和远程应用程序的实时或离线性能分析。
2024-03-05 14:10:03
2679
原创 Spring Event详解
Spring Event是Spring框架内建的一种发布/订阅(Publish-Subscribe)模式的实现,它允许应用内部不同组件之间通过事件进行通信。当某个特定事件发生时,系统中对这类事件感兴趣的监听器可以接收到通知并执行相应操作。
2024-02-18 14:57:47
3513
原创 mysql循环kill掉user数据库下的所有连接
在JavaScript中,要实现爬虫抓取动态滚动条加载的内容(即滚动到页面底部时自动加载更多内容的网页),通常需要模拟用户滚动行为,并等待页面内容动态加载完成。这段代码首先使用Puppeteer启动一个浏览器实例,然后打开指定URL的页面,并通过模拟滚动到底部以及检查特定的加载更多内容的标志来决定是否继续滚动。请注意,针对不同的网站,可能需要根据其具体的滚动加载机制和内容加载标识进行相应的调整。同时,确保遵守相关法律法规和网站的服务条款,不要滥用此类技术对不允许爬取的网站进行爬虫操作。
2024-01-16 20:14:16
890
原创 JavaScript中要实现爬虫抓取动态滚动条加载的内容Puppeteer
在JavaScript中,要实现爬虫抓取动态滚动条加载的内容(即滚动到页面底部时自动加载更多内容的网页),通常需要模拟用户滚动行为,并等待页面内容动态加载完成。这段代码首先使用Puppeteer启动一个浏览器实例,然后打开指定URL的页面,并通过模拟滚动到底部以及检查特定的加载更多内容的标志来决定是否继续滚动。请注意,针对不同的网站,可能需要根据其具体的滚动加载机制和内容加载标识进行相应的调整。同时,确保遵守相关法律法规和网站的服务条款,不要滥用此类技术对不允许爬取的网站进行爬虫操作。
2024-01-10 19:51:24
1106
原创 git从主仓库同步到fork仓库
执行路径:项目右键 -> Git ->Repository -> Fetch。左下角选择远程仓库分支 -> Merge into Current。通过Merge Request提交申请MR到远程,审批合并。方式一:使用idea将远程仓库merg到本地仓库。方式一:idea fetch重新拉取最新地址。方式二:更新主库命令方式。方式一:通过git命令。方式二:通过git页面。方式二:通过命令方式。
2023-07-28 10:00:04
2212
原创 java异常处理在try catch中使用Throwable和Exception的区别
Thowable捕捉到了实际上所有的东西,甚至是threaddeath,默认情况下,threaddeath会被抛出,以阻止线程从现在被弃用的Thread.stop()方法中退出。通常不应该这样做,除非在一个线程的最高"catch all"级别,在这个级别上您想要记录日志,或者完全处理所有可能出错的事情。在框架类型的应用程序(例如,应用程序服务器或测试框架)中,它更为典型,在这种应用程序中,它可以运行未知代码,并且不应受到该代码出错的任何影响,尽可能多。Exception是程序性可恢复的。
2023-07-20 18:04:01
2154
原创 Http请求异常Required request body is missing
get请求是没有请求体body的,而注解@RequestBody是从请求体读取信息的,也就是说使用@RequestBody注解不支持get请求。2.代码中我将@RequsetBody注解去掉,也是可以将数据封入对象的(未验证)1.将GetMapping改为PostMapping请求(验证可以)
2023-04-26 15:30:32
2733
原创 easy-jenkins自动化部署工具
easy-jenkins是一款对vue和jar的部署工具,操作简单,实行一键部署,内部结构采用流水线形式架构,每次部署,时时提供部署过程,部署记录,界面友好简洁,使用方便,符合用户常规操作,easy-jenkins面向分支形式,无需登录,默认分支为jenkins,每个分支可以配置多个数据源,切换不同分支可以管理不同数据源,easy-jenkins采用本地存储的结构无需配置数据库,简单易上手。
2023-04-23 15:25:07
670
原创 Java Bean转Map问题总结
Java Bean转map过程中,一般借助于三方工具进行转换,但是第三方工具在转换过程中会存在对象属性类型或者名称不一致的问题,这里进行简单梳理几种方式对比分析,总结。Java Bean对象转Map,不同工具存在不同的问题:fastjson,gson转换类型不对。commonsbeanutils,cglib,转换的属性名称不对。dubbo,hutool转换类型与名称都没问题。(推荐)。1.fastjson对象转Map,类型转换错误,通过debug可以看到。
2023-01-08 16:48:53
6365
阿里巴巴《Java开发手册》泰山版
2023-01-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人