自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(122)
  • 资源 (2)
  • 收藏
  • 关注

原创 为什么

为什么要重写hashcode,equals.所有对象都是 object 子类,obejct的 equals方法和 hashCode方法public native int hashCode();。。。。 public boolean equals(Object obj) { return (this == obj); } 那 == 是什么呢?是JAVA内存...

2019-07-29 11:32:21 96 1

原创 springboot2 + Elastic-job

项目里面,之前一直使用的是 quartz 。用的也很稳定,也有一段时间了,但是 elastic-job,更加强大官网:http://elasticjob.io/index_zh.htmlelastic-job 有2种 实现方式,有2个独立的子项目,一个是 elastic-job-lite 一个是 elastic-job-cloud,个人简单的理解呢就是:elastic-job-lit...

2019-07-17 11:20:55 1685 4

原创 简要说说唯一I D生成规则

先说说,单表可以承载数据量的项目小小项目简而言之就是小项目。这种直接在项目内部做就可以,这种项目要设计一个唯一ID,且增长的ID。很简单,使用数据库主键自增就可以实现了。 根本不需要UUID,天生对UUID 没有什么好感。长,麻烦,看着不舒服有个问题,如果这个ID 是对外暴露的,但是我们有需要不能让别人可以预测。那就简单的加一次二次处理。取到自增的ID,然后 头尾 个加上随机数,在对...

2019-07-15 15:57:38 262

原创 redis缓存穿透 ,缓存雪崩 ,缓存击穿

缓存穿透缓存雪崩缓存击穿

2019-07-12 17:41:52 116

原创 springboot2 + dubbo(互相调用)

1.下载地址和文档dubbo 文档和配置说明地址:http://dubbo.apache.org/zh-cn/docs/user/references/xml/dubbo-config-center.htmldubbo 已经捐赠给 Apache 了, github 地址:https://github.com/apache/dubbo-spring-boot-projectzookeepe...

2019-07-12 15:01:03 5398

原创 springboot,参数校验,自动处理异常@Valid

springboot 对外提供接口,对于接收参数处理一般情况下,是传JSON方式,也有使用 get方式传key和value 方式的先把POJO类写上去package com.smk.mall.action.web.hz;import javax.validation.Valid;import javax.validation.constraints.Max;import javax....

2019-07-09 16:04:15 4960 1

原创 mybatis 拦截器 分页插件

