自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 Arthas使用教程

很多时候我们只想看到某个方法的rt大于某个时间之后的trace结果,现在Arthas可以按照方法执行的耗时来进行过滤了,例如trace *StringUtils isBlank '#cost>100'表示当执行时间超过100ms的时候,才会输出trace的结果。class-pattern 类名表达式匹配,支持全限定名,如com.taobao.test.AAA,也支持com/taobao/test/AAA这样的格式,这样,我们从异常堆栈里面把类名拷贝过来的时候,不需要在手动把/替换为.啦。

2023-11-21 11:47:17 95

原创 Lock和synchronized比较

以下是本文目录大纲:  一.synchronized的缺陷  二.java.util.concurrent.locks包下常用的类  三.锁的相关概念介绍  若有不正之处请多多谅解,并欢迎批评指正。  请尊重作者劳动成果,转载请标明原文链接:   http://www.cnblogs.com/dolphin0520/p/3923167.html

2017-03-26 22:53:57 359

原创 linux-Centos-7-64位:4、 mysql安装

从最新版本的Linux系统开始,默认的是 Mariadb而不是MySQL!这里依旧以mysql为例进行展示1、先检查系统是否装有mysqlrpm -qa | grep mysql11这里返回空值,说明没有安装这里执行安装命令是无效的,因为centos-7默认是Mariadb,所以执行以下命令只是更新Mariadb数据库yum install mysql11

2017-02-19 20:21:34 1910 1

原创 Linux连接MySQL出现1045错误 解决方法

开始使用Linux连接MySQL数据库的时候,出现了1045错误。当出现这个问题的时候,应该是用户被数据库拒绝访问了,我们应该为你的数据库开辟权限。1.登录数据库输入linux指令[plain] view plain copy mysql -uroot -padmin  登录你的数据库输入用户名和密码2

2017-02-19 13:14:37 2919

原创 zookeeper源码学习(一)

最近在学习paxos和zookeeper,有收获也有很多不懂的地方,写些笔记,希望和对paxos感兴趣的同学一起讨论哈,不懂的问题还希望能得到大牛们的指点~~呵呵学习过程中,受教于多位前辈的文章:淘宝核心技术团队 : http://rdc.taobao.com/blog/cs/?p=162CODEDUMP博客 : http://www.codedump.info/?p=22

2016-08-14 23:47:36 657

原创 zookeeper原理

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee

2016-08-14 23:31:48 496

原创 死锁: delete+insert不存在PK

###### 表结构及数据CREATE TABLE `tb` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `a` int(11) ,  `b` int(11) ,  `c` int(11) ,  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;/*Data

2016-08-07 14:07:39 1043

原创 什么是脏读、不可重复读、幻读

1. 脏读 :脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。2. 不可重复读 :是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的的数据可能是不一样的。这样就发生了在一个事务内两次

2016-08-07 12:12:23 307

原创 mysql事务和锁InnoDB

背景 MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路,拿到任何一条SQL语句,都能完整的分析出这条语句会加什么锁?会有什么样的使用风险

2016-08-07 12:02:55 693

原创 Properties Editor 是一款properties文件编辑器。

需求:一般我们在做“国际化”功能时,我们需要properties中文表示方式用unicode表示。eclipse默认properties文件编辑器不方便查看,需要我们查看常常查找unicode编码表。 Properties Editor刚好满足了这个需求,不需要用户常常查看unicode编码表,默认直观表示为中文,用户可以通过文件点击右键Unicode表示查看对应的unicode表

2016-04-27 23:13:08 4952

原创 关于java中泛型问题

Jdk5.0新特性Generic Types (泛型)原文 来源: 中国IT实验室 作者: 未知 责编: 宝良 1. 介绍2.定义简单Java泛型 其实Java的泛型就是创建一个用类型作为参数的类。就象我们写类的方法一样,方法是这样的method(String str1,String str2 ),方法中参数str1、str2的值是可变的。而泛型也是一样的,这样写class Java

2016-03-01 16:31:35 323

翻译 解决一个问题有多难?你可能只需要这四步

