自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 收藏
  • 关注

原创 解决Fastjson2 oom(Out Of Memory),支持大对象(LargeObject 1G)json操作

在使用Fastjson中的 JSON.toJSONString时,如果对象数据太大(>64M)会出现Out Of Memory,查看源码发现为JSONWriter中的判断代码其中maxArraySize默认最大为64M,如果超过了就会抛出oom错误如果fastjson过多的使用内存,也可能导致java堆内存溢出,所以这里建议控制好json对象大小,避免过多过大对象做json操作。

2023-08-18 20:56:47 3546

原创 LocalDateTime转换为时间戳(秒)

LocalDateTime转换为时间戳(秒)

2023-03-08 23:51:23 2177 1

原创 sping boot(Jackson)中Long转换为JSON数值溢出的处理

**//*** 所有的Long自动转换为String,编码json最大值溢出*/@Bean注意: 使用这种方式所有的VO,DTO中的Long都将序列化为json的string类型,如果某些Long属性需要序列化为json number型需要添加序列化注解/**//*** 分页信息*/@ApiModel@Data@ApiModelProperty(value = "总记录数")@ApiModelProperty(value = "数据列表")

2023-01-05 17:11:25 1714

原创 基于微服务(eureka)的优雅发布设计说明

如图1中在基于springcloud的微服务架构中,我们使用eureka作为注册中心,zuul作为网关,用户请求会先进入网关,网关中会通过ribbon组件缓存eureka中注册的服务列表,在 图1: 基于springcloud(eureka作为注册中心,zuul作为网关)的微服务架构图服务列表中进行选择分发,分发到相应的服务.服务间的调用的逻辑也是类似于zuul网管的分发逻辑.当有服务有新版本或修复服务bug后,需要对原有服务进行重新发布部署,在以往我们使用传统的强制发布去发布服务,传统的发布过程如下图2图

2022-11-09 17:40:54 719

原创 CLIP(Contrastive Language-Image Pre-Training)简介

CLIP(Contrastive Language-Image Pre-Training): 利用文本的监督信号训练一个迁移能力强的视觉预训练模型,通过对比学习,训练得到图片和文本的相似度,传闻使用4亿个配对的数据和文本来进行训练,不标注直接爬取的

2022-10-28 17:49:32 4713

原创 卷积神经网络(CNN)简介

卷积神经网络是一种数据(图片,句子,音频等)特征提取的方式, 可以保留数据(图片)特征的同时降低数据量注意: 如果数据转换为二维数据后的数据列的顺序是不允许更换的(图片,句子,音频)则可以使用卷积神经网路处理,如果可以更换(例如一般的excel统计表格中的数据列)的则不可以使用卷积处理卷积神经网络一般包括:卷积运算(convolution)、激活函数处理ReLUs、池化(pooling)、数据被打平(全连接)为全连接层​​​​​​​后作为特征训练。

2022-10-21 15:53:31 1297

原创 TensorFlow概述

TensorFlow概述

2022-10-14 14:40:38 508

原创 java流式编程(Stream)导图-by OnJava8

java流式编程(Stream)导图

2022-01-11 10:27:45 287

原创 xxljob中执行器配置错误导致的NioEventLoopGroup未被正确回收的oom分析和解决

xxljob中执行器配置错误导致的NioEventLoopGroup未被正确回收的oom分析和解决一. mat内存分析报告中NioEventLoop占用了1.2g的容量,大部分的堆空间定位NioEventLoop正确的被引用位置应该为下图所示NioEventLoopGroup正确的被引用位置为下图所示但发现大量的NioEventLoopGroup没有被正确引用,却也没有回收掉故初步定位为:NettyHttpConnectClient 下的grou...

2021-11-15 10:34:06 4501 4

原创 MAT(java内存分析工具)名词解释

shallow heap:浅层堆,对象实际占用的堆大小retained heap:保留堆,包括自己和有且只有自己引用的对象,递归的包括下级的单一引用对象<=>如果这个对象被删除了(GC回收掉),能节省出多少内存Incoming References:显示当前对象被哪些对象引用Outgoing References:显示当前对下引用了哪些对象...

2021-11-02 16:12:40 326

原创 使用refreshScope.refresh导致Eureka服务下线

