自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

布道

天道酬勤,专注但要有大局观(先大后小,思路为先,实验为辅)

  • 博客(21)
  • 资源 (15)
  • 收藏
  • 关注

原创 elasticsearch 大数据下 bulk 优化

es中 bulk api 可以在单个API调用中执行许多索引/删除操作,这可以大大提高索引速度。在线上突然遇到这样错误:2019-02-27 12:19:07.836 [inner-job-enable-job-61] ERROR com.dangdang.ddframe.job.executor.handler.impl.DefaultJobExceptionHandler :?...

2019-02-28 15:56:44 40216

原创 Spring Cloud Hystrix 源码系列:隔离策略和请求缓存

隔离是一种常见的风险控制(保护)手段,Hystrix 也使用了隔离策略,称之为bulkhead pattern,翻译为:舱壁隔离模式(舱壁将船体内部空间划分成多个舱室,将舱与舱之间严密分开,在航行中,即使有舱破损进水,水也不会流到其他舱)。本文基于hystrix-core1.5.18(近年来几乎很少更新,建议升级)目录1. Hystrix 隔离1.1 Thread Pool1....

2019-02-27 21:45:20 7327

原创 Spring Cloud Hystrix 源码系列:工作原理

Hystrix 译为 "豪猪",豪猪的棘刺能保护自己不受天敌伤害,代表了强大的防御能力。Hystrix 基于 RxJava 进行实现,RxJava 是一种基于观察者模式的响应式编程框架。Spring Cloud Hystrix 基于 Netflix Hystrix 实现,具备服务降级、服务熔断、线程与信号隔离、请求缓存、请求合并以及服务监控等强大功能。本文基于hystrix-core1.5.18...

2019-02-27 20:13:10 2002 1

原创 Elasticsearch系列:番外篇-Fielddata

