自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

众人皆醉,唯我独醒

做一个有魅力的框架师

  • 博客(57)
  • 资源 (5)
  • 问答 (1)
  • 收藏
  • 关注

原创 maven依赖关系

最短路径原则在最后一级,最后声明原则不在第一级,谁先引用先使用谁第一种:通过exclusion 排除不需要的依赖第二种:使用【dependencyManagement】指定使用哪一个版本的依赖。作用:统一版本管理/指定依赖管理第三种(必杀):直接在jar包中删除冲突了的(多余的那个依赖)对应的package包。直接删除文件,但是jar需要放到私有仓库里面...

2022-02-28 14:03:22 226

原创 Websocket应用

概念TCP 全双工通信协议 双向 数据传输代码实现引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId></dependency> Configuration配置 @Configurationpublic class W.

2022-02-21 08:08:03 1594

原创 ThreadLocal作用

private static ThreadLocal threadLocal = new ThreadLocal<>();线程内部的共享变量ThreadLocalMap是ThreadLocal的内部类,由ThreadLocal创建,所有的value都存储在ThreadLocalMap中。ThreadLocalMap.Entry 继承了weakReference每个Entry对象都有一个threadLocal的弱引用。GC对弱引用对象采取积极回收的内存回收策略。用完threadlo

2022-02-16 14:43:39 242

原创 幂等性技术

使用场景购物下单生成订单支付扣款库存扣减物流发货解决方案前端前端防重RPG模式 :Post Direct Get 重定向到另外一个页面,防止刷新 Token机制:对业务代码执行和删除token整体加线程锁,其它线程排队阻塞 借助单线程redis incr 第一次获取token并incr返回1,如果第二次incr后返回2就是合法请求,如果为其它值,就为非法请求直接返回。 最优解 校验删除token,第一次token存入redis,第二次执行业务删除token,如...

2022-02-16 14:04:02 369

原创 mysql sql优化

避免不走索引 like'你%' in () not in() 修改为exist not exist 避免全表扫描 union替代or where 1=1 <> 或者!= 联合索引最左匹配 隐式转换无法走索引 a = 123 为varchar 小表在前大表在后 批量插入语句 整合成一条 union all 性能高 union性能低 explain 分析字段的索引级别...

2022-02-16 12:42:40 216

原创 java代码review

代码审查工具 代码书写风格是否一致 日志是否全,出现错误打印错误日志 减少硬编码、配置文件注释 锁的粒度控制、何时释放锁 内存泄漏问题 降低反映速度 for循环带读写操作...

2022-02-16 12:38:20 404

原创 雪花算法原理

概念标识位+41位时间戳+5位数据中心ID+5位工作机器ID+12位自增序列64bits整数ID1 bit :固定为041bit:时间戳 2^24 -1 个毫秒值10bit:5个机房ID ,5个机器ID 根据公司情况定制12bit :自增序列 2^12-1 =4096个优点:时间回拨后,生成ID会重复,保证网络时间一致springboot yaml中配置机器编号shadring配置yaml中需要配置workid美团LEAF-SNOWFLAKE使用zookeep..

2022-02-16 12:33:57 541

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

适合缓存的场景访问频率高、读多写少、一致性要求低缓存击穿缓存在某个时间点某个key过期,这个时候大量的并发请求这个key过来,直接查询数据库把DB压垮。解决方案:定时器:elastic-job、xxl-job 多级缓存 nginx一级缓存、redis二级缓存、定时更新缓存 零点洪峰时,采用rabbitmq队列术缓存穿透缓存中一直不存在,就直接查数据库了。解决方案:查询为空还是要设置空到redis ,布隆过滤器缓存雪崩redis缓存层崩掉了,导致都到了数据...

2022-02-16 12:15:44 1017

原创 安全控制解决方案

无效路径收集 nginx获取http请求后404,将请求地址存储到缓存,下次直接跳转404 缓存击穿 定期检测缓存过期时间,一旦过期就做队列限流控制 黑白名单过滤 每次获取ip,一旦为黑名单拒绝访问 异常熔断降级 链接指定时间内频率超过N,将路径存入缓存,一段时间内禁止访问,防止宕机。...

