自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 solr4.6部署到tomcat

  solr默认自带了jetty服务器,但我们习惯了tomcat,我们通过以下步骤将solr部署到tomcat1、solr.4.6.0.zip解压到指定的目录中,如d:/solr-4.6.02、将d:/solr-4.6.0/example/webapps下的solr.war拷贝到tomcat–>weapps中3、新建文件夹d:/sorl_home,将d:/solr-4.6...

2014-11-13 21:13:38 154

原创 Reactor模式

Reactor这个词译成汉语还真没有什么合适的,很多地方叫反应器模式,但更多好像就直接叫reactor模式了,其实我觉着叫应答者模式更好理解一些。通过了解,这个模式更像一个侍卫,一直在等待你的召唤,或者叫召唤兽。 并发系统常使用reactor模式,代替常用的多线程的处理方式,节省系统的资源,提高系统的吞吐量。 先用比较直观的方式来介绍一下这种方式的优点,通过和常用的多线程方式比较...

2014-10-28 23:21:29 121

原创 logback logback.xml常用配置详解(三) <filter>

logback 常用配置详解(三) &lt;filter&gt; &lt;filter&gt;:过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一。返回DENY,日志将立即被抛弃不再经过其他过滤器;返回NEUTRAL,有序列表里的下个过滤器过接着处理日志;返回ACCEPT,日志会被立即处理,不再经过剩余过滤器。过滤器被添加到&lt;Appen...

2014-10-11 16:33:57 139

原创 logback 常用配置详解(二) <appender>

logback 常用配置详解(二) &lt;appender&gt;    &lt;appender&gt;: &lt;appender&gt;是&lt;configuration&gt;的子节点,是负责写日志的组件。 &lt;appender&gt;有两个必要属性name和class。name指定appender名称,class指定appender的全限...

2014-10-11 16:30:04 101

原创 logback 配置详解(一)

一:根节点&lt;configuration&gt;包含的属性: scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。debug:当此属性设置为true时,将打印出logb...

2014-10-11 16:11:23 92

原创 org.apache.log4j.Logger 详解

1. 概述 1.1. 背景      在应用程序中添加日志记录总的来说基于三个目的 :监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作;跟踪代码运行时轨迹,作为日后审计的依据;担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息。     最普通的做法就是在代码中嵌入许多的打印语句,这些打印语句可以输出到控制台或文件中,比较好的做法就是构造...

2014-10-11 14:13:35 164

