自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小野爸爸的博客

程序猿的一生

  • 博客(47)
  • 资源 (2)
  • 收藏
  • 关注

原创 DDD领域驱动设计,开发框架落地

这是一张之前为了让开发人员理解DDD开发框架的maven依赖关系图,整个项目大概包含这么多的module和依赖关系。关于父pom和common中的内容就不做介绍了,下面把api、client、domain、infrastructure、app层的代码详细贴一下。

2024-01-22 15:25:15 455

原创 kettle分页抽取数据

基于以上场景,通过java代码实现其实相当简单,做一个mysql分页,1000条匹配一次,但是用kettle还从来没做过分页,于是乎开始百度,但是大部分博主给的是错的,主要在变量部分,同一个转换中,“设置变量”后再通过${xx}获取变量值是获取不到的,必须跨转换才行,真的是比较奇怪。3.输出oaids,根据上一步的ids,查询oracle库的异常数据,并将异常数据输出到最开始建的表中。

2024-01-08 20:00:55 1127

原创 sentinel入门,转载的,不记得在哪复制的了

sentinel 基本概念开发的原因,需要对吞吐量(TPS)、QPS、并发数、响应时间(RT)几个概念做下了解,查自百度百科,记录如下:响应时间(RT)   响应时间是指系统对请求作出响应的时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许多功能,而不同功能的处理逻辑也千差万别,因而不同功能的响应时间也不尽相同,甚至同一功能在不同输入数据的情况下响应时间也不相同。所以,在讨论一个系统的响应时间时,人们通常是指该系

2024-01-05 19:09:46 540

原创 springAOP,过滤器、拦截器、切面的使用

Slf4j@Override// 包装Request 和 Response// 打印请求参数// 执行过滤器链//打印返回参数// 打印请求参数// 打印request种关键信息= null) {");= null) {// 判断是否文件上传,图片上传,视频等if (!// 打印返回参数// 判断是否请求静态资源或者文件等}else {if(!

2023-07-01 16:54:29 1259

原创 基于spring boot的JsonSerializer 业务内容国际化

注解定义的意义就是在序列化的时候,能通过注解拿到切入点并获取注解的内容。

2023-06-20 19:25:38 1100

原创 java response下载docx,报文件损坏是否修复,ContentLength导致的

使用http response编写附件下载功能,当附件是docx时,用office的word打开,会出现文件损坏,是否修复的错误,点击修复又能正常打开。首先,仔细对比文件发现,下载下来的文件比服务器上的文件多了12个字节,由此可以推断,在IO流写入的时候字节写多了,百度了一番,大部分都说写流的时候控制一下长度。os.write(buffer, 0, len)的时候要注意不要写os.write(buffer),但是我本身就是按照长度来写的。最后,尝试设置了一下response contentLen

2021-11-23 14:38:40 3597 1

原创 mysql数据量极少的两个表关联查询速度非常慢,字段排序规则编码的天坑!

在做项目的过程中,交接了一个供应商的项目,基于activiti做的工作流平台,有一个查询待办的接口,两张表关联,act_ru_task和cscp_proc_base。act_ru_task表数量9320,cscp_proc_base表数量4690。act_ru_task left joncscp_proc_base 通过一个字段关联。查询执行时间在40多s,我当场震惊!这点数据量也不需要索引啊。但是抱着试一试的想法,我给这个关联字段加了索引,再执行以下,没有任何效果。试着过滤以下csc.

2021-10-09 11:28:18 855

转载 2021-08-19

Springcloud 高并发 配置 简介在微服务架构的应用中, Feign、Hystrix,Ribbon三者都是必不可少的,可以说已经成为铁三角。Feign介绍Feign是一款Java语言编写的HttpClient绑定器,在Spring Cloud微服务中用于实现微服务之间的声明式调用。Feign 可以定义请求到其他服务的接口,用于微服务间的调用,不用自己再写http请求,在客户端实现,调用此接口就像远程调用其他服务一样,当请求出错时可以调用接口的实现类来返回Feign是一个声明式的web

2021-08-19 16:59:53 121

原创 MAT分析JVM内存溢出问题,windows+linux