在上一篇DocValues中介绍过,它主要是针对not analyzed String字段存储,那要针对需要分词的字段该如何sort,agg,group,facet呢?一般默认情况下,它会报错。GET /test_index/test_type/_search { "aggs": { "group_by_test_field": { "terms": { ...

2019-02-26 22:24:37 3490

原创 Lucene系列:番外篇-DocValues

玩ElasticSearch或Solr的童鞋,对于DocValues这个词,时常出现高阶应用开发者的口中。它像一个熟悉的陌生人一样,很多人对于实现排序,分组和一些聚合类操作的需求信手拈来,但对它底层原理却了解不多。DocValues在LUCENE-3518才引入新特征,初生在Lucene4.0,由Mike(Michael McCandless)提出的。从此Lucene牛逼轰轰了。1. 为什...

2019-02-26 21:22:17 15030 1

原创 Elasticsearch 性能调优

Elasticsearch(ES)作为NOSQL+搜索引擎的有机结合体,不仅有近实时的查询能力,还具有强大的聚合分析能力。本文基于ES 5.6.4,从性能和稳定性两方面,从linux参数调优、ES节点配置和ES使用技巧三个角度入手,介绍ES调优的基本方案。当然,ES的调优绝不能一概而论,需要根据实际业务场景做适当的取舍和调整。当我们发现es使用还是非常慢,需要优先关注在以下这两类的运行情况。...

2019-02-26 20:17:43 11673

原创 Elasticsearch number和keyword滥用

之前有社区上反映ES 2.x -> 5.x升级对于数值类型和Term Query有重大变化。一个很简单的Query查询耗时突然从几十毫秒,变成800-1000毫秒,几十倍的性能下降。{ "from": 0, "size": 10, "query": { "bool": { "filter": [ { ...

2019-02-26 16:36:22 12806 1

原创 java冷知识:程序Debug带来的启示

相信每一个java开发者都使用过IDEA 的 Debug,它能查看断点的上下文环境,并且提供了非常强大的可视化工具,更神奇的是我可以在断点处使用它的 Evaluate 功能直接执行某些命令,进行一些计算或改变当前变量。目录字节码技术-ASMNative AgentJava AgentVM.attach(Vitural Machine)SA.attach()PerfDat...

2019-02-25 19:46:04 623

原创 java冷知识:应用程序安全沙箱

在阅读jdk源码时经常遇到System.getSecurityManager();这样安全检查代码。它保证了jvm所运行程序的完整性,使得jvm不会因为运行有漏洞或恶意的代码而导致出现不可预期的状态。public class File implements Serializable, Comparable<File>{ public boolean canRead...

2019-02-25 18:55:49 7455

原创 mysql partition 实战

一般情况下我们创建的表对应一组存储文件,使用MyISAM存储引擎时是一个.MYI和.MYD文件,使用Innodb存储引擎时是一个.ibd和.frm(表结构)文件。当数据量较大时(一般千万条记录级别以上),MySQL的性能就会开始下降,这时我们就需要将数据分散到多组存储文件,保证其单个文件的执行效率。读写分离分散数据库读写操作压力,分库分表分散存储压力。目录1.hash(field)2...

2019-02-22 15:50:18 12634

原创 InnoDB 并发插入,如何使用自增锁和意向锁

并发的任务对同一个临界资源进行操作,如果不采取措施,可能导致不一致,故必须进行并发控制(Concurrency Control)。InnoDB 存储引擎中使用的多种并发控制策略,按照锁的粒度划分,可以分成行锁和表锁。1. 并发控制并发控制保证数据一致性的常见手段有:锁(Locking)和数据多版本(Multi Versioning)。乐观锁和悲观锁其实都是并发控制的机制,同时它们在原理上就...

2019-02-21 20:31:54 3372 3

原创 MySQL join查询优化

在日常的开发中,我们经常遇到这样情况:select * from TableA inner join TableB...它响应速度一直很快的,随着数据的增长,突然有一天开始很慢了。那该怎么破?对,驱动表是突破口,1. 那什么是驱动表呢?指定了联接条件时,满足查询条件的记录行数少的表为驱动表 未指定联接条件时,行数少的表为驱动表(Important!)如果你搞不清楚该让谁做驱动表、...

2019-02-21 19:05:49 6806

原创 基本功:你忽略的ClassLoader

ClassLoader 是 Java 届最为神秘的技术之一,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序。Class Loaders(类加载器)是JVM用于运行来动态加载类的,同时它们也是JRE的一部分,由于Class Loaders的存在,JVM运行Java程序的时候不需要知道底层文件或文件系统。目录1.基本概念2. 双亲委派2.1...

2019-02-20 21:22:19 4611

原创 理解Redis的线程 IO 模型

最近一位朋友问到:既然Redis是单线程的工作模式,如何处理那么多的并发客户端连接?Redis 是个单线程程序!这点必须铭记。也许你会怀疑高并发的 Redis 中间件怎么可能是单线程。很抱歉,它就是单线程,你的怀疑暴露了你基础知识的不足。莫要瞧不起单线程,除了 Redis 之外,Node.js 也是单线程,Nginx 也是单线程,但是它们都是服务器高性能的典范。优势使用不当就会变成劣势。r...

2019-02-20 19:20:14 5138 1

原创 ThreadPoolExecutor源码解析

在之前章节java并发中讲过线程池,java.uitl.concurrent.ThreadPoolExecutor类是线程池中最核心的一个类,因此如果要透彻地了解Java中的线程池,必须先了解这个类。首先,我们带着问题去了解它。1. 线程池中shutdown、shutdownNow、isShutdown、isTerminated、awaitTermination的使用场景?shutdo...

2019-02-20 17:38:11 2095

原创 基本功:神奇的Java反射机制了解一下

在 Java中,反射机制(Reflection)非常重要,但对于很多开发者来说,这并不容易理解,在此献上一份Java反射机制的介绍。1.简介定义:Java语言中 一种动态(运行时)访问、检测 & 修改它本身的能力作用:动态(运行时)获取类的完整结构信息 & 调用对象的方法2.特点2.1 优点灵活性高。因为反射属于动态编译,即只有到运行时才动态创建 &...

2019-02-19 21:42:07 915 1

原创 基本功:魔法类-Unsafe

体验过多线程程序开发之后,可能问自己一个问题,Java 内置的锁是如何实现的?最常用的最简单的锁要数ReentrantLock,那线程是如何实现阻塞自己的?线程阻塞原语,底层实现是通过 Unsafe 类的 park(阻塞) 和 unpark (唤醒)方法做到的。但这两个方法都是 native 方法,它们本身是由 C 语言来实现的核心功能。/** * 锁数据结构正是通过调用 LockSu...

2019-02-19 17:58:48 855

原创 RocketMQ的有序消息

我们知道Topic的有序消息已经成为mq的标配。而RocketMQ中是这样区分消息类型的, 普通消息也叫做无序消息,简单来说就是没有顺序的消息,而有序消息就是按照一定的先后顺序的消息类型。举个例子,producer 依次发送 order id 为 1、2、3 的消息到 broker,consumer 接到的消息顺序也就是 1、2、3 ,而不会出现普通消息那样的 2、1、3 等情况。那有序消息该...

2019-02-19 13:50:08 3721

原创 newsql

NewSQL概念几乎是紧跟着NoSQL之后变得火热的。Google Bigtable与AWS Dynamo奠定了NoSQL技术的根基,而Google Spanner&amp;F1则引领了NewSQL技术的发展。本文首先探讨NoSQL与NewSQL的概念与范畴,随后结合一些业界观点以及两者之间的优缺点对比,来论述各自的应对场景以及未来的演变趋势。本文首发于"NoSQL漫谈(nosqlnotes.co...

2019-02-19 13:25:16 802

原创 基本功:史上最全java并发攻略

上一篇《Java从线程安全到synchronized和Lock探索》大概是5年前发表,下图是去年在公司内部分享时整理的,可以收藏。误区1:自旋锁 VS 适应性自旋锁阻塞或唤醒一个Java线程需要操作系统切换CPU状态来完成,这种状态转换需要耗费处理器时间。如果同步代码块中的内容过于简单,状态转换消耗的时间有可能比用户代码执行的时间还要长。在许多场景中,同步资源的锁定时间很短,为了这一小...

2019-02-15 09:33:01 29956

原创 java冷知识:桥接方法method.isBridge()

在JDK 1.5 引入泛型后就引入了桥接方法,也可以理解为桥接方法是泛型的本质(载体)泛型只是表象。熟悉泛型的童靴可能都知道,Java泛型的处理几乎都在编译器中进行,编译器生成的bytecode是不包涵泛型信息的,泛型类型信息将在编译处理是被擦除,这个过程即类型擦除。当然你只要记住以下几点:虚拟机中没有泛型,只有普通类和普通方法 所有泛型类的类型参数在编译时都会被擦除 创建泛型对象时...

2019-02-13 10:33:33 2287

autojs-debug-4.1.1 Alpha2.apk

Auto.js 是个基于 JavaScript 语言运行在Android平台上的脚本框架,常用的用于自动化场景,最新打包打包的 autojs-debug-4.1.1 Alpha2.apk

2020-09-18

OWASP测试指南(中文)

OWASP测试指南(中文)

2016-09-21

Linux-华为内部学习资料

包含Linux-华为内部培训资料

2016-09-21

一种简单,轻量,高性能Json对象设计方案

做过性能优化,超越JavaScriptSerializer与Newtonsoft.Json

2013-08-24

C++数据加密工具

提供DES(单倍长)、3DES(双倍长)、3DES(三倍长)、MAC运算、XOR运算、分散运算、ECB算法、CBC算法,很好用的,值得收藏的!

2013-04-19

Oracle系统函数

数学运算函数 字符串函数 日期函数 统计函数

2010-05-26

jquery的帮助文档,比较权威的API

本文档旨在帮助广大javascript爱好者快速了解jquery库,以及供广大应用jquery进行开发的人员 提供一个速查手册!

2009-12-24

jvascript的调试插件

Javascript的debuy跟踪,调试,轻松解决javascript的脚本错误! 这个可以安装到任何浏览器上,对于从事web开发人员而言十分的实用,安装后,打开工具-高级-取消禁用脚本调试的两个选项的选择

2009-12-24

winform窗体皮肤包

里面提供了很多已经做好的皮肤包,你可以替换成你喜欢的窗体风格(demo程序),另外还附带有免费的制作皮肤的软件和dll,非常实用!

2009-12-24

免费的恶意软件清理助手

很好用的插件,不休要安装,就可以杀毒、修改ie浏览器、注册表、卸载软件等

2009-09-09

动态制作gridview

如果你不想使用服务器空件gridview或是datalist或是repeart等显示的,原因:这些服务器空间占用服务器资源,页面源码中还有许多的加密字符串,你就可以采用我那种技术。

2009-09-09

asp.net制作中英文网站

这个资源文件很很适用的,可以在web.config中配置默认的语言

2009-09-09

asp.net的session和cookie的应用

这个对于web开发很有用途,这个是我总结下来的.............

2009-05-17

Javascript里的String原来不能用双引号括起来.jpg

javascript常常会出现"缺少对象"

2009-05-17

空空如也

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

TA关注的人

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