自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 自定义校验注解ConstraintValidator

自定义注解package com.nobody.annotation; import com.nobody.validator.isleekvalidator; import javax.validation.constraint;import javax.validation.payload;import java.lang.annotation.*; @retention(retentionpolicy.runtime)@target(elementtype.field)@docu

2022-05-14 21:14:42 329

原创 Ubuntu 安装 Docker Compose

安装Compose 支持 Linux、macOS、Windows 10 三大平台。在 Linux 上的也安装十分简单,从官方 GitHub Release处直接下载编译好的二进制文件即可。curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-composechmod +x /usr/lo..

2020-10-09 11:10:52 188

原创 Ubuntu 安装 Docker

平台支持Docker CE 支持多种平台,如下表所示桌面平台 架构 Docker Desktop for Mac (macOS) X64 Docker Desktop for Windows (Microsoft Windows 10) X64 服务器平台 x86_64 / amd64 ARM ARM64 / AARCH64 IBM Power (ppc64le) IBM Z (s390x) CentOS ✔ .

2020-10-09 11:00:30 252

原创 Java 代码精简之道

Java 代码精简之道前言古语有云:道为术之灵,术为道之体;以道统术,以术得道。其中:“道”指“规律、道理、理论”,“术”指“方法、技巧、技术”。意思是:“道”是“术”的灵魂,“术”是“道”的肉体;可以用“道”来统管“术”,也可以从“术”中获得“道”。在拜读大佬“孤尽”的文章《Code Review是苦涩但有意思的修行》时,感受最深的一句话就是:“优质的代码一定是少即是多的精兵原则”,这就是大佬的代码精简之“道”。工匠追求“术”到极致,其实就是在寻“道”,且离悟...

2020-06-29 14:29:08 185

原创 高手总结的9种 OOM 常见原因及解决方案

