自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(159)
  • 资源 (23)
  • 问答 (1)
  • 收藏
  • 关注

转载 (转)SQL中group by详解

我和原博文作者一样,突然间不会用group by了(可能是一直都不会用),就找了一下详解,这篇文章讲的很形象,学习一波看一下测试表test对这个表写group by时,可能就会发生下面这样的怪事:select name from test group by name -- okselect * from test group by name --errorselect name,sum(number) from test group by name -- ok 1 2 3行吧,

2021-04-14 10:46:06 590

原创 《领域驱动设计》--柔性设计

对于柔性设计这章,说实话读完有种雾里看花的感觉。只学会了作者提供的六种手段,并没有理解其真实意图。既然如此,索性先依葫芦画瓢吧。聊胜于无,学会皮毛也算进步。1.Intention Revealing Interfaces简单地说,就是要为方法起个好名字。那么问题来了,什么叫做好名字?就是瞄一眼,就知道它是干什么的。2.Side-Effect-Free Function首先定义两个概...

2020-01-10 15:07:56 303

原创 UML类关系图七言绝句

UML类关系图,内容不多,可屡记屡忘,屡忘屡记,今总结一则七言绝句,望能牢记于心。1. 虚角接口实角父2. 虚箭依赖实箭联3. 空心聚合实心组4.六种关系要记住虚角接口实角父,虚箭依赖实箭联。空心聚合实心组,六种关系要记住。...

2019-12-13 09:51:06 225 1

原创 通过spark-submit运行java程序

原来程序是将所有jar打包到libs目录下,然后运行生成好的run.sh。现在要使用spark-submit将它提交到spark上运行。几经波折之后,终于圆满完成。首先遇到的问题是如何使用gradle将工程打包成可执行的jar文件。这个问题网上已有答案,就是使用插件"com.github.johnrengelman.shadow"。gradle的配置如下:apply plugin: '

2018-02-06 17:41:34 5769

原创 java 日志江湖的那些故事

在java的世界里,有许多日志工具比如log4j logback 等。但他们都是什么关系?下面由我来为大家解答。先来讲讲日志的渊源吧。话说很多年前,有个叫log4j的小伙子,凭借着一身好武艺,基本上已经统领了日志界的半边天。虽然他很厉害,但是不服他的人还是很多。这可就难坏了那些使用者们,我们到底要使用哪个呢?如果开始选不好,那么后面再切换可就麻烦了。就在这血雨腥风的时候,一位德高望重的老者

2017-07-24 20:13:07 377

转载 .jar !/.... FileNotFoundException解决方法

我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等)。在单独运行的时候这些简单的处理当然不会有问题。但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了。看看下面的代码://源代码1:package edu.hxraid;import java.io.*;public class Resource {    public  void getResour

2017-06-05 16:50:42 8242

转载 zookeeper输出大量debug日志原因分析

今天无意中发现线上tomcat的catalina.out文件输出大量的zookeeper debug信息,以下是日志片段:10:30:03.973 [localhost-startStop-1-SendThread(10.168.180.94:2181)] DEBUG org.apache.zookeeper.ClientCnxn – Reading reply sessionid:0x2

2017-06-02 09:43:03 15408

转载 canal完整教程(内附canal.deployer-1.0.24.tar.gz下载地址)

1、准备:下载地址:http://download.csdn.net/detail/qbw2010/98544412、canal概述:canal是应阿里巴巴存在杭州和美国的双机房部署,存在跨机房同步的业务需求而提出的。早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获

2017-05-27 17:26:53 8207 2

原创 IPv4与IPv6的ARP区别

与IPv4的ARP相比,IPv6地址解析技术工作在OSI参考模型的网络层,与链路层协议无关。这一特点的益处如下:(1)加强了地址解析协议与底层链路的独立性。对每一种链路层协议都使用相同的地址解析,无须再为每一种链路层协议定义一个新的地址解析协议。(2)增强了安全性。在第三层实现地址解析可以利用三层标准的安全认证机制来防止ARP攻击和ARP欺骗。(3)减小了报文传播范围。IP

