自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (1)
  • 收藏
  • 关注

原创 根据IP地址获取归属地

如果使用API接口获取,可能会出现服务挂了,或者服务地址不提供服务了等问题。本文采用离线IP地址定位库 Ip2region,Ip2region是一个离线IP地址定位库,微秒的查询时间。这里Searcher引用的是仓库里面的检索方法,到这里就完成了可以获取到ip对应的归属地。3、解决办法,在pom文件中增加下面的配置,打包时不压缩后缀为xdb格式的文件。包后读取到的文件流大小发生变化,无法根据ip识别到对应的地址信息。打成jar包后,在依赖项目中运行,读取到的文件流如下图。1、正常读取到的文件大小如下图。

2024-03-26 09:38:43 720

原创 java项目调用python进程

某一功能是通过python项目实现的,但是主项目是java项目,此时希望在java项目中调用python进程。

2023-11-10 18:08:39 322

原创 安装pytorch报错torch.cuda.is_available()=false的解决方法

在安装torch之后,命令行(Anaconda Powershell Prompt)运行这三行代码:返回结果始终为False。如果是清华镜像加速下载的,无论你是重装多少次,都一样,torch.cuda.is_available()返回false。因为你被conda镜像安装给坑了。你以为下载的是GPU版本,其实镜像下载的是cpu版本你必须手动去官网用pip下载安装。首先判断自己是否适合使用GPU版本的torch,打开自己的cmd输入这里的11.1 指的是可驱动的最高版本。下载CUDA的版本应低于1

2023-11-01 15:04:00 2756

原创 常用conda和pip命令总结

env_name 是环境名,自己换成所要创建的虚拟环境的名字python=x.x 是版本号,比如3.7,3.8这样。

2023-10-29 22:40:14 471

原创 python环境安装

Anaconda,中文大蟒蛇,是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。1、Anaconda 附带了一大批常用的数据科学包它附带了conda、Python和150多个科学包和依赖项。因此,安装完Anaconda你可以立即开始处理数据。2、Anaconda可以管理包Anaconda是在codna(一个包管理器和环境管理器)上发展出来的。

2023-10-20 15:35:04 234

原创 Semaphore使用以及原理

Semaphore(信号量)是一种用于控制并发访问资源的机制。它可以用于多线程或多进程环境中,用于保护共享资源的访问,避免竞争条件和死锁。

2023-10-13 15:41:48 223

原创 @JsonDeserialize和@JsonSerialize注解的使用

JsonDeserialize:json反序列化注解,作用于setter()方法,将json数据反序列化为java对象。可以理解为用在处理接收的数据上。

2023-09-11 09:17:11 2323

原创 Nginx代理中使用斜杠的区别

假设代理地址是:http://127.0.0.1:8000。

2023-09-03 22:24:23 262

原创 mybatisPlus、BigExcelWriter大数据量流式查询并导出

对于大量数据输出,采用EasyExcel.write()或者hutool的ExcelWriter容易引起内存溢出,因此有了BigExcelWriter。Oracle的fetchSize建议设置成1000,MySQL的fetchSize建议设置成Integer.MIN_VALUE。因此流式查询则使用数据库游标,查一行处理一行,消耗内存较少,不阻塞数据库IO,在大数据处理场景中推荐使用。DAO层的流式处理函数的声明。

2023-08-06 21:56:29 1326

原创 mysql 字段类型 linestring

在MySQL中,LineString是一种用于存储和操作几何线的字段类型。它可以用于存储一系列的坐标点,以便表示一条线或曲线。

2023-07-28 16:45:04 1636 1

原创 MessageFormatter字符串格式化

MessageFormatter字符串格式化

2023-07-21 16:21:22 682

原创 使用fastjson序列化后字段属性发生了变化

使用 fastjson 进行 JSON 序列化存储到数据库后,发现 JSON 字符串“莫名其妙地”多了一些属性,也少了些属性。问题出现在基本类型的布尔类型以 is 开头的属性。

