自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Web3j签名与验签

闲时,给大家讲讲本人在做项目过程中涉及到的区块链签名相关业务,希望对做区块链行业的同行有所帮助。主要是针对Java程序员围绕web3j库进行区块链以太坊开发,本地签名与验签。代码实例:/** * @Description: Web3j签名验签 */public class Web3j { // 钱包私钥 private static final String priKey = "e62248374af86aa480f9cebd44f04cd...

2022-01-24 17:40:27 17276 16

原创 PO、VO、BO、DAO、DTO、POJO的区别(二)

J2EE开发人员使用数据访问对象(DAO)设计模式把底层的数据访问逻辑和高层的商务逻辑分开,实现DAO模式能够更加关注于编写数据访问代码。各层操作属于该层自己的数据对象,这样就可以降低各层之间的耦合,便于以后系统的维护和拓展。但应是抽象出的业务对象,可以和表对应,也可以不对应,根据业务的需求。当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。可以看成是与数据库中的表相映射的java对象,使用hibernate来生成PO是不错的选择。

2023-07-05 14:25:53 198

原创 spring boot读取yml配置

spring boot读取yml配置文件

2022-12-06 09:51:17 367 1

原创 SpringBoot自动配置原理和实践

SpringBoot自动配置原理

2022-11-12 15:27:22 1351

原创 Spring解决循环依赖

Spring解决循环依赖问题

2022-11-12 12:30:37 218

原创 使用Jasypt保护Spring Boot配置文件中的敏感信息

加密配置文件明文

2022-10-08 15:54:13 218

原创 DB + 缓存设计

DB缓存一致性

2022-09-28 14:16:45 502

原创 SpringBoot实现本地文件存储及预览

SpringBoot实现本地文件存储及预览

2022-07-29 18:58:31 3523 6

原创 Return、Continue、Break关键字区别

循环体关键字

2022-07-19 11:16:15 484

原创 Maven动态统一修改版本号

Maven动态统一修改版本号,Maven项目打包版本号管理 解决:打开idea,在setting中搜索prohibited,将usage of properties in modules parent 慢

2022-07-02 11:33:55 4932

转载 VO、BO、PO、DO、DTO的区别

随着编程工业化水平的不断加深,各种编程模型层出不穷(比如MVC,MVP等等),伴随着这些编程模型,又有一大批新的概念蜂拥而至,什么VO,BO,PO,DO,DTO之类的,这些新的概念一直以来都是云里雾里,网上虽然也有不少文章来区分这些概念,但看下来基本都是几篇相同的文章转载来转载去,这些文章本身也说的不明,有些还互相矛盾,再加上有些文章在简化系统里面来使用这些概念,让人越看越迷糊。面对这个图,让我们先从承上启下的DTO开始入手。DTO(Data Transfer Object) 数据传输对象这

2022-04-19 11:22:51 6137

原创 ACID--事务四大特性

ACID,指的是在数据库事务正确执行的四个基本要素的缩写。具体解释:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)任何一个数据库事务必须满足ACID,只有这样才能保证在事务执行过程中的正确性。原子性(Atomicity)原子性其实非常好理解,我认为它指的就是一种完整性,就是说任何一个具备原子性的事务只有两种状态:完成操作 和 未操作。原子性保证事务的一切操作要么一起成功要么一起失败。原子性的事务一旦开始就一直运

2022-04-18 19:31:24 5792

原创 Java八大基本数据类型

Java中主要有八种基本数据类型:1、整型:byte、short、int、long2、字符型:char3、浮点型:float、double4、布尔型:boolean一、整型Java中整型数据属于有符号数,即第一个bit位为0表示正整数,第一个bit位为1表示负整数。在计算机中负数由补码进行表示,补码=源码取反 + 1。1、byte8位、有符号的以二进制补码表示的整数。min:-128(-2^7)max:127(2^7-1)默认值:0包装类:Byte2、sh

2022-04-18 13:53:13 51064 1