2017-05-15 10:49:36 15592

原创 nslookup和ping命令

ping命令的解析顺序是系统缓存--hosts--缓存服务器--主服务器--辅服务器使用nslookup命令时,是直奔dns进行查询,并没有像ping命令似的,先本机缓存,再hosts这么麻烦今天看了看关于DNS域名解析的东西,然后我就自己试了试nslookup这个命令解析www.shangdu.com这个网站,可是结果显示> www.shang

2017-05-12 11:02:29 6053

原创 《难经注》之十五难

2017-05-12 09:10:44 326

原创 scala-2.12.1安装详细步骤

1、下载文件 scala2.12.1.tgz        http://download.csdn.net/download/qbw2010/97979272、登陆Linux       [root@master /]# 创建文件夹存放Scala       [root@master /]# mkdir scala上传文件到usr下面并解压      [root@ma

2017-05-02 17:41:06 3173 1

转载 FindBugs eclipse插件的安装与使用

1 什么是FindBugsFindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用 Visitor 模式来鉴别代码是否符合一些固定的规范。2 如何安装FindBugs?作为Eclipse的一个插件,可以将Fi

2017-04-28 09:13:28 462

转载 Nessus-6.10 centos 64位安装

引子:Nessus是著名信息安全服务公司tenable推出的一款漏洞扫描与分析软件,号称是"世界上最流行的漏洞扫描程序,全世界超过75,000个组织在使用它"。尽管这个扫描程序可以免费下载得到,但是要从Tenable更新到所有最新的威胁信息,每年的直接订购费用是$1,200,也就是每个月100美刀。在Linux, FreeBSD, Solaris, Mac OS X和Windows下都可以使用

2017-04-28 09:01:15 2147

原创 《难经注》之四难

四难曰:脉有阴阳之法,何谓也?然:呼出心与肺,吸入肾与肝,呼吸之间,脾也其脉在中。浮者阳也,沉者阴也,故曰阴阳也。日:心肺俱浮,何以别之?然:浮而大散者心也,浮而短涩者肺也。日:肾肝俱沉,何以别之?然:牢而长者肝也,按之濡,举指来实者肾也。脾者中州,故其脉在中。是阴阳之法也。脉有一阴一阳,一阴二阳,一阴三阳;有一阳一阴,一阳二阴,一阳三阴。日:如此之言,寸口有六脉俱动邪

2017-04-05 23:48:29 406

原创 《难经注》之三难

三难日:脉有太过,有不及,有阴阳相乘,有覆有溢,有关①有格②,何谓也?然:关以前者,阳之动也,脉当现九分而浮。过者法日太过,减者法日不及。遂上鱼溢,为外关内格,此阴乘之脉也。关以后者,阴之动也,脉当见一寸而沉。过者法日太过,减者法日不及。遂入尺为覆,为内关外格,此阳乘之脉也。故日覆溢,是其真脏之脉,人不病而死也。①  关:阳气太甚,日关。②  格:阴气太甚,日格。注问题一:

2017-04-04 23:23:14 2286

原创 《难经注》之二难

二难日:脉有尺寸,何谓也?然:尺寸者,脉之大要会也。从关①至尺②是尺内,阴之所治也;从关至鱼际③是寸内,阳之所治也。故分寸为尺④,分尺为寸。故阴得尺内一寸,阳得寸内九分。尺寸终绐,一寸九分,故日尺寸也。①    关:关者尺寸分界之地,《脉诀》所谓高骨为关是也。②    尺:尺泽穴。③    鱼际:鱼际穴。④    分寸为尺:愚见应改为分寸为分。注问题一:何为尺内,何

2017-04-02 12:48:29 889 1

原创 《难经注》之一难

一难日:十二经①皆有动脉②,独取寸口③,以决五脏六腑死生吉凶之法,何谓也?然:寸口者,脉之大会,手太阴之脉动也。人一呼脉行三寸,一吸脉行三寸,呼吸定息脉行六寸。人一日一夜,凡一万三千五百息,脉行五十度,周于身。漏水下百刻,营卫行阳二十五度,行阴亦二十五度,为一周也,故五十度复会于手太阴。寸口者,五脏六腑之所终始,故法取于寸口也。①  十二经:手足三阴三阳经。②  动脉:脉之动现于外

