自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(507)
  • 资源 (21)
  • 论坛 (19)
  • 问答 (5)
  • 收藏
  • 关注

原创 技术分享微信群和个人公众号

微信技术交流群,欢迎各位加入,共同探讨

2020-10-07 18:01:32 74

原创 elasticsearch bool query查询案例

ElasticSearch中有一种复杂的查询,bool query,也叫做布尔查询,下面是一个bool查询的case,在项目中遇到的,做一下总结:case产生的背景:保险业务,由于是分库分表的database,所以在b端画面的一个查询数据的展示,是通过elasticsearch来检索命中文档的。case的实际需求:画面有两个输入框A和B,其中在A中输入汉字,检索投保人policyHolder或者被保人policyInsurant的汉字姓名,如果在B中输入英文名字,则检索投保人policyHo

2020-11-16 18:19:32 35

原创 项目实践缓存预热方案之CommandLineRunner和ApplicationRunner

众所周知,在项目的开发中,合理使用缓存是提高服务性能的一大利器,本篇文章就来介绍一下我所在项目中如何使用缓存的一个案例。背景我们的项目是由多个微服务所组成,业务是保险,我所负责的模块是出单,在压测的过程中,发现当所有服务启动好之后,第一次出单的时间存在耗时较长的情况,通过sleuth分析了一下各个服务之间的调用链,针对第一单,发现出单接口中存在调用其他接口做查询和逻辑处理,在第一次调用后会将结果缓存,那么以后的调用基本是直接走缓存,不会去和数据库交互,减少了数据库创建和关闭连接之类的耗时。此时,我发现针

2020-10-11 10:55:19 98 1

原创 spring_cloud_feign_log

