自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小半的博客

做一件事,就把一件事做好,别半途而废了。

  • 博客(116)
  • 资源 (4)
  • 收藏
  • 关注

原创 GraalVM入门教程

native-image 是一个用于将 Java 程序编译为本地可执行文件的工具。它是 GraalVM 的一部分,GraalVM 是一个高性能的通用虚拟机,支持多种语言。它可以将 Java 应用程序预编译为本机可执行文件,这样生成的文件可以直接运行,无需 JVM 或者任何其他的运行时环境。

2023-10-20 17:58:38 544

原创 分享个兼容Java8时间的Jackson工具类

文章目录jackson完成 json字符串和对象、map、list互转jackson工具类常用注解jackson完成 json字符串和对象、map、list互转测试使用的User对象:public class User { private String name; private Integer age; private String city; public User() ...

2022-01-08 21:39:22 743

原创 @ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常

零、前言对于与数据库相关的 Spring MVC 项目,我们通常会把 事务 配置在 Service层,当数据库操作失败时让 Service 层抛出运行时异常,Spring 事物管理器就会进行回滚。如此一来,我们的 Controller 层就不得不进行 try-catch Service 层的异常,否则会返回一些不友好的错误信息到客户端。但是,Controller 层每个方法体都写一些模板化的 try-catch 的代码,很难看也难维护,特别是还需要对 Service 层的不同异常进行不同处理的时候。例如

2021-05-14 17:59:58 660

原创 @Autowired和构造方法执行的顺序解析

@Autowired和构造方法执行的顺序解析先看一段代码,下面的代码能运行成功吗?@Autowiredprivate User user;private String school;public UserAccountServiceImpl(){ this.school = user.getSchool();}答案是不能。因为Java类会先执行构造方法,然后再给注解了@Autowired 的user注入值,所以在执行构造方法的时候,就会报错。报错信息可能会像下面:Excep

2021-05-14 17:56:46 1177

原创 SpringMVC 拦截器 Interceptor

SpringMVC InterceptorAPI: http://docs.spring.io/spring-framework/docs/3.2.4.RELEASE/javadoc-api/org/springframework/web/servlet/HandlerInterceptor.htmlDOCS: http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc-handlerma

2021-05-14 17:55:31 443 5

原创 Spring 自定义注解,配置简单日志注解

java在jdk1.5中引入了注解,spring框架也正好把java注解发挥得淋漓尽致。下面会讲解Spring中自定义注解的简单流程,其中会涉及到spring框架中的AOP(面向切面编程)相关概念。不清楚java注解的,可以先了解Java自定义注解一、创建自定义注解requestUrl 为我们自定义的一个参数package com.sam.annotation;import java.lang.annotation.*;/** * @author sam * @since 2017/7

2021-05-14 17:53:04 127

原创 Spring httpinvoker入门教程

httpinvoker参考:Spring 实现远程访问详解——httpinvokerSpring httpInvoker使用标准java序列化机制,通过Http暴露业务服务。如果你的参数和返回值是比较复杂的,通过httpInvoker有巨大的优势。远程访问流程如下1. 服务端定义服务接口package com.lm.core.service; import java.util.List; import com.lm.core.entity.User; publi

2021-05-14 17:51:26 1025

原创 使用spring提供的ReflectionUtils简化项目中反射代码的复杂性

在项目中有时候我们会使用到反射的功能,如果使用最原始的方法来开发反射的功能的话肯能会比较复杂,需要处理一大堆异常以及访问权限等问题。spring中提供了ReflectionUtils这个反射的工具类,如果项目使用spring框架的话,使用这个工具可以简化反射的开发工作。我们的目标是根据bean的名称、需要调用的方法名、和要传递的参数来调用该bean的特定方法。下面直接上代码:import org.springframework.beans.factory.annotation.Autow.

2021-05-14 17:50:18 578

原创 MyCat学习笔记

MyCat学习笔记MyCat官网 - Mycat数据库分库分表中间件资源下载地址 : http://dl.mycat.io/基础先了解下理论概念:MySQL数据库切分MySQL分布式数据库中间件对比, 通过这篇文章最终选择使用MyCat安装配置MyCat详见:一步一步在Windows中使用MyCat负载均衡 上篇一步一步在Windows中使用MyCat负载均衡 下篇目录结构详见:mycat目录结构以及主要配置文件解读mycat实现mysql读写分离附上我自己测试用的

2021-05-14 17:42:35 190

原创 阿里QuickBi快速上手

一、产品简介二、产品选型1、标准版:2、高级版3、专业版三、价格、计费四、入门使用五、系统集成1、使用官方提供管理系统2、内嵌至自己系统1、通过HTTPS接口获取accessToken2、添加需要嵌入的仪表板六、其它一、产品简介智能分析套件Quick BI是一个专为云上用户量身打造的新一代智能BI服务平台。Quick BI可以提供海量数据实时在线分析服务,支持拖拽式操作和丰富的可视化效果,帮助您轻松自如地完成数据分析、业务数据探查、报表制作等工作。什么..

2020-12-10 20:30:58 3280

原创 jpa的好伙伴QueryDSL快速入门

Querydsl定义了一种常用的静态类型语法,用于在持久域模型数据之上进行查询。JDO和JPA是Querydsl的主要集成技术。本文旨在介绍如何使用Querydsl与JPA组合使用。JPA的Querydsl是JPQL和Criteria查询的替代方法。QueryDSL仅仅是一个通用的查询框架,专注于通过Java API构建类型安全的SQL查询。一、准备工作1、引依赖querydsl 相关jar包<!--query dsl --><dependency> <gro

2020-09-20 23:34:44 2929 5

转载 MYSQL中replace into的用法

做项目时遇到这样一个问题,把查询出的数据插入到一个新表里面,第一次可以直接插入,但是第二次第三次的时候如果直接更新,但是会有些新的数据需要添加,但是如果先删除再插入的话效率不高,如果对比两端的数据,相同的更新,没有的插入,这样效率也不高,就是有些数据是更新,有些数据是新增,在网上找了找,mysql有一个 replace into 可以实现,有新数据就自己新增,旧数据就直接更新,其实就是先删除数据,再新增新建一个test表,三个字段,id,title,uid, id是自增的主键,uid是唯一索引;插入两

2020-07-28 11:32:26 1377

原创 Typora自定义样式

之前都是一直使用的 VsCode 写 mackdowm,今天突然发现 Typora 居然可以自己写 css 代码自定义显示效果(自定义的主题就是别人写的 css 样式),然后就按照 官方文档 改了下,具体改了下面几个样式:图片显示同一向左对齐字体同一显示宋体文本左右撑满屏幕代码如下:base.user.cssp .md-image:only-child{ width: auto; text-align: inherit;}body { font-family:

2020-07-28 11:22:19 2535

原创 Advanced Installer轻松带你入门

Advanced Installer 是一款简单易用的Windows软件安装程序制作工具,可用于制作MSI、EXE等软件安装包,用户只需添加文件,修改名称,添加按钮就可以了。官网:https://www.advancedinstaller.com/注意: 使用 16.9 版本的 Advanced Installer 构建的软件包只能在Windows Vista或更高版本上安装,要在较旧的操作系统上部署软件包,如XP系统,请使用Advanced Installer 15.9。资源下载,资源里面包含15.

2020-07-21 14:40:52 16687 12

原创 H2数据库入门,看这篇就对了

H2数据库是一个开源的关系型数据库。H2是一个采用java语言编写的嵌入式数据库引擎,只是一个类库(即只有一个 jar 文件),可以直接嵌入到应用项目中,不受平台的限制应用场景:可以同应用程序打包在一起发布,可以非常方便地存储少量结构化数据可用于单元测试可以用作缓存,即当做内存数据库H2的产品优势:纯Java编写,不受平台的限制;只有一个jar文件,适合作为嵌入式数据库使用;h2提供了一个十分方便的web控制台用于操作和管理数据库内容;功能完整,支持标准SQL和JDBC。麻雀虽小五

2020-07-07 22:22:02 23671 2

转载 Linux之vim的使用

在终端可以使用vim命令来直接编辑文件内容。vim,也可以叫做vi。vim有三种模式:命令模式输入模式底线命令模式命令模式输入 vim [文件名] 进入命令模式,vim 也可以写成 vi。如果文件不存在,先创建再打开,如果文件已存在,直接打开。只能是当前目录下的文件,不能是 document/1.txt 这种子孙目录下的文件。此模式下敲击键盘动作会被Vim识别为命令,而非输入字符。常用命令:i : 切换到输入模式,可以编辑文件内容,i 即 insert: : 切换到底线

2020-06-29 10:04:12 141

原创 Linux文件上传与下载

之前都是用Xftp工具在本地和linux系统之间上传下载文件,最近觉得麻烦,因为平时用Xshell连接,要传输文件的时候还要额外使用别的工具,下面使用 lrzsz 即可完成 Linux 的文件上传与下载。lrzsz 的安装我在测试的时候,服务器上面本身就已经安装了这个,所以我没有测试安装教程是否可行。就这几条命令即可:# 查看可安装的lrzsz版本yum list lrzsz# 安装lrzszyum -y install lrzsz (注:参数-y中"y"的意思是:当安装过程提示选择全部为"y

2020-06-29 09:47:13 733

转载 @ConfigurationProperties 注解使用姿势,这一篇就够了

2020-06-14 22:17:41 563

转载 Javadoc 使用详解

2020-06-14 22:10:34 151

原创 MySQL学习提升

文章目录MySQL索引机制mysql优化Mysql千万级大表优化MySQL索引机制链接: https://pan.baidu.com/s/1YjSI2jKChUAKFfjUJVoP8w 提取码: 900gmysql优化链接: https://pan.baidu.com/s/1kWW5Jymaob1ypRsoP2xfNg 提取码: 4wg6Mysql千万级大表优化Mysql千万级大表优...

2020-05-11 13:40:33 137

原创 JS前端获取用户的ip地址的方法

网址:http://pv.sohu.com/cityjson?ie=utf-8http://ip.chinaz.com/getip.aspx案例一[使用的第一个网址][此案例没有返回用户网络是哪家运营商的]<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <tit...

2020-03-24 23:10:04 7844

原创 JS获取Request请求参数实现

Javascript版方法:String.prototype.getParameter = function (key) { var re = new RegExp(key + '=([^&]*)(?:&)?'); return this.match(re) && this.match(re)[1];};测试代码:<script...

2020-03-24 23:00:19 1776

原创 我对事务的小小总结

由于内容太多,分了好几篇文章来写。一、事务的特性谈谈事务的四大特性二、项目中配置事务项目中如何配置事务三、分布式事务待续…

2019-11-05 18:09:40 151

原创 项目中如何配置事务

项目中使用事务有好几种方式,本文章的项目都是使用的Spring,如果你使用的是JDBC编程,那么请看这个。事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为 编程式 和 声明式 的两种方式。编程式:指的是通过编码方式实现事务,看这个:声明式:基于 AOP, 将具体业务逻辑与事务处理解耦声明式事务管理使业务代码逻辑不受污...

2019-11-05 18:08:18 3766

原创 谈谈事务的四大特性

一、事务四大特性(ACID)1、 A(Atomicity)原子性原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。2、C(Consistency)一致性一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。拿转账来说,假设用...

2019-11-05 18:06:31 894

转载 windows写的shell脚本执行报错的解决方法

今天学了个小技能,有必要推广一下。事情是这样的,我经常需要去服务器执行一套更新重启应用的操作,所以写了个脚本。但是脚本是在windows下写的,放到linux上后,总是报错,原因是每一行的后面多了\r或^m。最终的原因是在windows下编辑的.sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本。因为在dos/window下按一次回车键实际上输入的是“回车(CR)”和“...

2019-10-28 10:20:51 991

原创 浅谈几种常见的加密算法

文章目录一、编码格式 (这个按道理来讲是算不上加密的,但是比较常用)二、消息摘要算法 (这个按道理来讲是算不上加密的,但是比较常用)三、对称加密四、非对称加密在线加密测试工具参考相关文章下面所有代码都是基于 jdk8所有基于Apache的实现都需要引入下面这个包:<!-- apache.codec:编码方法的工具类包 --><!-- https://mvnreposito...

2019-10-26 17:41:42 1811

原创 常用的几种非对称加密算法

文章目录`1、RSA(算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman)``2、DSA 签名`相对对称加密而言,无需拥有同一组密钥,非对称加密是一种“信息公开的密钥交换协议”。非对称加密需要公开密钥和私有密钥两组密钥,公开密钥和私有密钥是配对起来的,也就是说使用公开密钥进行数据加密,只有对应的私有密钥才能解密。这两个密钥是数学相关,用某用...

2019-10-26 17:22:40 17646

原创 常用的对称加密算法

文章目录`1、DES(Data Encryption Standard)``2、3DES(Triple DES)``3、AES(Advanced Encryption Standard)推荐使用`需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。对称性加密也称为密钥加密。所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密...

2019-10-26 17:21:06 14971

原创 常用几种消息摘要算法

文章目录1、`MD5 (Message Digest algorithm 5 消息摘要算法版本5)`2、`SHA (Secure Hash Algorithm 安全散列算法)`3、`MAC (Hash Message Authentication Code 散列消息鉴别码)`消息摘要(Message Digest)又称为数字摘要(Digital Digest)。它是一个唯一对应一个消息或文本的固...

2019-10-24 11:57:01 12307

原创 常用编码格式算法

常用编码格式算法文章目录常用编码格式算法1、`base64`2、`base62x`3、`url编码`1、base64Base64 是网络上最常见的用于传输 8Bit 字节码的编码方式之一,Base64 就是一种基于 64 个可打印字符来表示二进制数据的方法。可查看 RFC2045 ~ RFC2049 ,上面有MIME的详细规范。Base64 编码是从二进制到字符的过程,可用于在 HTTP ...

2019-10-24 11:51:12 2072 2

原创 Redis操作三部曲:SpringBoot2.0.X集成Redis + Redis分布式锁 + RedisCacheManager配置

SpringBoot2.0.X配置Redislook:SpringBoot2.0.X配置RedisRedis实现分布式锁look: Redis实现分布式锁使用Redis做集中式缓存look: 使用Redis做集中式缓存

2019-10-18 11:50:05 676

原创 SpringBoot使用Redis做集中式缓存

文章目录依赖配置测试常用注解依赖<!--cache--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId></dependency&g...

2019-10-18 11:48:06 419

原创 这才是Redis分布式锁真正实现方式

文章目录非SpringBoot项目SpringBoot项目测试非SpringBoot项目基于jedispackage com.blog.www.util.lock;import lombok.extern.slf4j.Slf4j;import redis.clients.jedis.Jedis;import java.util.Collections;import java.ut...

2019-10-18 11:19:46 391

原创 SpringBoot2.0.X配置Redis

文章目录引入依赖`Lettuce``jedis`配置`application.yml``RedisConfig.java`工具类测试`RedisUtilsTest.java``BaseApplicationTests.java`其他引入依赖Lettuce下面这种配置是使用 SpringBoot 默认 RedisClient,也就是 Lettuce。<!--Redis 1.X.X 使用...

2019-10-18 10:37:23 1068

原创 SpringBoot整合Memcached

文章目录Memcached简介Memcached安装Java客户端选型XMemcached介绍XMemcached主要特性整合SpringBoot依赖配置使用其它Memcached简介Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储...

2019-10-14 21:44:06 1607

原创 WebSocket学习

WebSocket学习一、WebSocket简介推荐阅读:WebSocket的故事(一) 概述WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动...

2019-10-13 19:21:35 113

原创 Dubbo & ZK(zookeeper) 学习

视频资源2小时实战Apache顶级项目-RPC框架Dubbo分布式服务调度ZooKeeper分布式专题与Dubbo微服务入门 百度云:https://pan.baidu.com/s/17ZloORhr_zq-46i1QR8T3g 提取码:hgv6文章目录Dubbo介绍架构实战搭建多模块Dubbo介绍关于Dubbo是什么去官网看看知道了中文官网:http://dubbo.apac...

2019-10-11 11:50:36 280

原创 MapStruct的使用

MapStruct 代替BeanUtil 和ModelMapper:https://blog.csdn.net/paincupid/article/details/71247255推荐一个 Java 实体映射工具 MapStruct:https://blog.csdn.net/zhige_me/article/details/80699784...

2019-09-05 17:28:20 3844

转载 lombok @EqualsAndHashCode 注解的影响

方文档:@EqualsAndHashCode原文中提到的大致有以下几点:此注解会生成equals(Object other) 和 hashCode()方法。它默认使用非静态,非瞬态的属性可通过参数exclude排除一些属性可通过参数of指定仅使用哪些属性它默认仅使用该类中定义的属性且不调用父类的方法可通过callSuper=true解决上一点问题。让其生成的方法中调用父类的方法。...

2019-09-04 11:53:00 119

Advanced Installer.zip

Advanced Installer 是一款简单易用的Windows软件安装程序制作工具,可用于制作MSI、EXE等软件安装包,用户只需添加文件,修改名称,添加按钮就可以了。

2020-07-09

TraddingView图表库

TradingView是一个先进的可视化金融平台,易于使用的现代化网站。 无论您是查看基本价格图表还是绘制具有重叠策略回溯测试的复杂商品,我们都有您需要的工具和数据。 TradingView是交易者和投资者最活跃的社交网络。与来自世界各地的数以百万计的交易者交谈,讨论交易观点和现场下单。甚至从iPads或其他设备享受前所未有的经历。

2018-12-11

空空如也

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

TA关注的人

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