一、安装1.1、下载网站:https://www.eclipse.org/mat/downloads.php1.2、直接安装二、使用2.1、导入dump的文件,选择Leak Suspects Report2.3、分析问题点击Problem Suspect 1的Details,查看Thread Stack,可以只管看到报错内容三、获取内存dump文件3.1、通过jdk自带的jmap命令获取 jmap -dump:format=b,file=D:\dump\dumpN.

2021-05-17 18:55:13 398 1

原创 Spring Cloud Feign高端局---开启hystrix后,header如何传递

Spring Cloud大家使用的都比较熟悉了,Feign也是我们最常用的服务间调用的方式,最近在工作中遇到这样一个场景。web端调用A服务,A服务调用B服务。A服务将web端通过header中的token解析,获取到user信息,A调用B服务时需要将token或者用户信息传递给B服务。这时候有些人会说,直接把user作为一个对象传递就可以了,但是这种做法导致每个接口都需要传递user对象,非常麻烦。我们的做法是将token或者user信息统一封装在feign的header中传递给B服务,如

2021-05-07 18:28:48 707 1

原创 maven install到本地仓库,其他项目获取不到依赖

环境:idea,maven问题是这样的:1、我有一个项目,里面有两个moudle,一个server,一个api,这个api的moudle是打成jar供其他项目依赖的2、idea内使用maveninstall,配置如下:<build> <plugins> <!-- 源码插件 --> <plugin> <groupId>org.apach.

2021-01-29 09:45:29 2850

原创 mysql某字段包含字符的个数

where (LENGTH(name) - LENGTH( REPLACE (name, '.', ''))) >= 2

2019-07-30 11:41:47 8035

原创 Spring data mongodb实现嵌套查询,并指定返回子集内容

