自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

java的涟漪

一杯咖啡,一台电脑,品我java

  • 博客(522)
  • 资源 (11)
  • 收藏
  • 关注

原创 关于feign支持GET请求的方法

今天遇见一个问题,我们用Feign包装了一批HTTP的请求,但是在使用的时候,请求业务方,报“NOT support POST”,说明不支持post请求,可是我们在Feign上明明配置的是GET,如下:@RequestLine("GET /api/bpm/createCommon")BpmResp createCommon(@Param String test);然后看了下,有如下原因:Feign默认使用的是POST请求,即使设定请求方式为GET也不会生效,如果需要使用GET的请求方式,需要

2021-08-31 16:27:10 1875

原创 DDD-1-为什么使用DDD

1.前言这段时间,从大数据部转到信息部,以前在大数据部做了很多服务治理的工作,比如搭建了统一网关,整合了大数据部的各种系统,在服务治理和平台治理这块有了自己的理解,其实对于服务治理,IBM曾经给出了如下的总结服务定义(服务的范围、接口和边界) 服务部署生命周期(各个生命周期阶段) 服务版本治理(包括兼容性) 服务迁移(启用和退役) 服务注册中心(依赖关系) 服务消息模型(规范数据模型) 服务监视(进行问题确定) 服务所有权(企业组织) 服务测试(重复测试) 服务安全(包括可接受的保

2021-08-03 20:44:03 602

原创 最全详解CheckStyle的检查规则

本文收集了关于checkstyle的规则的基本所有属性,并按照规则分组,没有分组的,放在最后其他1. Annotations(注解:5个)AnnotationUseStyle(注解使用风格)这项检查可以控制要使用的注解的样式。MissingDeprecated(缺少deprecad)检查java.lang.Deprecated注解或@deprecated的Javadoc标记是否同时存在。MissingOverride(缺少override)当出现{@inheritDoc}的Javado

2021-08-02 12:14:45 6055 1

转载 maven正确的集成命令-U -B 等

在持续集成服务器上使用怎样的 mvn 命令集成项目,这个问题乍一看答案很显然,不就是mvn clean install么?事实上比较好的集成命令会稍微复杂些,下面是一些总结: 不要忘了clean:clean能够保证上一次构建的输出不会影响到本次构建。 使用deploy而不是install:构建的SNAPSHOT输出应当被自动部署到私有Maven仓库供他人使用,这一点在前面已经详细论述。 使用-U参数:该参数能强制让Maven检查所有SNAPSHOT依赖更新,确保集成基于最...

2021-07-30 14:40:13 490

原创 SpringBoot加载配置文件的顺序

最近,关于SpringBoot的配置文件在不同目录下的配置文件出现了相同的配置属性,对于加载顺序有点疑惑。所以写一篇博客记录一下。1.配置文件所在的位置默认值为:classpath:/, classpath:/config/, file:./, file:./config/ 优先级从低到高,最先加载file:./config/ 位置的配置文件;如果配置了spring.config.location属性则取这个属性的值。加载顺序如下:2.配置文件的名字默认值为:application

2021-07-12 19:32:29 3172 2

原创 DDD - CQRS 概念

1 背景1988 年,Bertrand Meyer 在面向对象的软件设计一书中设计了 CQS 原则。简单来说,这个原则是说程序应当要么修改系统(Command),要么返回查询结果(Query),软件中应当保持命令与查询的分离。尽管 Martin Fowler 在他 2005 年的博客文章中也提到,这种分离并非总是可能的,一个很好的例子是返回一个刚插入的记录的 id。首先,你要把记录持久化(Command),其次,你要获得它新分配的 id(Query)。2 什么是CQRSCQRS — C.

2021-06-23 20:04:37 612 1

原创 DDD - SPI 解析

目录1.SPI概念1.1 从面向接口编程说起1.2“接口”位于“调用方”所在的“包”中1.3 “接口”位于“实现方”所在的“包”中1.4 “接口”位于独立的“包”中1.5 API和SPI的转换关系1.SPI概念1.1 从面向接口编程说起我们在“调用方”和“实现方”之间引入了“接口”,上图没有给出“接口”应该位于哪个“包”中,从纯粹的可能性上考虑,我们有三种选择:“接口”位于“调用方”所在的“包”中。 “接口”位于“实现方”所在的“包”中。 “接口.

2021-06-23 17:49:36 553 1

原创 关于统一java注释规范及IDE上注释的配置

1. 问题当前代码的注释没有统一的标准,大家有些人些了注释,有些人不写,没有注释导致后续的代码维护的成本较高对代码进行checkstyle校验或者sonar校验的时候有注释的校验项,目前类级别必须要有注释的2.介绍统一代码注释规范注释分为类注释,方法注释,变量注释,逻辑注释 这四类注释需要规范起来2.1 类注释类注释一般包含如下几项,其中重要的是 Author 和 Description , 类注释可以自动生成,但描述需要开发者自己填装/***@ClassName 类名

2021-06-07 11:36:13 348

原创 java中File的delete和deleteOnExit区别

今天在做文件目录替换的时候,发现Java的File类中有两个delete方法:delete和deleteOnExitdelete文档解释为:直接删除,若文件不存在会有异常deleteOnExit文档解释为:在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。也就是说,程序运行deleteOnExit成功后,File并没有直接删除,而是在虚拟机正常运行结束后才会删除。同样file创建文件的另一个方法:createTempFile(在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称)这两

2021-06-07 10:10:18 1195

原创 关于哪些信息是个人隐私信息

这里写自定义目录标题个人隐私信息列举个人隐私信息列举

2021-01-20 09:35:38 1090

原创 开放api接口签名验证规则

为了保证数据在通信时的安全性,我们可以采用参数签名的方式来进行相关验证。案列分析我们通过给某 [移动端(app)] 写 [后台接口(api)] 的案例进行分析:客户端: 以下简称app后台接口:以下简称api我们通过app查询产品列表这个操作来进行分析:app中点击查询按钮==》调用api进行查询==》返回查询结果==>显示在app中上代码啦 -_-!一、不进行验证的方式a...

2019-11-22 15:23:44 1706

转载 MySQL SHOW 语法命令汇总

MySQL SHOW语法汇总(基于MySQL 5.7)MySQL SHOW语法命令提供了多种形式获取数据库、表、列和状态等信息,是MySQL管理员和用户最常使用的命令,下面对SHOW 语法的命令进行整理汇总,一共40个,看看你认识几个,用过几个。1、SHOW BINARY LOGS; 或者 SHOW MASTER LOGS;显示MySQL上的Binlog文件信息2、 SHOW BINLOG...

2019-10-17 09:17:43 621

原创 关于责任链中使用guava缓存造成的问题

描述:有两个链,1链有A,B,C,D四个节点 2链有A,B,E,D四个节点其中在B节点中会组装一个BMap对象,这个对象会放入到guava的缓存和context上下文当中1.责任链1运行后guava缓存中会有一个BMap对象2.责任链2运行后会对context中的BMap进行修改,但由于java是副值的引用,故修改2对应context的BMap内容其实修改了guava缓存中的BMa...

2019-06-27 11:47:13 378

原创 MySQL大分页SQL的优化思路

延迟关联法,特别适用于倒排序和 LIMIT m,n 其中m很大的情况所谓的延迟关联,就是先找出目标数据的主键id,通过主键id再去关联主表拿其他字段。由于MySQL 8.0 之前都要不支持倒序索引,所以desc降序没办法通过索引排序,用延迟关联法效率要高很多。LIMIT m,n 的原理是从第1条数据(包含了所有字段)开始,往后顺序找第m条,定位到m位置后,再往后找n条数据。随着m的增大...

2019-06-21 10:33:48 366

原创 根据xml文件生成javaBean

最近有个跟天猫对接的事情,我们需要把天猫的对象转成JavaBean这样好处理总共有三个步骤1.利用trang.jar对xml进行xsd的转换可运行命令:java -jar trang.jar test.xml test.xsdtest.xml文件如下:<?xml version="1.0" encoding="utf-8"?><items> <t...

2019-06-14 11:52:39 3471

原创 淘系webview中H5加载速度可集成标准

机型IOS低端机<= 2.5s

2019-04-04 14:47:40 230

原创 电商公共服务整理

@TOC欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全...

2018-12-20 15:10:03 258

原创 kindeditor保存到数据库数据被转义,但在页面上又被解析出来

在做XSS的安全校验的时候,发现通过kindeditor,保存在数据库中是被转义的字符 例如:&lt;svg onload="alert(/XSS/)"&gt;&lt;/svg&gt;被转义成&amp;lt;svg onload="alert(/XSS/)"&amp;gt;&amp;lt;/svg&amp;gt;但是在页面上编辑的时候,重新通过kindeditor渲染后,...

2018-09-12 11:32:17 3586

转载 mysql中int、bigint、smallint 和 tinyint的区别详细介绍

1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方 11111111 在计算机中也就是-128到1271.BIT[M]位字段类型,M表示每个值的位数,范围从1到64,如果M被忽略,默认为12.TINYINT[(M)] [UNSIGNED] [ZEROFILL] M默认为4很小的整数。带符号的范围是-128到127。无符号的范围是0到255。BO...

2018-09-05 11:33:59 497

原创 mybaits动态SQL中的DECIMAL或者integer的问题

今天在验证一个功能的时候发现价格如果是0,数据怎么都不会更新 money = #{money },-就是因为做了一个空串的判断,导致mybatis会按照字符串来解析属性。这就尴尬了。首先既然是封装数据类型,不可能有空串的可能性,所以这里应该只判断是够为null就可以了。关键是mybaits也不报错另外对于没有空字符串可能性的数据都不能做空字符串判断,比如Integer,Double等...

2018-08-30 17:14:38 4652 1

转载 全文搜索引擎 Elasticsearch 入门教程

它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。 Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。 本文从零开始,讲解如何使用 Elastic 搭建自己的全文搜索引擎。每一步都有详细的说明,...

2018-03-18 10:57:26 322

原创 log4j2配置文件log4j2.xml

最近公司在整体推log4j2的升级,架构给出了很多文档,但是都没有详细的,为了一探究竟,在网上查了下log4j2,整理如下: 1.关于配置文件的名称以及在项目中的存放位置     log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为”.xml”,”.json”或者”.jsn”.     系统选择配置文件的优先级(从先到后)如下: ...

2018-02-09 10:42:48 540

原创 IDEA Debug模式下启动慢的解决办法

工程没有做什么大的改动,近期Idea在debug模式下启动耗时800s +,run模式下200s。Idea debug模式启动的时候会有这样的提示: 方法断点会戏剧性的降低debug的速度。当时并没有在意,因为并不清晰这个方法断点是个什么概念。。。。。看了网友的帖子,才知道这个method breakpoints就是方法签名上的断点。idea的这个提示能否更人性化点,就叫method signa

2017-07-31 18:15:59 2939 2

原创 针对400错误使用Spring MVC HandlerExceptionResolver处理异常

昨天晚上一个action设置了大对象,但是提交一直提交不过去,后台也没有任何报错,最后在网上搜索了,使用HandlerException才捕获到此错误,具体文章如下:pring MVC的确很强大,在每一个你想的到和想不到的地方都会留下钩子,来插入自定义的实现,透明替换默认实现, 拦截器堆栈结构设计的非常强大,多种试图的解析,url mapping的多种实现,Locale resolver、The

2017-07-31 18:13:32 2577

转载 freemarker 数字格式化

reemarker数字格式化可以在两个地方设置,一个是全局的,即在freemarker.properties文件中设置number_format,还有一个是使用string指令来控制数据的输出格式。例如:${num?string(‘0.00’)} 如果小数点后不足两位,用 0 代替${num?string(‘#.##’)} 如果小数点后多余两位,就只保留两位,否则输出实际值 输出为:12397

2017-07-06 16:35:55 1001

转载 JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释

jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。HotSpot虚拟机GC算法采用分代收集算法

2017-05-31 18:54:06 632

原创 eq,neq,gt,lt等表达式缩写

eq 等于 neq 不等于 gt 大于 egt 大于等于 lt 小于 elt 小于等于 like LIKE between BETWEEN notnull IS NUT NULL null IS NULL

2017-05-23 16:19:49 9577

原创 shiro和spring quartz 冲突

缘由:在使用shiro时,如果Quartz 为Quartz 2的版本,则抛出异常Java.lang.InstantiationError: org.quartz.SimpleTrigger。原因是默认的shiro-quartz1.2.3中的实现是针对quartz1.6版本的实现(详细源码请查看org.apache.shiro.session.mgt.quartz.QuartzSessionValid

2017-05-22 18:01:13 5879

转载 java.lang.SecurityException: JCE cannot authenticate the provider BC

在与银联的对接中,调试过程中报错:java.lang.SecurityException: JCE cannot authenticate the provider BC 这个问题百度是解决不了的,是google解决的,google里面有一篇解释很清楚完整的博客,原文地址:http://download.csdn.NET/detail/tomliguocai/3945936膜拜大神以下是具

2017-05-02 17:24:36 5591

转载 linux下权限查看

查看权限命令 查看目录的相关权限可以采用命令ls -lD,或者直接用ls -la 如 ls -l wwwt //这里表示查看www目录修改权限命令 chmod 777 文件名 1.chmod 577 /home/stuser -R 2.umask -p 0200 3.chown XXXX YYYY (XXXX 为用户名 YYYY为文件名)权限列表 -rw——- (600) 只有所

2017-04-28 17:30:34 1165

转载 升级shiro对quartz 2的支持

缘由:在使用shiro时,如果Quartz 为Quartz 2的版本,则抛出异常Java.lang.InstantiationError: org.quartz.SimpleTrigger。原因是默认的shiro-quartz1.2.3中的实现是针对quartz1.6版本的实现(详细源码请查看org.apache.shiro.session.mgt.quartz.QuartzSessionValid

2017-04-28 17:29:25 1146 1

转载 HTML 转义字符

HTML 转义字符诸如 “为了在 HTML 中显示小于号 (字符实体一些字符在 HTML 中拥有特殊的含义,比如小于号 (字符实体有三部分:一个和号 (&),一个实体名称,或者 # 和一个实体编号,以及一个分号 (;)。要在 HTML 文档中显示小于号,我们需要这样写:< 或者 <使用实体名称而不是实体编号的好处在于,名称相对来说更容易记忆。而

2017-03-09 13:37:15 670

转载 dubbox 2.8.4的配置和使用

这篇文章主要是从配置和应用层面来介绍dubbox 2.8.4的使用。zookeeper的安装1、准备工作-下载zookeeper 官方地址:http://apache.fayea.com/zookeeper/zookeeper-3.4.6/ 下载版本:zookeeper-3.4.6.tar.gz-下载JDK 下载地址:jsp-138363.html”>http://www.oracle.com

2017-01-26 10:33:28 9120

转载 A cycle was detected in the build path of project eclipse中target没有classes文件

解决Eclipse中Java工程间循环引用而报错的问题 如果我们的项目包含多个工程(project),而它们之间又是循环引用的关系,那么Eclipse在编译时会抛出如下一个错误信息: “A cycle was detected in the build path of project: XXX” 解决方法非常简单: Eclipse Menu -> Window -> Preferen

2016-11-07 18:57:14 1216

原创 关于 HTTP GET/POST 请求参数长度最大值的问题

这几天系统出现问题,原因是商品提交的时候大于2000条商品的时候就会提交不上,经过仔细排除发现是post请求长度的问题,最后修改了如下<Connector connectionTimeout="20000" maxPostSize="52810000" port="8081" protocol="HTTP/1.1" redirectPort="8443"/>然后又仔细看了一下,发现自己对POST和G

2016-11-03 12:35:37 12954

原创 nsupported major.minor version 51.0解决办法

今天偶然间遇到一个问题,也加深了自己对eclipse中build path和java compiler compliance level的理解。解决Unsupported major.minor version 51.0错误最近新安装使用了jdk7,编译了一些类替换到原来正常运行的项目中,替换之后发生了Unsupported major.minor version 51.0错误。经过网上搜索发现了问

2016-11-03 12:23:19 4160

转载 通讯系统经验谈解读内核参数 - socket/文件句柄资源限制参数

本篇主要解读在一台并发15万连接的HTTP服务上的系统配置Linux系统资源限制1. 最大文件数 查看进程允许打开的最大文件句柄数:ulimit -n 查看进程所占的文件描述符: lsof -p xxx | wc -l 设置进程能打开的最大文件句柄数:ulimit -n xxx 2. ulimit -n vs. file-max ? 简单的说, ulimit -n控制进程级别能够打开的文件句

2016-07-01 18:00:25 1823

转载 通讯系统经验谈TCP连接状态分析:SYNC_RECV,CLOSE_WAIT,TIME_WAIT

面试时看到应聘者简历中写精通网络,TCP编程,我常问一个问题,TCP建立连接需要几次握手?95%以上的应聘者都能答对是3次。问TCP断开连接需要几次握手,70%的应聘者能答对是4次通讯。再问CLOSE_WAIT,TIME_WAIT是什么状态,怎么产生的,对服务有什么影响,如何消除?有一部分同学就回答不上来。不是我扣细节,而是在通讯为主的前端服务器上,必须有能力处理各种TCP状态。比如统计在本厂的一台

2016-07-01 17:50:17 1416

原创 netty初析

Netty是什么? 本质:JBoss做的一个Jar包 目的:快速开发高性能、高可靠性的网络服务器和客户端程序 优点:提供异步的、事件驱动的网络应用程序框架和工具通俗的说:一个好使的处理Socket的东东如果没有Netty? 远古:java.net + java.io 近代:java.nio 其他:Mina,Grizzly为什么不是Mina? 1、都是Trustin Lee的作品,Net

2016-06-30 11:09:42 820

转载 Reactor模式详解

什么是Reactor模式要回答这个问题,首先当然是求助Google或Wikipedia,其中Wikipedia上说:“The reactor design pattern is an event handling pattern for handling service requests delivered concurrently by one or more inputs. The servic

2016-06-30 10:11:02 934

RequireJS 使用文档

requirejs 的基本使用手册,目前国内最全的

2014-06-30

jseclipse插件绝对可用

jseclipse插件 采用links方法,具体安装请查看 http://blog.csdn.net/rogerjava/article/details/22727951

2014-04-01

手机网络中header的分析

手机网络中header的分析,各种header属性的意义,例如:x-huawei-sgsnip,x-nx_remoteip,cdn-src-ip,x-surfcache-for,x-wisetc-param-ip,x-pdsn-id

2013-12-23

在复杂网络环境中取真实IP的方法

分析了header中各种属性的意义及内容,最后得到的终极取真实IP的方法,目前正确率达98%

2013-12-23

sIEve-0.0.8

sIEve项目是为了是为了发现和解决由于Internet Explorer中垃圾回收器(garbage collector)的容量限制所引起的内存泄露问题。例如执行AJAX这样的应用程序时,将会给浏览器带来很大的压力。Internet Explorer在内存管理方面表现的并不是很好,话句话说,在处理JavaScript和DHTML的操作时,很容易发生一系列的内存泄露问题。

2013-09-26

RabbitMQ开发中文文档

RabbitMQ是一个消息服务器。从本质上讲,它接收生产者生产的消息,并发送给消费者。期间,它可以根据用户给定的规则来路由、缓存、持久化这些消息。此文为RabbitMQ的中文翻译文档

2013-07-25

iscroll适应IE8,9支持Mozilla浏览器

iscroll适应IE8,9支持Mozilla浏览器,其中有个showNum属性,设置成false可以只出现一个scrollbar,设置成true会出现有图片组中图片数量提示bar

2013-05-30

iScroll支持IE8+,FIREFOX,CHROME

修改了iscroll控件,使其适应了IE8,添加了自动播放的滚动控制属性auto

2012-12-12

基于DWR的webIM系统

基于DWR的webIM系统,利用反向ajax(comet)技术和dwr框架实现了聊天室和点对点聊天的功能,项目运行起来后打开页面,输入用户名即可登录,登录后用户会显示在左侧用户框中,若想与用户私聊,在用户框中点击用户,在私聊窗口即可跟用户私聊

2012-11-09

jad.exe和jadClipse插件

工具文件,对应myeclipse6.5的反编译插件的安装

2012-06-11

空空如也

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

TA关注的人

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