自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (17)
  • 收藏
  • 关注

原创 @Scheduled注解简介

@Scheduled 定时任务处理

2024-04-17 17:17:08 582

原创 Swagger 详解

Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。总体来说,Swagger提供了一套标准的注解,开发者可以通过这些注解来描述他们的API,然后Swagger可以根据这些注解生成可交互的API文档。swagger2 最常用的5个注解。

2024-04-03 16:35:53 166

原创 史上最全的 Java 面试题和经典技术博文

尼恩公众号史上最全Java技术博文

2024-03-18 11:08:24 111

原创 JSR303参数校验与全局异常处理

我们在日常开发中,避不开的就是参数校验,有人说前端不是会在表单中进行校验的吗?在后端中,我们可以直接不管前端怎么样判断过滤,我们后端都需要进行再次判断, 为了安全。因为请求很容易绕过前端,比如当测试使用 PostMan 来发送请求,如果后端没有校验,不就乱了吗?肯定会有很多异常的。JSR-303规范(Bean Validation规范)提供了对 Java EE 和 Java SE 中的 Java Bean 进行验证的方式。该规范主要使用注解的方式来实现对 Java Bean 的验证功能。

2024-03-14 18:04:40 916

原创 统一异常处理ControllerAdvice

在我们日常的开发过程中,通常会根据业务定义属于自己的异常,所以通过定制自己的异常处理器,来处理项目中大大小小、各种各样的异常。1、@ExceptionHandler注解标注的方法:用于捕获Controller中抛出的不同类型的异常,从而达到异常全局处理的目的;首先,ControllerAdvice本质上是一个Component,因此也会被当成组件扫描,一视同仁,扫扫扫。3、@InitBinder注解标注的方法:用于请求中注册自定义参数的解析,从而达到自定义请求参数格式的目的;

2024-03-14 16:22:05 427

原创 消息防骚扰方案设计

小时是精确防骚扰,当天的过期时间是自然天,即当前时间到晚上23:59:59,月有大小月之分,大月31天,小月30天,没必要精准区分,都以30天为准。修改可能不会立即生效,等待五分钟之后再起作用。

2024-03-06 10:58:52 141

原创 PA短信通道限额方案设计

客户可以在DA侧充值PA短信通道额度,MA侧要对PA短信通道做限额处理。

2024-03-06 10:54:44 608

原创 MySql的CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP

CURRENT_TIMESTAMP,则无论这个字段有木有set值都插入当前系统时间。在创建新记录的时候把这个字段设置为当前时间,但以后修改时,不再刷新它。在创建新记录的时候把这个字段设置为0,以后修改时刷新它。表示每次更新这条数据的时候,该字段都会更新成当前时间。在创建新记录和修改现有记录的时候都对这个数据列刷新。表示当插入数据的时候,该字段默认值为当前时间。TIMESTAMP的变体。

2024-03-06 10:51:38 300

原创 SpringBoot 监听器

Spring 监听器的四种方式

2023-04-18 14:18:24 3499

原创 Spring Batch 指南

Spring Batch是批处理框架界为数不多的优秀框架(Java语言开发)

2023-04-17 15:02:57 853

原创 Spring资源拷贝至系统目录及文件压缩解压处理

Spring资源拷贝至系统目录及文件压缩解压处理

2023-03-07 15:44:33 266

原创 lombok @Data 注解

lombok 注解

2022-10-19 10:50:33 509

原创 SpringBoot之缓存篇

SpringBoot缓存

2022-09-05 16:10:10 12798

原创 Spring项目按需加载业务功能

Spring按需加载业务功能

2022-06-29 17:52:30 423

原创 MySql 索引

MySQL索引

2022-06-15 14:52:39 121

原创 Java正则表达式以及Pattern和Matcher类详解

概述正则表达式一、概述用来描述或者匹配一系列符合某个语句规则的字符串二、单个符号1、英文句点.符号:匹配单个任意字符。表达式t.o可以匹配:tno,t#o,teo等等。不可以匹配:tnno,to,Tno,t正o等。2、中括号[]:只有方括号里面指定的字符才参与匹配,也只能匹配单个字符。表达式:t[abcd]n 只可以匹配:tan,tbn,tcn,tdn。不可以匹配:thn,tabn,tn等。3、| 符号。相当与“或”,可以匹配指定的字符,但是也只能选择其中一项进行匹配。表达式:t(a|b

2022-04-22 17:20:31 1005

原创 MySQL基础教程

