- 博客(23)
- 资源 (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 2460
转载 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 320
原创 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
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关注的人