自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 问答 (4)
  • 收藏
  • 关注

转载 iOS开发60分钟入门

iOS开发60分钟入门本文面向已有其它语言(如Java,C,PHP,Javascript)编程经验的iOS开发初学者,初衷在于让我的同事一小时内了解如何开始开发iOS App,学习目标包括:能使用Xcode IDE、模拟器能修改、调试已有iOS App能在已有应用内创建新模块能创建新应用能发布应用到App Store本文不包含任何高级的iOS开发知识,已学会iOS...

2015-03-17 13:38:56 238

原创 Object-c 基础概念

一:Object-c的类基本定义 1. 类定义在@interface和@end之间。2.MyClass:NSObject的方式定义子类和父类。3.{}中定义类的对象成员4.-/+定义的是方法,-定义的是对象的方法,+定义的是类的方法。对象是类的一个实例。对于对象的方法,也即是,当使用该方法之前必须先生成该类的一个特定对象。 二:强类型和弱类型的引用 Obj...

2015-03-16 17:50:08 180

原创 sentinel、keepalived、twemproxy

<!--StartFragment --> <!--StartFragment --><!--StartFragment -->

2014-12-03 14:08:16 151

原创 twemproxy+redis

twemproxy安装(参考http://www.dnzg.cn/Linux_BSD/201406_41277.html)autoconf下载地址:http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gztwemproxy下载地址:https://codeload.github.com/twitter/twemproxy/zip/masterftp...

2014-12-03 14:03:07 143

原创 Keepalived+redis

背景介绍:目前,Redis还没有一个类似于MySQL Proxy或Oracle RAC的官方HA方案。Redis作者有一个名为Redis Sentinel的计划(http://redis.io/topics/sentinel),据称将会有监控,报警和自动故障转移三大功能,非常不错。因此,如何在出现故障时自动转移是一个需要解决的问题。通过对网上一些资料的搜索,有建议采用HAProxy或Kee...

2014-12-03 12:20:34 104

原创 Redis 在新浪微博中的应用

Redis简介1. 支持5种数据结构支持strings, hashes, lists, sets, sorted setsstring是很好的存储方式,用来做计数存储。sets用于建立索引库非常棒;2. K-V 存储 vs K-V 缓存新浪微博目前使用的98%都是持久化的应用,2%的是缓存,用到了600+服务器Redis中持久化的应用和非持久化的方式不会差别很大:非持久化的为8-...

2014-12-03 12:15:17 103

原创 JDK源码分析之String篇

------------------------------String在内存中的存储情况(一下内容摘自参考资料1)-----------------------------------前提:先了解下什么是声明,什么时候才算是产生了对象实例其中x并未看到内存分配,变量在使用前必须先声明,再赋值,然后才可以使用。java基础数据类型会用对应的默认值进行初始化一、首先看看Java虚拟...

2014-10-22 16:25:18 138

原创 数据库分库分表(sharding)系列

(一) 拆分实施策略和示例演示 (二) 全局主键生成策略(三) 关于使用框架还是自主开发以及sharding实现层面的考量(四) 多数据源的事务处理 (五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案 (一) 拆分实施策略和示例演示 第一部分:实施策略图1.数据库分库分表(sharding)实施策略图解1.准备阶段对数据库进行分库...

2014-07-24 14:53:41 156

原创 Java的多线程机制

程序、进程和线程: 程序是一段静态的代码,它是应用程序执行的蓝本。进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。线程是比进程更小的单位,一个进程执行过程中可以产生多个线程,每个线程有自身的产生、存在和消亡的过程,也是一个动态的概念。每个进程都有一段专用的内存区域,而线程间可以共享相同的内存区域(包括代码和数据),并利...

2014-07-07 16:29:24 109

原创 Linux 安装RabbitMQ及常用命令

测试于:RabbitMQ 3.0.0 | CentOS 5.7安装步骤:给centos安装epel yum 源# rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm安装erlang运行环境# yum install erlang安装rabbitmq se...

2014-06-17 16:20:18 674

原创 Apache FTPClient操作“卡死”问题的分析和解决

[JAVA]Apache FTPClient操作“卡死”问题的分析和解决 最近在和一个第三方的合作中不得已需要使用FTP文件接口。由于FTP Server由对方提供,而且双方背后各自的网络环境都很不单纯等等原因,造成测试环境无法模拟实际情况。测试环境中程序一切正常,但是在部署到生产环境之后发现FTP操作不规律性出现“卡死”现象:程序捕获不到任何异常一直卡着,导致轮巡无法正常工作(...

2014-06-10 14:50:17 436

原创 性能调优攻略

一、系统性能定义让我们先来说说如何什么是系统性能。这个定义非常关键,如果我们不清楚什么是系统性能,那么我们将无法定位之。我见过很多朋友会觉得这很容易,但是仔细一问,其实他们并没有一个比较系统的方法,所以,在这里我想告诉大家如何系统地来定位性能。 总体来说,系统性能就是两个事:Throughput ,吞吐量。也就是每秒钟可以处理的请求数,任务数。Latency, 系统延迟。也就是...

2014-04-15 17:18:20 117

原创 关于 Redis 的常识

1. Overview1.1 资料<The Little Redis Book> ,最好的入门小册子,可以先于一切文档之前看,免费。作者Antirez的博客,Antirez维护的Redis推特。Redis 命令中文版, huangz同学的翻译。Redis设计与实现 ,又是huangz同学的巨作,深入了解内部实现机制。Redis 2.6源码中文注释版 ,继续是huangz同学的大功...

2014-03-20 17:03:08 686

原创 为什么使用 Redis及其产品定位

传统MySQL+ Memcached架构遇到的问题实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。Memcached与MySQL数据...

2014-03-19 12:00:50 100

原创 Redis Sentinel集群方案--单机测试

 单机测试流程,记录下来http://www.linuxidc.com/Linux/2014-02/96085p2.htm

2014-03-18 17:26:56 117

原创 redis性能测试

  一、基础测试:      redis读写性能测试redis官网测试读写能到10万左右,非常吸引人,我在研发环境对redis进行测试,发现redis的速度的确很快,此测试是为日后应用优化提供研发参考。由于受到网络环境的限制,本机是100M的网卡,最高10M/s的传输速度,所以当测试到每秒读取45000条时,测试机和测试服务器上传或者下载速度已经达到10M/s,基本到了网络瓶颈,无法再提高,...

2014-03-17 15:10:23 257

原创 Sentinel-Redis高可用方案(二):主从切换

Redis 2.8版开始正式提供名为Sentinel的主从切换方案,Sentinel用于管理多个Redis服务器实例,主要负责三个方面的任务:    1. 监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。    2. 提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管...

2014-03-14 14:49:42 638

原创 Sentinel-Redis高可用方案(一):主从复制

引言大概是因为Redis是个人开发的产品,所以Redis的高可用方案是被分成了几块来实现:主从复制、主从切换以及虚拟IP或客户端方案。从Redis 2.8开始加入对Sentinel机制从而实现了服务器端的主从切换,但目前尚未发现实现虚拟IP或客户端切换方案。主从复制研究wget http://download.redis.io/releases/redis-2.8.2.tar....

2014-03-14 14:48:57 106

原创 redis命令

https://redis.readthedocs.org/en/latest/index.html 一个较好的doc

2014-03-14 14:44:07 112

原创 Java IO流学习总结

Java流操作有关的类或接口:Java流类图结构: 流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。  IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输入流和输出流 字符流...

2014-02-18 12:18:13 84

原创 深入Log4J源码之Log4J Core

Log4J将写日志功能抽象成七个核心类/接口:Logger、LoggerRepository、Level、LoggingEvent、Appender、Layout、ObjectRender。其类图如下:更详细的,实现Log4J主要功能相关的类图:其实Log4J最核心的也就5个类:Logger用于对日志记录行为的抽象,提供记录不同级别日志的接口;Level对日志级别的抽象;App...

2013-10-10 15:20:33 159

原创 Oracle版本驱动中使用Java Date产生问题的解答

如果你在Oracle版本驱动中使用Java Date时产生一些问题的时候,你是否想了解不解之处,以下的文章主要是通过对Oracle版本驱动中使用Java Date的问题的实际应用的方案的介绍,来解答你在Oracle版本驱动中使用Java Date的问题在实际操作方面的问题。这里两天都在对一条sql进行调优。该sql并不复杂,类似于select ... from some_view un...

2013-08-23 14:42:18 121

原创 同步和异步与阻塞和非阻塞的区别

同步和异步与阻塞与非阻塞是在通信和I/O中常用的字眼,之前在许多地方同步与阻塞,异步与非阻塞常常被混为一谈,带来了许多混乱,其实同步、异步和阻塞、非阻塞是两个不同的概念。最近随着异步IO(AIO)越来越多的应用,对这两个概念进行区分和解释的文章也越来越多,但是问起身边的同学,能说清楚的倒也不多,所以我就顺便跟风写一篇科普文吧.同步(synchronous)和异步(asynchronous)...

2013-04-18 18:01:03 94

原创 单例模式的七种写法

 第一种(懒汉,线程不安全): Java代码  public class Singleton {       private static Singleton instance;       private Singleton (){}         public static Singleton getInstance() {   ...

2013-04-12 18:10:14 88

原创 ZooKeeper典型使用场景一览

ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得zookeeper能够应用于很多场景。网上对zk的使用场景也有不少介绍,本文将结合作者身边的项目例子,系统的对zk的使用场景进行归类介绍。 值得注意的是,zk并不是生来就为这些场景设计,都是后来众多开发者根据框架的特性,摸索出来的典型使用...

2013-03-27 16:46:00 78

原创 zookeeper 客户端编程

zookeeper是一个分布式的开源的分布式协调服务,用它可以来现同步服务,配置维护。zookeeper的稳定性也是可以保证的,笔者曾参与过的使用zookeeper的两个应用,一个是用zookeeper来做分布式锁,属于同步协调服务,另一个是配置维护,三台机器运行了一年多了,没有出现什么问题。------------------------同步服务:利用zookeeper可以使机器之间的同步如...

2013-03-27 15:39:23 106

原创 MyEclipse中tomcat部署时,找不到web项目的解决方案

在MyEclipse中,使用tomcat 部署web项目时,选择项目是,按钮是灰色的,   解决方案: 原因是因为,在web项目中少了一个.mymetadata文件,或者是存在.mymetadata文件,但是 context-root 不存在。只需要在mymetadata文本中,设置context-root="/testProject" 其中的 "/testProje...

2013-03-26 13:30:38 329

原创 ZooKeeper系列文章

团队博客:http://rdc.taobao.com/team/jm/archives/tag/zookeeper 《ZooKeeper快速搭建》http://nileader.blog.51cto.com/1381108/795230 《ZooKeeper Java API 使用样例》http://nileader.blog.51cto.com/1381108/795265 《可视化zooke...

2013-03-08 14:52:52 153

原创 ZooKeeper典型应用场景一览

ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,...

2013-03-08 14:50:15 67

原创 深入分析 Java I/O 的工作机制

Java 的 I/O 类库的基本架构I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。在当今这个数据大爆炸时代,I/O 问题尤其突出,很容易成为一个性能瓶颈。正因如此,所以 Java 在 I/O 上也一直在做持续的优化,如从 1.4 开始引入了 NIO,提升了 I/O 的性能。关于 NIO 我们将在后面详细...

2013-02-01 17:46:15 76

原创 oracle数据库表解锁

oracle数据库表解锁     一、使用SQL语句查询锁的状态Sql代码select sess.sid,     sess.serial#,     lo.oracle_username,     lo.os_user_name,     ao.object_name,     lo.locked_mode     from v$locked_object ...

2013-01-29 10:49:36 94

原创 Java synchronized详解

Java synchronized详解使用synchronized在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。我们首先编写一个非常简单的多线程的程序,是模拟银行中的多个线程同时对同一个储蓄账户进行存款、取款操作的。在程序中我们使用了一个简化版本...

2013-01-23 11:21:31 145

原创 TCP/IP,http,socket,长连接,短连接

转 TCP/IP是什么?   TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。   在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。   在传输层中有TCP协议与UDP协议。   在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。 Socket是什么呢?    Socket是应用层与TCP/IP协议族通信的中间软件抽...

2013-01-17 17:49:06 73

原创 Socket 长连接与短连接,心跳 .

长连接与短连接所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持。 短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,一般银行都使用短连接。  比如http的,只是连接、请求、关闭,过程时间较短,服务器若是一段时间内没有收到请求即可关闭连接。 其实...

2013-01-17 17:44:58 98

原创 RabbitMQ 三种Exchange

Direct Exchange – 处理路由键。需要将一个队列绑定到交换机上,要求该消息与一个特定的路由键完全匹配。这是一个完整的匹配。如果一个队列绑定到该交换机上要求路由键 “dog”,则只有被标记为“dog”的消息才被转发,不会转发dog.puppy,也不会转发dog.guard,只会转发dog。 Channel channel = connection.createChannel();...

2012-12-05 14:16:24 61

原创 消息队列软件产品大比拼

导读:本文是从《Message Queue Shootout!》这篇文章翻译而来,译文来自外刊IT评论《消息队列软件产品大比拼》。内容如下:我花了一周的时间评估比较了一下各种消息队列产品,非常的有趣。我做这个事的动机是因为一个客户有一个很高性能需求。他们的消息信息突破了1百万个并发。目前他们使用的是SQL server,并不理想,我建议他们使用消息队列服务器。为了对一些相似的候选产品获...

2012-12-03 16:21:28 85

原创 谈谈程序开发中,关于“零配置”和“有配置”的看法

本人是做Java开发的,在程序开发中会经常使用到OpenSource开源框架,这些框架大多都灵活、简单、易用、方便。而且开源框架一般会提供一些基本的配置,如我们常用的框架就有Hibernate要配置对象实体到数据库的映射;Spring要配置bean的管理及其对象、属性的注入;Struts要配置Action对象和返回的资源路径;MyBatis要配置CRUD(增删改查)的相关SQL语句。这些配...

2012-11-06 15:43:38 80

原创 Servlet开发GET和POST中文乱码处理(转)

tomcat在开发WEB服务器端程序的时候,我们经常遇到中文乱码的情况现在特殊说明如下,主要要清除几个概念:1.JAVA class类的编码是Unicode统一编码的,支持中文和其他UTF-8的字符用作类名等等;2.TOMCAT内部实现的编码方式,TOMCAT的默认是以ISO-8859-1作为默认的编码。2.request,response请求和响应的编码方式。TOMCAT的执行机制:GET和PO...

2012-10-26 15:51:16 75

原创 Servlet中的GET和POST之间的区别

get和post这是http协议的两种方法,另外还有head,  delete等   这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串。post的参数是通过另外的流传递的,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。   在servlet开发中,以doGet()和doPost()分别处理get和post方法。   另外还有一个d...

2012-10-26 15:42:12 64

原创 proxool详细配置(转)

 proxool一个数据库连接池框架,提供了对你选择的其它类型的驱动程序的连接池封装。可以非常简单的移植到现存的代码中。完全可配置。快速,成熟,健壮。可以透明地为你现存的JDBC驱动程序增加连接池功能。到目前为止最新版本是proxool 0.9.1,可从官网下载最新版本http://proxool.sourceforge.net 一、配置proxool.xml文件  Xml...

2012-10-26 15:07:19 77

空空如也

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

TA关注的人

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