自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(143)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 人生-900个格子

一个月前听了一本书,书中有一段很是触动,关于A4纸看人生,人生的900个格子,是这样说的假如我们每个人的生命按75岁来算,人的一辈子,是900个月,在一张A4之上画方格,每一个方格代表一个月,那么我们的一辈子,其实不过是一张A4纸上的900个格子,度过一个格子,就少一个格子。听到这个的时候内心被深深震撼,特意去搜索一些新闻,发现早在十年前就有900个格子的概念,也或许更早就有。生命之短暂,是一件细思极恐的事情,我们都很清楚,却很少有能看得如此直观且触目惊心的,因为时间看不见摸不着,很多时候我们以为它不

2020-06-29 10:25:26 1834

原创 SpringCloud-服务优雅下线

当发起kill命令后,当前服务流量摘除,服务在eureka控制台立即下线,服务接口不可访问,但是服务不停止,现有线程还能正常执行下去,直到线程结束,服务进程关闭。最长等待时间根据配置而定,如30s。1、新建java配置类GracefulShutdownTomcat。运维脚本配置:使用kill / kill -15 命令结束进程。springcloud版本 Finchley.SR1。springboot版本 2.0.5.RELEASE。

2023-04-03 11:07:08 829 1

原创 Solr-SolrException: Cannot connect to cluster at tools.dev.xxx.com:2181: cluster not found/not ready

SolrException

2022-08-09 16:08:07 1269

原创 Java-The maximum number of Cell Styles was exceeded. You can define up to 64000 style in a .xlsx

java.lang.IllegalStateException: The maximum number of Cell Styles was exceeded. You can define up to 64000 style in a .xlsx Workbook

2022-07-06 15:50:54 4396 1

原创 Java-异常org.springframework.beans.factory.BeanCreationNotAllowedException

BeanCreationNotAllowedException

2022-05-24 09:42:52 8304

原创 Java-异常org.springframework.beans.factory.BeanDefinitionStoreException

BeanDefinitionStoreException

2022-05-20 10:59:16 9507

原创 Maven-编译报错(was cached in the local repository...)

Maven-编译报错

2022-03-21 17:22:22 8840

原创 SpringBoot-加密组件jasypt-spring-boot-starter

1、pom.xml增加依赖<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>3.0.3</version></dependency>2、yml增加配置jasypt: encryptor: alg

2022-01-04 17:09:55 7146 1

原创 Maven-多模块打包异常(repackage failed: Unable to find main class)