一、 连接MySQL格式: mysql -h主机地址 -u用户名 -p用户密码1.1 连接到本机上的MYSQL首先打开命令窗口,然后进入目录mysql\bin,再键入命令mysql -uroot -p,回车后提示你输密码.注意:用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>1.2 连接到远程主机上的MYSQL假设远程主机的IP为:

2021-08-30 10:21:18 199

原创 【Java】 数组转 List 的三种方式及对比

本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析。一、 (最高效) 通过集合工具类Collections.addAll()方法,支持增删改查等方法通过Collections.addAll(arrayList, strArray)方式转换,根据数组的长度创建一个长度相同的List,然后通过Collections.addAll()方法,将数组中的元素添加到List中,这是最高效的方法。使用场景:需要在将数组转换为List后,对List进行增删改

2021-08-12 16:12:34 750

原创 线程的 run() 和 start() 的区别

线程的 run() 和 start() 有什么区别?调用 start() 方法是用来启动线程的,轮到该线程执行时,会自动调用 run();直接调用 run() 方法,无法达到启动多线程的目的,相当于主线程线性执行 Thread 对象的 run() 方法。一个线程对线的 start() 方法只能调用一次,多次调用会抛出 java.lang.IllegalThreadStateException 异常;run() 方法没有限制。总结: run() 方法相当于启动Thread类里面的一个普通方法, sta

2021-06-10 15:14:11 357

原创 java枚举比较使用equals还是==

建议使用==。避免NPE能正常工作更快运行时是安全的编译期也是安全的其实二者皆可以,没有任何问题。我们查看 Enum.java 中 equals 方法的源码,可以看到其也是使用 == 来实现。public final boolean equals(Object other) { return this==other;}额外答案能在枚举中使用 == 进行判断?答案是肯定的,因为枚举有着严格的实例化控制,所以你可以用 == 去做比较符,这个用法,在官方文档中也有明确的说明。

2021-06-08 15:49:06 2348

原创 JPA 中的 nativeQuery = true

在 JPA 的 @Query 注解中有个属性 nativeQuery其默认值是false。package org.springframework.data.jpa.repository;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPol

2021-06-03 20:25:09 2808

原创 Jackson的序列化及反序列化【@JsonValue及@JsonCreator注解】

