自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 记一次mysql坑爹的外键排坑经历

起因事情是这样的,我在用jpa的orm反向映射数据库生成表时,遇到了其中一个外键无法生成的情况,不管是数据库直接执行命令还是navicat界面添加外键都失败了。以下是我的表结构:要生成外键的表:关联表1:关联表2:经过启动的时候发现device_id字段无法建立外键,但是group_id却可以,但是从实体类上我实在看不出什么问题,于是我在数据库中执行sql,发现报错:报错代码是1215我在百度搜索这个错误原因,大多数都是说当前表和关联表对应的字段类型不一.

2020-10-22 15:29:01 272

原创 Linux命令三剑客之awk的使用(一)

2020-08-04 19:14:54 1399

原创 Rabbitmq延迟队列插件安装

目录安装部分为何使用延时队列下载插件插件安装使用部分定义队列和交换机发送消息消费消息使用限制和注意事项安装部分为何使用延时队列最近做微信支付的时候遇到一个问题,就是订单未支付过期取消。一开始为了简化开发速度直接用的scheduleThreadPool实现,但是后面发现如果项目部署集群的话这个定时任务会有问题,收集相关资料后就决定使用Rabbitmq的延迟队列delayed-message-exchange。下载插件插件下载地址:https://www.rabbitmq.com/community-

2020-07-16 13:49:27 4458

原创 Windows下Jenkins持续集成初步搭建

一、安装环境Windows10jdk1.8二、安装步骤1.打开jenkins官网,选择war包的安装方式,msi的安装方式没尝试过 ,但是原理差不多2.

2020-07-13 15:41:12 469

原创 spring-data-jpa之Specification使用exists和not exists