2022-02-16 11:51:14 1224

原创 布隆过滤器

迅速判断一个元素是否在集合中解决大规模数据下不需要精准过滤的场景使用场景网络爬虫对URL的去重,避免爬取相同的URL地址 反垃圾邮件,从数十亿个垃圾邮件列表判断是否为垃圾邮箱 缓存穿透 原理维护一个全为0的bit数组误判率:数组越长,误判率越低,所占空间越大。 数组越短,误判率越高,所占空间越小。假设我们生成10位的数组,以及两个hash函数,f1,f2。假设输入集合N1,N2 ,f1(N1) = 2 ,f2(N2) =5 ,那么数组下标2 和小标5的值就从0重置...

2022-02-16 11:37:19 153

原创 大数据hadoop工具

导入文件 :yum install -y lrzsz导出文件 :sz 文件杀掉所有的进程jps -q | xargs killrpm -qa|grep ntpsudo service ntpd statuschkconfig yum install ntp ntpdatehadoop -dfs -appendToFIle - /test/a 1234 标准追加hdfs...

2018-12-20 09:50:03 357

翻译 生产者消费者问题

/* * 生产者与消费者问题: * * (1)线程安全问题:因为生产者与消费者共享“缓冲区”,本例中工作台 * (2)缓冲区大小有限问题,所以需要生产者与消费者“协调”工作 * 一个wait一个notify * * * 解决方法: * (1)wait() * (2)notify()/notifyAll() * notiyAll 多个生产者消费者才使用 * ...

2018-11-22 16:16:43 224

翻译 线程锁 -卖票机制

public class TicketService { ArrayList&lt;String&gt; list = new ArrayList&lt;&gt;() ; //private Vector list = new Vector (); vector中方法 remove 和size 是有锁 public TicketService(){ list.add(...

2018-11-22 15:24:23 287

原创 龟兔比赛 多线程

/***龟兔比赛*编写龟兔赛跑多线程程序,设置赛跑长度为30米兔子的速度是10米每秒 兔子跑完10米后休眠的时间为10秒乌龟的速度是1米每秒 乌龟跑完10米的休眠时间是1秒要求兔子和乌龟的线程西结束 主线程才能公布最后的结果*/public class TestWuGuiTrace { public static void main(String[] args) {...

2018-11-22 10:53:44 536

原创 Redis RDB和AOF取舍和选择

RDB和AOF的选择RDB和AOF对比命令RDBAOF启动优先级低高体积小大恢复速度快慢数据安全性丢数据根据策略决定轻重重轻RDB最佳策略关集中管理-主从,从开AOF 最佳策略开:缓存和存储AOF重写集中管理everysec标题最佳策略小分片缓存或者存储监控(硬盘,内存 负载 网络 ...

2018-11-11 15:23:02 1390

原创 redis AOF

RDB问题:耗时耗性能容易丢失数据耗时耗性能O(n)数据 耗时fork() :消耗内存,copy-on-write 策略Disk I/O :IO性能不可控 丢失数据时间saveT1执行多个写命令T2满足RDB自动创建的条件T3再次执行多个写命令T4宕机AOF 运行原理 -创建set hello worldAOF文件 ...

2018-11-11 15:09:40 1052

原创 redis持久化的取舍和选择

持久化redis所有数据保持在内存中,对数据的更新将异步的保存在磁盘上持久化方式快照 1: Mysql dump 2:redis rdb写日志 1:mysql binlog 2: hbase hlog 3:redis aofRDBredis创建内存--- RDB(二进制)硬盘中redis启动载入 ----RDB(二进制)触发机制 主要三种方式save(同步...

2018-11-11 09:50:22 297

原创 redis geo

geoGEO 存储经纬度,计算两地距离,范围计算等应用场景根据经纬度获取最近的餐馆 geoaddgeo key longitue latitude member geoadd cities:locations 116.28 39.55 beijing 1 geoadd cities:locations 116.28.39.55 beijing 1geoposgeop...

2018-11-10 22:08:55 998

原创 Jedis bitmap

位图set bit key offset value #给位图指定索引设置值 setbit unique:users:2016-04-05 0 1 0 setbit unique:users:2016-01-05 5 1 0 setbit hello 7 1setbit hello 7 1 0get hello cig getbitgetbit key of...

2018-11-10 21:07:59 1734

原创 瑞士军刀redis - 发布订阅

角色模型API发布订阅和消息队列角色:发布者 publisher订阅者 subcriber频道模型redis server中有多个频道订阅者可以订阅多个频道发布者发布信息到其中一个频道无法获取消息的历史,发布订阅publishunsubscribesubscribe其他publish 发布命令publish channel message ...

2018-11-10 10:44:14 204

原创 瑞士军刀redis-pipeline

pipeline :什么流水线与原生操作对比客户端实现使用建议一次网络命令通信模型一次时间= 一次网络时间+ 一次命令时间批量网络命令通信模型n次时间= n次网络时间+n次命令时间流水线pipeline1次pipeline(n条命令)= 1次网络时间+n次命令时间命令N个命令操作一次pipiline(n个命令)时间n次网络+n次命令1次网络+n次...

2018-11-09 22:36:53 266

原创 瑞士军刀redis - 慢查询

慢查询pipeline发布订阅bitmaphyperloglogGEO慢查询生命周期两个配置三个命令运维经验生命周期:1:发送命令 2:排队3:执行命令4:返回结果 两点说明1)慢查询发生在第三阶段2)客户端超时不一定慢查询,但慢查询时客户端超时的一个可能因素slowlog -max-len先进先出队列固定长度保存在内存里slowlog-...

2018-11-09 22:17:55 218

原创 Jedis python

python 客户都安 :redis-py获取redis-py 基本使用pip install rediseasy_install redis源码安装wget https://github.com/andymccurdy/redis-py/archive/master.zipunzip master.zipsudo python setup.py installimport...

2018-11-09 21:50:14 399

原创 Java 客户端 Jedis和JedisPool 连接池

Jedis客户端jedis是java客户端jedis.set("helloword");&lt;dependency&gt; &lt;groupId&gt;redis.clients&lt;/groupId&gt; &lt;artifactId&gt;jedis&lt;/artifactId&gt; &lt;version&gt;2.9.0&lt;/version&

2018-11-09 21:32:31 1515

原创 redis list 使用和理解

keyelementuser:1:messagea-b-c-d-e-flpush :左边加入lpop:左边弹出rpush :右边加入rpop :左边弹出llen:长度lrem:移除某个元素lrange :截取某一段的元素lindex:某个位置的元素特点:有序可以重复左右两边可以插入弹出rpush key value1 value2 v...

2018-11-08 21:16:58 484

原创 redis - hash 实战

发到的

2018-11-08 20:07:12 513

原创 redis api hash

key fielduser:1:info name Ronaldoage 40Date 201viewCounterhget key field #获取hash key对应的field的valuehset key field value #设置hash key对应fiel...

2018-11-08 18:46:52 431

原创 redis api的使用和理解

字符串key value hello world counter 1 bits 10111101 value 存储为jsonup to 512M建议key value在100k 以内字符串类型 :场景缓存计数器分布式锁等等get set delget key set key value del key incr decr incrb...

2018-11-08 18:30:09 240

原创 redis 单线程

redis单线程为什么会这么快纯内存非阻塞IO避免线程切换和竞态消耗单线程要注意的问题 :一次只执行一条命令拒绝长命令 keys flushall,flushdb,slow lua script ,multi/exec,operate big value其实不是单线程 fsync file descriptor ,close file descriptor...

2018-11-08 14:06:38 190

原创 redis 数据结构和内部编码

redisObject数据类型(type) string hash list set sorted set编码方式(encoding) raw int ziplist linkedlist hashmap intset数据指针ptr虚拟内存其它信息key- string : raw int embstr- hash : hashtable zipli...

2018-11-08 14:01:11 277

原创 redis api的使用和理解

通用命令字符串类型哈希类型列表类型集合类型有序集合类型通用命令:通用命令单线程架构数据结构和内部编码通用命令keys 遍历所有的keydbsize exisits key del key expire key seconds 设置过期 时间 type key 数据类型api:keys *遍历所有keyset hello worldset php good...

2018-11-08 13:32:09 188

原创 redis常用配置

daemonize :是否是守护进程port redis 对外端口号 默认端口是6379logfile:redis系统日志dir:redis工作目录进入另外一个目录 :redis-cli -h 127.0.0.1 -p 6379set hello worldpingget helloexitredis-clidel helloget helloexit动态参数配置...

2018-11-08 12:37:39 239

原创 spring 整合dubbo 测试搭建

zookeeper:<!-- zookeeper工具包 --><dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.3.5</version></dependency><!-- zookeeper 第三方client --><

2016-03-21 14:51:14 1166

原创 mongdb的文档结构特点介绍

redis kv(key/value) mogodb -> 文档数据库 ,存储的文档(Bson->json的二进制化) 特点:内部执行引擎为JS解释器,把文档存储成bson结构,在查询时,转换成js对象,并可以通过熟悉的js语法来操作。 1:mogo 入门命令 mongo和传统型数据库比最大的不同 传统型数据库:结构化数据库,定好了表结构,每一行内容必是符合表结构的。就是列的

2016-03-19 08:26:16 695

原创 maven标准目录结构参照

src -main –bin 脚本库 –java java源代码文件 –resources 资源库,会自动复制到classes目录里 –filters 资源过滤文件 –assembly 组件的描述配置(如何打包) –config 配置文件 –webapp web应用的目录。WEB-INF、css、

2016-03-18 15:36:40 375

原创 maven插件配置

源码下载地址http://pan.baidu.com/s/1nu2nzJz结点 <!-- tomcat:deploy 部署一个web war包 tomcat:reload 重新加载web war包 tomcat:start 启动tomcat tomcat:stop 停止tomcat tomca

2016-03-18 15:28:35 444

原创 spring4+ThreadPoolTaskExecutor创建线程 两种方式发送邮件

百度云代码下载地址包含测试用例 :点击后跳转 ThreadService package com.konglingfu.service;public interface ThreadService extends Runnable{ public void setParam(String emailName,String context);}ThreadServiceImplpack

2016-03-18 14:11:25 3761 1

原创 spring+junit4+注解方式PropertiesFactoryBean读取properties

下载链接地址 http://pan.baidu.com/s/1bonE9Ufdb.propertiesjdbc.username=rootjdbc.password=rootjdbc.driverClass=com.mysql.jdbc.Driverjdbc.jdbcUrl=jdbc:mysql:///db_bookjdbc.initPoolSize=5jdbc.maxPoolSize=

2016-03-18 13:29:37 3360

原创 工具类-复制对象BeanUtil

import org.apache.commons.beanutils.BeanUtils;import org.apache.commons.beanutils.PropertyUtils;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;public final class

2016-03-18 11:01:33 1034

原创 spring4 +junit4+ThreadPoolTaskExecutor

spring4+junit4+threadTool

2016-03-18 10:55:50 2994

spring4+junit4.8 +多线程TheadTool

spring4+junit4.8 +多线程TheadTool

2016-03-18

Android网易客户端

漂亮的额UI 界面 一定让你大呼过瘾 下载完评论哦

2013-04-22

奇艺网android UI

漂亮的UI界面 功能强大 希望大家 下来 支持一下

2013-04-22

高仿微信客户端 UI

很好的资源 和微信一样的UI界面 别人 要的分数很高 我就要 3分就行了额

2013-04-22

Socket使用 手机做服务端客户端 电脑做客户端服务端代码

能够实现 手机 当服务端和客户端 电脑做服务端客户端

2013-03-20

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

TA关注的人

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