- 博客(81)
- 资源 (8)
- 收藏
- 关注

原创 项目实战--JUC之CompletableFuture温故
最近项目上线完成,但随着用户增加和金融产品买卖量持续上升,算法取数接口的特征工程计算作为推荐系统的核心环节,对系统吞吐量的要求越来越高,对内调度各个数据源取数服务获取数据进行聚合,具有鲜明的I/O密集型(I/O Bound)特点。从而将同步加载改为并行加载的可行性方案。
2024-07-29 11:04:28
745

原创 Java高并发理论到实践--JUC之Semaphore
由于最近的项目需求:要求限制对OpenMLDB的并发访问量。当然也看到面试题问:有三个线程T1,T2,T3,如何保证顺序执行?以及之前去华为OD面试:三个线程交替打印ABC如何实现?这些问题我都采用Java并发工具Semaphore(信号量)来实现的,所以记录一下这个知识点。
2024-07-12 10:00:00
1769

原创 项目实战-MySQL极佳优化方案---前缀索引
前缀索引:当某个字段内容的前几位区分度很高的时候,这个时候采用前缀索引,可以在查询性能和空间存储方面达到一个很高的性价比。
2024-07-03 15:11:52
1229
1
原创 项目总结-ElasticSearch性能优化考虑点
由于项目对于ES应用比较广泛,主要用于对于客户的召回和协同过滤,以及架构在HBase上作为大数据集存储查询的核心,数据量极大,因此二期对ES的性能做优化即为重要工作。简述ElasticSearch的性能优化,我做的以下方面的考虑:硬件层面:机器分配,机器配置,机器内存,机器CPU,机器网络,机器磁盘性能系统层面:文件句柄优化、swap关闭ElasticSearch集群层面:合理分配节点,合理分配参加竞选Master的节点ElasticSearch 索引层面:副本数量、索引数量、分片数量。
2024-12-26 11:34:20
1430
1
原创 DolphinScheduler应用实战笔记
DolphinScheduler(后文简称DS)在项目中的应用实战笔记,包含DS执行SQL或存储过程、DS调用DataX同步数据、DS调用HTTP接口
2024-09-10 10:21:47
2090
原创 项目实战--Sa-Token详细方案笔记
由于JWT存在的一些问题,公司项目将认证授权的方案换成Sa-Token来实现。记录Sa-Token的核心知识点。
2024-08-27 14:19:33
1648
原创 项目实战--SpringBoot整合EasyExcel实现数据导入导出
在实际的业务开发过程中,根据参数动态实现 Excel 的导出导入应用是非常广的。
2024-08-20 15:31:47
3348
原创 Java高并发--乐观锁/悲观锁及CAS理论
悲观锁(Pessimistic Lock)和乐观锁(PessimisticLock 或 OptimisticLock)是面试超高频问题。
2024-08-20 13:39:05
1032
原创 项目实战--订单30分钟自动关闭
定时轮由3个重要属性参数,ticksPerWheel(一轮的tick数),tickDuration(一个tick的持续时间)以及 timeUnit(时间单位),例如当ticksPerWheel=60,tickDuration=1,timeUnit=秒,这就和现实中的始终的秒针走动完全类似。该方案是利用JDK自带的DelayQueue来实现,这是一个无界阻塞队列,该队列只有在延迟期满的时候才能从中获取元素,放入DelayQueue中的对象,是必须实现Delayed接口的。服务器重启后,数据全部消失,怕宕机。
2024-08-05 17:00:39
646
原创 项目实战--不推荐使用@Autowired实现注入
不允许使用@Autowired进行字段注入(field injection),推荐改为构造器注入(constructor injection)或设值注入因此记录原因,以便后续开发借鉴。Spring提供三种注入方式:字段注入、setter方法注入、构造器注入。推荐使用基于构造器注入的方式。基于字段的依赖注入方式有很多缺点,主要原因是容易引发NPE,且无法在编译时期发现,应当避免使用基于字段的依赖注入。对于必需的依赖项,建议使用基于构造函数的注入,以使类成为不可变的,并防止类为null。对于可选。
2024-08-02 11:00:00
1238
原创 项目实战--批量插入数据接口优化过程详解
使用Spring Boot + MyBatis-Plus + ThreadPoolTaskExecutor实现批量插入百万级数据
2024-07-31 14:21:50
480
原创 环境搭建-Docker搭建MySQL
本文使用的Docker使用Windows搭建,Linux版本的搭建方式一样。Windows系统搭建Docker。
2024-07-26 15:02:37
309
原创 环境搭建-Docker搭建ClickHouse
本文使用的Docker使用Windows搭建,Linux版本的搭建方式一样。Windows系统搭建Docker。
2024-07-26 14:03:35
1024
原创 环境搭建-Windows系统搭建Docker
如果不想使用虚拟机CentOS+VM搭建Docker,可以在Windows系统快速搭建Docker简化开发工作。
2024-07-26 10:54:23
53051
2
原创 Spring Boot停车场管理系统方案设计:实现车辆进出场的自动识别与记录
本文是记录最近接的一个单子项目的设计方案,并且已经投入使用,所以简述一下架构思路,可以借鉴来设计其他项目。
2024-07-22 11:14:23
1130
原创 Java线程池学习总结
最近在复习Java线程池,做个笔记~线程池是一种多线程处理形式,处理过程中可以将任务添加到队列中,然后创建线程自动启动并执行任务。(1)线程和任务分离,可对所有线程进行统一的管理和控制,提升线程重用性;(2)控制线程并发数量,降低服务器压力,统一管理所有线程;(3)提升系统响应速度,假设创建线程用的时间为T1,执行任务用的时间为T2,销毁线程用的时间为T3,那使用线程池就减少T1和T3的时间;1. 网购商品秒杀2. 云盘文件上传和下载3. 12306网上购票系统等。
2024-07-20 10:00:00
1014
原创 项目收获总结--大数据量存储架构设计方案
公司的业务数据规模庞大,经过多年的业务积累和业务迭代,已经达到百亿级,各个业务线错综复杂,接口调用杂乱无章,而最近的项目是做智能营销推荐系统,需要海量数据计算画像和实时计算做智能产品推荐,但是数据分布和来源非常杂乱,出现A向B要数据,B向C请求接口,C向A需求服务,各个业务线互相依赖的情况。**写数流程:**数据接入时,创建统一且全局唯一的ID, 既当Elasticsearch的DOC ID, 也当Hbase的rowkey,数据先写入 HBase,再发送Kafka 消息, 异步写入ES。
2024-07-19 11:19:45
1062
原创 项目实战--SpringBoot整合RabbitMQ:实现邮件大批量异步推送
由于项目前期使用SpringBoot 整合 mail 实现各类邮件的自动推送服务,但是这个服务越来越不稳定,出现网络异常的时候,会导致邮件推送失败造成堆积,同时业务需要大批量的同步推送邮件,可靠性也不高。若 rabbitMQ 突然崩溃、邮件发送失败、重启 rabbitMQ 服务器出现消息重复消费,的怎处理。利用定数任务,对投递失败的消息进行补偿投递,基本可以保证消息 100% 消费成功。ConsumerMailService:消费者,消费消息,发送邮件。启动 SpringBoot 服务之后,模拟请求接口。
2024-07-17 10:24:53
1298
原创 Java HashMap红黑树学习
(1)红黑树(Red-Black Tree,简称R-B Tree),是一种特殊的平衡二叉查找树。(2)节点非黑即红(3)根节点是黑的(4)叶子节点也是黑的 [注意:这里叶子节点,是指为空的叶子节点!(5)如果一个节点是红色的,则它的子节点必须是黑色的。(6)从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。(确保没有一条路径 会比其他路径长出俩倍。因而,红黑树是相对是接近平衡的二叉树。(7)时间复杂度:O(log n)
2024-07-14 20:30:00
597
原创 Java BigDecimal类型的使用和注意点
在金融相关的项目中,BigDecimal类被广泛用于精确的数值、金额的计算。记录如何使用以及在使用BigDecimal的过程中,存在的要注意的几个坑。
2024-07-11 13:42:35
916
原创 项目实战--XML文档解析工具
XML (eXtensible Markup Language)指可扩展标记语言,标准通用标记语言的子集,可以标记数据、定义数据类型,可以允许自定义标记语言进行数据承载,通常被用来传输和存储数据,定义也简单,遵循核心DTD(文档类型定义)语法约束。> < site > < name > 优快云博客网站 </ name > < url > https://blog.youkuaiyun.com/ </ url > < desc > 技术学习网站 </ desc > </ site >
2024-07-11 11:11:03
1087
原创 项目收获总结--本地缓存方案选型及使用缓存的坑
在互联网公司面试时,说到缓存,面试官基本上会绕不开的几个话题:项目中哪些地方用到了缓存?为什么要使用缓存?怎么使用它的?引入缓存后会带来哪些问题?高性能、高并发。性能体现在引入缓存之前,以商城网站为例,频繁的从数据库里面获取商品数据,也就需要频繁执行SQL等待结果,若数据量很大同时请求频次逐渐增高,响应就逐渐缓慢;引入缓存之后,将数据库里面查询出来的商品数据信息存入缓存,需要时直接从缓存服务获取结果,效率极大提升。
2024-07-10 16:51:58
1326
原创 项目实战--Spring Boot + GraphQL实现实时数据推送
GraphQL是一种用于API的查询语言,核心思想是让客户端能够根据自身需求精确地获取所需的数据,而不是像传统的RESTful API那样只能获取整个资源对象。(1)灵活性:客户端可以精确指定所需的数据字段,而不是被限制于服务器端提供的固定数据结构。(2)效率:减少了不必要的数据传输和处理,提高了数据获取效率。(3)类型系统:GraphQL具有严格的类型系统,能够在编译阶段检测出潜在的错误,提高了开发效率。
2024-07-10 10:04:07
1030
2
原创 项目实战--Spring Boot与PageHelper的集成及线程污染解决
Spring Boot与PageHelper的集成及线程污染引起无缘故分页的问题解决
2024-07-05 14:47:45
989
1
原创 项目实战--Spring Boot 3整合Flink实现大数据文件处理
性能优化策略利用Spring Boot 3.+和Flink构建一个高效的大数据文件处理应用
2024-07-04 12:26:49
3144
2
Microsoft Visual C++ 2015-2022 Redistributable 安装包
2024-07-31
基于springboot图书管理系统
2022-01-15
基于Springboot+Vue+Layui校园招聘系统设计源码及文案
2021-05-04
spring boot招聘系统设计
2021-05-01
基于SSH选课系统[内含源码]
2021-03-23
基于Spring Boot招聘系统平台[内含源码及毕业设计文案]
2021-03-23
SSM校园学术报告管理平台(内含源码与毕业设计)
2021-01-21
学生信息管理系统student.zip
2021-01-21
javaweb学生成绩管理系统_ssms.zip
2021-01-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人