卡尔·波普曾说:“生活就是解决问题”,这是说的很对的。生活中我们时时、处处都在解决问题——吃饭问题、睡觉问题、学习问题、工作问题……所以“解决问题”本身也成了需要解决并且极有价值的问题,提高解决问题的能力对我们来说意义重大。德国人迪特里希·德尔纳的《失败的逻辑》的主旨就是“如何解决问题”,这本薄薄的小书“麻雀虽小、五脏俱全”,详细介绍了解决问题的通用步骤,值得一看。下面我结合此书的论述和自己的经验

2016-02-26 09:07:34 479

翻译 消息队列的技术选择分析

原文地址:http://blog.fity.cn/post/377/2016-02消息中间件是一种由消息传送机制或消息队列模式组成的中间件技术,利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。目前业界有很多的MQ产品,像RabbitMQ、ActiveMQ、ZeroMQ等都是极好的消息中间件,但是我们在项目中该选择哪个更适合呢?本文针对以下几种消息

2016-02-26 08:52:11 3442

原创 Innodb索引和锁的学习笔记

附录:前段时间学习了下innodb锁的相关知识,对锁和事务有了大体理解,这里做个小总结。1.Innodb事务和锁的关系。    Innodb区别于MyISAM的两个特点就是Innodb对于事务的支持和对行锁的支持。事务要求了一组SQL语句的ACID特性,同时为了避免对一行记录的并发更新,innodb本身会在一定情况下加锁,然后等语句所在的事务退出后(rollbak或者commit)释放锁。

2016-02-22 09:13:52 850

原创 MySql索引算法原理解析(通俗易懂,只讲B-tree)

刚开始学习的时候,百度去查,但发现好多说得太复杂不好理解,结合各个文章总结一下(建议大概看文字,不理解不要紧,然后再看图的执行步骤然后在结合文字,这样一切就清晰好多)B-tree,B是balance,一般用于数据库的索引。使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。而B+tree是B-tree的一个变种,大名鼎鼎的MySQL就普遍使用B+tree实现其索引

2016-01-27 22:25:16 416

原创 Memcached源码分析之内存管理

先再说明一下,我本次分析的memcached版本是1.4.20,有些旧的版本关于内存管理的机制和数据结构与1.4.20有一定的差异(本文中会提到)。一)模型分析在开始解剖memcached关于内存管理的源代码之前,先宏观上分析一下memcached内存管理的模型是怎样子的:提个建议,我觉得memcached内存管理的模型与我们平时做作业的作业本“画格子给我们往格子里面写字”的逻辑很像,

2016-01-25 09:00:52 349

原创 memcached CAS协议

什么是CAS协议Memcached于1.2.4版本新增CAS(Check and Set)协议类同于Java并发的CAS(Compare and Swap)原子操作,处理同一item被多个线程更改过程的并发问题。在Memcached中,每个key关联有一个64-bit长度的long型惟一数值,表示该key对应value的版本号。这个数值由Memcached server产生,从1开

2016-01-25 08:59:23 257

原创 Java集合---HashMap源码剖析

一、HashMap概述二、HashMap的数据结构三、HashMap源码分析     1、关键属性     2、构造方法     3、存储数据     4、调整大小     5、数据读取                      6、HashMap的性能参数                      7、Fail-Fast机制 一、Has

2016-01-23 14:27:13 281

原创 EXPLAIN sql优化方法(2) Using temporary ; Using filesort

优化GROUP BY语句   默认情况下,MySQL对所有GROUP BYcol1,col2...的字段进行排序。这与在查询中指定ORDER BYcol1,col2...类似。因此,如果显式包括一个包含相同的列的ORDER BY子句,则对MySQL的实际执行性能没有什么影响。如果查询包括GROUP BY 但用户想要避免排序结果的消耗,则可以指定ORDER By NULL禁止排序,例如:ex

2016-01-18 08:46:48 2042

转载 用消息队列和消息应用状态表来消除分布式事务