使用refreshScope.refresh时报错:Caused by: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@727c01f4 rejected from java.util.concurrent.ScheduledThreadPoolExecutor@436a63f1[Terminated, po

2021-07-20 20:41:56 1121

原创 java泛型导图-by OnJava8

java泛型导图:

2021-04-17 00:09:36 136

原创 mysql排它锁(FOR UPDATE) 场景介绍

场景一:当前使用for UPDATE查询其他地方查询1. 当前(不区分是否为事务里)使用for UPDATE查询SELECT * FROM saas_employee_label_person where id = 1 for UPDATE1.1 其他地方(不在上一个连接里或事务里, 不区分是否为事务里)使用for UPDATE 查询(需要获取锁)SELECT * FROM saas_employee_label_person where id = 1 for UPDATE会发生堵.

2021-04-07 15:09:12 2818 1

原创 java redis分布式互斥锁(基于lua脚本保证原子性)

锁代码:package com.wjj.application.util;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.data.redis.core.script.DefaultRedisScript;import org.sprin.

2021-03-23 21:00:51 734

转载 maven依赖原则,maven依赖冲突以及解决方法

一、maven依赖原则1、依赖路径最短优先原则一个项目Demo依赖了两个jar包,其中A-B-C-X(1.0) , A-D-X(2.0)。由于X(2.0)路径最短,所以项目使用的是X(2.0)。2、pom文件中申明顺序优先如果A-B-X(1.0) ,A-C-X(2.0) 这样的路径长度一样怎么办呢?这样的情况下,maven会根据pom文件声明的顺序加载,如果先声明了B,后声明了C,那就最后的依赖就会是X(1.0)。3,覆写优先子pom内声明的优先于父pom中的依赖。二、如何...

2021-03-11 16:37:11 2214 1

原创 spring中javaMail使用ssl的方法发送邮件,javaMail导入证书,忽略证书的方法

使用配置## 基础邮箱配置(每个环境可以覆盖配置)# 发送者的邮箱地址spring.mail.username=xxxx# 发送者的邮箱密码spring.mail.password=xxx# 发送邮箱对应的SMTP地址spring.mail.host=xxxxspring.mail.port=465发送邮件是出现报错sun.security.validator.ValidatorException: PKIX path building failed: sun.security.

2021-02-25 14:40:41 5066 2

原创 机器学习速成课程-学习笔记

机器学习速成课程: https://developers.google.cn/machine-learning/crash-course目录训练参数:线性回归泛化 (Generalization):过拟合的风险训练集和(验证集)测试集特征工程特征组合正则化(降低过拟合)逻辑回归(生成0-1概率值)分类 (Classification)分类 (Classification):指定阈值分类 (Classification):准确率(当您使用分类不平衡的数据集(..

2021-02-08 11:27:24 206 1

原创 java Hmac实现,md5加密实现

package com.wjj.application.facade.ca.casdk.util;import javax.crypto.Mac;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;import java.math.BigInteger;import java.nio.charset.Charset;import java.nio.charset.StandardCharsets;impo.

2020-12-23 11:48:05 3154

原创 java中基于spring aop(切面)的接口调用重试实现

java中基于spring aop(切面)的接口调用重试实现.在项目中需要调用第三方接口,但调用三方接口时可能出现网络错误等外部问题导致的接口调用失败,现需要在此场景下重新尝试调用,并指定重试(错误)的最大次数,超过最大次数后发送邮件通知

2020-11-23 17:52:52 1752 4

原创 spring boot 不同环境读取不同的配置文件(yml)

配置类:package com.wjj.application.facade.kangmei;import lombok.Data;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Laz

2020-11-20 18:32:06 2309

原创 java虚拟机oom定位, java内存分析

场景:项目在使用springcloud的zuul时,在uat环境下发生oom,并且设置堆内存(-Xmx3072M)大小为3gb任然占满任然oom定位过程:第一步获取堆内存dump文件: 这里的内存是缓慢上升的所以可以通过以下方法获取堆内存dump文件:通过命令 jmap加上jar进程号打印出dump文件,进程号可以通过以下命令查看: ps aux|grep jar 得到进程号后,打印dump文件命令(其中12176为进程号) jmap -dum...

2020-11-20 18:24:51 1554

原创 logback动态修改配置(动态添加一个Appender)

logback可以通过:LoggerContext lc = (LoggerContext) StaticLoggerBinder.getSingleton().getLoggerFactory();获取到LoggerContext 上下文动态修改配置,例子(动态添加一个Appender):package com.wjj.application.config;import ch.qos.logback.classic.Level;import ch.qos.logback.cla...

2020-10-20 18:55:08 4489 1

原创 logback配置载入顺序,配置文件命名优先级

logback配置类的初始化在:org.slf4j.impl.StaticLoggerBinder类中的静态代码块中:初始化调用了上下文初始化的自动配置方法:自动配置中的关键代码调用 findURLOfDefaultConfigurationFile,去查找配置文件类:会通过这四个地方查找logback的配置文件findConfigFileURLFromSystemProperties函数查找的是: final public static String CONFIG

2020-10-20 11:08:40 3374 2

原创 java 中的 list 如何聚合并转换类型为Map包Map里面在处理为其他类型, 如何使用 Collectors.groupingBy Collectors.collectingAndThen

java 中的 list 如何聚合并转换类型为Map包Map里面在处理为其他类型, 如何使用 Collectors.groupingBy Collectors.collectingAndThen

2020-09-17 16:21:33 2810 1

转载 jackson使用@JsonSerialize格式化BigDecimal解决.00不显示问题

步骤1.创建一个BigDecimal格式化工具import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.databind.JsonSerializer;import com.fasterxml.jackson.databind.SerializerProvider;import java.io.IOException;import java.math.BigDecimal;public clas

2020-07-30 11:33:09 4246

原创 SpringBoot配置的优先级

读取顺序(同一个配置按顺序读取,读取到就是当前值不会用下面的): 1.jar包的同一目录下config文件夹下的配置文件 2.jar包的同级目录的配置文件 3.代码中(jar包中)的classpath(resources)下的config文件夹 4.代码中(jar包中)的classpath(resources)下的配置文件。 5.启动参数,启动jar包时传 --参数key=参数值,例如: --enable...

2020-07-20 15:13:24 453 1

原创 获得指定日期添加指定天数后的0点(昨天0点,前天0点,明天0点,后天0点,十天后零点)

/** * 获得指定日期添加指定天数后的0点 * * @param date 指定日期 * @param plusDays 添加指定天数 * @return 指定日期添加指定天数后的0点 * @author hank */ public static Date getPlusDayInitial(Date date, long plusDays) { LocalDateTime nextDayZe...

2020-07-10 16:24:14 1062

转载 JAVA 导入信任证书 (Keytool 的使用)

文章目录1. 问题背景 2. 诊断方式 3. 解决方式 1). 列出 keystore 中的证书。 2). 导入证书。 4.附加内容:如何获取一个网站的证书1. 问题背景使用 ssl 连接时,遇到不信任的证书,应用程序一般都会拒绝连接。浏览网站时,我们可以通过在浏览器的设置中导入证书,把证书加入到信任列表中。而在 JAVA 直接进行 SSL 连接应用时,默认没有一个界面来导入证书。JAVA 进行不信任的 ssl 连接时,会报如下异常:javax.net.ssl.SSL