转载 Java - int和Integer的区别总结

在说int和Integer的区别之前,先要弄清楚两个问题:一、java基本数据类型及其封装类二、java自动拆箱和自动装箱一、java基本数据类型及其封装类数据类型 字节大小 封装类 byte 8位 Byte short 16位 Short int 32位 Integer long 64位 Long float 32位 Float double 64位 Double boolean

2022-04-12 11:13:28 115

转载 count(*)、count(1)、count(列名)的区别

count是一种最简单的聚合函数,下面说说它们的区别?从执行结果来说:count(1)和count(*)之间没有区别,因为count(1)和count(*)都不会过滤空值,但count(列名)就存在区别,因为count(列名)会过滤空值。从执行效率来说:它们之间根据不同情况存在一些区别,MySQL会对count(*)做优化处理。(1)如果列为主键,count(列名)效率优于count(1)(2)如果列...

2022-04-11 19:35:12 971

原创 以太坊合约地址的生成方式

以太坊合约的地址是根据创建者(sender)的地址以及创建者发送过的交易数量(nonce)来计算确定的。sender和nonce进行RLP编码,然后用keccak-256进行hash计算。【1】使用Web3j的Java代码/** * 以太坊合约地址的生成方式 */private String calculateContractAddress(String address, long nonce){ byte[] addressAsBytes = Numeric.hexStringTo

2022-03-21 19:58:48 12058

原创 MyBatis Generator使用

目录一、MyBatis Generator官方参考文档二、MyBatis Plus官方参考文档三、MyBatis Generator配置方式四、MyBatis Generator和MyBatis Plus框架对比一、MyBatis Generator官方参考文档MyBatis Generator Core – Introduction to MyBatis Generator二、MyBatis Plus官方参考文档简介 | MyBatis-Plus三、MyBatis

2022-03-15 17:23:07 1457

原创 位(bit)、字节(byte)、字符、编码含义关系

目录一、位二、字节三、字符四、字符集五、编码一、位数据存储的最小单位。每个二进制数字0或者1就是1个位。二、字节8个位构成一个字节;即:1 byte (字节)= 8 bit(位);1 KB = 1024 B(字节);1 MB = 1024 KB; (2^10 B);1 GB = 1024 MB; (2^20 B);1 TB = 1024 GB; (2^3...

2022-03-07 17:38:57 320

原创 序列化和反序列化

一、基本概念1、定义(1)Java序列化是指Java对象转换为字节序列的过程;(2)Java反序列化是指字节序列恢复为Java对象的过程。2、作用(1)序列化最重要的作用:在传递和保存对象时,保证对象的完整性和可传递性。对象转换为有序字节流,以便在网络上传输或者保存在本地文件中;(2)反序列化最重要的作用:根据字节流中保存的对象状态及描述信息,通过反序列化重建对象;(3)总结:核心作用就是对象状态的保存和重建(整个过程核心点就是字节流中所保存的对象状态及描述信息)。3、数据传

2022-03-07 17:09:58 415

原创 高并发编程之AtomicReference讲解【java类】

一、AtomicReference介绍①.AtomicReference和AtomicInteger非常类似,不同之处就在于AtomicInteger是对整数的封装,而AtomicReference则对应普通的对象引用。也就是它可以保证你在修改对象引用时的线程安全性。②.AtomicReference是作用是对”对象”进行原子操作。 提供了一种读和写都是原子性的对象引用变量。原子意味着多个线程试图改变同一个AtomicReference(例如比较和交换操作)将不会使得AtomicR...

2022-02-24 17:59:52 663

原创 Java原生-实现SHA256算法【工具类】

/** * @author qingnianren */public class SHA256Encrypt { /** * 利用java原生的摘要实现SHA256加密 * * @param str 加密后的报文 * @return */ public static String getSHA256StrJava(String str) { MessageDigest messageDigest; S.

2022-02-24 17:40:12 710

原创 Java实现AES加密算法

一、AES简介高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法。对称加密算法:加密和解密用相同的密钥。图解:介绍:明文 P没有经过加密的原始数据密钥 K用来加密明文的密码,在对称加密算法中,加密与解密的密钥是相同的,密钥为发送方与接收方协商产生,但不可以直接在网络上传输,否则会导致密钥泄露,通常是通过非对称加密算法加密密钥,然后再通过网络传输给对方,或者直接面对面商量密钥AES 加密函数设AES加密函数为

2022-02-21 21:20:59 9374

原创 Jasypt加解密

一、pom<!--Jasypt加解密包--><dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>3.0.4</version></dependency>二、工具包/** *

2022-02-21 20:58:26 194

原创 Spring拦截器配置项目实例

一、概念拦截器是Spring架构的一个概念,拦截器是在action请求到Controller之前所进行的操作。拦截器有三个方法,分别是在进入controller之前,return之前,return之后执行。preHandle调用时间:Controller方法处理之前执行顺序:链式Intercepter情况下,Intercepter按照声明的顺序一个接一个执行若返回false,则中断执行,注意:不会进入afterCompletionpostHandle调用前提:preHandle返

2022-02-10 15:14:40 1373

原创 Java实现IPFS文件的上传和下载

一、导入依赖Jar包方式<dependency> <groupId>com.github.ipfs</groupId> <artifactId>java-ipfs-api</artifactId> <version>1.3.3</version></dependency><dependency> <groupId>com.github.mult

2022-01-25 19:22:48 3701 2

原创 RSA签名算法

一、加密算法分类1、密钥密钥,一般就是一个字符串或数字,在加密或者解密时传递给加密或解密算法,以使算法能够正确对明文加密或者对密文解密。2、加密算法分类大体上分为单向加密和双向加密。2.1、单向加密单向加密就是非可逆加密,就是不可解密的加密方法,由于其在加密后会生成唯一的加密串,故而经常用于检测数据传输过程中是否被修改。常见的单向加密有MD5、SHA、HMAC。我们只是把他们作为加密的基础,单纯的以上三种...

2022-01-24 15:27:43 3492

原创 订单超时未支付自动关闭实现方案

一.场景生活中,12306购票、京东、淘宝购物下单,都会遇到请在30分钟内进行支付的场景,互联网电商项目的订单系统都需要解决订单超时问题。无独有偶,订单超时业务场景,非常符合“在一段时间之后,完成一个工作任务”的需求。今天,抽时间给大家总结了几种订单超时未支付自动关闭的实现方案。二.实现方案1、定时任务数据库轮询方式,实现思路比较简单。启动一个定时任务,每隔一定时间扫描订单表,物理逻辑做处理,这种处理方式只是适合比较...

2021-12-29 16:32:02 4617 1

转载 工作中Linux常用命令

一、目录操作pwd 查看当前工作目录clear 清除屏幕cd ~ 当前用户目录cd / 根目录cd - 上一次访问的目录cd .. 上一级目录查看目录文件信息ll 查看当前目录下内容ls 列出文件信息ls -l 以详细信息方式列出文件信息ls -a 列出所有文件和文件夹,包含隐藏文件ls -al 以详细信息方式列出所

2021-12-21 16:35:57 336

原创 学习Linux操作系统

1.Linux简介介绍: 和Windows操作系统类似,Linux是一套性能稳定的多用户网络操作系统优点: ⚙源代码开发;⚙稳定性和高效性:你也许会听到Windows宕机,但你绝不会听到Linux系统服务器因为长时间不关机而卡死,在Linux上几乎不会出现这种情况的。Linux服务器可以无休止的运行下去不宕机,甚至一两年不重启,因为它继承了Unix卓越的稳定性和高效性;⚙可靠的安全性、稳定性能:其安全性相比其他系统也要更高,...

2021-12-17 15:57:03 793

SpringCloud 第二季2020.03.05.mmap

SpringCloud 第二季2020.03.05.mmap

2021-07-23

空空如也

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

TA关注的人

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