mybatis 分页插件,这个很很常见,最常见的就是 pagehelp但是不能满足我的需求受我一个师傅的影响,在使用mybatis 分页查询的时候有以下几点是mybatis 无法满足的DAO层传参数的问题public PageControlInfo findPageListMedia(@Param("entity") AdActMediaMap entity, @Param("ski...

2019-06-12 14:48:18 651

原创 springcloud 一点坑

feign 的 hystrix 默认是关闭的 如果需要开启,在配置文件中配置 feign.hystrix.enabled=trueeureka.client.serviceUrl.defaultZone 配置 如果 项目中配置了 server.contextPath 参数, 那么配置地址的时候需要添加参数。 样例:server.contextPath=/abc eureka.cl...

2019-05-07 20:01:27 449

原创 CyclicBarrier 并发阻塞

CyclicBarrier, 同步辅助类它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。使用场景:假设要进行一个大量的计算,得到最终的值。如果使用单线程会很慢,使用多线程,又不知道最终什么时候把结果合并,这个使用 CyclicBarrier 就很有用了。样例如下package com.thread;import java.util.conc...

2019-05-06 13:48:42 426

原创 二叉树的,递归和非递归,前序,中序,后序遍历

从别的地方抄一个图来Nodepackage com.twotreww;public class Node { String value; Node left; Node right; public Node(){ } public Node(String value){ this.value = value; }}递归方式package...

2019-04-16 11:02:25 126

原创 HASH冲突

Hashmap 基于hash值 来存放数据先看下2个值的HASHpublic static void main(String[] args) { System.out.println("Aa".hashCode()); System.out.println("BB".hashCode()); }结果都是:21122112hash值一样的情况,就会产生 HASH冲突问题。h...

2019-04-11 10:39:08 164

转载 redis分布式锁

原文:https://baijiahao.baidu.com/s?id=1623086259657780069&wfr=spider&for=pcredis 分布式锁的实现方法,表面上看很简单。指定一个key, 获取锁 ,查询一下redis中 这个key有没有值,没有,就设置,获取锁就成功了,释放锁,就删除这个key问题:并发判断redis中 都没有key, 同时去加锁...

2019-04-09 17:17:36 155

原创 springboot + kafka+消费者和生产者

springboot 对kafka的集成特别友好话不多说pom 依赖文件 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency>...

2019-04-03 14:51:01 1630

原创 nginx - 静态网页- 405错误

昨天接到一个问题,一个支付收银台在支付结束后同步跳转到结果页面,报错 nginx - 405单独在浏览器打开结果页面,可以访问。分析问题,原来支付结果页的跳转是服务端用post方式跳转的。按照规范来说,不能使用post 方式跳转临时解决办法修改nginx的配置文件 location /exthtml/ { try_files $uri $uri/ /exthtml/...

2019-03-30 13:32:15 1407

原创 redis哨兵模式-sentinel ,java客户端动态切换master

redis 的搭建模式单机模式 : 单机服务主从模式: 有备机,备机提供备份,和 读写分离的功能哨兵模式: master宕机后,哨兵会选举备机替换master集群模式: 集群能够做分布式,master宕机,备机会被升级为 masterredis哨兵模式的使用单机模式 和 主备模式其实差不多,哨兵模式的服务架构: master 一个,多个 slave, 多个哨兵。部署好了r...

2019-03-15 15:25:52 2831 1

原创 Mysql的2种存储引擎比较,InnoDB和MyISAM

innodbmyisam事物支持外键支持行锁支持计数方式全文扫描直接查询,表带有计数器写操作不锁表锁表主键查询快全文索引不支持支持表主键必须要要,默认会自动生成隐藏的主键可以没有,记录的行地址批量插入更优这2中引擎的数据结构都是 B+树二叉树平衡二叉树二分查找B-树B+树...

2019-03-12 16:11:11 105

原创 JVM 类加载机制

JVM 类加载机制先来一张图,盗的加载加载class对象,从JAR,WAR等路径加载class文件,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的入口。类加载的过程使用的是 双亲委派模式模型简单的解释就是,子类在接收类加载请求的时候,优先使用父类的加载器,父类没有的时候,才会给子类加载,如果有直接放回。 主要解决的问题就是 防...

2019-03-11 16:30:40 124

原创 httpclient 请求 HTTPS 协议问题

httpclient 请求 HTTPS 接口 报错jdk 1.7 和 jdk1.8 都遇到了类似问题,但是部分 JDK1.8 又是没有问题的javax.net.ssl.SSLException: Received fatal alert: protocol_version at sun.security.ssl.Alerts.getSSLException(Alerts.j...

2019-03-08 16:37:01 1153

原创 JVM 参数配置和基础说明

JVM 虚拟机 HOTSPOT 下,JDK1.6 1.7 1.8 三个不同的版本下,堆和永久代的 内存区别,我自己查了一下博客,参考他人博客的理解,若有错,欢迎拍砖HotspotJVM 分5个部分方法区 ,又叫永久代 线程共享虚拟机栈 ,线程栈,线程独享内存,存储线程基本变量,方法参数等本地方法栈 ,本地方法native方法信息,线程独享程序计算器 ...

2019-03-08 15:58:32 700

原创 JAVA-HBase读数据

话不多说,直接看代码package com.smk.bury.service.hbase;import com.cat.common.bean.EMsg;import com.cat.common.exception.RequestException;import com.cat.common.listener.RSystemConfig;import com.cat.common.p...

2018-12-29 10:45:05 1138

原创 java Elasticsearch Scroll 游标 分页查询

package com.smk.es.servicce;import org.elasticsearch.action.search.SearchResponse;import org.elasticsearch.client.transport.TransportClient;import org.elasticsearch.common.settings.Settings;impor...

2018-12-21 17:26:41 5740 3

原创 logstash 使用和搭建

官方介绍:Logstash is an open source data collection engine with real-time pipelining capabilities。简单来说logstash就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很多功能强大的滤网以满足你...

2018-12-18 10:55:46 698

转载 基于 Nginx 实现 10万+ 并发,Linux 内核优化

本文转载自:微信公众号,芋道源码https://mp.weixin.qq.com/s/B094FN1b8ibo-2xwpeE9RQ由于默认的Linux内核参数考虑的是最通用场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,是的Nginx可以拥有更高的性能;在优化内核时,可以做的事情很多,不过,我们通常会根据业务特点来进行调整,当Nginx作为静态web内...

2018-12-12 17:57:11 269

原创 mysql批量插入操作失败问题

mysql 批量插入的语句是有大小限制的,默认是4M超过了就会失败修改方法:修改配置文件可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。max_allowed_packet = 20M如果找不到my.cnf可以通过mysql --help | grep my.cnf去寻找my.cnf文件。...

2018-11-30 17:07:14 2540

原创 springboot+ mybatis + Druid+ Atomikos 多数据源,支持分布式事物

springboot + mybatis + druid多数据源配置看了别人的配置,还是觉得自己配置的比较简单。。直接看代码springboot 启动类package com;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.i...

2018-11-29 16:44:56 936

转载 只读事务(@Transactional(readOnly = true))的一些概念

从这一点设置的时间点开始(时间点a)到这个事务结束的过程中,其他事务所提交的数据,该事务将看不见!(查询中不会出现别人在时间点a之后提交的数据)应用场合:如果你一次执行单条查询语句,则没有必要启用事务支持,数据库默认支持SQL执行期间的读一致性;如果你一次执行多条查询语句,例如统计查询,报表查询,在这种场景下,多条查询SQL必须保证整体的读一致性,否则,在前条SQL查询之后,后条SQL查询之...

2018-11-23 15:56:20 682

转载 GIT和SVN的区别

转载于:https://www.cnblogs.com/somethingWithiOS/p/5636356.html原作者 写的非常好1)Git是分布式的,SVN不是:这 是GIT和其它非分布式的版本控制系 统,例如SVN,CVS等,最核心的区别。好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交、合并,也可以不用联网在本地提交;GIT并不是目前第一个或唯一的分...

2018-11-19 11:16:52 4232

原创 linux redis 安装

1. redis 下载地址: https://redis.io/2. 安装 tar -zxvf redis-4.0.11.tar.gz 解压好了之后,然后使用make 命令编译 得到如下图的目录3. 启动默认启动 ./src/redis-server 这种启动方式,默认显示启动 窗口退出了,redis 服...

2018-09-06 16:35:53 130

原创 eclipse 中SVN无法关联代码,不出现小图标

新同事安装JAVA开发环境,出现各种问题, 其中一个比较纠结的问题就是,他的eclipse 从SVN 下载的代码无法显示变更状态,没有那种小图标。先检查eclipse的SVN 配置:window-preferences-General-appearance-labeldecorations 看看SVN 有没有勾选检查系统里面的tortoisesvn 客户端是否安装正常。检查eclip...

2018-07-24 14:16:00 1500 2

原创 Jenkins linux rpm 安装和使用,打包,远程发布,轮询SVN代码更新打包发布

想搞jenkins 初衷,是因为现在的公司,人少也没几个人会这个,但是Jenkins真的是好用。而且这种工具基本上是互联网的标配。没有真的说不出口。 所以花了一点时间搭建这个环境。1. 安装jenkins 安装依赖JDK,JDK的安装就不重复了。 因为我的安装环境 是内网,权限都是需要开权限的, 所以下载好安装包,放入linux系统目录里面下载链接:https://pkg.jen...

2018-07-09 15:59:38 3547

原创 Elasticsearch 安装和使用 6.2.2 ,IK分词器

全文搜索说了很久,一直没弄,现在有时间了,准备开始做了。1.准备工作先说版本,因为公司的环境是 6.2.2 版本,所以测试环境也安装6.2.2 版本的,官网找了好久没有找到,后来一个小技巧下载到了。 官网:https://www.elastic.co/downloads/elasticsearch 官网的中文说明文档:https://www.elastic.co/guide/cn/...

2018-06-15 14:58:46 5331

转载 webStorm 2018 激活

webStorm 2018 激活今天早上一更新webStorm,之前在网上找到的方式基本都没用了,后来摸索了一小阵儿。找到解决办法了:先下载破解补丁修改路径然后获取激活码重启OK下载破解补丁打开网址(IntelliJ IDEA 注册码),下载补丁这里写图片描述然后将补丁复制到安装目录的bin目录下(下面是补丁路径,不一定是你们的,要改)E:\WebStorm 2017...

2018-06-13 11:08:14 6285

原创 springboot,根据接口后缀返回JSON 格式数据

springboot 返回数据格式问题先说原由:原来我的框架是 springMVC,项目提供了一个热加载配置文件的接口,直接在浏览器中使用get方式就能热更新配置文件到内存中,然鹅,我最近改了框架为springboot方式的,然后就出现问了。先贴出配置代码@Overridepublic void configureContentNegotiation( C...

2018-04-16 09:56:48 3694

原创 Mina长连接的使用

APP里面一直使用的是极光推送,推送时间有时候好,有时候差,所以一直想自己做APP长连接,自己做推送服务。网上找了 这个视频学习,https://www.imooc.com/learn/223,觉得还是讲的蛮好的,使用的MINA框架实现的。 讲的样例是实现消息推送的机制,我自己实现的样例是实现2个客户端实现消息互发。消息推送这种一般要实现XMPP协议,我这里的样例为了简单起见,我就用户JSO

2018-01-09 16:29:21 2034

原创 keepalived +nginx 实现HA 高可用的负载均衡

想了半天没想好该怎么起一个头。写这个博客呢,是因为目前相把公司的项目都做成高可用的,能够应对紧急情况的服务器宕机事件。 之前项目部署如下图: 图是比较简单的,域名指向 单机的nginx 一个nginx 指向2台应用服务器(负载均衡方式) 。 基本的服务都能满足,但是如果nginx服务器宕机了,那整个应用都无法运行了,有风险。为了更好的是程序能达到高可用,所有要对nginx 要做主备模式。

2017-11-17 16:59:36 2873 3

原创 ArrayList,HashMap,LinkedList 初始化大小和 扩容机制

不想说话。直接看实现类了。1.ArrayListArrayList 初始化大小是 10 (如果你知道你的arrayList 会达到多少容量,可以在初始化的时候就指定,能节省扩容的性能开支) 扩容点规则是,新增的时候发现容量不够用了,就去扩容 扩容大小规则是,扩容后的大小= 原始大小+原始大小/2 + 1。(例如:原始大小是 10 ,扩容后的大小就是 10 + 5+1 = 16)2.linkedL

2017-10-23 14:48:39 32536 16

原创 java 打印佛祖保佑

public static void pritNoBug(){ System.out.println(" ......................我佛慈悲......................"); System.out.println(" _oo0oo_ ");

2017-08-22 14:25:52 8389

原创 HttpClientUtil 封装方法

package com.cat.common.http;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStr

2017-08-08 10:17:08 876

原创 跨域问题解决

如果是 spring 4.2 版本以上的跨域问题解决@RestController@RequestMapping("/account")public class AccountController { @CrossOrigin @RequestMapping("/{id}") public Account retrieve(@PathVariable Long id) {

2017-07-11 17:17:07 6103

原创 Nginx log 自动切割

废话不多说直接看脚本#!/bin/bash# This script run at 00:00echo "start cut nginx logs"nginxdir="/home/nginx/log"echo "log dir:"$nginxdirfunction cutNginxLog1 (){ dir=$1 suffix=$(date -d "yesterday" +"%

2017-07-10 15:12:08 497

winscp远程Linux连接工具

支持远程Linux 远程连接,能够记录密码支持多终端连接,同时连接多台Linux机器

2015-05-13

数据模板

数据字典模板

2013-02-17

空空如也

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

TA关注的人

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