高手总结的9种 OOM 常见原因及解决方案当 JVM 内存严重不足时,就会抛出 java.lang.OutOfMemoryError 错误。本文总结了常见的 OOM 原因及其解决方法,如下图所示。如有遗漏或错误,欢迎补充指正。1、Java heap space当堆内存(Heap Space)没有足够空间存放新创建的对象时,就会抛出 java.lang.OutOfMemoryError:Javaheap space 错误(根据实际生产经验,可以对程序日志中的 OutOfMemoryErr.

2020-06-28 14:32:43 488

原创 巧用这19条MySQL优化,效率至少提高3倍

巧用这19条MySQL优化,效率至少提高3倍本文我们来谈谈项目中常用的MySQL优化方法,共19条,具体如下:1、EXPLAIN做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。下面来个简单的示例,标注(1、2、3、4、5)我们要重点关注的数据: type列,连接类型。一个好的SQL语句至少要达到range级别。杜绝出现all级别。 key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式。 key...

2020-06-28 14:32:12 129

原创 牛逼哄哄的 Lambda 表达式,简洁优雅就是生产力!

牛逼哄哄的 Lambda 表达式,简洁优雅就是生产力!1.什么是Lambda?我们知道,对于一个Java变量,我们可以赋给其一个“值”。如果你想把“一块代码”赋给一个Java变量,应该怎么做呢?比如,我想把右边那块代码,赋给一个叫做aBlockOfCode的Java变量:在Java 8之前,这个是做不到的。但是Java 8问世之后,利用Lambda特性,就可以做到了。推荐:JDK8新特性之Lambda表达式。当然,这个并不是一个很简...

2020-06-28 11:42:53 145

原创 程序员需要知道的缩写和专业名词

程序员需要知道的缩写和专业名词程序员的世界里充斥着很多的专业名词和英文缩写,本文对一些常见的词汇进行一个汇总,快来看看这些你都知道了吗?英文缩写API应用程序接口(英语:Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系

2020-06-28 11:33:45 239

原创 如何个性化设置自己的 IntelliJ IDEA

如何个性化设置自己的 IntelliJ IDEA1、前言IDEA是一个智能开发工具,每个开发者的使用习惯不同,如何个性化自己的IDEA?我们可以通过Settings功能来设置。Settings文件是IDEA的配置文件,通过他可以设置主题,项目,插件,快捷键等。2、打开方式Settings的界面图打开他的方式有三种: 菜单栏 - File - Settings Ctrl + Alt + s 工具栏 - Sttings按钮 3、界面列表1、Appe.

2020-06-28 11:32:15 368

原创 Java设计模式之观察者模式的两种实现

Java设计模式之观察者模式的两种实现观察者模式就是定义对象之间的一对多依赖,这样一来,当一个对象状态发生改变时,它的所有依赖者都会收到通知并自动更新。 这样的好处就是两个或多个对象之间松耦合,它们依然可以交互,但不太清楚彼此的细节。观察者模式提供了一种对象的设计,让主题和观察者之间松耦合。松耦合的设计可以让我们建立有弹性的OO系统,能够应对变化,是因为对象之间的互相依赖降到了最低。现在我们用一个简单的案例来熟悉观察者模式是怎么实现的。我们设计一个气象站,气象站提供天气数据,天气数据更新后,要实时显示在

2020-06-28 11:28:20 151

原创 老大难的分布式锁与幂等性问题,如何解决?长文干货!

随着互联网信息技术的飞速发展,数据量不断增大,业务逻辑也日趋复杂,对系统的高并发访问、海量数据处理的场景也越来越多。如何用较低成本实现系统的高可用、易伸缩、可扩展等目标就显得越发重要。为了解决这一系列问题,系统架构也在不断演进。传统的集中式系统已经逐渐无法满足要求,分布式系统被使用在更多的场景中。分布式系统由独立的服务器通过网络松散耦合组成。在这个系统中每个服务器都是一台独立的主机,服务器...

2020-06-28 11:05:29 1037 1

原创 Spring EL表达式

spring-core-4 Spring EL表达式4.1 介绍Spring EL表达是一种强大的表达式语言, 可以支持在运行时查询和操作对象.它与EL类似, 但提供了更多扩展功能,如方法调用,字符串模板功能.Spring el表达式支持以下功能:字面值表达式 boolean和关系操作符 正则表达式 类表达式 访问属性,数组,集合 方法调用 关系运算 调用构造函数 Bean引用 构建数组 内联列表 内联map 三元操作 变量 用户定义函数 集合选择 模板表达式

2020-06-22 13:32:59 693

原创 HTTP get和post 请求的优缺点和误区

Get和Post在面试中一般都会问到,一般的区别:(1)post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中)(2)post发送的数据更大(get有url长度限制)(3)post能发送更多的数据类型(get只能发送ASCII字符)(4)post比get慢(5)post用于修改和写入数据,get一般用于搜索排序和筛选之类的操作(淘宝,支付宝的搜索查询都...

2019-09-23 17:15:29 204

原创 Java12版本的新特性

Java12新特性12版本也是一个过渡版本支持原生字符串,ts/js等语言早已支持,java再不支持就说不过去了,不过这个语法真的是方便,我预言Java12以后模版引擎将成为过去式。 转译支持 边距处理原生字符串支持Java中书写多行字符串和特殊转义字符时非常不方便和不直观,Java 12将会引入原生字符串(Raw String Literals)解决这一问题。Java 12...

2019-09-19 11:50:33 149

原创 Java11版本的新特性

Java11新特性11版本是8版本之后第一个长支持的版本,可以考虑从8直接升级到11版本,11版本涵盖了9和10的版本特性,并做了优化。版本号java -versionopenjdk version "11" 2018-09-25OpenJDK Runtime Environment 18.9 (build 11+28)OpenJDK 64-Bit Server VM 18.9...

2019-08-13 13:27:46 275

原创 Java10版本的新特性

Java10新特性10是过渡版本特性列表286: Local-Variable Type Inference(重磅)相关解读: java10系列(二)Local-Variable Type Inference296: Consolidate the JDK Forest into a Single Repository 304: Garbage-Collector Inte...

2019-07-25 12:05:52 226

原创 Java8版本的新特性

Java8新特性lamda表达式(重磅) 集合的stream操作 提升HashMaps的性能 Date-Time Package java.lang and java.util Packages Concurrencylamda表达式(重磅)方法引用/** * 静态方法引用:ClassName::methodName * 实例上的实例方法引用:instanceRefe...

2019-06-16 11:36:56 96

原创 Java7版本的新特性

Java7新特性suppress异常(新语法) 捕获多个异常(新语法) try-with-resources(新语法) JSR341-Expression Language Specification(新规范) JSR203-More New I/O APIs for the Java Platform(新规范) JSR292与InvokeDynamic 支持JDBC4.1规范 ...

2019-05-28 10:16:47 385

原创 Java6版本的新特性

Java6新特性JSR223脚本引擎 JSR199--Java Compiler API JSR269--Pluggable Annotation Processing API 支持JDBC4.0规范 JAX-WS 2.0规范1、JSR223脚本引擎Scripting for the Java Platform基本使用public class BasicScripting...

2019-05-20 10:41:00 164

原创 Java5版本的新特性

Java5的新特性泛型 枚举 装箱拆箱 变长参数 注解 foreach循环 静态导入 格式化 线程框架/数据结构 Arrays工具类/StringBuilder/instrument1、泛型所谓类型擦除指的就是Java源码中的范型信息只允许停留在编译前期,而编译后的字节码文件中将不再保留任何的范型信息。也就是说,范型信息在编译时将会被全部删除,其中范型类型的类型参数则会...

2019-04-30 16:13:57 87

原创 vim常用命令总结

 在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format。使用gg=G可对整篇代码进行排版。   vim 选择文本,删除,复制,粘贴   文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下:v    从光...

2019-02-27 14:33:07 119

原创 Spring返回参数大小写问题

在springmvc+mybatis中,返回用@responsebody自动处理json,默认使用的是Jackson解析。Jackson在解析返回的json字符串时始首字母是小写解决办法:在类属性的get方法上增加注解@JsonProperty("字段名称")在类上添加一下注解@JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visi...

2019-01-18 13:19:41 2775 1

原创 linux查看日志文件内容命令tail、cat、tac、head、echo

linux查看日志文件内容命令tail、cat、tac、head、echotail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C,---------------------------linux 如何显示一个文件的某几行(中间几行)从第3000行开始,显示1000行。即显示3000~3999行cat filename | tail -...

2019-01-18 11:30:32 119

原创 Spring注解式参数校验

一般入参我们都会转为vo对象。那么直接在对象的属性上注解即可。 其实spring用的是hibernate的validator.步骤1.配置spring.xml<mvc:annotation-driven /> 2.配置自己的validate类。<bean id="validateArgsAOP" class="com.my.validate.aop...

2019-01-17 13:23:19 325

guns学习课程(包括收费的视频)完整版

具体详情 https://gitee.com/wuburen/guns #Guns V2.1 新版Guns基于SpringBoot全面升级,完美整合springmvc + shiro + mybatis-plus + beetl! 在不用写xml配置(V1.0)的基础上进一步简化项目配置,让您更专注于业务开发!抛弃传统spring xml的配置方式,利用springboot + javabean方式配置spring,极大简化了pom.xml配置和spring配置. Guns项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块),可以直接作为一个后台管理系统的脚手架. 如果您不喜欢用SpringBoot,或者您是一个spring初学者,您可以切换到Guns V1.0(点击这里)分支, Guns V1.0基于spring的java bean方式配置项目,同样简洁易上手. 注:SpringBoot强大的Auto Config和统一的依赖管理极大的简化了spring配置和maven依赖,在不了解其都配置了哪些东西的基础上可能会对初学者有一定困扰,所以建议初学者先看Guns V1.0

2018-06-14

空空如也

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

TA关注的人

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