目录 具体Java代码SM2算法加解密实现Demo:pom依赖引入: 国家密码管理局于2010年12月17日发布了SM2算法,并要求现有的基于RSA算法的电子认证系统、密钥管理系统、应用系统进升级改造,使用支持国密SM2算法的证书。 基于ECC椭圆曲线算法的
文章目录需求中对数值进行求和的非常多,但java8对bigdecimal求和没有封装新建接口ToBigDecimalFunction新建工具类CollectorsUtil实体类Person需求中对数值进行求和的非常多,但java8对bigdecimal求和没有封装通常求和我们都这么做:publics
🙊🙊作者主页:🔗求不脱发的博客📔📔精选专栏:🔗数据结构与算法📋📋精彩摘要:考前看一看,AC手拿软。蓝桥杯高频算法考点小结,包括各大算法、排序算法及图的优先遍历原则知识点小结。预祝大家取得优异成绩。💞💞觉得文章还不错的话欢迎大家点赞👍➕收藏⭐️➕评论💬支持博主🤞📚目录📖【
大家好,我是君哥。今天来分享RocketMQ的定时任务。通过这些定时任务,能让我们更加理解RocketMQ的消息处理机制和设计理念。从RocketMQ4.9.4的源代码上看,RocketMQ的定时任务有很多,今天主要讲解一些核心的定时任务。1、架构回顾首先再来回顾一下RocketMQ的架构图:Nam
哈喽,大家好,我是指北君。俗话说,工具用的好,下班下的早。Mybatis代码生成器相信大家用过,本篇博客我们来介绍如何一键生成mybatisplus的相关Entity、Mapper、MapperXML、Service、Controller等各个模块的代码。可能别人花两天时间完成的代码,你一个小时就搞
背景介绍在过去处理过的服务故障中,有一类比较典型的场景是业务线程被阻塞(造成阻塞的原因也是多种多样),慢慢导致业务线程池中的全部线程被阻塞,最终造成无法对外提供服务(现象则是CPU、Load、内存等指标都比较低,请求接口后响应超时或者没有响应)。问题分析响应时间是接口监控的黄金指标之一:假设接口接收
大家好,我是不才陈某~请求合并到底有什么意义呢?我们来看下图。假设我们3个用户(用户id分别是1、2、3),现在他们都要查询自己的基本信息,请求到服务器,服务器端请求数据库,发出3次请求。我们都知道数据库连接资源是相当宝贵的,那么我们怎么尽可能节省连接资源呢?这里把数据库换成被调用的远程服务,也是同
前面的文章给大家介绍了如何自定义一个不可变类,没看过的小伙伴建议去看一下,这节课给大家介绍一个 Java 中的一个关键字 Record,那 Record 关键字跟不可变类有什么关系呢?看完今天的文章你就知道了。友情提示 Record
一、业务背景在开发的过程中会遇到各种各样的开发问题,服务器宕机、网络抖动、代码本身的bug等等。针对代码的bug,我们可以提前预支,通过发送告警信息来警示我们去干预,尽早处理。二、告警的方式1、钉钉告警通过在企业钉钉群,添加群机器人的方式,通过机器人向群内发送报警信息。至于钉钉机器人怎么创建,发送消
在JavaScript中对于其8种数据类型,没有直接且全面的检查数据类型的内置方法,目前知道的typeof和instanceof都不能完美解决问题。本篇将介绍使用Object.prototype.toString如何完美解决此问题。首先我们来看看typeof和instanceof的缺点。typeof
背景一直从事金融相关项目,所以对BigDecimal再熟悉不过了,也曾看到很多同学因为不知道、不了解或使用不当导致资损事件发生。所以,如果你从事金融相关项目,或者你的项目中涉及到金额的计算,那么你一定要花时间看看这篇文章,全面学习一下BigDecimal。BigDecimal概述Java在java.
1.什么是组合模式?Composeobjectsintotreestructurestorepresentpart-wholehierarchies.Compositeletsclientstreatindividualobjectsandcompositionsofobjectsuniformly
对于前端传来的JSON数据,我们在服务端基本上都是通过IO流来解析,如果是古老的Servlet,那么我们直接解析IO流;如果是在SpringMVC中,我们往往通过@RequestBody注解来解析。如果通过IO流来解析参数,默认情况下,IO流读一次就结束了,就没有了。而往往有些场景,需要我们多次读取
在vhr项目中,松哥也跟大家讲了验证码的用法,不过那个里边的验证码是我们自己写的,其实功能也还算完整,够用。不过现在各个网站的验证码玩法花样越来越多,加上最近在搞的TienChin项目用的验证码是一个老牌开源库kaptcha,所以松哥决定还是花点时间,跟大家聊聊kaptcha的用法,毕竟这个已经有1
在Java语言中,并发编程都是依靠线程池完成的,而线程池的创建方式又有很多,但从大的分类来说,线程池的创建总共分为两大类:手动方式使用ThreadPoolExecutor创建线程池和使用Executors执行器自动创建线程池。那究竟要使用哪种方式来创建线程池呢?我们今天就来详细的聊一聊。先说结论在J
本系列Netty源码解析文章基于4.1.56.Final版本。大家第一眼看到这幅流程图,是不是脑瓜子嗡嗡的呢?大家先不要惊慌,问题不大,本文笔者的目的就是要让大家清晰的理解这幅流程图,从而深刻的理解NettyReactor的启动全流程,包括其中涉及到的各种代码设计实现细节。在上篇文章《聊聊Net
本文转载自微信公众号「JAVA前线」,作者IT徐胖子。转载本文请联系JAVA前线公众号。0文章概述大家可能都遇到过DUBBO线程池打满这个问题,刚开始遇到这个问题可能会比较慌,常见方案可能就是重启服务,但也不知道重启是否可以解决。我认为重启不仅不能解决问题,甚至有可能加剧问题,这是为什么呢?本文我们
随着人们对用户体验越来越重视,Web开发已经不满足于2D效果的实现,而把目标放到了更加炫酷的3D效果上。Three.js是用于实现web端3D效果的JS库,它的出现让3D应用开发更简单,本文将通过Three.js的介绍及示例带我们走进3D的奇妙世界。一、Three.js相关概念1.1Three.JS
前言我们知道SpringBoot给我们带来了一个全新的开发体验,我们可以直接把web程序达成jar包,直接启动,这就得益于SpringBoot内置了容器,可以直接启动,本文将以Tomcat为例,来看看SpringBoot是如何启动Tomcat的,同时也将展开学习下Tomcat的源码,了解
高并发的大杀器:异步化同步和异步,阻塞和非阻塞同步和异步,阻塞和非阻塞,这几个词已经是老生常谈,但是还是有很多同学分不清楚,以为同步肯定就是阻塞,异步肯定就是非阻塞,其实他们并不是一回事。同步和异步关注的是结果消息的通信机制:同步:调用方需要主动等待结果的返回。异步:不需要主动等待结果的返回,而是通