项目下新增一个模块,结果打包异常,日志如下:[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.0.5.RELEASE:repackage (default) on project supply-common: Execution default of goal org.springframework.boot:spring-boot-maven-plugin:2.0.5.RELEASE:

2021-12-29 17:43:20 520

原创 IDEA-maven项目变灰色

场景:Project右下角没有蓝色方块、Maven Projects中项目是灰色的原因:不小心忽略了maven模块解决方法:Settings–>Maven–>Ignored Files 去掉勾选的文件

2021-12-28 13:33:36 585

原创 Notepad++找回自动保存缓存内容的文件

场景:电脑异常关闭,Notepad++未及时保存,重新打开时文档已清空分析:实际上新建文档后未手动保存前,Notepad++会自动保存当前内容(低版本可能不支持),正常情况打开Notepad++可以直接看到未手动保存的文档,异常情况缓存文件session.xml被清空,未保存的文档不在了,还是有机会找到文件的。方法:自动保存的缓存文件默认路径 C:\Users\Administrator\AppData\Roaming\Notepad++\backup自动保存的文件地址 C:\Users

2021-12-24 16:58:40 5321

原创 JPA-org.springframework.ObjectOptimisticLockingFailureException

最近日志出现一个报错2021-09-09 22:20:21,483 ERROR [ConsumeMessageThread_16] [middle,,,] [CarAssignFailedHandle.handle] [CarAssignFailedHandle.java:58] - Object of class [com.trip.engine.bean.OrderEntity] with identifier [356202191582900224]: optimistic locking fa

2021-10-14 11:11:47 1011

原创 JPA-自定义查询与更新

一、自定义查询1、单表查询(返回实体类列表)此方式对于复杂SQL查看很不方便@Query(value = "SELECT new com.geely.trip.engine.bean.po.OrderInvoicePO(oo.orderNumber,oo.orderStatusCode,oo.orderStatusDes,oo.createTime) FROM OrderEntity oo WHERE oo.ownerCode = ?1 ",nativeQuery = false)Li...

2021-08-10 17:32:16 689

原创 MySQL-字符串最大长度

一、字符串类型最大长度| 数据类型 | 最大长度 ||:--------| :--------|| CHAR | 255 || BINARY | 255 || VARCHAR, VARBINARY | 65,535 || TINYBLOB, TINYTEXT | 255 || BLOB, TEXT | 65,535 || MEDIUMBLOB, MEDIUMTEXT | 16,777,215 || LONGBLOB, LONGTEXT | 4,294,967,295 || ENUM .

2021-07-30 14:34:34 7733

原创 Redis-缓存雪崩、缓存穿透、缓存击穿、缓存预热、缓存更新、缓存降级 简介

一、缓存雪崩1、概念缓存雪崩就是在某一时刻,缓存集大量失效。所有流量直接打在数据库上,对数据库造成巨大压力2、场景电商抢购、比如抢购0点开始1点结束,在1点时大量缓存同时失效,这个时候就会造成缓存雪崩的现象3、解决方案加锁/队列:虽然能降低数据库压力,但同时响应也很慢缓存标记:给每一个缓存数据增加相应的缓存标记,记录缓存是否失效,如果缓存标记失效,则更新数据缓存缓存过期时间错开:设置缓存时间错开,可以在设置过期时间的时候,加一个一定范围内的随机值错开4、注意缓存雪崩强调的是多个ke

2021-06-17 14:39:57 388

原创 Jackson-ObjectMapper json字符串、bean、map、list互相转换

1、对象转json字符串ObjectMapper mapper = new ObjectMapper();User user = new User();String userJson = mapper.writeValueAsString(user);2、Map转json字符串ObjectMapper mapper = new ObjectMapper();Map map = new HashMap();String json = mapper.writeValueAsString(map)

2021-04-15 15:40:38 1479

原创 Jackson-常用注解

1、@JsonIgnore作用在字段或方法上,用来完全忽略被注解的字段和方法对应的属性.@JsonIgnoreprivate String name;2、@JsonProperty作用在字段或方法上,用来对属性的序列化/反序列化,可以用来避免遗漏属性,同时提供对属性名称重命名@JsonProperty("userName")private String name;3、@JsonIgnoreProperties作用在类上,用来说明有些属性在序列化/反序列化时需要忽略掉注明忽略的属性列表

2021-04-14 16:04:22 325

原创 SpringBoot-JPA控制台输出sql语句参数值

一般Log4J或Slf4J默认输出级别最低也是DEBUG,而参数值输出的LEVEL级别是TRACE,所以需要指定日志的LEVEL为TRACElog4j2-spring.xml配置文件增加<Loggers> <Root level="INFO"> <AppenderRef ref="Console" /> <AppenderRef ref="File" /> </Root> <logger name="org.hibernat

2021-03-16 16:27:48 2306

原创 Redis-事务(transaction)

一、概念事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其它客户端发送来的命令请求所打断事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行二、命令1、MULTI标记一个事务块的开始事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由EXEC命令原子性地执行。返回值:OK127.0.0.1:16379> MULTI # 标记事务开始OK127.0.0.1:16379> incr TEST-M # 多条命令按顺

2021-01-12 17:14:58 234

原创 Redis-持久化(persistence)

一、持久化方式1、RDB指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)2、AOF记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集3、同时使用AOF和RDB4、关闭持久化功能但这样数据只在服务器运行时存在二、RDB1、优点a、文件紧凑、适用于灾难恢复、适合用于备份b、可以最大化Redis性能c、恢复大数据集时速度比AOF恢复速度快2、缺点a、故障停机,可能会丢失好几分钟数据b、数据集比较庞大时, fork(

2021-01-04 20:03:40 416 1

原创 CODE-replace与replaceAll

一、Javareplace:全部替换replaceAll:全部替换,支持正则表达式二、JavaScriptreplace:只能替换目标字符串的第一个匹配的字符串,想要将目标字符串全部替换的话需要用正则replaceAll:没有这个方法三、SQLREPLACE:全部替换...

2020-12-29 10:33:08 286

原创 IDEA-配置maven(含所有项目生效)

一、当前项目配置mavenFile->SettingsBuild,Execution,Deployment->Build Tools->Maven 配置自己本地路径二、所有项目配置mavenFile->Other Settings->Default SettingsBuild,Execution,Deployment->Build Tools->Maven 配置自己本地路径...

2020-12-16 16:11:07 7510 2

原创 学习法-费曼学习法

一、提出者理查德·费曼,理论物理学家,1965年获得诺贝尔物理学奖,量子电动力学创始人之一,纳米技术之父。二、步骤费曼学习法可以简化为四个单词:target(目标)、Teach (教授)、Review (回顾)、Simplify (简化)。1、目标确定一个目标,比如学习一门技术、学习一门语言、学习一节课程。2、教授将教授对象设定成一个对这个话题知之甚少的人(也可以是一个8岁的孩子,词汇量和注意力刚好可以理解基本概念),将需要教授的内容写下来,自始至终使用简单的语言来描述,如此会迫使自己在更深层

2020-09-08 19:33:38 519

原创 Java8-Optional.ofNullable使用

Optional类是Java8为了解决null值判断问题,使用Optional类可以避免显式的null值判断(null的防御性检查),避免null导致的NPE(NullPointerException)。示例:public static void main(String[] args) { TestDemo testDemo = new TestDemo(); getCount(testDemo);}private static void getCount(TestDemo testDemo)

2020-08-03 17:42:29 51814

原创 Java-持久化的理解

一、什么是持久化在《精通 Hibernate:Java 对象持久化技术详解(第2版)》中看到过一个很好的解释狭义的理解,“持久化”仅指把域对象永久保存到数据库中;广义的理解,“持久化”包括和数据库相关的各种操作。保存:把域对象永久保存到数据库中。更新:更新数据库中域对象的状态。删除:从数据库中删除一个域对象。加载:根据特定的OID,把一个域对象从数据库加载到内存中。查询:根据特定的查询条件,把符合查询条件的一个或多个域对象从数据库加载到内存中。如图,截自《精通 Hibernate:Java

2020-08-01 11:12:59 2143

原创 HTTP-GET、POST、PUT、DELETE

请求方式资源安全性幂等性场景GET获取资源安全幂等资源查询、文件下载POST创建资源不安全不幂等新增、文件上传PUT更新资源不安全幂等修改DELETE删除资源不安全幂等删除...

2020-07-16 19:21:55 141

原创 MySQL-自增ID用完了会怎样

一、实践1、创建一个主键ID自增的表(自增ID设置为最大值)CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `content` varchar(64) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4294967295;2、插入一条数据insert into `test` (content) values ("zha

2020-07-09 15:45:51 471

原创 MySQL-模糊查询写法

一、LIKESELECT column FROM table WHERE column like '%keyword%';最常用的模糊查询like,数据量小时没关系,数据量大时惨不忍睹,虽然可以借助索引提高效率,但是like '%keyword%'会导致索引失效,只有like 'keyword%'才能应用,但多数场景都不仅是关键词在开头,所以实用性不强二、LOCATESELECT column FROM table WHERE LOCATE('keyword',column) > 0;L

2020-07-07 17:41:34 621

原创 MySQL-查询所有表名和表注释(写文档必备)

写文档必备1、查询当前库所有表名和表注释select TABLE_NAME,TABLE_COMMENT from information_schema.tables where TABLE_TYPE = 'BASE TABLE'2、不带条件查询所有表信息select * from information_schema.tables

2020-07-06 16:34:36 1837

原创 MySQL-like可能导致索引失效

一、like导致的索引失效1、新建一张用户表并创建address索引CREATE TABLE `user_info` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(16) CHARACTER SET latin1 DEFAULT '', `age` tinyint(4) DEFAULT '0', `address` varchar(32) CHARACTER SET latin1 DEFAULT '', PRIMARY

2020-07-04 15:31:36 6776

原创 SpringBoot-@WebFilter使用

一、@WebFilter用于将一个类声明为过滤器,在部署时被容器处理常用属性:filterName:指定过滤器的名字urlPatterns:指定一组过滤器的URL匹配模式二、示例FilterOne.javaimport java.io.IOException;import javax.servlet.*;import javax.servlet.annotation.WebFilter;import javax.servlet.http.HttpServletRequest;@Web

2020-07-02 10:30:10 1348

原创 Spring-@Order注解

一、@Order注解@Order的作用是定义Spring容器加载Bean的顺序@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD})@Documentedpublic @interface Order { /** * 默认最低优先级 */ int value() default Ordered.LOWEST_PRECEDENCE;}二