by 杨东由于数据量的巨大,大部分Web应用都需要部署很多个数据库实例。这样,有些用户操作就可能需要去修改多个数据库实例中的数据。传统的解决方法是使用分布式事务保证数据的全局一致性,经典的方法是使用两阶段提交协议。长期以来,分布式事务提供的优雅的全局ACID保证麻醉了应用开发者的心灵,很多人都不敢越雷池一步,想像没有分布式事务的世界会是怎样。如今就如MySQL和PostgreSQL这类

2016-01-13 10:23:41 501

原创 Redis学习手册(事务)

一、概述:      和众多其它数据库一样,Redis作为NoSQL数据库也同样提供了事务机制。在Redis中,MULTI/EXEC/DISCARD/WATCH这四个命令是我们实现事务的基石。相信对有关系型数据库开发经验的开发者而言这一概念并不陌生,即便如此,我们还是会简要的列出Redis中事务的实现特征:      1). 在事务中的所有命令都将会被串行化的顺序执行,事务执行期间,R

2015-11-18 09:20:43 305

原创 开发 linux内核的技术路线

看了下各位大神的推荐路线,总结如下: 0. 跟着项目走;1. 学会用、熟练用linux系统;2. Linux Kernel Development.3. Understanding the Linux Kernel.4. Linux Device Driver.5. 找一个感兴趣的子系统研究,认真研究代码,这里的建议是可以看提交的每个change。比如网络子系统:Und

2015-10-22 08:29:07 954

翻译 微服务年度总结,看完这个你应该知道如何回答别人的问题了。

一、微服务的定义实际上没有太明确的定义,我觉得很多互联网公司已经是微服务了,Martin Fowler的定义也比较模糊,简单的几个特征,可以总结为:专注做一件事;独立的进程;独立的部署;小;轻量级的通信机制。如果联想一下相关词汇,又会想到服务化、SOA,在我看来,根本不需要纠结这些概念性的东西,就好比SOA的时代,也不

2015-10-22 08:17:30 1339

原创 分布式事务讲解

说明:由于2015年10月18号  由朋友龚正组织的技术交流会讨论的分布式事务,故而整理一下,加上自己理解写的单机事务讲解分布式事务的讲解(并说出常见的分布式事务的模型) 一.什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。事务的结束

2015-10-21 10:16:36 433

原创 深入理解java异常处理机制

1. 引子       try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正答案哦。如果你的答案是正确,那么这篇文章你就不用浪费时间看啦。

2015-10-08 09:11:41 284

原创 归并排序的实现

归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。[cpp] view plaincopy//

2015-10-06 21:59:24 278

原创 装饰模式

装饰模式在阎宏博士的《JAVA与模式》一书中开头是这样描述装饰(Decorator)模式的:  装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。装饰模式的结构  装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情

2015-09-28 08:33:33 388

原创 JAVA监听器原理

Java 最新的事件处理方法是基于授权事件模型事件源生成事件并将其发送至一个或多个监听器监听器简单地等待,直到它收到一个事件。一旦事件被接受,监听器将处理这些事件,然后返回。事件:在授权事件模型中,事件是一个描述事件源状态改变的对象 。 通过鼠标、键盘与 GUI 界面直接或间接交互都会生成事件。 如:按下一个按钮、通过键盘输入一个字符、选择列表框中的一项、点击一

2015-09-18 08:57:52 440

原创 一些看股票的技巧

一些股票操作技巧2010-07-13看到的一点点股票操作技巧,其实操作靠自己,别人的东西永远是别人的,自己只有通过不断地实践,倒了就再爬起来,总结经验!原文地址:一名操盘手选股法则 (股票操作技巧)作 者:小小鸟我从不使用奇怪的指标线,5日、10日、30日等等规则的均线系统才对我更有用,能方便我了解到大部分人的想法,并决定对策。对于选股,我依然认为好的选 股方法只有一种就可以了

2015-09-11 13:37:30 727

原创 java动态代理(JDK和cglib)

JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为

2015-09-10 16:09:12 348

原创 icomet在项目中使用

