Fork me on GitHub

随笔分类 -  Java基础

java基础
摘要:Java集合体系主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。 下面贴出Map的继承/实现关系。Collection的子孙太多,这里就不贴出来了。感兴趣的可以自己用idea生成。 概括来说: Java中4大集合 阅读全文
posted @ 2022-09-01 14:22 JackpotHan 阅读(220) 评论(0) 推荐(0) 编辑
摘要:MySQL与PostgreSQL都是免费、开源、强大、且功能丰富的数据库。在项目数据库选择时主要的问题可能是:哪一个才是最好、最合乎业务的开源数据库,MySQL还是PostgreSQL呢?该选择哪一个开源数据库呢?毕竟项目初期数据库选定,后序想变更成本比较高。 对比之前,先从各自的官网悄咪咪的偷两张 阅读全文
posted @ 2022-08-31 15:41 JackpotHan 阅读(1253) 评论(0) 推荐(0) 编辑
摘要:实际开发过程中,经常会遇到需要将List<T>转换List<Map<String,Object>>的情况,那么你们都是用什么方法实现的呢? 下面是我开发过程中使用的方法,还望大佬看后轻喷。 List<Map<String,Object>> monitorVoMapList = Optional.of 阅读全文
posted @ 2022-08-25 10:26 JackpotHan 阅读(3602) 评论(0) 推荐(0) 编辑
摘要:先贴出问题,pgsql中某jsonb 字段,原始值为{"a":{"a":"b","c":"d"}},来了一个新值{"a":{"a":"e","f":"g"}},我想要的最终值为{"a":{"a":"e","c":"d","f":"g"}},可是使用||操作,结 阅读全文
posted @ 2022-08-24 16:01 JackpotHan 阅读(1360) 评论(0) 推荐(0) 编辑
摘要:物联网项目不知你们是否会遇到这样的需求:设备端上报的部分数据要求平台侧进行存储,有时还需要对这些数据进行分析/历史数据查询(清洗),但是这些数据有非常的庞大,清洗也是每天进行的,清洗后的数据还需要按天进行删除,仅保留近一个月数据 最初拿到这样的需求,第一反应就是将设备上报的数据按天进行分表,数据库选 阅读全文
posted @ 2022-08-24 14:41 JackpotHan 阅读(717) 评论(0) 推荐(0) 编辑
摘要:随着业务及客户的不断壮大,单数据库已经不足以支撑程序业务的完美运行(响应快、高吞吐),所以数据库往往都会进行分表分库/读写分离,那么问题来了,分库后程序如何从不同URL数据库中读取数据呢? 这篇文章只讲如何配置/使用多数据源,不讲分表分库/读写分离,也不讲主键生成策略及读取策略。 如何实现多数据源呢 阅读全文
posted @ 2022-08-24 12:12 JackpotHan 阅读(1494) 评论(0) 推荐(0) 编辑
摘要:前面一片文章在介绍时有提到过swagger,这篇文章就重点介绍一下Spring boot集成swagger的方法与代码实践。 引入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</a 阅读全文
posted @ 2022-08-24 10:18 JackpotHan 阅读(1879) 评论(0) 推荐(0) 编辑
摘要:本文的方案背景:系统记录所有的敏感操作日志(增删改) 方案技术:无线程池、无监听订阅、无多数据源、无错误消息监控推送。 自定义注解 @Target({ElementType.PARAMETER, ElementType.METHOD}) @Retention(RetentionPolicy.RUNT 阅读全文
posted @ 2022-08-23 17:44 JackpotHan 阅读(203) 评论(0) 推荐(0) 编辑
摘要:后端实现防重复提交的方式有很多中,大颗粒级别可以使用Redis或nginx,也就是所谓的滑动窗口、令牌桶等,但是这些大颗粒只能实现同一接口同一IP同一用户的重复提交,不能对请求参数进行校验(当然可以通过编码的方式处理掉)。 本文介绍的方案前提是:所有请求不包含时间戳、不对请求进行加解密,即所有的接口 阅读全文
posted @ 2022-08-23 17:35 JackpotHan 阅读(405) 评论(0) 推荐(0) 编辑
摘要:背景介绍 上一篇文章<Mysql为什么使用B+树做索引>中有介绍Mysql中的所有索引类型,当时简单说了一下FullText index,因本人实际开发未用到且水平有限,当时就没有过多介绍。 最近有一个需求,从一段文本中查询是否包含某字段及该字段出现的次数。 我的思路如下:查询是否存在某个字段那就需 阅读全文
posted @ 2022-08-01 11:14 JackpotHan 阅读(2322) 评论(0) 推荐(1) 编辑
摘要:为什么 MYSQL 使用 B+树作为 InnoDB 引擎的索引结构? <Mysql为什么使用B+树做索引>一文从两个方面介绍了Mysql为什么选择B+Tree作为InnoDB引擎索引的数据结构,本文再做一下简单的总结。 Mysql数据库的数据被分割为多个页以文件形式储存在硬盘上的。因此我们每次进行数 阅读全文
posted @ 2022-07-26 09:17 JackpotHan 阅读(2139) 评论(0) 推荐(0) 编辑
摘要:什么是索引? 索引是关系数据库中对某一列或多个列的值进行预排序的数据结构。通过使用索引,可以让数据库系统不必扫描整个表,而是直接定位到符合条件的记录,这样就大大加快了查询速度。 索引的效率取决于索引列的值是否散列,即该列的值如果越互不相同,那么索引效率越高。反过来,如果记录的列存在大量相同的值,则索 阅读全文
posted @ 2022-07-25 12:00 JackpotHan 阅读(249) 评论(0) 推荐(0) 编辑
摘要:何为异步? 首先必须强调一个基础概念,异步是一种设计方式,异步操作不等于多线程。异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程。注:不是所有的异步都需要回调,异步通常处理 I/O 场景,即读写。读当然需要回调,不然干嘛读?可写就不必回调啦。所以,有 阅读全文
posted @ 2022-07-23 14:03 JackpotHan 阅读(4420) 评论(0) 推荐(0) 编辑
摘要:限流是高并发场景中重要的一环,实现限流的方案有很多种,今天围绕Redis来简单介绍几种限流方案。题外话:Redis不仅仅是可以做限流,还可以做数据统计、排行榜、附近的人等功能,有空我会写一篇介绍一下。 常见的限流算法有:计数器、滑动窗口、漏桶算法、令牌桶等。那么如何使用Redis来实现呢? 基于Re 阅读全文
posted @ 2022-07-13 14:31 JackpotHan 阅读(5263) 评论(0) 推荐(1) 编辑
摘要:需求 最新接到一个需求:为了增加用户的粘合度,新增签到功能,具体的说明如下:(玩游戏的同学是不是很熟悉这个套路 WAW ) 签到1天得1积分,连续签到2天得2积分,3天得3积分,3天以上均得3积分等。 如果连续签到中断,则重置计数,每月重置计数。 当月签到满3天领取奖励1,满5天领取奖励2,满7天领 阅读全文
posted @ 2022-06-10 16:01 JackpotHan 阅读(883) 评论(0) 推荐(0) 编辑
摘要:前面四篇已经介绍了datax的基本概念、如何新增plugins、怎么打包运行。掌握了前面四章的内容,基本就知道datax是干嘛的、设计原理是什么、如何运行,运行结果是怎样的。 但是,有个问题你们想过没:“Java程序如何集成此工具实现定时或自动同步?” 怀着这个疑问,终于在github找到了答案-- 阅读全文
posted @ 2022-05-11 14:13 JackpotHan 阅读(545) 评论(0) 推荐(0) 编辑
摘要:在介绍异常之前,先贴出写的工具类吧,毕竟空谈无用嘛。 public class JacksonUtil { private static Logger logger = LoggerFactory.getLogger(JacksonUtil.class); private final static 阅读全文
posted @ 2022-04-20 15:36 JackpotHan 阅读(4343) 评论(0) 推荐(0) 编辑
摘要:此工具类主要实现了获取指定日期开始时间戳/结束时间戳,指定格式的时间格式化,如将时间转换成整十分钟、整三十分钟、整十二小时,具体的用法代码可见main方法。 实现方案结合的日历类,可能有更优的方案,大家可以一起探讨下。 public class DateUtil { public static fi 阅读全文
posted @ 2022-02-16 16:10 JackpotHan 阅读(302) 评论(0) 推荐(0) 编辑
摘要:一、函数 做接口性能测试过程中,经常需要用不重复的参数来进行测试,而Jmeter恰巧就提供的随机函数,很好的解决这个难题。 Jmeter共提供了4种随机数分别为:数字随机数Random、日期随机数RandomDate、字符串随机数RandomString,变量随机数RandomFromMultipl 阅读全文
posted @ 2022-01-18 11:30 JackpotHan 阅读(105) 评论(1) 推荐(0) 编辑
摘要:前言 上篇已经给大家介绍了一款自动化测试工具--locust。从介绍中可以我们知道locust是基于python语言进行自动化测试,所以需要有python基础。而今天要给大家介绍的是Java开发常用并且可以说是官方标配的工具--Jmeter。 安装配置 因为Jmeter是使用JAVA写的,所以使用J 阅读全文
posted @ 2022-01-18 11:09 JackpotHan 阅读(979) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示