2017-04-02 12:02:59 528 1

原创 Hadoop Hive HBase Spark Storm概念解释

HadoopHadoop是什么? 答:一个分布式系统基础架构。Hadoop解决了什么问题? 答:解决了大数据(大到一台计算机无法进行存储,一台计算机无法在要求的时间内进行处理)的可靠存储(HDFS)和处理(MapReduce)。HiveHive是什么? 答:Hive是建立在Hadoop之上的,使用Hadoop作为底层存储的批处理系统。(可以理解为MapReduce的一层壳)Hive解决了什么问

2017-03-29 15:39:39 5712

原创 欢迎使用CSDN-markdown编辑器

本次重构,在项目中应用了spring aop,但对于通知方法和被通知方法的参数传递原理还不是很清楚,于是决定整理一下这方面的知识。名词解释:通知方法:就是通知advice。 被通知方法:就是切点pointcut。 args:用于匹配当前执行的方法传入的参数为指定类型的方法。(和execution表达式一样,是一个过滤条件)@Pointcut("execution(* com.pub

2017-03-27 09:58:26 289

转载 深入理解Java:注解(Annotation)--注解处理器

深入理解Java:注解(Annotation)--注解处理器  如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了。使用注解的过程中,很重要的一部分就是创建于使用注解处理器。Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器。注解处理器类库(java.lang.reflect.AnnotatedElement):  Jav

2017-03-17 10:14:08 376

原创 eclipse java文件右上角标识(区别class文件和interface文件)

eclipse的java工程中java文件多时,有的是接口文件,有的是类文件,需要打开文件才能区分,非常耗时。在网上找了一上午也没找到相关的解决办法,难道其它人都没有这个问题?还是这个问题太简单,对其他人来说就不是个问题?不管怎么样,自己终于找到了解决办法,步骤如下:没有显示文件类型时是这样子的:显示文件类型是这样子的:接口文件一目了然,方便快捷

2017-02-10 09:56:37 8099

原创 wiredtiger源码一:btree

附一篇Btree的好文章:http://chqz1987.blog.163.com/blog/static/51438311201312013746271/wiredtiger的btree的page分为四种:1.internal结点。2.fixed-length结点。3.variable-length column-store结点。4.variable-length row-store

2016-06-07 09:16:52 1334

原创 rocketMQ主从问题

RocketMQ主从消息的处理流程:消息到主服务器会从commitLog类中的topicQueueTable表中获取到这条消息在这个队列的偏移量,这个偏移量就是后面进入comsumeQueue的logicoffset。每来一条消息这个值都会加1。从服务器数据中的消息的logicoffset已经在主服务器设置好了,所以从服务器不会更新这个数据结构,当主从切换后会发生数据不一致

2016-04-08 17:05:04 3206

转载 madvise和fadvise的区别

madvise() and posix_fadvise() are not synonymous. madvise() tells the kernel (give advise) what to do with existing memory region while fadvise() tells the kernel what to do with cached (or future cac

2016-02-29 17:47:05 4169 1

原创 记一次大压力测试下redis主从失败的分析过程

错误出现时序图:日志可以看出:10.1.2.37(主服务器) 在1月26号晚21:32:02触发了这个异常10.1.2.36(从服务器) 在1月26号晚21:32:18触发了全同步在21:35:37完成全同步后,立即就触发了Broken pipe错误。从开始到结束完全同步,总共用了199

2016-01-27 16:16:04 1413

原创 redis c->buf=3的极限测试,redis的解决方法

几天前做的redis c->buf=3极限测试,开始以为redis的解决方法就是把REDIS_REPLY_CHUNK_BYTES的数值放大。可是经过几天思考觉得不对,就算块放的再大也会出现命令不完整的情况,这种情况在redis中叫作short read。查看源码后发现redis对这个问题的解决方法是:如果发现命令不完整就跳出读取命令的函数,同时不删除querybuf中的数据。直到命令完整时,才

2016-01-14 14:42:51 360

原创 redis c->buf=3的极限测试

今天做了一个极限的测试,把redisClient的回复静态缓冲区buf,设置为3。这样做的目的是使用c->reply作为回复缓冲。测试的时候出现了解析命令出错的问题。仔细思考了一下原因如下:当c->buf大小为3时,replconf ack 1会被组织成10个链表结点:而发送时是一个节点一个节点的发送的。如先发*3\r\n,再发$8\r\n,这时被发送方会读取数据,

2016-01-12 17:31:00 317

原创 redis主从同步期间发送的各种命令和各种超时

1.从服务器向主服务器发送1种命令:REPLCONF ACK offset这个命令是主从完成同步后,从服务器定期向主服务器发送的命令。作用有2个:1.if offet > c->repl_ack_off : c->repl_ack_off = offset                      2.c->repl_ack_time = server.unixtime2.主服务器

2016-01-11 15:26:16 3059

原创 redis主从复制过程中,slave端混读PING命令的问题

最近两日在调试redis代码时遇到两个问题:1.主从复制过程中,slave端的readSyncBulkPayload会读到错误的信息(主服务器发来的PING命令的一部分),导致slave端一直在向主服务器发送同步请求。2.主从同步结束后,进入命令传播阶段。主服务器向从服务器传播命令后,如果命令执行成功,从服务器会返回+OK\r\n,主服务器不能识别这个命令,导致失败。经过两天的

2016-01-08 12:43:41 1016

原创 redis 从服务器给主服务器发送ACK时,主服务器长时间不读取socket,则会出现错误。

最近一直在重写redis 源码,在调试时发现一个错误:错误发生的场景如下:从服务器不下断点,而主服务器的断点一直卡在,readQueryFromClient函数中的read函数之前。在这种情况下,从服务器会一直向主服务器发送ACK,直到socket写缓冲区被写满,才停止。而主服务器由于一直被卡在read函数之前,所以socket接收缓冲区(我这缓冲区大小是335KB)的中数据一

2016-01-06 16:14:43 870

转载 线程同步:何时互斥锁不够,还需要条件变量?

线程同步:何时互斥锁不够,还需要条件变量?很显然,pthread中的条件变量与Java中的wait,notify类似假设有共享的资源sum,与之相关联的mutex 是lock_s.假设每个线程对sum的操作很简单的,与sum的状态无关,比如只是sum++.那么只用mutex足够了.程序员只要确保每个线程操作前,取得lock,然后sum++,再unlock即可.每个线程的代码将像这样

2015-12-15 17:13:15 324

转载 为什么pthread_cond_wait需要传递mutex参数

转载出外: http://blog.csdn.net/booirror/article/details/30395111这是来自知乎的一个问题,由@吴志强提出,有意思的是,他看了大家的回答后,突然顿悟了,同时也发现有人答错了,于是乎,他自己回答了自己的问题。我看完后,发现他分析的很精彩,于是就记录在这。下面是他的自答:--------------------------

2015-12-15 17:05:56 682

原创 redis rdb流程和相关函数逻辑

2015-12-03 11:46:21 432

原创 redis 清除过期键算法流程

过期键清除策略分为两种: 1 FAST,  2 SLOWFAST模式下: 运行周期为2秒,  超时时间为1秒.SLOW模式下: 运行周期没有,  超时时间为25秒.

2015-11-20 10:17:52 394

转载 socket listen和accept函数分析

引用 9 楼 ananluowei 的回复:Quote: 引用 8 楼 spirit008 的回复:Quote: 引用 7 楼 ananluowei 的回复: 服务端没accept ,客户端怎么可能连接上假设服务器listen(s,2)而不accept那么前2个客户端会阻塞在connect上,得不到返回。(也就是没连上)第3个开始的客户端co

2015-10-27 11:18:44 771

转载 MongoDB WriteConcern

首先列一下WriteConcern的几种抛出异常的级别参数:WriteConcern.NONE:没有异常抛出WriteConcern.NORMAL:仅抛出网络错误异常,没有服务器错误异常WriteConcern.SAFE:抛出网络错误异常、服务器错误异常;并等待服务器完成写操作。WriteConcern.MAJORITY: 抛出网络错误异常、服务器错误异常;并等待一个主服务器完成写操作。W

2015-10-21 18:20:42 767

转载 ConnectionTimeOut和SocketTimeOut的区别

ConnectionTimeOut和SocketTimeOut的区别:   一次完整的请求包括三个阶段:1、建立连接 2、数据传输 3、断开连接  如果与服务器(这里指数据库)请求建立连接的时间超过ConnectionTimeOut,就会抛 ConnectionTimeOutException,即服务器连接超时,没有在规定的时间内建立连接。    如果与服务器连接成功,就开

2015-10-21 16:09:24 9294

原创 linux shell软链接的问题

这个问题发生在shell脚本中的第一行为:#! /bin/sh 结果如下本来系统中已没有mongod进程,但运行关闭脚本仍然找到了2个有关的进程。但当把运行文件改名为haha(即mv /etc/init.d/mongodb_27017  /etc/init.d/haha);或把shell的第一行改为:#! /usr/bin/env bash  都得到了下面的结果

2015-09-17 14:24:07 2256

原创 python 写的str 解决dos2unix问题

w = open(os.getcwd()+'/srcFile/Shell','wb') #以二进制的方式打开是解决dos2unix问题 w.write(''.join(fp)) w.flush() w.close()把字符串fp中的内容写到 Shell 中 上传到linux中运行 会出现dos2unix的问题,解决方法就是使用 'wb' 方式打开要写的文件。

2015-09-09 19:32:17 1587

ppt倒计时器使用方法

描述了如何在ppt中加入倒计时器,和倒计时器的使用方法,并内附倒计时器

2018-12-20

EnterpriseArchitect-windows

统一建模工具EnterpriseArchitect Windows版,最好的建模工具。

2017-11-13

最新windows版Redis-x64-3.2.100.zip

最新windows版Redis, 此Redis运行在64位windows系统。

2017-10-13

groovy最新版本

groovy最新版本

2017-08-14

sbt 最新可用版本

sbt最新windows版本。sbt-0.13.16.msi

2017-08-07

springboot 1.5.4英文原版官方文档

springboot 1.5.4英文原版官方文档

2017-07-12

Django-1.11.2.tar.gz

Django 最新可用版本

2017-06-07

canal.deployer-1.0.24.tar.gz

canal最新可用版本

2017-05-27

robomongo-1.0.0-windows-x86_64-89f24ea.exe

最好用的mongodb可视化管理工具。

2017-05-05

scala-2.11.8 windows绿色版

scala-2.11.8 windows绿色版,解压后运行bin目录下的scala.bat文件即可使用

2017-05-03

redis-3.2.8源码

2017-05-03

tigervnc-server-1.1.0-24.el6.x86_64.rpm

tigervnc-server-1.1.0-24.el6.x86_64.rpm

2017-05-03

vnc-6.0.3-windows

vnc-6.0.3-windows

2017-05-03

findbugs eclipse插件

findbugs eclipse插件

2017-04-28

Nessus-6.10.4-es6.x86_64.rpm

Nessus linux版本rpm安装包

2017-03-31

scala-2.11.8

scala-2.11.8 jdk-1.6 or later

2017-03-29

scala-2.12.1 sdk

scala 2.12.1 linux unix版

2017-03-29

eclipse-checkstyle-插件-7.6

eclipse checkstyle 7.6

2017-03-24

eclipse-checkstyle-插件

eclipse checkstyle

2017-03-24

eclipse-guava-插件

eclipse的guava插件,使用guava toStringHelper造成toString函数。同样适用于hashcode equals 等

2017-03-24

redis主从复制活动图

描述redis主从复制的过程中的各种细节,包括各个阶段所使用的事件处理函数

2016-01-07

java+mysql信息管理系統

一个简单的java+mysql系统,使用了swing技术和MVC思想。可以起到抛砖引玉的作用。帮助大家学习java+mysql开发

2015-03-18

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

TA关注的人

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