自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

土味儿

大道无垠 行者无疆

  • 博客(229)
  • 资源 (6)
  • 收藏
  • 关注

原创 SpringBoot中java操作excel【EasyExcel】

Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,一个3M的excel用POI sax解析依然需要100M左右内存,改用easyexcel可以降低到几M,并且再大的excel也不会出现内存溢出;

2023-07-24 18:47:10 2439

原创 Nacos的安装与使用(SpringCloud)

Nacos /nɑ:kəʊs/ 是 DynamicNaming andCoService的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

2023-06-28 09:00:44 4610

原创 限流与令牌桶

令牌桶是一种常用的流量控制技术。令牌桶本身没有丢弃和优先级策略。原理1.令牌以一定的速率放入桶中。2.每个令牌允许源发送一定数量的比特。3.发送一个包,流量调节器就要从桶中删除与包大小相等的令牌数。4.如果没有足够的令牌发送包,这个包就会等待直到有足够的令牌(在整形器的情况下)或者包被丢弃,也有可能被标记更低的DSCP(在策略者的情况下)。5.桶有特定的容量,如果桶已经满了,新加入的令牌就会被丢弃。因此,在任何时候,源发送到网络上的最大突发数据量与桶的大小成比例。

2023-06-14 20:03:42 884

原创 java生成、识别条形码和二维码

使用zxing开源库BitMatrix可以生成、识别条形码和二维码依赖

2023-06-10 12:31:36 1417 1

原创 Java枚举详解与应用场景

本例和上例的执行结果完全相同。

2023-05-26 10:20:54 1541

原创 详解java中的日期与时间;新旧API对比;各种日期格式转换

API所在包主要类旧java.util新(Java1.8)java.time从Java 8开始,java.time包提供了新的日期和时间API,主要涉及的类型有:LocalDateLocalTime;;Instant;DurationPeriod可以取代旧的 SimpleDateFormat区别可变性final非final多线程线程安全线程非安全新特性新API严格区分了时刻、本地日期、本地时间和带时区的日期时间。

2023-05-19 09:55:31 1352

原创 Java字符串知多少:String、StringBuffer、StringBuilder

上的,但是又因 String 常量池的存在,因此实际上在堆上的 String 对象的数据又指向了字符串常量池。Java 程序在运行的时候会维护着一个常量池,编译期生成的各种字面量和符号引用会在类加载后进入方法区的。对于上述这种实现字符串的方式就可以在编译的时候确定字符串的内容,因此这一行生成的内存结构就如下图。的时候才能确定字符串的内容。不严谨的讲:虚拟机栈中的 strNew 存储的就是 strNew 这个对象在。,而 strNew 中的字符串数据又指向了常量池中的 A。,在jvm堆内是惟一的。

2023-05-17 09:33:32 743

原创 ThreadLocal实现共享变量的线程安全

类型为ThreadLoclal的参数n2,存取都通过ThreadLocal,实现线程间的隔离,从而达到线程安全。针对上面2中的线程不安全情况,采用ThreadLocal,可以让共享变量实现线程隔离,从而达到线程安全。单例对象,多个线程操作同一个对象,并且该对象有共享变量,对象中方法会对共享变量做出修改。多线程下,操作同一个MyUtil对象时,变量n1是不安全的。如:MyUtil中增加变量n2。

2023-05-07 12:34:41 256

原创 Comparable与Comparator

两种方法各有优劣Comparable 简单,只要实现Comparable 接口的对象直接就成为可以比较的对象,但是需要修改源代码Comparator 的好处是不需要修改源代码,而是另外实现一个比较器,当某个自定义的对象需要作比较的时候,把比较器和对象一起传递过去就可以比大小了, 并且在Comparator 里面用户可以自己实现复杂的可以通用的逻辑,使其可以匹配一些比较简单的对象,那样就可以节省很多重复劳动了。

2023-05-06 09:37:30 217

原创 微服务下网关聚合Swagger文档、starter统一配置Swagger

更加细致的设计思路:(网上有介绍)微服务中不需要Swagger的ui包,只要能生成api的json数据包,供网关抓取就可以。同时网关中也不用自已成生api的json数据包,也可以去掉一些相关的依赖包。有些内部服务可以通过docker的内部网络直接访问,可以单独配置这类内部服务的API文档。至此,用starter实现微服务的swagger配置完成!网关把各个微服务的文档聚合起来,通过网关统一访问。从网关配置中过滤出Swagger的API文档配置信息。需要使用swagger的服务注入。

2023-04-22 09:56:49 1624 2

原创 用starter实现api接口的加密与日志功能

加密注解

2023-04-19 07:46:37 425

原创 用spring-boot-starter实现事务的统一配置

微服务架构下,多个微服务都需要事务操作,如果在每个微服务下都从头配置事务,将非常繁锁。事务配置具有高度的一致性,可以抽取出来,制作starter,在需要配置事务的服务中引入starter依赖即可。采用springAOP的方式实现事务。