icomet在java web中的使用   说明:最近公司由于负载量大,原来的长链接方式适应不了,要求换种方式,最终选择了icomet的实现方式  icomet简介:icomet 是一个使用 C++ 语言开发的支持百万并发连接的 comet 服务器, 使用了 libevent 网络库. 支持并发连接数高, 内存占用少, 性能优越. 支持的浏览器和操作系统平台包括: Safari(i

2015-09-10 07:55:21 3502

原创 解读tomcat之二:tomcat如何启动

对于engine, host, context来说,它们都属于容器,当接收到客户端请求的时候,请求会被传递到容器中,在一个容器中处理完毕之后,会被传递给下一个容器处理。因此,我们可以这样理解tomcat,总的来说,tomcat就是一种自上而下,一个容器里面又嵌套包含了另一个子容器的结构。所以,在tomcat启动的时候,我们也可以想象,它必定要先启动父容器,然后再启动子容器,在启动每一层容器的时候,

2015-09-09 08:32:35 553

转载 解读Tomcat(三):请求处理解析Part_1

/***作者:annegu*日期:2009-06-20*/ 在这第三部分里面我们主要看一下tomcat是如何接收客户端请求,并把这个请求一层一层的传递到子容器中,并最后交到应用程序中进行处理的。首先,我们来了解一下什么叫做NIO和BIO。在前面的解读tomcat里面,我们已经说到过了线程池。线程池,顾名思义,里面存放了一定数量的线程,这些线程用来处理用户请求。现在我

2015-09-09 08:12:58 584

原创 shell积累

e filename如果 filename存在,则为真-d filename如果 filename为目录,则为真-f filename如果 filename为常规文件,则为真-L filename如果 filename为符号链接,则为真-r filename如果 filename可读,则为真-w filename如果 filename可写,则为真-x

2015-08-31 18:16:40 438

原创 Comet的简单实现

说明:最近公司要用单长链接技术,选用comet,在此我提供一个简单的demo 1.      comet说明A   comet长连接大致有两种实现,  第一种是采用长轮询机制实现,大致过程是:由客户端发起http请求,服务器收到这个请求后,进入一个 while(ture)的循环,当有数据需要告知客户端时,将数据响应给客户端,并断开连接。客户端收到信息后进行处理,处理完成后再次发起新的请

2015-08-26 11:22:58 709

原创 梦想萌芽

刚从大学毕业时候,进入花期实习,在那段时间,过得真的很开心,当英语培训时候,问我们以后得梦想是什么的时候?我回答:我要当一名架构师    现在已工作了将近2年,感觉我离梦想越来越远了,仔细想想,自己付出的努力,很多都不在梦想之路上,就像走了很多弯路。    今天在北京嗨学网技术部,之前自己跟朋友创业,完全对自己定位错误,好高骛远,那是一段难忘的回忆,自己不会再回头。    今天的梦想?

2015-08-11 08:02:34 435

原创 哪些管理类的书籍值得推荐?

5000赞来的太快,就像龙卷风。写了很久,在这儿认真还真能收获惊喜呐。期待更多盆友认识到阅读的局限,破除书籍迷信。=============跑偏的分割线=============最近很不认同知乎上,一些认为读书能解决关键问题的看法。就着这罐果香浓郁的2013年产可乐,正经回答一次。当然我也准备好跑题了。稍长,不以推书为目的,要书的直接滑到最后。在回答之前,我要引用一些名

2015-07-31 08:59:28 3358

原创 linux 重要目录讲解

1.一个起点 “/”:根目录 ,然后启动文件 放在 “/boot”下,系统启动后,需要执行一些基本命令,这些命令放在"/bin"下。这些命令可能要用到一些库,这些库放在"/lib"下。这些库肯能会用到设备驱动文件,这些设备驱动文件都放在"/dev"    5个基本目录: / /boot /bin /lib /dev  2.什么是"/usr" ,"/etc"和“/var“?   当系

2015-04-02 11:51:30 351

comet的demo

一个简单的comet实现的例子程序,就是comet实现长链接,反向ajax实现

2015-08-26

空空如也

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

TA关注的人

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