2020-07-01 13:17:28 898

原创 Java-import机制、IDEA设置

一、Java导入机制1、单类型导入实例:import java.io.File;工作原理:仅导入一个public类或者接口优点:提高编译速度;避免命名冲突缺点:import语句看起来很长2、按需类型导入实例:import java.io.*;工作原理:仅导入当前类需要使用的类,不会降低代码执行效率,但会影响代码的编译速度优点:import语句简洁些缺点:影响编译速度;命名易冲突二、IDEA去除自动导入包时转变为星号Settings > Editor > Code Styl

2020-06-28 14:59:58 1144

原创 Java8-Map

Map新增的方法1、getOrDefault(Object key, V defaultValue)如果Map中存在该key,则返回键对应的值。如果不存在,则会返回设置的默认值。private static void getOrDefaultTest() { Map<String, String> map = new HashMap<>(); map.put("A", "1"); String value = map.getOrDefault("B", "2"); Sy

2020-06-19 20:36:23 299 1

原创 Java-各种类型的等于比较

Integer、Long、Float、Double、BigDecimal、String 等于的比较方式public static void main(String[] args) { intCompare(); longCompare(); floatCompare(); doubleCompare(); bigDecimalCompare(); stringCompare();}public static void intCompare() { int int1 = 1; int

2020-06-16 17:12:56 232

原创 Java8-Stream count anyMatch allMatch noneMatch

一、方法long count();返回这个集合流元素的长度boolean anyMatch(Predicate<? super T> predicate);返回判断条件里任意一个元素成功,即为trueboolean allMatch(Predicate<? super T> predicate);返回判断条件里所有元素成功,即为trueboolean noneMatch(Predicate<? super T> predicate);返回判断条件里

2020-06-06 17:32:30 226

原创 SpringBoot-集成Swagger

一、添加依赖pom.xml增加<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version></dependency><dependency> <groupId>com.github.xiaoymin</g

2020-05-30 15:27:51 264

原创 WALLPAPER-程序员壁纸

纯色壁纸,随意设计,无水印,1920*1080

2020-05-29 19:49:53 1037

原创 Java8-LocalDate、LocalTime、LocalDateTime、ZonedDateTime

java.util.Date,Date的功能很强大包含日期、时间,还有毫秒数,对于时间的一些操作还需配合Calendar写一些代码,月份从0开始,一月是0,十二月是11,java.util.Date和SimpleDateFormatter都不是线程安全的;java.time.LocalDate、LocalTime和LocalDateTime,java.time.LocalDate月份和星期都改成了enum,LocalDate和LocalTime,不但线程安全,而且不能修改。LocalDate只包含日期,L

2020-05-28 17:34:38 331

原创 Java8-java.time.LocalTime.parse

一、LocalTime.parse(CharSequence text)1、声明public static LocalTime parse(CharSequence text)2、参数text:要解析的文本,例如:13:14:20,不是null。3、返回值当地时间,不是null。4、异常DateTimeParseException:无法解析文本时抛该异常5、示例public static void main(String[] args) { LocalTime time = Local

2020-05-27 16:28:00 2601

ikanalyzer-solr5.zip

IKAnalyzer,一个第三方的分词器可以很好的扩展中文词库,包含jar包和简单配置文件;solr自带了一些中文分词器,比较好用的是SmartChineseAnalyzer,但是扩展性比较差不能自定义扩展中文词库

2020-03-28

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

TA关注的人

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