这篇主要介绍一下spring cloud feign log的相关知识点。下面以一个项目中的具体例子来说明:下面是一个接口,在a服务中通过feign去调用b服务的generateBizNo接口,最后返回b服务的generateBizNo所返回的响应。@FeignClient(value = "serviceName", url = "serviceUrl" , fallbackFactory = FeignFallbackFactory.class,configuration = Fe

2020-10-09 17:21:17 58

原创 elasticSearch 检索 mget 用法示例

总结一下自己看elsaticsearch 文档,对于mget用法的实践:需要说明一下,这里必须是ids或者docs,否则会报如下的异常信息:异常信息如下:{ "error": { "root_cause": [ { "type": "parsing_exception", "reason": "unknown key [policyNo] for a START_ARRAY, expected [docs] or [ids]",

2020-07-12 17:13:42 237

原创 mysql select count(*) 优化

最近一直在做微服务的压测和改善,从代码层面,逻辑层面,结合业务进行了调整,下面是关于sql层面的优化点:一般我们判断记录是否存在,都会在mapper.xml中写如下的sql:select count(*) from xxx_0000 where is_deleted='N';使用datagrip执行上面的sql,在控制台可以看到如下输出:返回一条记录,耗时1s 690ms下面是对这条sql进行优化的改写:select count(*) from xxx_0000 where is_dele

2020-07-12 15:17:49 221

原创 spring cloud feign调用超时重试retryer

认识一下Retryer接口认识一下RetryableException异常认识一下FeignException异常实际中我们是如何来应用的Retry 接口 简单介绍通过下面的源码,Retry接口继承了Cloneable接口。Retry接口里面有一个方法叫continueOrPropagate,参数是一个RetryableException重试异常的对象,返回值为void类型Retry接口还有 一个clone()方法,返回类型是Retryer该接口里面有个静态内部类Defa.

2020-06-26 19:46:37 642

原创 查询返回指定的elasticsearch文档字段

可以通过指定elasticsearch中文档的字段,来指定返回文档中的字段:通过_source字段来指定需要返回的字段。举例:根据关系单号,查询es,只需要返回salesType,policyNo,policyRelationNo,policyStatus{ "_source": [ "salesType", "policyNo", "policyRelationNo", "policyStatus" ], "query": { "bool": {

2020-06-26 16:37:10 1240

原创 查询elasticsearch文档不显示原始文档

通过_source字段值为false,查询结果不显示原始字段。举例:根据关系单号,查询es,设置_source为false{ "_source": false, "query": { "bool": { "must": [ { "term": { "policyRelationNo": "KR01435021" } } ], "should": [],

2020-06-26 16:36:00 171

原创 查询elasticsearch查询结果包含或排除某些字段

通过_source字段中的include和exclude来指定返回结果包含哪些字段,排除哪些字段举例:根据关系单号,查询es,设置_source的include和exclude{ "_source":{ "include":[ "policyNo", "policyRelationNo", "policyStatus" ], "exclude":[ "salesType" ] }, "query": {

2020-06-26 16:35:21 4113

翻译 如何监控aws的elasticsearch

Amazon Web Services Elasticsearch Service使组织能够部署,保护和运行其Elasticsearch集群。 AWS Elasticsearch是一种经济高效的大规模运营方式。在这篇文章中,我们分以下几个来说;有哪些可用的指标?如何添加更有意义的计算指标?关键指标有哪些?在哪些指标上使用异常检测动态阈值?什么是elasticsearch?Elasticsearch提供了一种为您的应用程序,网站和数据目录提供快速搜索体验的方法。它也可以用于监视和收集基础结构

2020-06-26 14:38:52 172

原创 elasticsearch cluster_block_exception

insert occur error:Elasticsearch exception [type=cluster_block_exception, reason=blocked by: [FORBIDDEN/8/index write (api)];]上周我们在uat进行压测,使用的是elasticsearch 为aws的,在压测的过程中,elasticsearch抛出如上的异常信息,经过查阅aws es的文档发现,当es的存储低于一定百分比的时候,就会抛出如上的异常,集群阻塞异常,在进行写入的时候。

2020-06-26 11:33:00 882

原创 java.lang.OutOfMemoryError: Java heap space

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.OutOfMemoryError: Java heap spaceat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:982)at org.springframework

2020-06-26 11:15:21 140

原创 Mapped Statements collection does not contain value for

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.xxx.xxx.

2020-06-26 11:02:29 89

原创 查询性能优化

背景说明:业务是保险的业务,分享一篇查询性能优化的文章。本人目前负责的出单业务和业务介入等模块。为何做这个查询的性能优化?由于产品升级,多被保人多险种多责任的出单,一个关系单下多个被保人的保单查询耗时多我们是以被保人的维度落的保单数据,也就是说一个关系单多个被保人多个险种,那么一条保单会对应多个险种数据,其次还有责任,特约,被保人的数据等,导致查询耗时很慢保全服务调用保单接口易出现超时现象,同时查询19个被保人数据。如何发现这个查询慢?使用jmeter工具对单个接口进行压测,优化前20并

2020-06-21 11:19:37 138

原创 Java微服务性能优化

最近在做微服务的性能优化,下面是对这次优化中,采用的方法和调整策略:使用JMeter进行接口压测使用JProfiler对压测过程中进行记录,分析接口耗时,内存等通过jvm命令,分析内存使用使用阿里巴巴Arthas,对程序进行监控使用sleuth来分析整条链路以后下面会分别按照上面5个方面来进行总结...

2020-06-14 21:32:18 273

原创 性能优化JProfiler学习和使用

jprofiler架构图

2020-06-14 21:26:26 105

原创 性能诊断工具Arthas

最近在做项目的微服务性能优化,快结尾了,做一下总结,里面关于使用到阿里巴巴的arthas的地方和心得Bootstrap ArthasEXAMPLES: java -jar arthas-boot.jar <pid> java -jar arthas-boot.jar --target-ip 0.0.0.0 java -jar arthas-boot.jar --telnet-port 9999 --http-port -1 java -jar arthas-boot.jar

2020-06-13 11:27:04 111

原创 String_format异常

背景:输出的钱的格式需要是千分位分隔,所以采用String的format产生异常的代码如下:public static void main(String[] args) { System.out.println(String.format("%1$,d","99999999")); }异常信息如下:Exception in thread "main" java.util.IllegalFormatConversionException: d != java.lang.St

2020-05-21 19:33:58 143

原创 google cache接口

介绍一个 google cache [本地缓存],最近在做一些优化,优化的方面也包含了缓存,下面就先介绍一下 google cache 的 cache 接口。Cache<K,V> 接口这个接口的实现应该是线程安全的,并且可以被多个并发线程安全访问方法getIfPresent(Object key)如果这个 key 在缓存中,那么就可以通过调用该方法来命中缓存,返回返回缓存的 value如果这个 key 不在缓存中,那么就无法命中缓存,那么就会返回 nullget(K key

2020-05-10 19:52:36 288

原创 请求报文首字母大写问题解决方案

在和对方系统进行对接的时候,发现一个问题,对方给的请求报文和返回报文中的字段都是首字母大写的,那么再通过feign调用的时候,你传给对方的请求入参也应该和报文保持一致,示例如下:{ "Name":"zhangsan", "Age":"12", "Address":"上海市天潼路wework"} 下面是我们定义的DTO:package com.learn.java.eight...

2020-04-18 09:59:40 489

原创 注解@ Repository

package org.springframework.stereotype;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPo...

2020-03-26 00:26:09 301

原创 枚举RetentionPolicy

/* * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * *...

2020-03-26 00:07:09 106

原创 枚举类ElementType

package java.lang.annotation;/** * The constants of this enumerated type provide a simple classification of the * syntactic locations where annotations may appear in a Java program. These * const...

2020-03-25 23:32:38 122

原创 @Service注解

package org.springframework.stereotype;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionP...

2020-03-25 10:45:42 161

原创 @Component注解

package org.springframework.stereotype;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionP...

2020-03-22 20:25:26 1379

原创 @Controller注解

package org.springframework.stereotype;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionP...

2020-03-22 19:10:35 686

原创 Mapped Statements collection does not contain value for

问题:Caused by: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.IllegalArgumentExceptio...

2020-03-08 13:24:19 79

原创 Swagger踩到的坑

2020-03-04 18:40:22,663 [main] INFO [org.eclipse.jetty.server.session] [HouseKeeper.java:167] - Stopped scavenging2020-03-04 18:40:22,665 [main] INFO [org.eclipse.jetty.server.handler.ContextHandle...

2020-03-04 18:45:22 260

翻译 JDK13的新特性

Java 13的官方开发目标包括对垃圾收集,应用程序类数据共享和文本块的改进。Java Development Kit(JDK)13是标准Java的下一个版本,现在可作为候选版本使用,所有新功能都已锁定。为JDK 13提出的一项功能,但从未添加到官方列表中,用于打包自包含Java应用程序的jpackage工具,已经错过了削减。JDK 13不再考虑它。新的Java即将到来!了解Jakarta E...

2019-09-16 09:16:01 986

翻译 Java中的注解是如何起作用的

在Java中注解是很重要的一个组成部分,它是从J2SE 5.0开始就存在的。我们在日常开发的应用中应该已经见过类似于@Override和@Deprecated注解。在这篇文章中,我讨论注解是什么,为什么他们会存在,他们如何起作用,如何自定义注解(有代码示例),注解的有效使用场景,最后会说注解和ADF。这将是一个很长的帖子,所以拿一些咖啡,准备潜入注解的世界。1. 注解是什么?用一个单词来解释注...

2019-09-16 09:15:28 5764

翻译 校验Java中的数组是否有序

1. 概述在本篇文章中,我们会学习用不同的方式来检查Java数组中的元素是否有序。在开始学习之前,你需要了解一下在Java中如何对数组排序2.使用循环使用for循环可以来检查Java数组中的元素是否有序。我们可以通过迭代比较数组中的所有元素,两两比较。2.1 基本数据类型的数组我们会通过索引迭代数组元素中的所有元素,将第一个和第二个比较,第二个和第三个比较,以此类推,直到最后一个元素比...

2019-09-11 09:12:50 468

翻译 Java中的组合、聚合和关联关系

1.介绍对象之间在现实生活和编程中都有关系。有时很难理解或实现这些关系。 在本教程中,我们将重点介绍 Java 的三种关系类型,这些关系有时很容易混合:组合、聚合和关联。2.组合组成是一种"belong-to"的关系类型。这意味着其中一个对象是逻辑上较大的结构,其中包含另一个对象。换句话说,它是其他对象的一部分或成员。 或者,我们通常称之为"has-a"关系(而不是"is-a"关系,即继承...

2019-09-09 11:37:03 1754

翻译 LiquiBase中文学习指南

领先的开源数据库更改和部署解决方案。Liquibase 提供独立于数据库的方式,提供快速、安全、可重复的数据库部署概述此快速入门为 Liquibase 提供了简要指导,并涉及三个关键主题:state and Migration approachesHow Liquibase worksTutorials for quickly getting started with Liquibas...

2019-09-09 09:45:21 9482 3

翻译 学习如何使用Chrome DevTools来进行JavaScript调试

作为一个新的开发者,查找和修复BUG是很困难的。你可能会在你的代码中任意使用console.log()方法来使得你的代码正确的运行。不再!这是一篇关于正确调试的方法的文章!您将学习如何使用Chrome开发者工具设置断点并逐步执行代码。此工作流通常是查找和修复代码中的错误的更有效方法。本教程向您展示如何调试一个具体的问题,但您学习的一般工作流程有助于调试所有类型的JavaScript错误。1....

2019-08-25 19:02:24 596

翻译 Java克隆:只复制构造函数是不够的

复制构造函数很有用,但它们不是多态的。无参数方法可以帮助弥合差距,使代码保持松散耦合且易于克隆。这是我Java克隆系列的第三篇文章。在我之前的文章中,用详细的代码解释了Java 克隆和克隆类型(浅克隆和深克隆)和 Java 克隆:复制构造函数与克隆,我详细讨论了 Java 克隆,并解释了每个概念,如克隆是什么,它是如何工作的,实现克隆的必要步骤、如何使用 Object.clone()、浅克...

2019-08-21 10:22:18 285

翻译 Spring Boot事务:理解事务的传播

在我之前的教程中,Spring Boot事务管理例子中,我们了解了事务的声明式实现和管理。在这片文章中,我们会来看事务的传播性以及不同的传播类型。下一篇文章中,我们将会学习Spring Boot 事务回滚和Spring Boot事务隔离级别。事务的传播性是什么?任何应用程序都涉及许多服务或组件,这些服务或组件需要调用其他服务或组件。事务传播指示任何组件或服务是否会参与或将参与事务,以及__如...

2019-08-21 08:59:40 1702 5

翻译 JSON配置文件的缺点

这篇文章主要讲了JSON作为配置文件的缺点:我最近目睹了使用JSON作为配置文件的趋势。我认为这不是一个好做法。这不是JSON的设计目标,也不是它擅长的东西。JSON旨在成为一种“轻量级数据交换格式”,并声称它“易于人们读写”和“易于机器解析和生成”。作为数据交换格式,JSON非常好。人们可以相对容易地读取和写入它,并且对于机器来说解析也很容易(尽管存在问题)。这是机器可读和人类可读之...

2019-08-20 07:53:57 341

翻译 Java_Hashing:从重写HashCode到可变对象

这是一篇关于hashCode方法,可变对象和内存泄漏问题的文章。1. 重写 hashCode() 和 equals() 的契约每个 java 对象都有两个非常重要的方法,比如 hashCode() 和 equals() 方法。这些方法旨在根据其特定的一般规则进行重写。本文描述了为什么以及如何覆盖 hashCode() 方法,该方法在使用 HashMap , HashSet 或任何 Colle...

2019-08-20 07:20:31 174

翻译 11款用来测试和更快构建API的最好的工具介绍

立刻像专业人士一样构建API组织正在改变他们已经在软件应用项目中成功的微服务架构模型,这就是大多数微服务项目使用API(应用程序接口)的原因。我们要为微服务喝彩,因为它相对于其他的模型有各种先进的特性。与此类似,这些数据存储区具有独立的命令来处理每个数据存储区;此外,它还允许软件提供商更快地部署组件。如果更新了一个应用程序,则不需要更新其余的应用程序;它们可以继续其功能。我们正处于为使用应...

2019-08-19 23:31:18 444

JAVA之Object类所有方法

java.lang.Object下的各种方法

2017-08-02

JAVA基础集合代码

集合List,Set,Stack,Map,Queue

2017-07-31

junit-4.12.jar

junit-4.12.jar,用作单元测试时需要引入的Jar包之一

2016-02-13

taglibs-standard-jstlel-1.2.5.jar

taglibs-standard-jstlel-1.2.5.jar ,使用JSTL标签时,需要引入的jar包

2016-02-13

log4j-1.2.17.jar

log4j-1.2.17.jar文件jar包

2016-02-13

mysql-connector-java-5.1.38

mysql-connector-java-5.1.38连接数据库驱动包

2016-01-30

slf4j-1.7.14

slf4j-1.7.14.zip 工具包

2016-01-29

Struts2_1400_DefaultAction

Struts2_1400_DefaultAction

2016-01-23

Struts2_1300_IncludeModules

Struts2_1300_IncludeModules

2016-01-23

Struts2_1200_AccessWebElements

Struts2_1200_AccessWebElements

2016-01-23

Struts2_1100_SimpleDataValiation

Struts2_1100_SimpleDataValiation

2016-01-23

Struts2_1000_CharacterEncoding

Struts2_1000_CharacterEncoding

2016-01-23

Struts2_0900_ModelDrivenParamInput

Struts2_0900_ModelDrivenParamInput

2016-01-23

Struts2_0800_DomainModelParamInput

Struts2_0800_DomainModelParamInput

2016-01-23

Struts2_0700_ActionAtrrParamInput

Struts2_0700_ActionAtrrParamInput

2016-01-23

struts2_DMI代码

以前学习struts2时候,自己练习的代码,可以供初学者参考学习

2016-01-23

struts2_path代码

以前学习struts2时候,自己练习的代码,可以供初学者参考学习

2016-01-23

struts2_action代码

以前学习struts2时候,自己练习的代码,可以供初学者参考学习

2016-01-23

struts2_namespace代码

以前学习struts2时候,自己练习的代码,可以供初学者参考学习

2016-01-23

struts2_actionwildcard代码

以前学习struts2时候,自己练习的代码,可以供初学者参考学习

2016-01-22

struts2_HelloWorld代码

以前看着视频学习struts2时候写的练习代码,完整的代码,可以供初学者学习或者参考。

2016-01-22

Danishlyy1995的留言板

发表于 2020-01-02 最后回复 2020-02-29

中文括号匹配问题

发表于 2017-12-26 最后回复 2017-12-26

HTML转义

发表于 2017-12-06 最后回复 2017-12-07

mybatis和oracle问题

发表于 2017-12-01 最后回复 2017-12-02

json

发表于 2017-11-23 最后回复 2017-11-27

oracle行转列

发表于 2017-10-11 最后回复 2017-11-23

绑定异常

发表于 2017-11-17 最后回复 2017-11-20

miniUI中的mini-textarea自适应问题

发表于 2017-02-06 最后回复 2017-10-11

保存时校验数据相等

发表于 2017-09-01 最后回复 2017-10-11

Eclipse中如何查看JDK源码

发表于 2017-03-07 最后回复 2017-09-01

求个js正则表达式

发表于 2017-02-24 最后回复 2017-03-07

java.lang.NoSuchMethodException:

发表于 2017-02-23 最后回复 2017-02-27

EXCEL导出

发表于 2017-02-09 最后回复 2017-02-12

angularJS双向绑定

发表于 2017-02-05 最后回复 2017-02-06

JAVA程序输出结果为什么是这样?

发表于 2017-01-06 最后回复 2017-01-06

JAVA IO流 文件内容复制

发表于 2016-12-28 最后回复 2016-12-28

easyUI 实现这个效果

发表于 2016-09-30 最后回复 2016-12-28

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

发表于 2016-02-13 最后回复 2016-09-30

oracle中with ...as

发表于 2016-09-09 最后回复 2016-09-25

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

TA关注的人 TA的粉丝

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