mongo格式:{ "_id" : "1", "userId" : "2", "bookId" : "1", "historyList" : [ { "_id" : "1", "hh" : "1" }, { "_id" : "2", ...

2019-06-20 15:57:17 9181 11

原创 一个线程安全的单例模式

/** * @author lhj * @Description: 一个线程安全的单例模式 * @date 2019/6/17 19:32 */public class SingletonSafe { //私有化构造方法 private SingletonSafe(){ } //私有化一个静态的单例对象 //volatile的目的是防止JVM指...

2019-06-17 19:41:28 170

转载 MySQL索引原理及BTree(B-/+Tree)结构详解

目录摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分...

2019-06-10 17:54:09 2436 2

原创 solr事务提交

solr的使用过程中,大部分是query操作,很少用到事务,只知道在新增和删除时使用commit。其中solr的commit又分为三种:手动调用提交 自动提交 延时提交其中每次手动操作完成之后调用commit的效率最低,但是无所谓,毕竟增删操作都是少数。本文只研究手动调用提交通过测试,solrClient的commit()方法可以协助我们来完成事务。 1、新增数据...

2019-03-12 14:59:56 1072 1

转载 关于HTTP GET请求的url中文参数编码

https://www.cnblogs.com/yoyotl/p/5390876.html场景:前端用JS构造了一个GET请求,携带了一个中文的参数,通过Spring MVC传到后台以后解析中文是乱码。1. 发送请求,从浏览器中捕获到http的请求内容如下:1 Remote Address:[::1]:80802 Request URL:http://localhost:8080/...

2019-02-28 13:55:46 3402

转载 linux开机启动zookeeper

转自 https://www.cnblogs.com/zhangmingcheng/p/7455278.html把zookeeper做成服务1、进入到/etc/rc.d/init.d目录下,新建一个zookeeper脚本 1 2 3 4 [root@zookeeper ~]# cd /etc/rc.d/init.d/  [ro...

2019-01-31 10:50:39 1093

原创 linux开机启动tomcat

1、修改tomcat的catalina.shvim /usr/local/tomcat8/bin/catalina.sh 在 OS specific support. 前面加入如下代码:JAVA_HOME=/usr/local/java/jdk1.8.0_151JRE_HOME=$JAVA_HOME/jre 2、配置系统服务vi /usr/lib/systemd/...

2019-01-23 14:19:10 634

原创 SolrCloud配置+Spring Boot应用

一、业务场景公司业务涉及到聚合搜索,所有使用了solr作为索引工具,solr中索引数据并不多,大概百万级。初始架构设计采用solr Master-Slave模式,master负责索引的创建,多slave通过nginx负载负责查询,但是web架构采用了spring cloud,多节点共用一个配置中心的配置文件,导致无法区分master slave,所以开始研究solrCloud的部署方式。...

2019-01-22 15:06:52 1665 4

原创 双色球选号java源代码,首次公开!

2019-01-08 16:44:00 1828 1

原创 Redis在Linux下安装,并设置后台启动和远程访问

1、下载压缩包,放在/usr/local目录下,本人使用的为4.0.10版本,redis-4.0.10.tar.gz2、解压压缩包,tar zxvf redis-4.0.10.tar.gz,解压后目录为/usr/local/redis-4.0.10/3、编译redis,在/usr/local/redis-4.0.10/目录下执行make命令,编译完成后会生成一些文件夹4、安装redis...

2018-11-29 10:07:07 559

原创 mysql的group_concat函数长度问题

MySql中group_concat函数很好用,可以将多列的值拼合成逗号分开的行。但是此函数默认长度为1024个字符,经常会出现溢出的现象,溢出后拼合字符串长度就会从第1024个字符截断。解决此问题的方法是修改函数长度一、语句命令修改,修改后需重新建立连接生效,但是mysql服务重启后又会失效。SET GLOBAL group_concat_max_len=102400;SE...

2018-11-12 14:02:58 2677

原创 spring boot在idea下debug调试热部署

spring mvc项目在eclipse中使用tomcat启动可以实现即改即现,也就是修改了java代码代码之后不需要重新部署就可以看到运行效果。现在的开发环境变成了spring boot和idea,也想实现相同的效果,于是展开了研究,过程相对曲折和搞笑。一、热启动和热部署的区别(仅代表个人看法)1、热启动:修改代码后,服务可自动重启,通过console可看出,这种做法并不好用!2、热...

2018-09-12 16:47:26 7420 4

原创 spring cloud集成quartz数据库配置定时任务(附源码)

之前项目中使用springMVC集成了可配置的定时任务,现spring cloud也需要集成,单纯的springMVC和springboot的集成基本没有什么区别,但是在spring cloud中分出需要服务和集群,就需要对定时任务进行一定的改造。源码部分由max chen提供!一、数据库字段1、task_schedule_job表,用来存储定时任务的基本信息CREATE TABLE...

2018-09-12 11:42:39 4297 6

转载 linux安装jdk

0.下载jdk8登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择对应jdk版本下载。(可在Windows下下载完成后,通过文件夹共享到Linux上) 1. 登录Linux,切换到root用户su root 获取root用户权限,当前工作目录不变(需...

2018-09-04 17:27:09 123

转载 linux下安装mysql

inux版本:CentOS7 64位    1、下载安装包“mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz”    # 安装依赖yum -y install perl perl-devel autoconf libaio    2、把下载的安装包移动到/usr/local/下。    3、解压tar zxvf mysql-5.6.33-...

2018-09-04 16:41:44 115

原创 spring boot使用缓存

在项目的使用中,经常使用的缓存有redis、ehcache、java内存缓存(map等),内存缓存不再记录,主要记录一下spring boot下如何使用ehcache和redis缓存。一、ehcache1、引入依赖&lt;!--开启 cache 缓存 --&gt;&lt;dependency&gt; &lt;groupId&gt;org.springframework.b...

2018-09-03 10:32:46 2337

转载 spring cloud-zuul的Filter详解

在前面我们使用zuul搭建了网关http://blog.csdn.net/liuchuanhong1/article/details/59056278关于网关的作用,这里就不再次赘述了,我们今天的重点是zuul的Filter。通过Filter,我们可以实现安全控制,比如,只有请求参数中有用户名和密码的客户端才能访问服务端的资源。那么如何来实现Filter了?要想实现Filter,需要以下几个步骤:...

2018-06-25 18:08:30 148

转载 Solr的主从模式Master-Slave

转载:https://blog.csdn.net/jiangchao858/article/details/53355117引入Master-SlaveSolr在查询的时候,特别忌讳进行写操作,因为它是IO阻塞型的。现在的流行的Elasticsearch就对此有很好的改进。在引入Master-Slave以后,将读写分配到不同的服务器上,你可以使用master来做索引...

2018-06-15 14:32:20 466

转载 logback-spring.xml配置文件

转自:https://blog.csdn.net/xu_san_duo/article/details/80364600自己改下value="G:/logs/pmp"这个值,如果你相关依赖弄好的话,直接复制粘贴即用输出的日志文件的名称最好也改下,下文中&lt;file&gt;${log.path}/web_info.log&lt;/file&gt;是因为我这个模块就叫web,要改的话,一个appe...

2018-06-14 18:22:34 275

原创 mybatis if比较字符串相等问题

在mybatis中,使用<if test="flag=='1'">flag为string类型传入,其值也是“1”,但是这个等式的返回结果是false最后发现mybatis将'1'解析为char类型,所有不相等可将<if test="flag=='1'">改为<if test='flag=="1"'>或者<if test="flag==1"&gt...

2018-06-14 09:46:19 5553

转载 mysql中in与exists的性能与效率对比

转载:https://blog.csdn.net/zhlelva/article/details/54911065暂未全部验证,只使用到第一种情况,子表数据比主表数据少时,in要比exists快很多有一种说法,说exists性能比in要好,其实不全然。哪个性能更好,需要看具体的需求场景。1、如何选择使用in 或者 exists?1)子表数据量比外表数据量少,使用in。2)子表数据量比外表数据量大,...

2018-06-13 09:36:18 430

原创 springboot打印mybatis sql日志输出

在日常开发过程中,mybatis中xml的代码并不能debug,控制台输出sql是很好的排查手段。springboot默认加载的日志配置是logback-spring.xml编写一下代码即可实现网上有很多说致谢org.apache.ibatis即可,本人实验后不行,必须加到dao下...

2018-05-25 11:48:03 6083

原创 创建solr core并定义索引

一、在solrhome下新建文件夹,文件夹名字为你要新建core的名字然后将D:\apache-tomcat-solr\webapps\solr\solrhome\configsets\sample_techproducts_configs\conf下的文件全部copy到core1下二、在web页面新增core,名字为core1三、新建schema,可通过web页面新建也可以通过schema.xm...

2018-05-23 16:03:43 314

原创 solr基础环境搭建

最近工作中用到solr,之前从来没有接触过,只是知道有这么一个东西,只能自己从头研究。solr可以大概理解为一个web服务,然后他自己实现了对lucene的一些操作。一、下载:http://www.apache.org/dyn/closer.lua/lucene/solr,找一个镜像下下来,是一个压缩包。二、新建一个tomcat,solr本身自带中间件可以运行,我没有尝试,下图为我为solr建的t...

2018-05-23 15:56:04 428

原创 springboot配置文件相关问题

1、application和bootstrap区别(转载)Bootstrap.yml(bootstrap.properties)在application.yml(application.properties)之前加载,就像application.yml一样,但是用于应用程序上下文的引导阶段。它通常用于“使用Spring Cloud Config Server时,应在bootstrap.yml中指定...

2018-05-03 14:04:16 137

原创 idea快捷键修改

file-setting-keymap   选择eclispe即可

2018-05-03 13:46:18 96

原创 idea集成git的使用

一、检出项目(这里叫clone)二、新建dev开发环境三、更新代码四、提交代码

2018-04-27 20:11:35 222

原创 新公司,idea中用tomcat跑起来web项目

一,通过git检出项目二、maven依赖引入,正常右上角有一个maven projects窗口,如果没有点击左下角的图标可唤出窗口,点击刷新按钮可将依赖jar引入。三、web-inf目录下新建classes、lib目录,这个idea很坑,eclispe都是自动建好的四,打开project structure(项目结构),进行一系列的配置,生成class的路径,lib路径,web映射路径等等1、新增...

2018-04-27 19:55:43 2105

tomcat免安装版

apache-tomcat-7.0.34.rar 免安装版,非常好用,我们项目组一直在用,免去安装tomcat的烦恼

2014-06-16

空空如也

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

TA关注的人

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