写在前面spring-data-jpa是spring对hibernate框架的封装,如果你一开始熟悉的是mybatis,那么转到jpa可能会让你有些不适应。jpa的简单查询确实非常非常方便,但是对于复杂查询来说,jpa确实有点“复杂”。当然,你可以写原生sql,但是那样就违背了jpa操作对象、避免操作sql的出发点了。好,废话不多说,进入正题吧。遇到的问题原先是针对单表的列表查询操作,非常简单,所以就用了Specification来做:return (root, query, cri.

2020-05-27 10:09:27 6296 4

原创 陈增新语录1.0

匹配篇1.nmsl2.狗东西技能CD怎么这么快啊我艹,又有大招了,不然他必死3.这傻逼打野怎么又来了啊我艹,上/中/下路是你爹4.废物,打野没来他必死5.废物,垃圾,还和你爹秀走位?6.废物,跑啊。我艹,他的队友怎么来了,就差一丝血,made好气啊7.狗东西,这个地方怎么会会有眼8.这都能勾到?nmsl,这傻逼狗运真好9.我金身差1秒,不然我能反杀他的10....

2020-01-02 13:53:17 343 2

原创 LinkedHashMap源码分析(JDK 1.8)

写在前面今天给大家带来的是LinkedHashMap源码分析,说起这个心中满满的痛。记得当初毕业的时候去面试,面试官问HashMap、LinkedHashMap、TreeMap哪些是有序的,我回答了HashMap是有序的。然后就让我回去等消息了,今天我就来谈谈自己对LinkedHashMap的理解,也希望能对大家有所帮助。一、继承关系及主要字段可以看到LinkedHashMap继...

2019-12-20 00:02:35 181

原创 ArrayList源码分析(jdk 1.8)

写在前面ArrayList相信大家做开发的同学都不陌生,在开发过程中这应该是最常用的数据结构了吧。但是现在是“源码时代”,会用还不够,要知道他的实现原理,本文主要基于jdk1.8对ArrayList源码进行分析。一、从主要字段开始值得注意的是,ArrayList内部会有一个modCount字段,但是这个字段是在父类AbstractList中的,代表着修改次数,后面会讲/**...

2019-12-18 18:38:00 362

原创 HashMap源码解析(JDK 1.8)

写在前面本人是java初学者,仅以此篇文章作为自己在HashMap学习过程中的一点私人见解。如有不正确或不合适之处,欢迎大佬在下方评论进行指正。一、HashMap主要参数及其含义这部分内容网上博客有很多,但在此处还是列举一下: /** HashMap的初始容量,这边我们看到默认是16,可根据自身需求进行指定,如果是一个合适的值可避 免扩容操作带来...

2019-12-18 15:20:50 564 4

原创 手写一个基于redis的消息队列

一、应用场景首先 我先引入一个大家熟知的观点:Redis可以作为消息队列来使用。我们在开发过​程中,redis用的并不少,但是我想大部分我们都只把redis当作缓存使用,涉及到的数据结构也不会太多,其实redis的数据结构是十分精妙的,而所说的基于redis来写一个消息队列,就是基于redis的list(列表结构)。redis作为消息队列有两种模式,一种是发布-订阅模式,一种是生产者-消费...

2019-12-17 20:32:36 787 2

原创 手写一个基于redis的分布式锁

基于redis的分布式锁一、为什么要做无疑,关于分布式锁,我们都已比较熟悉,网上有较多的开源解决方案,如redis的redisson,以及zookeeper的curator等,关于这两种分布式锁的使用及原理,后期会写文章介绍。本文主要针对小白,分享一下我学习分布式锁的一些心得,如果是大神请留下您的宝贵意见。二、俯视代码关于代码,我写的比较精简,力争在保证功能的情况下让使用上变得更加...

2019-12-16 11:57:26 1318 4

原创 java枚举究竟能不能动态代理?

1.什么是动态代理?动态代理的概念在这里不做赘述(本人也说不上来),大家都知道动态代理有两种实现方式,一种是jdk的动态代理,另一种就是我们常用的spring aop所采用的——cglib动态代理,两种方式都有各自的局限性....ok跑题了,我们接着往下看2.枚举能不能动态代理?枚举相信大家都比较熟悉,状态、类型等等我们都会使用枚举来代替我们自己的常量类,枚举的关键字是enum而不是c...

2019-03-15 17:43:51 830

原创 jdk1.8文档

JDK1.8 中文开发帮助文档 英文版:Oracle 官网在线 JDK1.9 文档:https://docs.oracle.com/javase/9/docs/api/Oracle 官网在线 JDK1.8 文档:https://docs.oracle.com/javase/8/docs/api/  中文版:中文-JDK1.8google版在线版: http...

2019-02-01 16:41:41 892

原创 关于ElasticSearch的分片问题

起因偶然间发现有人提了这样一个问题:ES的每个节点是否有每个索引的完整数据?乍一眼看,这个问题还蛮简单的,但是又有点诡异,说不上是什么地方诡异。ok话不多说,我们一起来看一下。过程我们先看下面这个图:从这个图我发现两个Node节点 ,5个shard分片,1个replica备份,没毛病啊,每个节点就是有完整的信息。。。。停!作为一个吊炸天(low到爆)的程序员,我怎么可以轻易...

2019-01-10 17:14:10 852 3

原创 docker运行mysql容器

其实呢...并没有那么复杂 第一步:docker run -d -p 3306:3306 --name 自己起的容器名字 --restart always(总是启动,可选)-e MYSQL_ROOT_PASWORD=你的初始密码 镜像id  第二步:docker exec -it 容器id /bin/bash进入容器,查看mysql授权情况:select User,auth...

2019-01-04 15:05:42 1505 1

原创 windows下安装ElasticSearch的Head插件

es5以上版本安装head需要安装node和grunt(之前的直接用plugin命令即可安装)(一)从nodejs官网下载nodejs并按步骤安装。(二)安装完成用cmd进入安装目录执行 node -v可查看版本号(三)执行 npm install -g grunt-cli 安装grunt ,安装完成后执行grunt -version查看是否安装成功,会显示安装的版本号(四)开始安装head① 进...

2018-05-25 14:41:04 674

原创 Centos7下Docker的安装

1.首先,利用yum包安装docker,这里注意一点,要用docker-ce而不是docker-io(后者是远古时期的版本,已被淘汰)。yum install -y docker-ce //安装docker2.设置docker开机启动systemctl enable docker//设置开机自启动3.配置加速器,修改 /etc/docker/daemon.json 文件,并添加以下代码。如果没有这...

2018-05-19 22:51:56 465

转载 Java多线程初步了解

1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源。2. 多线程编程的好处是什么?在多线程程序中,多个线程被并发的执行以提高程序的

2018-03-14 16:57:18 224

原创 centos下 安装nginx个人经验心得(新手看,高手忽略)

1.下载nginx所需各个依赖包yum -y install gcc-c++ //c++环境yum -y install pcre pcre-devel //正则表达式yum -y install zlib zlib-devel //压缩、解压yum -y install openssl openssl-devel libssl-dev //安...

2017-11-05 14:09:37 310

转载 Centos 安装tomcat8

转载地址http://blog.csdn.net/u012377333目录(?)[+]4Tomcat安装配置4.1下载TomcatTomcat官网地址:http://tomcat.apache.org/最新的Tomcat-8.0.24:http://tomcat.apache.org/download-80.cgi下载好的tomcat

2017-11-04 09:38:09 196

空空如也

空空如也

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

TA关注的人

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