- 博客(482)
- 资源 (17)
- 收藏
- 关注
转载 Thrift的TProtocol类体系原理及源码详解:二进制协议类TBinaryProtocolT
具体参数的写入函数根据参数的类型具体处理并写入到服务器端。这样整个函数 调用就做完了,剩下的就是处理写入后的一些善后处理,看具体代码有注释。当函数 调用的消息发送出去以后就开始准备接收函数远程调用的结果(异步调用除外),这里接收 Log函数调用返回结果的函数是recv_log,代码如下:ResultCode scribeClient::recv_Log() {
2016-12-29 13:56:18 1335
转载 Thrift源码分析(二)-- 协议和编解码
协议和编解码是一个网络应用程序的核心问题之一,客户端和服务器通过约定的协议来传输消息(数据),通过特定的格式来编解码字节流,并转化成业务消息,提供给上层框架调用。Thrift的协议比较简单,它把协议和编解码整合在了一起。抽象类TProtocol定义了协议和编解码的顶层接口。个人感觉采用抽象类而不是接口的方式来定义顶层接口并不好,TProtocol关联了一个TTransport传输对象,而不是提
2016-12-29 12:00:54 952
转载 zookeeper学习之三(Curator客户端)
Curator框架是最好用,最流行的zookeeper的客户端。它有以下三个优点1.提供了一套非常友好的操作API;2. 提供一些高级特性(包括但不仅限于前篇文章中提到的)的封装3.易测试 maven依赖如下 Xml代码 dependency> groupId>org.apache.curatorg
2016-12-27 17:36:19 357
转载 zookeeper学习之三(Curator客户端)
Curator框架是最好用,最流行的zookeeper的客户端。它有以下三个优点1.提供了一套非常友好的操作API;2. 提供一些高级特性(包括但不仅限于前篇文章中提到的)的封装3.易测试 maven依赖如下 Xml代码 dependency> groupId>org.apache.curatorg
2016-12-20 22:12:50 502
转载 Java静态方法为什么不能访问非静态方法
非静态方法(不带static)可以访问静态方法(带static),但是反过来就不行,为什么呢??publicclasstest{ publicvoid static main(String args[]){ method();//会出错,提示你讲method方法改成静态的 method2
2016-12-20 21:43:39 3743 1
转载 AtomicInteger的并发处理
DK1.5之后的java.util.concurrent.atomic包里,多了一批原子处理类。主要用于在高并发环境下的高效程序处理。网上关于这个原理介绍的比较靠谱的一片文章是出自IBM工程师的一篇:流行的原子 值得一看。这里,我们来看看AtomicInteger是如何使用非阻塞算法来实现并发控制的。AtomicInteger的关键域只有一下
2016-12-20 21:25:57 457
转载 TCP连接的状态与关闭方式,及其对Server与Client的影响
1. TCP连接的状态 首先介绍一下TCP连接建立与关闭过程中的状态。TCP连接过程是状态的转换,促使状态发生转换的因素包括用户调用、特定数据包以及超时等,具体状态如下所示:CLOSED:初始状态,表示没有任何连接。LISTEN:Server端的某个Socket正在监听来自远方的TCP端口的连接请求。SYN_SENT:发送连接请求后等待确认信息。当客户端Socket进行Conne
2016-12-19 19:12:46 2459
转载 ZooKeeper客户端Curator(监听篇)
maven依赖 org.apache.curator curator-recipes 2.8.0 Path CachePath Cache用来监控一个ZNode的子节点. 当一个子节点增加, 更新,删除时, Path Cache会改变它的状态, 会包含最新的子节点, 子节点的数据和
2016-12-19 16:58:54 2356
转载 zookeeper入门之Curator的使用之几种监听器的使用
[java] view plain copy package com.git.zookeeper.passwordmanager.listener; import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutorService;
2016-12-19 14:15:10 1893
转载 maven打包编译的错误:sun.misc.BASE64Decoder是Sun的专用API,可能会在未来版本中删除
今天遇到 sun.misc.BASE64Decoder是Sun的专用API,可能会在未来版本中删除 的错误算是maven的一个bug吧。maven-compiler-plugin 2.3.2 发布以后把这个错误改成了告警。所以只要将这个插件升级一下就好了。[html] view plain copy plugin>
2016-12-17 23:00:06 3495
转载 Apache Curator入门实战
1.Zookeeper安装部署Zookeeper的部署很简单,如果已经有Java运行环境的话,下载tarball解压后即可运行。[root@vm Temp]$ wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz[root@vm Temp]$ tar zxvf z
2016-12-17 16:57:19 356
转载 关于mysql处理百万级以上的数据时如何提高其查询速度的方法
最近一段时间由于工作需要,开始关注针对Mysql数据库的select查询语句的相关优化方法。 由于在参与的实际项目中发现当mysql表的数据量达到百万级时,普通SQL查询效率呈直线下降,而且如果where中的查询条件较多时,其查询速度简直无法容忍。曾经测试对一个包含400多万条记录(有索引)的表执行一条条件查询,其查询时间竟然高达40几秒,相信这么高的查询延时,任何用户都会抓狂。
2016-12-16 14:44:07 1570
转载 zookeeper如何永久监听
一 回调基础知识 znode 可以被监控,包括这个目录节点中存储的数据的修改,子节点目录的变化等,一旦变化可以通知设置监控的客户端,这个功能是zookeeper对于应用最重要的特性,通过这个特性可以实现的功能包括配置的集中管理,集群管理,分布式锁等等。//创建一个Zookeeper实例,第一个参数为目标服务器地址和端口,第二个参数为Session超时时间,第三个为节点变化时的回调
2016-12-15 21:08:12 405
转载 Zookeeper应用的场景
https://my.oschina.net/manmao/blog/687658Zookeeper应用场景ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得zookeeper能够应用于很多场景。需要注意的是,ZK并不是生来就为这些场景设计,都是后来众多开发者根据框架的特性,摸索
2016-12-15 21:04:37 627
转载 HTTP/TCP/IP
网络由下往上分为IP TCP HTTP 物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层, 三者从本质上来说没有可比性, socket则是对TCP/IP协议的封装和应用(程序员层面上)。 也可以说,TPC/IP协
2016-12-15 21:00:08 312
转载 ZooKeeper常见问题(转)
这段时间来,也在和公司里的一些同学交流使用zk的心得,整理了一些常见的zookeeper问题。这个页面的目标是解答一些zk常见的使用问题,同时也让大家明确zk不能干什么。页面会一直更新。客户端1. 客户端对ServerList的轮询机制是什么随机,客户端在初始化( new ZooKeeper(String connectString, int sessionTimeout, W
2016-12-15 20:22:30 595
转载 zookeeper 入门讲解实例 转
zookeeper使用和原理探究(一)zookeeper介绍zookeeper是一个为分布式应用提供一致性服务的软件,它是开源的Hadoop项目中的一个子项目,并且根据google发表的论文来实现的,接下来我们首先来安装使用下这个软件,然后再来探索下其中比较重要一致性算法。 zookeeper安装和使用zookeeper的安装基本上可以按照 http://hadoop.a
2016-12-14 17:38:29 657
原创 https://my.oschina.net/closeday/blog/297225
zookeeper 官网:http://zookeeper.apache.org/ 现在最新版本是 3.4.6 ,但是这个版本我没有运行起来,可能是那配置出现问题了,现在我用的是3.4.5 http://apache.fayea.com/apache-mirror/zookeeper/zookeeper-3.4.5/环境:windows 8.1 、zookeeper3.4.5现在要做的
2016-12-13 19:07:59 1976
转载 自己实现简单RPC功能
最近对RMI RPC比较感兴趣, 所以自己做了一个简单的实现, 如果有时间,之后会继续完善。RPC主要分为服务端与客户端。 服务端的实现如下:[java] view plain copy package com.zf.rpc.server; import java.io.IOException; import java
2016-12-08 21:50:26 324
转载 Java中的private、protected、public和default的区别
(1)对于public修饰符,它具有最大的访问权限,可以访问任何一个在CLASSPATH下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。(2)对于protected修饰符,它主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西。(3)对于default来说,有点的时候也成为friendly(友员)
2016-12-08 14:46:45 279
转载 cookie 和session 的区别详解
这些都是基础知识,不过有必要做深入了解。先简单介绍一下。二者的定义:当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie里的内容来判断使用者,送出特定的网页内容给你。
2016-12-07 17:30:47 319
原创 spring声明式事务 同一类内方法调用事务失效
一 宏观说明[问题] Spring的声明式事务,我想就不用多介绍了吧,一句话“自从用了Spring AOP啊,事务管理真轻松啊,真轻松;事务管理代码没有了,脑不酸了,手不痛了,一口气全配上了事务;轻量级,测试起来也简单,嘿!”。不管从哪个角度看,轻量级声明式事务都是一件解放生产力的大好事。所以,我们“一直用它”。 不过,最近的一个
2016-12-02 19:45:18 19225 6
转载 Huffman编码实现(详细实现)
1、概述 huffman编码是一种可变长编码( VLC:variable length coding))方式,于1952年由huffman提出。依据字符在需要编码文件中出现的概率提供对字符的唯一编码,并且保证了可变编码的平均编码最短,被称为最优二叉树,有时又称为最佳编码。2、原理 在了解huffman树为最优二叉树时,先要明确下面几个概念: 路
2016-12-01 21:55:59 811
转载 linux下find(文件查找)命令的用法总结
前言:我们为什么要学会使用find命令? 每一种操作系统都有成千上万的文件组成,对于linux这样“一切皆文件”的操作系统来说更不例外,大家应该都能很轻松使用windows下的文件查找功能,但是对linux这一功能可能并不是很熟悉,其实想玩linux的你更要牢牢掌握这个命令,因为linux不像windows那样有固定的文件名后缀,并且因为linux阵营下百家争鸣的特性,一个相同的文件在不同
2016-11-29 17:12:05 370
转载 计算字符串相似度算法——Levenshtein
0.这个算法实现起来很简单1.百度百科介绍:Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫Levenshtein Distance。2.用途模糊查询
2016-11-29 16:08:20 396
转载 linux之间文件传输
linux的scp命令linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录;==================scp 命令==================scp 可以在 2个 linux 主机间复制文件;命令基本格式: scp [可选参数] file_source file_target===
2016-11-24 14:47:08 397
原创 linux 下vim中关于删除某段,某行,或者全部删除的命令
1,先打开某个文件: vim filename2,转到文件结尾 在命令模式输入 G3,转到10行 在命令模式输入 10G4,删除所有内容:先用G 转到文件尾,然后使用下面命令: :1, .d5,删除第10行到第20行的内容:先用20G转到第20行,然后使用下面命令: :9, .
2016-11-24 14:27:34 49416 4
转载 Linux系统下使用split命令分割大文件
我想给一个朋友传一个大视频,有几百M,尝试多种传输办法失败后,最后想到的是把视频切开一片片“邮递”过去给他,让它自己组装起来吧。 [root]# ls -lh RevolutionOS.rmvb-rwx------ 1 hoho hoho 276M 2005-09-09 RevolutionOS.rmvb 将将这个276M文件分割成20M的小文件,文件分割操作如下: 用
2016-11-24 10:57:55 672
原创 Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1;
1.简要错误信息Exception executing batch: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Batch update
2016-11-18 15:48:19 16269 3
转载 Java 加密解密之对称加密算法PBE
博客分类: Javajavajava pbe Java 加密解密基础 Java byte数组与十六进制字符串互转 Java BASE64加密解密 Java 加密解密之消息摘要算法(MD5 SHA MAC) Java 加密解密之对称加密算法DES Java 加密解密之对称
2016-11-14 17:54:16 503
转载 Java 加密解密之对称加密算法AES
Java 加密解密之对称加密算法AES博客分类: Javajavajava aes Java 加密解密基础Java byte数组与十六进制字符串互转Java BASE64加密解密Java 加密解密之消息摘要算法(MD5 SHA MAC)Java 加密解密之对称加密算法DES
2016-11-14 17:53:32 838
转载 Java 加密解密之对称加密算法DESede
ava 加密解密之对称加密算法DESede博客分类: JavaJavajava desede Java 加密解密基础Java byte数组与十六进制字符串互转Java BASE64加密解密Java 加密解密之消息摘要算法(MD5 SHA MAC)Java 加密解密之对称加密算法D
2016-11-14 17:52:51 1335
转载 Java 加密解密之对称加密算法DES
Java 加密解密之对称加密算法DES博客分类: JavaJavajava des Java 加密解密基础Java byte数组与十六进制字符串互转Java BASE64加密解密Java 加密解密之消息摘要算法(MD5 SHA MAC)Java 加密解密之对称加密算法DESJava 加密解密之对称加密算法DESede
2016-11-14 17:51:58 616
转载 Java 加密解密之消息摘要算法(MD5 SHA MAC)
Java 加密解密之消息摘要算法(MD5 SHA MAC)博客分类: JavaJavajava md5java shajava mac Java 加密解密基础Java byte数组与十六进制字符串互转Java BASE64加密解密Java 加密解密之消息摘要算法(MD5 SHA MAC)Java 加密解密之对称加密算法DE
2016-11-14 17:50:32 565
翻译 Java BASE64加密解密
Java BASE64加密解密博客分类: JavaJavajava base64 Java 加密解密基础Java byte数组与十六进制字符串互转Java BASE64加密解密Java 加密解密之消息摘要算法(MD5 SHA MAC)Java 加密解密之对称加密算法DES
2016-11-14 17:49:43 1015
转载 Java byte数组与十六进制字符串互转
Java 加密解密基础Java byte数组与十六进制字符串互转Java BASE64加密解密Java 加密解密之消息摘要算法(MD5 SHA MAC)Java 加密解密之对称加密算法DESJava 加密解密之对称加密算法DESedeJava 加密解密之对称加密算法AESJava 加密解密之对称加密算法PBE
2016-11-14 17:48:34 1867
转载 Java 加密解密基础
Java 加密解密基础博客分类: JavaJavaJava 加密java 解密java加密与解密Java 加密解密基础Java byte数组与十六进制字符串互转Java BASE64加密解密Java 加密解密之消息摘要算法(MD5 SHA MAC) Java 加密解密之对称加密算法DESJava 加密解密之对称加密算法DESedeJa
2016-11-14 17:47:36 561
转载 在MongoVUE中发现插入的时间和实际的时间相差8小时?
在Mongodb使用过程中,发现一个问题,就是我们插入Date类型时会发现保存到mongodb中的数据却晚了8个小时,这是为什么呢?我想大家在使用客户端工具如MongoVUE时,也会发现查询出来的数据也是晚了8个小时的?下面简单描述下原因。上面的两个问题,我们依次来看是为什么?(1)在Java编码过程中,使用mongodb的java驱动包保存数据时,数据库里的数据比实际时间少了8个
2016-11-11 16:53:24 1649
转载 MongoDB 那些坑
MongoDB 是目前炙手可热的 NoSQL 文档型数据库,它提供的一些特性很棒:如自动 failover 机制,自动 sharding,无模式 schemaless,大部分情况下性能也很棒。但是薄荷在深入使用 MongoDB 过程中,遇到了不少问题,下面总结几个我们遇到的坑。特别申明:我们目前用的 MongoDB 版本是 2.4.10,曾经升级到 MongoDB 2.6.0 版本,问题依然存在,
2016-11-07 19:10:23 2422
转载 Java陷阱之assert关键字
Java陷阱之assert关键字 一、概述 在C和C++语言中都有assert关键,表示断言。在Java中,同样也有assert关键字,表示断言,用法和含义都差不多。 二、语法 在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,Java在执行的时候默认是不启动断言检查的(这个时候
2016-11-07 17:48:45 317
Spring的ApplicationEvent事件和监听器的测试Demo
2016-07-06
struts2 +jquey uploadify3.2 实现多文件上传
2014-02-14
freemarker模板技术生成复杂word文档
2014-01-17
powerdesigner15.1破解
2013-03-18
httpd-2.2.21-win32-x86.zip
2013-03-18
各种数据库驱动程序 mysql数据库/sqlserver数据库/oracle数据库/sqlserver数据库(JTDS)驱动总结
2010-11-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人