2023-04-18 09:24:04 753

原创 用starter实现Oauth2中资源服务的统一配置

Oauth2中的资源服务Resource需要验证令牌,就要配置令牌的解码器JwtDecoder,认证服务器的公钥等等。如果有多个资源服务Resource,就要重复配置,比较繁锁。把公共的配置信息抽取出来,制成starter,可以极大地简化操作。

2023-04-16 08:44:53 675

原创 Linux/Ubuntu服务自启动原理剖析及三种实现方式

面向Linux系统,并非只是Ubuntu;系统版本不同,配置上可能有所不同。

2023-04-15 09:18:43 2654

原创 Ubuntu用户权限、查看文件路径、防火墙

如果系统中安装了某个服务的多个版本,只有一个是默认的;如:系统中安装了多个jdk:jdk8、jdk11,其中jdk8是默认的,运行时就是jdk8,而不是jdk11,这个jdk8就是默认服务。Ubuntu使用的防火墙名为UFW(Uncomplicated Fire Wall),是一个iptable的管理工具。:如果要查服务的安装路径,需要先查到运行路径,再根据软链接的指向,依次去查看安装路径。的运行路径,也不是安装路径。开启防火墙的状态下,只有系统允许的端口才能被其他主机访问。的运行路径,并不是安装路径;

2023-04-14 09:42:45 2619

原创 Ubuntu中安装OpenJdk、Docker、ssh

测试是否成功,输入sudo docker run hello-world 显示以下信息则成功,第一次比较慢。更换版本的意思是当系统中安装有多个jdk时,在这几个jdk中如何切换,如何选择。

2023-04-13 09:00:57 875

原创 双硬盘安装Ubuntu22

文件,写入U盘,制作系统启动盘。(注:最好是一个空U盘,要不然会被格式化)因为是U盘的UEFI启动,因此需要设置EFI引导。绿色免安装,下载后点exe运行即可(windwos环境下)swap交换空间,也就是虚拟内存的地方;bios版本不同,方式也不同;进入安装界面后,按提示选择配置项。swap虚拟内存区(固态盘中)设置EFI引导区(固态盘中)1、固态盘128G安装系统。用于:Ext4日志文件系统。用于:Ext4日志文件系统。按照如图设置后,软件会把。用于:fat32文件系统。较新的机子选:GPT。

2023-04-12 10:10:25 1392

原创 SSE(Server-sent Events)实现Web消息推送(SpringBoot)

短轮询长轮询iframe流SSEMQTTwebsocketSSE(Server Sent Event),直译为服务器发送事件,顾名思义,也就是客户端可以获取到服务器发送的事件。我们常见的 http 交互方式是客户端发起请求,服务端响应,然后一次请求完毕;但是在 sse 的场景下,客户端发起请求,连接一直保持,服务端有数据就可以返回数据给客户端,这个返回可以是多次间隔的方式。

2023-01-28 10:22:07 2612 1

原创 SpringBoot下RabbitMQ的实战应用:动态创建和动态监控队列、死信、备份交换机

每个用户对应一个普通队列;当用户过多时,相应的队列也会很多,并且队列是持久化的,会占用较多的系统资源;交换机收到消息,但无法投递时,转发至备份交换机,再广播至对应队列。缓存操作不是本文的重点,用模型类代替;缓存中未得到确认的消息,由定时器重新发送;用户登录后,动态切换要监控的队列;未发送成功的消息,由缓存保存,定时重发。如果用户退出后,也要更新监控列表;是接收不到的,消息会存储在相应对列中。发消息,消息应该不会被消费,存在。项目要足够稳健,消息不能丢失。交换机、队列、消息持久化。,这时再向上一个登录用户。

2023-01-07 18:17:54 3583 7

原创 【java金额输入转换】任意字符串转为Long型金额(单位:分)

【代码】【java金额输入转换】任意字符串转为Long型金额(单位:分)

2022-11-07 12:32:22 917

原创 Java复制文件和目录

【代码】Java复制文件和目录。

2022-10-19 17:04:02 280

原创 JQuery部分用法总结

简单记录!方便以后查找!

2022-09-24 08:25:52 301

原创 Redis新版工具类

* 方法命名更加简洁,调用更简单; * 针对不同的操作对象,把方法封装在不同的内部类中; *1、RKey 类用于操作 key;使用:...rkey.del()2、RString 类用于操作 string;使用:...rstring.add()3、RMap 类用于操作 map;使用:...rmap.put()4、RSet 类用于操作 set;使用:...rset.size()5、RList 类用于操作 list;使用:...rlist.get()

2022-09-19 22:06:37 364

原创 SpringBoot中@Scheduled定时任务重复执行、输出两次日志的问题

调试定时任务时,发现控制台中出现了重复的日志信息。

2022-09-19 09:03:23 3643

原创 【六】ElasticSearch8.x Java API 实体类、工具类、测试类及常见问题