2023-07-14 17:31:47 529

原创 idea切换Git分支时保存未提交的文件

现在需要开发一个新功能A时,我们需要从Dev分支上创建一个新的功能分支tenant,然后我们就在这个分支上进行开发。假设有一天,你正在开发,本地已经在tenant上修改了几个文件,但是功能还没有完全开发完成,你不想commit,此时测试跟你说在现在的一个测试分支master上有1个Bug,希望你去修复。

2023-07-07 18:05:28 1352

原创 了解浏览器缓存

last-modified 最后修改时间,服务端在Header上给出的资源最后修改时间。第一次请求资源时,服务端会在响应Header中会返回last-modified字段。

2023-06-30 17:30:35 1750

原创 SpringBoot 实现 PDF 添加水印

在某些情况下,我们需要对 PDF 文件添加水印,以使其更具有辨识度或者保护其版权。Free Spire.PDF for Java 是一款免费的 Java PDF 库,它提供了一个简单易用的 API,用于创建、读取、修改和提取 PDF 内容。PDFBox 是一个流行的、免费的、用 Java 编写的库,它可以用来创建、修改和提取 PDF 内容。PDFBox 提供了许多 API,包括添加文本水印的功能。iText 是一款流行的 Java PDF 库,它可以用来创建、读取、修改和提取 PDF 内容。

2023-06-16 17:24:00 2961 2

原创 设计模式-组合模式

实现规则匹配的逻辑 比如>= <=,同时支持 and or 多个条件组合 新增一个条件就增加一个实现类。

2023-06-09 14:22:22 1468

原创 windows下恢复mysql数据库被删除的解决办法

一不小心,把数据库删了,想要恢复历史数据,

2023-06-02 18:37:33 782

原创 nginx的root、alias指令配置区别

上面的配置也可以改成root目录配置,如下,这样nginx就会去/home/www/huan下寻找http://www.wangshibo.com/huan的访问资源,两者配置后的访问效果是一样的!在上面alias虚拟目录配置下,访问http://www.wangshibo.com/huan/a.html实际指定的是/home/www/huan/a.html。alias指定的目录后面必须要加上"/",即/home/www/huan/不能改成/home/www/huan。

2023-05-28 16:50:44 1093

原创 SpringBoot 处理 CORS 跨域请求的三种方法

Springboot 处理CORS跨域请求

2023-05-19 17:23:51 826

原创 log4j2.xml配置详解

log4j2.xml配置详解

2023-05-11 09:23:39 1668

原创 MySQL中的BLOB类型

BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。根据Eric Raymond的说法,处理BLOB的主要思想就是让文件处理器(如数据库管理器)不去理会文件是什么,而是关心如何去处理它。

2023-04-21 17:32:43 3827

原创 将自己的服务注册成Windows服务

将自己的服务注册成windows服务

2023-04-14 17:03:37 693

原创 @RequestBody与@RequestParam

@RequestBody和@RequestParam使用

2023-04-07 13:25:37 900

原创 Nacos安装

安装nacos

2023-03-31 11:11:36 255

原创 SpringBoot项目使用切面编程实现数据权限管理

springboot项目使用切面编程实现数据权限管理

2023-03-26 20:07:34 2482

原创 SpringBoot项目切面编程

SpringBoot项目切面编程

2023-03-17 16:24:06 2104

原创 SpringBoot中yml配置文件

spring boot yml配置文件定义基本数据类型和引用数据类型的方式

2023-03-10 16:45:00 1675 1

转载 linux命令学习

linux命令

2023-03-03 17:18:50 507

原创 SpringBoot中使用spring-retry解决重试

spring-retry解决重试

2023-02-24 10:14:32 1831 1

原创 nginx学习

3、http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。1、修改nginx配置文件,我们在配置文件中增加以下配置。2、进入nginx安装目录sbin下,输入命令./nginx -t,检测配置文件是否正确。