原创 GSON属性个性化定制

 有时候我们不需要把实体的所有属性都导出,只想把一部分属性导出为Json.有时候我们的实体类会随着版本的升级而修改.有时候我们想对输出的json默认排好格式.... ...请看下面的例子吧:实体类:public enum ClientIdEnum { APP_GAME(1) // 1:应用中心 , KITTYPLAY_2V(22) // 22:美化...

2014-07-02 10:06:34 297

原创 Nginx打开目录浏览功能(autoindex)

Nginx默 认是不允许列出整个目录的。如需此功能,打开nginx.conf 文件,在location server 或 http段中加入autoindex on;另外两个参数最好也加上去:Nginx默 认是不允许列出整个目录的。如需此功能,打开nginx.conf 文件,在location server 或 http段中加入autoindex on;另外两个参数最好也加上去:autoi...

2014-02-20 18:25:53 162

原创 nginx alias & root 区别

 文件路径:/data/nginx-1.2.3/html/50x.html;/data/nginx-1.2.3/html/index.html; 关于 alias 用法分析 nginx.conf 配置如下:-------------------------------location ^~ /commonhtml/ {        index index.ht...

2014-02-20 18:09:07 79

原创 GBK,UTF-8,和ISO8859-1之间的编码与解码

Unicode、UTF-8 和 ISO8859-1到底有什么区别 将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF编码就是"e4b8ad e69687"。注意, 这两个字没有iso8859-1编码,但可以用iso8859-1编码来"表示"。  2. 编码基本知识  最早的编码是iso8859-1,和asc...

2014-02-13 09:59:36 129

原创 ASCII 、GB2312、GBK、GB18030、unicode、UTF-8字符集编码详解

ASCII码表在线查询:http://www.weste.net/tools/ASCII.asp ASCII字符集编码ASCII码是7位编码,字符在计算机中以其ASCII码方式表示,其长度为1个字节, 有符号字符型数。编码范围是0x00-0x7F(0~127)。ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。其中0x00-0x20和0x7F共33个控制字符。ASCII 十...

2014-02-12 12:49:01 581

原创 Java序列化的机制和原理

本文讲解了Java序列化的机制和原理。从文中你可以了解如何序列化一个对象,什么时候需要序列化以及Java序列化的算法。AD:2013云计算架构师峰会课程资料下载 有关Java对象的序列化和反序列化也算是Java基础的一部分,下面对Java序列化的机制和原理进行一些介绍。Java序列化算法透析Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化...

2014-02-12 10:54:10 70

原创 java高并发解决方案

一 个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架 构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更 是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,...

2014-02-11 22:36:47 76

原创 apache HttpClient 源码分析

   这里简单地记录了 org.apache.commons.httpclient 与 org.apache.commons.httpclient.MultiThreadedHttpConnectionManager 相结合,构建 http 连接池,提高这种因多次连接而产生不必要的时间消耗效率. 这里还有个很重要的类,org.apache.commons.httpclient.method...

2014-02-11 17:38:41 521

原创 Load Average分析

一、什么是load average?linux系统中的Load对当前CPU工作量的度量 (WikiPedia: the system load is a measure of the amount of work that a computer system is doing)。也有简单的说是进程队列的长度。Load Average 就是一段时间 (1 分钟、5分钟、15分钟) 内平均 ...

2014-01-28 14:30:17 107

原创 HTTP缓存 Last-Modified 服务端实现

 针对图片资源,根据http协议的缓存机制,进行了服务器更新处理,但遇到了个小问题,一直还没搞清楚的.见代码备注. package com.g3net.servlet;import java.io.IOException;import java.io.OutputStream;import javax.servlet.ServletException;impor...

2014-01-03 10:06:57 394

原创 mysql prepareStatement的源码实现分析

 今天分析了一下mysql 5.1 版本驱动包的prepareStatement实现源码,发现驱动包并没有实现真正的服务器预编译,还是跟普通的Statement一样,在客户端拼装好完整的sql,底层还是用socket与服务器通过二进制协议流进行数据交互,然后把请求返回的结果,生成resultSet数据集合,以方便后续的数据迭代处理.   public java.sql.Resul...

2013-12-18 18:16:03 593

原创 HttpSession

目录一、术语session二、HTTP协议与状态保持三、cookie四、理解session机制五、cookie机制与session机制的区别和联系六、HttpSession常见问题七、Session的用法  一、Session术语Session,中文经常翻译为会话,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间...

2013-12-13 14:56:49 112

原创 HttpSession

关于HttpSession的误解实在是太多了,本来是一个很简单的问题,怎会搞的如此的复杂呢?下面说说我的理解吧:一个session就是一系列某用户和服务器间的通讯。服务器有能力分辨出不同的用户。一个session的建立是从一个用户向服务器发第一个请求开始,而以用户显式结束或session超时为结束。其工作原理是这样的:1.当一个用户向服务器发送第一个请求时,服务器为其建立一个session...

2013-12-13 14:17:06 60

原创 telnet测试HTTP协议

1. 命令行窗口中用telnet测试HTTP协议 HTTP消息是由普通ASCII文本组成。消息包括消息头和数据体部分。消息头以行为单位,每行以CRLF(回车和换行)结束,消息头结束后,额外增加一个CRLF,之后内容就是数据体部分了。我们可以在命令行窗口,通过TELNET,来测试HTTP协议。1. 使用telnet连接到HTTP服务器,如要从google上请求index.htm...

2013-12-13 14:14:49 543

原创 http协议 cookie设置

  在bs的架构中,浏览器作为客户端,与服务器之间通过session保持连接状态。以前面试的时候,经常被问及一个问题:浏览器禁止cookie时,服务器与客户端浏览器能否保持session连接?    其实要完全回答正确这个问题,需要对cookie的作用有全面的了解。具体cookie的解释大家可以google一下。我以前一直有一个误解(估计很 多人都有),以为cookie就是一个文件,用来...

2013-12-13 09:59:25 159

转载 JAVA JDBC(MySQL)驱动源码分析

JAVA连接数据库是其众多功能中的一部分,主要有两种方式连接DataBase: 一种是采用JDBC-ODBC桥,另一种则是称之为纯驱动连接DataBase,第一种方式在大型项目中基本上不再使用,本系列文章主要分析纯驱动源码。 对于初学JAVA者,甚至那些使用JAVA做过几年开发的程序员来讲,对于JDBC的工作原理都不一定能够明白。知其然,不知其所以然。遇到问题就不知所 措了。通过针对于MYSQL

2013-12-05 16:09:25 1593

原创 Java IO结构图

gt       大小: 62.9 KB 大小: 54.2 KB

2013-12-05 16:09:20 431

原创 Java IO流学习总结

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

2013-12-05 16:09:15 428

原创 Java IO流分析整理

Java中的流,可以从不同的角度进行分类。按照数据流的方向不同可以分为:输入流和输出流。按照处理数据单位不同可以分为:字节流和字符流。按照实现功能不同可以分为:节点流和处理流。 ######### 输出流 & 输入流 #############输出流:  输入流: 因此输入和输出都是从程序的角度来说的。  ############ 字节流

2013-12-05 16:09:10 391

原创 BufferedInputStream实现原理分析

ufferedInputStream是一个带有缓冲区的输入流,通常使用它可以提高我们的读取效率,现在我们看下BufferedInputStream的实现原理:  BufferedInputStream 内部有一个缓冲区,默认大小为8M,每次调用read方法的时候,它首先尝试从缓冲区里读取数据,若读取失败(缓冲区无可读数据),则选择从物理数据源 (譬如文件)读取新数据(这里会尝试尽可能读取多的字节)

2013-12-05 16:09:05 1201

原创 CountDownLatch和CyclicBarrier的区别

在网上看到很多人对于CountDownLatch和CyclicBarrier的区别简单理解为CountDownLatch是一次性的,而 CyclicBarrier在调用reset之后还可以继续使用。那如果只是这么简单的话,我觉得CyclicBarrier简单命名为ResetableCountDownLatch好了,显然不是的。 我的理解是,要从他们的设计目的去看这两个类。javadoc里面的描述是

2013-12-05 16:08:59 463

原创 fail fast

Fail Fast从字面上看是“快速失败”的意思,或者叫做“速错”,其含义就是让可能发生的错误尽早的被发现。 无论是人类,还是代码这个道理都是适用的。我们在做事的时候,犯错误是很常见的,但是我们应该尽量使得错误发生之初就被发现,并找出原因进行纠正。一开始不重视或者变相的处理了,这会使得错误延后,反而使得损失增大。 还有个事例就是创业,我们就要抱着“如果要失败那就快点”的心态,加快自己前进的步伐。

2013-12-05 16:08:54 424

原创 java.util.concurrent介绍

java.util.concurrent 包含许多线程安全、测试良好、高性能的并发构建块。不客气地说,创建 java.util.concurrent 的目的就是要实现 Collection 框架对数据结构所执行的并发操作。通过提供一组可靠的、高性能并发构建块,开发人员可以提高并发类的线程安全、可伸缩性、性能、可读性和可靠性。如果一些类名看起来相似,可能是因为 java.util.concurr

2013-12-05 16:08:49 432

原创 JVM 体系结构

一.Java虚拟机结构: 一.JVM 体系结构:JVM内存结构上图展示了JVM 体系结构!下面我们分别说下他们的作用:方法区一个JVM只有一个方法区,是所有线程共享的 存放Class的线性二进制流 类信息,该类型的常量池,字段信息,方法的字节码,操作数栈和该方法的栈帧中的局部变量区的大小,异常表,到类ClassLoader的引用,到Class类的应用 方法区大小不固定,

2013-12-05 16:08:44 474

原创 MySQL数据库MyISAM和InnoDB存储引擎的比较

MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种。这里介绍关于这两种引擎的一些基本概念(非深入介绍)。 MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索,但不是事务安全的,而且不支持外键。每张MyISAM表存放在三个文件中:frm 文件存放表格定义;数据文件是MYD (MYData);索引文件是MYI (MYIndex)。 InnoD

2013-12-05 16:08:39 402

原创 Redis学习手册

(转自 http://www.cnblogs.com/stephen-liu74/archive/2012/04/16/2370212.html)        为什么自己当初要选择Redis作为数据存储解决方案中的一员呢?现在能想到的原 因主要有三。其一,Redis不仅性能高效,而且完全免费。其二,是基于C/C++开发的服务器,这里应该有一定的感情因素吧。最后就是上手容易,操作简 单。记得在

2013-12-05 16:08:33 386

原创 配置Memcache服务器并实现主从复制功能

一、Linux下Memcache服务器端的安装Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent.用wget指令直接下载这两个东西.下载回源文件后。1.先安装libevent。这个东西在配置时需要指定一个安装路径,即./configure –prefix=/usr/local;然后make;然后make install;2.再安装memcache

2013-12-05 16:08:28 437

原创 Memcached工作原理终点

(转自 http://blog.163.com/czg_e/blog/static/46104561201121451713323/) 1、memcached是怎么工作的?      Memcached的神奇来自两阶段哈希(two-stage hash)。Memcached就像一个巨大的、存储了很多对的哈希表。通过key,可以存储或查询任意的数据。 客 户端可以把数据存储在多台memcac

2013-12-05 16:08:23 411

原创 Memcached工作原理

面临的问题        对于高并发高访问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题。特别当你的程序架构还是建立 在单数据库模式,而一个数据池连接数峰值已经达到500的时候,那你的程序运行离崩溃的边缘也不远了。很多小网站的开发人员一开始都将注意力放在了产品需 求设计上,缺忽视了程序整体性能,可扩展性等方面的考虑,结果眼看着访问量一天天网上爬,可突然发现有一天网站因为访问量过

2013-12-05 16:08:18 383

原创 hadoop+zookeeper+hbase环境搭建的一些问题

host文件配置     /etc/hosts文件若没配置好,会引起一系列不见遇见的问题,有时候会在这些问题上面花费较多的时间. hadoop@PC3GD000516:/usr/local/hadoop$ more /etc/hosts127.0.0.1 localhost192.168.215.85 master pc-name0192.168.215.201 sla

2013-12-05 16:08:13 732

原创 Hadoop namenode无法启动

最近遇到了一个问题,执行start-all.sh的时候发现JPS一下namenode没有启动         每次开机都得重新格式化一下namenode才可以         其实问题就出在tmp文件,默认的tmp文件每次重新开机会被清空,与此同时namenode的格式化信息就会丢失         于是我们得重新配置一个tmp文件目录         首先在home目录下建立一个hadoop_t

2013-12-05 16:08:08 380

原创 使用zookeeper实现分布式共享锁

分布式系统中经常需要协调多进程,多个jvm,或者多台机器之间的同步问题,得益于zookeeper,实现了一个分布式的共享锁,方便在多台服务器之间竞争资源时,来协调各系统之间的协作和同步。 package com.zookeeper.lock.server;import java.io.IOException;import java.util.ArrayList;import j

2013-12-05 16:08:02 732

原创 CountDownLatch的介绍和使用

1、类介绍java.util.concurrent 类 CountDownLatchjava.lang.Objectjava.util.concurrent.CountDownLatch一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以

2013-12-05 16:07:57 337

原创 rsync命令(转)

虽然是个很基本的工具了 不过有时候需要一些细致的资料还是要差一下 所以 放在这里咯   目录1. 什么是rsync;2、rsync 服务器的理由和用途;3、架设rsync服务器过程;3.1 rsync的安装;3.2 rsync服务器的配置文件4 架设rsync服务器的示例说明4.1 全局定义4.2 模块定义5 启动rsync 服务器及防火墙的设置;5.1

2013-12-05 16:07:52 554

空空如也

空空如也

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

TA关注的人

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