ES `8.x` 新版本中,Type 概念被弃用,所以新版 JavaAPI 也相应做出了改变,使用更加简便。ES 官方从 `7.15` 起开始建议使用新的 JavaAPI

2022-09-17 18:23:06 5098 1

原创 【五】ElasticSearch 索引模板及文档评分机制

索引模板就是提前定义好的索引规则。创建索引的时候,可以应用模板。如果批量创建建索引,使用比较方便。

2022-09-15 09:40:16 543

原创 【四】ElasticSearch 文档操作:增删改、高级搜索、聚合搜索,倒排索引

ES 是面向文档操作的。文档相当于数据库中的单行数据。命令行中加上_doc(除查询所有文档命令)

2022-09-15 09:33:46 527

原创 【三】ElasticSearch 索引操作

Rest 是,而不是标准,只是提供了一组设计原则和约束条件。它主要用于 客户端 和 服务器 交互类的软件。基于这个风格设计的软件可以,,等机制。

2022-09-15 09:21:25 409

原创 【二】ElasticSearch核心概念 与 IK 分词器

中文分词器分词:即把一段中文或者别的划分成一个个的关键字,在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一一个匹配操作,默认的中文分词是将每个字看成一个词(不使用IK分词器的情况下)。IK提供了两个分词算法ik_smart: 最少切分: 最细粒度切分在 IK 插件的config目录下新建自已的词典tuwer.dic注入配置文件中重启ES测试。

2022-09-15 09:13:45 231

原创 【一】win10 下 ElasticSearch8.1.0、Head插件、Kibana下载与安装(图文详解)

Kibana 是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种操作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。

2022-09-15 09:00:29 2166

原创 两个坑:Integer对象比较,MySql中in()、not in()为空

早就在阿里规约里了解过,但真在项目中遇到时,排查花了很长时间。真是一个大坑。所有整型包装类对象之间值的比较,全部使用equals()方法。

2022-09-07 20:06:53 776

原创 SpringCloud 下 MultipartFile 序列化(JSON)出错的解决方案

在SpringCloud架构下,用户向客户端上传文件,客户端调用文件处理微服务去处理文件。

2022-08-30 13:36:55 6984 1

原创 Java中Stream流式实现集合的差集、交集与并集

Stream流式计算集合的差集、交集与并集;根据集合元素的某一属性判断;

2022-07-12 11:16:05 7442

原创 Bootstrap5 + js 上传文件操作流程 Model-Toasts综合运用

1、点击添加图片:弹出模态框(上传图片界面)2、选择图片文件:会在前后端验证文件类型3、点击上传按钮:关闭模态框、ajax执行上传操作、接收操作结果4、弹出Toast信息栏:展示操作结果...

2022-07-07 10:53:15 1609 1

原创 一套方便实用的分页设计方案 Bootstrap5 + Thymeleaf

- 可以方便地进入 第一页、最后页- 可以方便地进入 当前活动页 的 前两页、后两页- 可以根据 总页数 及 当前活动页 自动地排版页码

2022-07-04 17:18:58 1155 1

原创 js方法传Long类型id值时会出现精度损失

js方法传Long类型id值时会出现精确损失

2022-07-03 20:03:16 637 1

原创 Bootstrap字符图标简单使用

Bootstrap字符图标的使用

2022-06-29 09:38:05 2541

原创 Bootstrap5简单实现登录页:上下左右居中

Bootstrap简单实现登录页;上下左右居中。

2022-06-28 20:20:50 3939

原创 Collection 集合的交集、差集和并集

Collection集合的交集、差集、并集

2022-06-16 15:48:44 1146

原创 Thumbnailator图像处理

功能:实现对图片压缩、旋转、缩放、裁剪、加水印

2022-06-13 16:59:08 725

【SpringBoot】员工管理系统狂神篇

【SpringBoot】员工管理系统狂神篇

2023-06-08

SpringBoot 整合 富文本编辑器 editor.md

SpringBoot 整合 富文本编辑器 editor.md

2022-01-28

原生JavaWeb【超市订单管理系统】源码+文档+资料 (优化版)

原生JavaWeb【超市订单管理系统】源码+文档+资料 (优化版)

2021-12-21

Java集合知识体系.zip

详细介绍Java集合知识体系,完整的思维导图 https://blog.csdn.net/tu_wer/article/details/121575529

2021-11-27

软件工程思维导图.zip

开发模型 分析 设计 实现 测试 维护 管理 用例图 时序图 数据流图 甘特图

2021-09-24

数据结构与算法思维导图.zip

详细全面的数据结构与算法,可以帮助快速而有效地建立数算的知识架构。包含各种算法、各类线性表、各种树、各种图等等

2021-09-19

数据结构与算法思维导图.zip

详细完整的数据结构与算法思维导图,可以帮助快速而系统地建立数算的知识架构。包含各类排序算法、各类线性表、各种树、各种图等等

2021-09-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除