2023-02-19 21:21:18 334

原创 FastJson序列化和反序列化时处理数据

日常开发中,数据库会存储json字符串,json字符串中可能会存在一些敏感信息,比如身份证号手机号需要加密,此时我们可以在json序列化和反序列化时处理需要处理的字段信息。

2023-02-10 17:06:25 1322

原创 easyExcel验证表头与模板是否一致

在监听器中重写invokeHeadMap,校验表头与模板是否一致,比如读取数据时我们写从第二行开始读,会认为第零行和第一行是表头,这里会读取到两次表头,根据下标和表头内容可以验证表头与模板是否一致。为了保证数据的完整性,当模板被修改后,就不应该导入数据,

2023-02-03 15:47:23 3497 1

原创 实现 SpringBoot 项目中的隐私数据脱敏

springboot+jackson数据脱敏

2023-01-06 09:53:03 881

原创 List、List<Object>、List<?>

声明的集合进行添加的元素的限制:不可对其添加任何类型元素,因为在编译阶段无法知道其准确的泛型类型,随意add()方法无法通过编译检查。1、声明的List集合对其 所指向的集合对象(就是赋值的集合对象)的限制:无泛型限制,并且无视指向的集合对象的泛型,直接当成List处理(泛型擦除)1、声明的List 集合对其 所指向的集合对象(就是赋值的集合对象)的限制:泛型必须是Object,即必须是ArrayList。2、对用List 声明的集合进行添加的元素的限制:无类型限制,也就是只要是Object就行。

2022-12-30 16:32:46 1393

原创 distinct与group by 去重

distinct简单来说就是用来去重的,而group by的设计目的则是用来聚合统计。单纯的去重操作使用distinct,速度是快于group by的。distinct 是针对要查询的全部字段去重,而 group by 可以针对要查询的全部字段中的部分字段去重,它的作用主要是:获取数据表中以分组字段为依据的其他统计数据。两者执行方式不同,distinct主要是对数据两两进行比较,需要遍历整个表。

2022-12-25 20:15:05 5252

原创 json解析异常显示{“$ref“:“$[0]“}

将获取的对象集合转换成json字符串后,字符串中包括"ref": "$[0].optionScores[0]"符号,解析异常。其实是因为上图中,异常符号出现的位置与我圈住的位置值相同,因此出现了循环引用。正常转换成json字符串。1、取消循环引用检查。2、字段禁用循环引用。

2022-12-16 15:49:39 1711

原创 mybatisPlus更新字段值为null

用Mybatis-Plus的update()或者updateById()来更新数据时,无法将字段设置为null值(更新后数据还是原来的值)。更新时直接将值设置为null。更新策略默认是不为Null。在实体的某个字段上设置。

2022-12-11 18:44:19 5206 2

原创 hutool反射工具-ReflectUtil

Java的反射机制,可以让语言变得更加灵活,对对象的操作也更加“动态”,因此在某些情况下,反射可以做到事半功倍的效果。Hutool针对Java的反射机制做了工具化封装,封装包括:

2022-12-03 19:04:54 6108 1

原创 Hibernate-validator自定义扩展

Target({String message() default "请输入合法的证件号码";Class

2022-11-25 16:26:06 290

原创 JAVA中Function的使用

表示接受一个参数并产生结果的函数。将此函数应用于给定的参数。super V,?返回一个组合函数,首先将before函数应用于其输入,然后将此函数应用于结果。如果任一函数的评估引发异常,则将其转发给组合函数的调用者。super R,?返回一个组合函数,首先将此函数应用于其输入,然后将after函数应用于结果。如果任一函数的评估引发异常,则将其转发给组合函数的调用者。返回一个总是返回其输入参数的函数。

2022-11-20 16:19:19 12573 1

j-im-master.zip

包括了客户端和服务端demo以及源码

2022-01-07

空空如也

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

TA关注的人

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