自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

翻译 HttpClient4.5.x 翻译

前言(译者注)该文档原文地址。适用于HttpClient4.5.x 版本1.1. 发送请求HttpClient最基本的的功能就是发送HTTP请求。发送一次HTTP方法通常由HttpClient内部处理一次或多次HTTP请求/HTTP响应的交互。使用者将使用一个请求对象去执行HTTP请求,HttpClient将传输该请求到目的服务器,然后得到一个响应结果,或者如果出现失败情况则抛出异常。自然而然,Ht

2016-11-10 16:50:34 1058

原创 排他文件锁实现(Java版本)

一 .前言某年某月某天,同事说需要一个文件排他锁功能,需求如下:(1)写操作是排他属性(2)适用于同一进程的多线程/也适用于多进程的排他操作(3)容错性:获得锁的进程若Crash,不影响到后续进程的正常获取锁二 .解决方案排他锁,自然想到  java.nio.channels.FileLock ,于是有一段简单而不简约的代码 /** * @param

2016-08-14 21:11:42 2371

原创 中小型互联网企业研发管理体系

总结这些年在互联网YY/Tencent公司工作的经验,如果让自己独当一面创业的话,自己的能力能否胜任。总结过去,方能知道不足,才能更好鞭笞学习。这几年一直从事技术研发工作,中途也曾运营等小打小闹的尝试,但技术研发还是自己的看家本事。下图总结了,一个中小型互联网企业研发体系的构成成分。或者几年后再回头查看此图总结,免不了显得幼稚,但这都属于成长的一部分。

2015-11-06 19:45:45 1733

原创 wireshark 本地抓包

一、如何本地抓包      wireshark默认是不能抓取本地 localhost报文,想要抓取本地loopback 报文,使用RawCap工具具体。1. 下载RawCap http://www.netresec.com/?page=RawCap2. 双击运行,运行RawCap,选择本地localhost 的端口3. 使用wireshark 打开最终生成的 dumpfile.pc

2015-10-20 14:41:01 1012

原创 tsung 分布式压测工具

一、什么是tsung      最近想整一个分布式压力测试工具,了解到tsung这个工具,感觉还不错,tsung是由erlang编写的分布式压力测试工具,协议还是支持蛮多的,比如HTTP/SOAP等,具体可见官网说明。tsung需要erlang环境,erlang这个语言就不多说了,专门分布式任务设计的一门语言。二、环境搭建(ubuntu环境)1. 搭建erlang环境wge

2015-07-29 21:37:16 904

原创 DBMonster入门

一、什么是DBMonster有时候我们为了性能分析或者压力测试,需要往数据库新增数据记录,这个时候需要一个便捷的工具可以帮忙我们快速生成记录,并往DB插入记录。而DBMonster就可以帮忙我们达到这个目标的一个工具,DBMonster是一个批量生成数据库记录,Java语言编写的工具。二、使用入门1. 下载DBMonster工具包 http://nchc.dl.sourcefo

2015-07-07 19:39:38 3355

原创 C++入门(适合熟悉Java语言的开发者入门)

在鹅场,c/c++才是王道,工作需要,又得拾起c/c++。一、指针与引用    1. Java简单的地方就是摒弃了指针,一个指针变量存放的内容就是所指对象的地址。(对一个变量求地址,可以使用&)int main(){ int a = 3; int *p = &a; //p指向a的地址 int **q = &p; //q指向p地址 c

2015-05-12 10:25:14 789

原创 Cobar 再体验——系统初窥

上一篇讲述了Cobar的一些系统设计理念。这一篇主要从初次实践体验,本文体验的Cobar版本为 1.2.7(下载的压缩包有些文件需要修改,下面会提到),下载地址(https://github.com/alibaba/cobar/releases/download/v1.2.7/cobar-server-1.2.7.tar.gz)一、Cobar 体验步骤   1.  解压cobar-serv

2015-05-05 22:06:20 343

原创 解读commons-pools

commons-pool 是一个简单易用却又强大的对象池工具包,redis的Java client第三方包jedis就是使用commons-pool 的池化技术对其连接进行池化和管理。    在学习commons-pool之前,笔者尝试思考,一个对象池化工具需要提供哪些功能:    1. 对象的创建,销毁,检测健康状态    2. 对象池的管理维护,包括借用,归还,销毁。     

2015-04-29 16:26:43 710

原创 WxHB数据库运维了解

WxHB是公司项目,这里就不说明,其实也没什么敏感数据,本文只是看了数据库运维的同事写的文章后,自己有所感想,写一些读后感和备忘录之类的。    WxHB的早期数据分表是按年份分表的,业务逻辑只有进、出记录两张表,所有表放在同一个库里面。由于业务上的扩展,早期预估需要扩容到100倍。以下是扩容初步方案:    (1)分100库  * 10 表,也就是进、出记录各1000张表,由于业务查询的

2015-04-15 21:52:06 1193

原创 Cobar 初体验——系统概要设计

最近在学习分布式数据库的中间件,大概收集了解了大厂的做法,比如阿里的Cobar和TDDL,这里先讨论Cobar。Cobar是阿里巴巴B2B的产物,其github地址为:https://github.com/alibaba/cobar (相关文档皆在github),本篇是了解了其基本设计后的总结,难免有错误及遗漏之处。    通常,如果一个互联网产品有幸从小到大,那么它的数据库演变历程一般如下:

2015-04-13 22:43:49 689

原创 JVM服务问题排查

线上的服务就像一个黑匣子,具体什么情况,这个就是体现监控运维的价值,监控报警运维解决了的软件服务最后一公里的问题。大公司一般都有很成熟的监控服务系统,可视化服务状态,自动化运维操作,这些自动化的工具对开发人员来说都是如沐春风,但是一般中小企业这些基础建设就没有那么优秀了,很多问题都需要开发人员自行定位解决。    线上的JVM服务运行久了或者出现访问压力时,服务往往会暴露一些问题,这个时候就需要开

2015-04-02 21:16:22 7625 1

原创 基于SVN + Maven的构建发布Demo之二——解决回滚问题

上一篇文章介绍了自动化构建发布的Demo设计,但是有个缺陷就是无法支持回滚,其实回滚的设计也十分简单,在版本构建成功后先备份到指定目录,然后再发布重启服务脚本。如若需要回滚,则只需将指定的备份文件重新发布即可,至于备份的最大数量,这个由设计者自行指定,对于笔者而言,历史版本只需十个即可。编写的Shell脚本处理流程如下:而回滚只需将指定的版本重新发布即可。以上即是一个简单的支持回滚功能的实

2015-03-08 22:29:28 464

原创 基于SVN + Maven的构建发布Demo

想起在笔者刚毕业时去的第一家上市公司,刚进去时,项目的构建发布都是通过脚本来实现,开发人员需要登录中转机器或者目标机器,上去执行构建重启脚本,甚至在这个过程中需要临时动手去修改一些脚本,整个过程下来少则几分钟,多则几十分钟不等,如果中途碰到什么问题,那就更纠结了,整个生产过程,人力成本太高,生产效率不高。后来有个哥们动手开发了一套构建发布的管理系统,有简单易操作的管理界面,构建发布效率大大提高,而

2015-03-05 22:22:01 520

翻译 掀起JVM的引擎盖——classloader

原文地址     对很多Java开发者来说,classloader是一个底层并且经常被忽略的知识面。在zeroTurnaround团队,我们的开发人员必须经常与classloader打交道,为的就是诞生JRebel技术,这是一项与classloader打交道,提供了在运行时可以做到热装载,避免长时间的重新编译、重新打包、重新发布的循环。    以下是我们学习classloader的

2015-02-12 17:06:44 365

原创 jps无法获取到tomcat(java)进程

一、问题描述:Ubuntu 10.10版本,同个JDK 1.6版本,启动tomcat后,使用jps无法获取本机Java进程。二、jps工作原理:1. java进程启动时,若没有指定 -Djava.io.tmpdir参数,则会默认新建 /tmp/hsperfdata_${user_name} 文件2. jps查询java进程时会去扫描 /tmp/hsperfdata_${us

2014-11-27 15:15:56 4427 2

原创 Ios Android Hybrid app 与 Js Bridge 二 (具体实现)

写在前面的话:背景介绍:

2014-11-16 22:18:29 1878

原创 SolrCloud 初体验

一、什么是solr、Lucence请移步官网,一款技术的出现的目的在于解决什么问题,看guagn

2014-11-03 22:23:49 483

原创 Ios Android Hybrid app 与 Js Bridge

在移动开发中,我们必不可少需要使用Web来代替部分Native,也就是业内所说的Hybrid App。一、基本信息介绍Ios 和 Android两种终端与Javascript的通信机制有些不同:1. Ios 机制: (1)Native可直接调用Js,并可直接获取Js的返回值(这点与Android不同) (2)Js不能直接调用Native,但可以通过反向调用,流程就是先将消息临时

2014-10-11 14:39:09 4661

原创 Out of sign, out of mind

写在前面的话:本文内容涉及Android交互设计和个人产品体验感受,不感兴趣的读者可提前绕步,谢谢。关键字说明:(1) Drawer Navigation:13年Google IO 提出一种导航设计,也就是我们熟知的左拖或者右拖出现导航菜单(图1),具体可见官方原文(2) Top Bar:可见(图2),官方定义(3) View Control : 可见(图3),官方定义

2014-09-15 11:25:21 814

空空如也

空空如也

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

TA关注的人

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