Jackson的序列化@JsonValue注解@JsonValue 可以用在get方法或者属性字段上,一个类只能用一个,当加上@JsonValue注解时,序列化时只返回这一个字段的值,而不是这个类的属性键值对。Teacher.classpackage org.zpli.springdemo.bean;import com.fasterxml.jackson.annotation.JsonValue;import lombok.Getter;import lombok.Setter;/**

2021-06-03 15:49:41 2727 5

原创 Jackson API指南

Jackson 概述 与 依赖市面上用于在 Java 中解析 Json 的第三方库,随便一搜不下几十种,其中的佼佼者有 Google 的 Gson, Alibaba 的 Fastjson 以及本文的 jackson。我们在学习一门技术之前,首选要了解这门技术的优劣性,以及它和同等技术的对比。fastjson这么快老外为啥还是热衷 jackson?使用 Jackson 导入 jackson-databind、 jackson-annotations、jackson-core 3 个主要模块

2021-05-19 17:51:02 627

原创 Spring 注解

这里写自定义目录标题Spring 注解@ConditionalOnPropertySpring 注解@ConditionalOnProperty@ConditionalOnProperty的作用是判断一个Property属性,是否符合我们的条件,符合则让该注解修饰的类或者方法生效,否则不生效。我们在Spring Boot中可以通过@ConditionalOnProperty来控制Configuration配置类是否生效。ConditionalOnProperty注解的源码。@Retention(

2021-04-19 15:49:32 135

原创 Mock 及 Mockito 教程

Mockito 教程Mockito框架官方地址mockito,文档地址,中文版文档。Mockito库能够Mock对象、验证结果以及打桩(stubbing)。1. Mock和Mockito的关系在软件开发中提及mock,通常理解为模拟对象。为什么需要模拟? 在我们一开始学编程时,我们所写的对象通常都是独立的,并不依赖其他的类,也不会操作别的类。但实际上,软件中是充满依赖关系的,比如我们会基于service类写操作类,而service类又是基于数据访问类(DAO)的,依次下去,形成复杂的依赖关系。单

2021-04-14 17:08:13 6012

原创 Java知识体系最强总结(2020版)

Java知识体系最强总结(2020版)

2021-04-12 11:49:44 166

原创 Mac查看端口占用情况

终端命令的方式查看端口情况1.查看端口被哪个程序占用 sudo lsof -i tcp:port如: sudo lsof -i tcp:80822.看到进程的PID,可以将进程杀死。 sudo kill -9 PID 如:sudo kill -9 3210

2021-04-08 11:47:58 5131

原创 JsonPath 教程

JsonPath 教程JsonPath 的介绍JsonPath 是一种简单的方法来提取给定 JSON 文档的部分内容。 JsonPath 有许多编程语言,如 Javascript、Python、PHP 和 Java。JsonPath 提供的 json 解析能力非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的 json 内容。github 上有 JsonPath 的应用:JsonPathJsonPath 可以在 Central Maven 仓库中找到,可以看到最新版本已经到了2

2020-11-04 17:33:15 1459

原创 Optional的理解与使用

从 Java 8 引入的一个很有趣的特性是 Optional 类。Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都非常了解的异常。本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。Optional 是 Java 实现函数式编程的强劲一步,并且帮助在范式中实现。但是 Optional 的意义显然不止于此。我们从一个简单的用例开始。在 Java 8 之前,任何访问对象方法或属性

2020-10-20 17:02:23 1932

原创 Spring Data Rest 指南

Spring Data Rest一.Restful简介REST是一种Web软件结构风格,而不是一种标准,匹配或兼容这种架构风格称之为REST服务,REST服务简洁并且有层次,REST通常基于HTTP,URI和XML以及HTML这些现有的广泛流行的协议和标准,在REST中,资源是由URI来指定的,对资源的增删改查也是通过HTTP协议提供的POST,PUT,GET,DELETE等方法实现,使用REST可以更高效率的利用缓存来提高响应速度,同时REST中的通信会话状态有客户端来维护,这可以让不同服务器来处理一

2020-10-10 18:18:20 2331

转载 jackson @JsonIgnoreProperties与@JsonIgnore基本使用

问题由来:springboot项目中定义了很多类,我们在rest返回中直接返回或者在返回对象中使用这些类,spring已经使用jackson自动帮我们完成这些的to json。但是有时候自动转的json内容太多,或者格式不符合我们的期望,因此需要调整类的to json过程,或者说希望自定义类的json过程。解决办法:使用@JsonIgnoreProperties、@JsonIgnore、@JsonFormat。@JsonIgnore注解用来忽略某些字段,可以用在变量或者Getter方法上,用在Set

2020-09-14 10:28:45 568

原创 算法(冒泡排序、插入排序、选择排序、快速排序、二分查找)

二分法查找package algorithm;/** * @Description: 二分查找 * @author: zpli * @Date: 2020/6/1 9:30 */public class BinarySearch { public static void main(String[] args) { int[] arr = new int[]{1, 2, 3, 3, 5, 7, 8, 9}; int digest = 4;

2020-06-02 10:49:39 226

原创 SSM常见面试题总结(超详细回答)

https://blog.csdn.net/a745233700/article/details/80959716

2020-05-18 15:59:03 7299

原创 Java 网络编程 之 socket 的用法与实现

Java 网络编程 之 socket 的用法与实现一、概念TCPTCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内 另一个重要的传输协议。在因特网协议族(Internet pro...

2020-04-16 11:11:17 238

原创 try catch finally的执行顺序

结论:1、不管有没有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,仍然是之前保存的值),所以函数返回值是在finally执行前确定的;4、finally中最好不...

2020-04-09 13:38:00 247 2

原创 JAVA实现AES加密

1. 因子上次介绍了《JAVA实现DES加密》,中间提到近些年DES使用越来越少,原因就在于其使用56位密钥,比较容易被破解,近些年来逐渐被AES替代,AES已经变成目前对称加密中最流行算法之一;AES可以使用128、192、和256位密钥,并且用128位分组加密和解密数据。本文就简单介绍如何通过JAVA实现AES加密。2.JAVA 实现package org.zpli.java8.safe...

2020-04-02 16:50:06 425

原创 JAVA实现DES加密

DES加密介绍DES是一种对称加密算法,所谓对称加密算法即:加密和解密使用相同密钥的算法。DES加密算法出自IBM的研究,后来被美国政府正式采用,之后开始广泛流传,但是近些年使用越来越少,因为DES使用56位密钥,以现代计算能力,24小时内即可被破解。虽然如此,在某些简单应用中,我们还是可以使用DES加密算法,本文简单讲解DES的JAVA实现。JAVA实现package org.zpli.j...

2020-04-02 16:41:20 3112 2

原创 CAS系列博客

https://blog.csdn.net/u010475041/category_7156505.htmlhttps://blog.csdn.net/yelllowcong/article/details/86250566https://blog.csdn.net/anumbrella/category_7765386.html

2020-03-31 10:39:01 169

原创 大佬博客推荐

My Sunshine https://blog.wuwii.com/Edison Zhou https://www.cnblogs.com/edisonchou/category/625054.html十三 https://www.cnblogs.com/han-1034683568/p/6634711.html#blogTitle4五月的仓颉 https://www.cnblogs.c...

2020-03-27 14:27:11 263

原创 JVM进阶(三) 内存分配与回收策略

   虚拟机中的堆分为年轻代和年老代。永久代是非堆内存,它又叫做方法区(一般的说法),主要存储已被加载的类信息、常量、静态变量。而该区域在java8已被删除,取而代之的是元空间。堆是整个Java内存模型中占用最大的一部分,而且不是连续的。当有需要分配内存的时候,一般有两个方法分:指针碰撞和空闲列表。该部分的内存回收是由虚拟机的垃圾收集器GC进行管理的。    堆是存放对象以及数组的...

2020-03-26 18:34:16 143

zepto中文API

Zepto是知名的Locky家族的一个变种,使用AES结合RSA加密文件和保存加密密钥。这个家族的敲诈木马一般通过钓鱼邮件传播,敲诈0.5~3个比特币,其中敲诈3个比特币的样本最为流行,因此中招之后解密成本高昂。

2017-09-14

w3cschool中文API

W3CSchool 每月接受上百万人次的用户访问,并产生数千万的页面浏览量。 W3Cschool是一个专业的编程入门学习及技术文档查询应用,提供包括HTML,CSS,Javascript,jQuery,C,PHP,Java,Python,Sql,Mysql等编程语言和开源技术的在线教程及使用手册,是类国外w3schools的W3C学习社区及菜鸟编程平台。

2017-09-14

css4.0中文API

css是英文Cascading Style Sheets的缩写。 它是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。

2017-09-14

jQuery中文API

jQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作。由John Resig在2006年1月的BarCamp NYC上发布第一个版本。目前是由 Dave Methvin 领导的开发团队进行开发。全球前10000个访问最高的网站中,有59%使用了jQuery,是目前最受欢迎的JavaScript库。

2017-09-14

JavaScript中文API

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

2017-09-14

HTM5中文API

在移动设备开发HTML5应用只有两种方法,要不就是全使用HTML5的语法,要不就是仅使用JavaScript引擎。 JavaScript引擎的构建方法让制作手机网页游戏成为可能。由于界面层很复杂,已预订了一个UI工具包去使用。 纯HTML5手机应用运行缓慢并错漏百出,但优化后的效果会好转。尽管不是很多人愿意去做这样的优化,但依然可以去尝试。 HTML5手机应用的最大优势就是可以在网页上直接调试和修改。原生应用的开发人员可能需要花费非常大的力气才能达到HTML5的效果,不断地重复编码、调试和运行,这是首先得解决的一个问题。现在html5的应用已经相当广泛,未来移动互联网都需要用到html5开发应用[2] HTML5的移植非常简单,但假设每个人都会让这变成一个自动化操作。

2017-09-14

bootstrap中文API

Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。

2017-09-14

angularJS中文API

angularJS是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入,等等。其API对于开发者来说意义非凡,亲测可用。

2017-09-14

RESTLET IN ACTION(中文版)

Restlet的开发实例,里面有restlet的开发教程以及源码

2017-03-15

RESTLET开发(三)

RESTLET开发实例(三)基于spring的REST服务

2017-03-15

RESTLET开发(二)

RESTLET开发实例(二)使用Component、Application的REST服务

2017-03-15

RESTLET开发

RESTLET开发实例(一)基于JAX-RS的REST服务

2017-03-15

gwt开发插件

gwt的开发插件,可以安装在64位的win7操作系统上进行gwt的开发测试。

2015-11-25

jQuery 1.8.0 API 中文手册

jQuery的中文帮助文档,chm格式,帮助您更有效的使用jQuery。

2015-11-25

Restlet开发实例

资源里面包含了Restlet从入门到高级的开发过程,对学习Restlet有很大的帮助

2015-05-07

SmartGwt4.0.jar

SmartGwt 4.0 的开发jar包,希望对大家有帮助,有额外需要的可以联系我

2015-05-07

pax-construct

Pax-Construct 是用来创建osgi工程的maven的插件,以后创建osgi架构的工程再也不用import一大堆plugin工程了。

2014-09-03

空空如也

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

TA关注的人

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