2020-06-19 17:23:34 3232

转载 SpEL表达式总结(@Value(#SpEL表达式))

转载:https://www.jianshu.com/p/e0b50053b5d3,https://www.cnblogs.com/chinda/p/6490896.htmlSpEL 字面量:整数:#{8} 小数:#{8.8} 科学计数法:#{1e4} String:可以使用单引号或者双引号作为字符串的定界符号。 Boolean:#{true}SpEL引用bean , 属性和方法:引用其他对象:#{car} 引用其他对象的属性:#{car.brand} 调用其它方法 , 还可...

2020-06-11 21:18:57 8390

转载 一文搞懂反向传播算法

一、前言这是一场以误差(Error)为主导的反向传播(Back Propagation)运动,旨在得到最优的全局参数矩阵,进而将多层神经网络应用到分类或者回归任务中去。前向传递输入信号直至输出产生误差,反向传播误差信息更新权重矩阵。这两句话很好的形容了信息的流动方向,权重得以在信息双向流动中得到优化,这让我想到了北京城的夜景,车辆川流不息,车水马龙,你来我往(* ॑꒳ ॑* )⋆*。至于为什么会提出反向传播算法,我直接应用梯度下降(Gradient Descent)不行吗?想必大家肯定有过这样的

2020-06-04 11:28:35 519

转载 Spring Boot最核心的20个注解

Spring Boot最核心的27个注解,你了解多少?导读Spring Boot方式的项目开发已经逐步成为Java应用开发领域的主流框架,它不仅可以方便地创建生产级的Spring应用程序,还能轻松地通过一些注解配置与目前比较火热的微服务框架SpringCloud集成。而Spring Boot之所以能够轻松地实现应用的创建及与其他框架快速集成,最核心的原因就在于它极大地简化了项目的配置,最大化地实现了“约定大于配置”的原则。然而基于Spring Boot虽然极大地方便了开发,但是...

2020-06-01 16:07:39 193

原创 elasticsearch 中获得 分词匹配 +(or) 全词模糊匹配 的查询结果(boolQuery)

@Override public Response selectStructuredDataList(StructuredDataDTO structuredDataDTO) { StructuredDataTypeEnum structuredDataTypeEnum = StructuredDataTypeEnum.getByStructuredType(structuredDataDTO.getStructuredType()); // 是否需要中转到ai库..

2020-05-13 17:10:07 2449 1

原创 记一次GitLab(GitLab Community Edition 9.3.11)上合并冲突,解决后生成一条反过来的合并,并且覆盖了合并来源的代码

一般公司都会自己部署gitlab来管理git仓库,有时候就会上去提交合并请求.再一次申请合并请求是发现有冲突故去解决冲突,解决完点击确认合并,惊奇的发现会生成一条反向合并而且会用目标分支覆盖来源分支(代码回滚了),这个是的巨大的坑这里记录下,以免大家也入坑!详细情况:A(源分支)往B(目标分支)分支合并,发生冲突解决完冲突确认合并1.看B分支会有一条合并记录A->B的提交记录...

2020-03-20 15:52:30 2939 6

原创 spring boot 读取文本文件,优先在系统相对路径(jar包相对路径)查找如果没有,再查找jar包中的resources目录下

在开发支付项目时需要读取密钥,为了保证密钥的安全性和项目的多环境兼容性,想出一个方案:优先在系统相对路径(jar包相对路径)查找如果没有,再查找jar包中的resource目录下1.密钥的安全性建立在:如果是生产环境读取系统相对jar包目录下的密钥文件,运维人员保密处理2.项目的多环境兼容性建立在:jar包resource中打包进默认的密钥,测试环境开发环境无需在jar目录中准备...

2020-03-09 18:29:05 3369 1

原创 java读取相对目录的文件,读取jar包相对目录的文件

java读取相对目录的文件,读取jar包相对目录的文件:package com.wjj.application.util;import java.io.*;/** * 文件工具集 * @author hank * @since 2020/3/9 0009 下午 17:58 */public class FileUtils { /** * 读取相对路径下的的...

2020-03-09 18:18:16 1227

转载 java(包括springboot)读取resources下文件方式

1、使用项目内路径读取,该路径只在开发工具中显示,类似:src/main/resources/resource.properties。只能在开发工具中使用,部署之后无法读取。(不通用)  File file = new File("src/main/resources/resource.properties");@Test public void testReadFil...

2020-03-04 11:05:41 1182

原创 java DataFieldMaxValueIncrementer 生成序列号

/** * 生成对应的序列号 - hank * @param sequence DataFieldMaxValueIncrementer对象 * @param left 最左边拼接的串 * @param size 总长度 * @param character 数据库生成随机数字时补充字符 补充在中间 **/ public static String gene...

2020-03-03 21:17:59 951 2

原创 java AES工具类

package com.wjj.application.paysdk.crypt.tools;import javax.crypto.*;import javax.crypto.spec.IvParameterSpec;import javax.crypto.spec.PBEKeySpec;import javax.crypto.spec.SecretKeySpec;import j...

2020-03-03 18:53:39 1749 1

原创 在Java下进行RSA加密(私钥加密,公钥解密)

加密过长的会报错:Data must not be longer than 245 bytes原因是应为不同长度的密钥对应可以加密不同最大长度的原文,2048就对应245解决办法是:1.分段2.RSA加密是有长度限制的.单纯用RSA加密较长数据时得使用分段加密,效率低下.用RSA+AES是比较主流的做法:AES加密数据产生密文,RSA加密AES密钥产生加密后的AES密钥,然后将...

2020-03-03 17:29:44 8095

原创 使用bouncycastle在Java下进行RSA加密(私钥加密,公钥解密)

maven pom依赖:<!-- https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on --> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk...

2020-03-03 17:28:04 7300 2

空空如也

空空如也

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

TA关注的人

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