自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 Redis入门很简单之一【简介与环境搭建】

【Redis简介】

2014-07-25 22:23:25 375

原创 Redis入门很简单之一【简介与环境搭建】

【Redis简介】  . NoSQL简介:    NoSQL是Not-Only-SQL的缩写,是被设计用来替换传统的关系型数据库在某些领域的用,特别针对web2.0站点以及大型的SNS网站,用来满足高并发、大数据的应用需求.常见的NoSQL数据库系统有HBase(Hadoop数据库,基于列存储)、MongoDB(文档型数据库,采用类型与JSON的BSON语法存储记录)、Redis/Memc

2014-07-25 22:05:54 481

原创 Redis入门很简单之一【简介与环境搭建】

【Redis简介】

2014-07-25 21:43:55 509

【性能测试入门】 使用JMeter/Tomcat/Visual VM

      当Web应用的系统性能成为用户访问瓶颈的时候,作为系统的构建者,Code Monkey自然无法置身事外。专业的性能测试,自然需要有专门的测试部门来负责主导,然而作为程序猿,关注性能、了解一点和系统性能相关的知识,无论是对工作、还是从完善自身知识体系的角度来考虑都大有裨益。在这篇博客中,使用的工具包括JMeter、Tomcat和Visual VM,重点在于JMeter的入门使用。...

2014-11-16 19:14:58 263

Java Decompiler与代码的优化编译

         作为Java码农一枚,不了解Java的Class字节码结构似乎情有可原。但是关于Java代码的编译优化,或许值得一探究竟。我们编写好一个Java类文件之后,通过javac命令将一个*.java文件编译为*.class字节码文件。同样我们可以将一个*.class文件反编译为一个*.java文件。通过研习反编译之后的Java代码和原始代码的不同,我们可以了解一些Java代码编译优...

2014-10-31 22:45:11 271

JVM理论与实践【JVM参数调优】

         在生产环境下对Java虚拟机JVM进行参数调优是必不可少的。作为普通的开发人员,如果对JVM的参数优化有一定的了解,即使是从知识体系的完整性来考虑也是大有裨益的。另外,了解JVM的运行原理也有助于编写性能良好的程序,而不是让代码成为服务器CPU和内存的杀手。 【Windows平台的参数调优】       通常我们都在Windows系统下面进行软件开发工作,因此在W...

2014-09-21 23:54:40 176

JVM理论与实践【类加载器基础】

【 类加载器简介】       类加载器(classloader)用于将类的class文件加载到JVM虚拟机。 JVM有三种加载器,引导类加载器器(bootstrap classloader)、扩展类加载器(extensions classloader)和应用类加载器(application classloader),另外还可以继承java.lang.ClassLoader类创建自定义加载...

2014-09-14 01:18:46 129

JVM理论与实践【堆内存结构与垃圾回收】

        在生产环境下,通常都需要对JVM进行参数优化,其中对垃圾回收器的参数优化是一个非常重要的一方面。下面重点介绍Java的堆内存,垃圾回收算法,常用的垃圾回收器以及Java堆内存的分配策略,这些内容将作为对JVM进行垃圾回收参数优化的重要基础。然后通过简单示例验证Java的垃圾回收机制。 【Java堆内存结构】       Java的堆(Heap)是存放对象的内存区域。...

2014-09-13 16:57:25 124

JVM理论与实践【内存结构】

       学Java三年有余,对自己来说JVM一直以来都是黑匣子,看不懂,摸不透。作为一个有技术情节、略带些许完美主义情节的攻城狮,不了解JVM似乎有时候夜不能寐,总觉得有一个未知的世界自己需要探索。理论为实践服务,学习JVM不是因为它好玩,其实一点都不好玩,只是因为它有用罢了。实用主义者总比快餐主义让人踏实。 好吧,好奇心害死猫(Curiosity kills the cat),中秋佳节...

2014-09-08 01:26:37 167

Tomcat学习笔记 - 【性能优化与监控】

        在生产环境下,通常需要对Tomcat的一些参数进行设置以达到优化性能的目的。Tomcat运行于虚拟机JVM之上,因此对JVM的优化必不可少,另外机器的硬件、软件环境对服务器的运行效率至关重要。抛去其他因素不谈,下面仅介绍对Tomcat的有关参数进行优化设置。 【基本参数设置】        修改Tomcat的/conf目录下面的server.xml文件,针对端口为808...

2014-09-06 00:47:09 202

Tomcat学习笔记 - 【日志切割与访问日志】

        在Tomcat的运行过程中会生成很多日志,日志功能可以帮助对服务器运行追踪和web应用排错。Tomcat的日志功能主要包括系统日志、访问日志,系统日志记录Tomcat服务器自身的运行状况,访问日志记录web应用的用户访问历史。 【系统日志】       系统日志如catalina.2014-08-30.log和catalina.out文件,其中catalina.20...

2014-09-03 23:32:24 243 1

Tomcat学习笔记 - 【使用JNDI数据源】

        还记得3年前写的第一个Java操作JDBC的程序,关于连接参数的配置全都硬编码写在Java代码里面。然后开始尝试着使用数据库连接池,比如DBCP、C3P0之类的,并且把连接池的设置参数写在属性文件里面,如mysql.properties,然后累死累活的从属性文件中把连接池参数解析出来,只为了修改参数的之后不再重新编译Java源文件。在使用Spring框架之后,终于从属性文件的解...

2014-08-31 11:44:43 119

Tomcat学习笔记 -【 虚拟主机与虚拟目录】

和Nginx类似,Tomcat也有虚拟主机、虚拟目录的概念。借助于虚拟主机功能,允许在一台Tomcat服务器上面创建多个虚拟主机。通过虚拟目录的设置,可以自定义web应用的存放目录,不再强硬要求web应用一定存放在Tomcat的webapps目录。了解一点运维的活儿,我会比较Happy 【一】虚拟主机:Virtual Host [一]  简介:“虚拟主机”功能可以在一台物理机器上面...

2014-08-30 23:21:25 209

Tomcat学习笔记 - 【Windows和Linux平台下的安装】

Tomcat是Java Web开发最为常用的web容器。说来惭愧,从写第一个Java的Hello World程序迄今已3年有余,对Tomcat的使用却也一直停留在Hello World级别。鉴于此,决定对Tomcat的日常工作使用做一个比较完整全面的总结。<一>. 简介:Tomcat是由Apache软件基金组织开发的免费开源的Java We容器,不支持EJB规范。针对EJB程序...

2014-08-30 14:43:34 112

Java加密解密快速入门下篇【包括MD5、BASE64、DES、RSA等算法】

在上一篇博客中已经简要的介绍了MD5、BASE64、DES、RSA等算法在Java中的具体应用。现在可以考虑对这些代码封装成一个工具类EncryptUtil,然后再补充一下Commons Codec对BASE64的扩展支持! <一>. EncryptUtil工具类: 1. 使用commons-logging记录异常日志。 2. 提取常量字段、公共字段。 3. 提取...

2014-08-14 10:07:52 174

Java加密解密快速入门上篇【包括MD5、BASE64、DES、RSA等算法】

        搞Java的攻城狮应该比较欣喜若狂的,不仅Sun公司的JDK提供了庞大的类库,而且还有众多的开源组织和个人不断地丰富着Java的生态系统。没错的,诸如MD5、BASE64、DES、RSA等经典加密解密算法,JDK都有提供专门的API来封装相关操作。程序猿只需要了解算法的思想,以及学习如何使用API即可。当然,针对BASE64算法,JDK仅仅提供了非常标准的实现,在某些场景下无法满...

2014-08-14 10:00:06 471

分布式架构下的会话追踪实践【基于Cookie和Redis实现】

     在单台Tomcat应用中,通常使用session保存用户的会话数据。面对高并发的场景,一台Tomcat难当大任,通常我们会使用Nginx在前端拦截用户请求,转发给后端的Tomcat服务器群组。在集群环境下,怎么才能做到session数据在多台Tomcat之间的共享呢?      当然我们可以在多台Tomcat之间进行session数据的相互复制。这样做的代价是巨大的,尤其是后...

2014-08-13 00:41:07 181

深入浅出Nginx之七【重要知识补充】

作为Nginx学习的最后,本篇博客简要介绍在Nginx使用过程中的一些尚未提及的重要知识点,包括Nginx的性能监控、限制下载速度、防盗链、rewrite与重定向、location的优先级以及二级域名的配置等方面。 <一>. Nginx性能监控: 1. 查看Nginx的版本: nginx -v  2. 查看Nginx安装配置的详细模块: nginx -V...

2014-08-12 00:08:26 150

原创 Redis入门很简单之一【简介与环境搭建】

【Redis简介】  . NoSQL简介:    NoSQL是Not-Only-SQL的缩写,是被设计用来替换传统的关系型数据库在某些领域的用,特别针对web2.0站点以及大型的SNS网站,用来满足高并发、大数据的应用需求.常见的NoSQL数据库系统有HBase(Hadoop数据库,基于列存储)、MongoDB(文档型数据库,采用类型与JSON的BSON语法存储记录)、Redis/Memc

2014-07-25 22:44:48 574

原创 深入浅出Nginx之六【代理缓存与负载均衡】

在上一篇博客中简要介绍了Nginx和Tomcat的整合使用,然而还有一些历史遗留问题尚未提及。本篇博客将简要介绍Nginx的代理缓存,以及使用多台Tomcat服务器进行负载均衡。 <一>. 代理数据存放目录: proxy_temp_path /software/proxy_temp;     说明:代理临时目录,存在于http作用域,nginx用作代理时,用来存放...

2014-07-25 09:43:37 216

深入浅出Nginx之五【nginx与tomcat整合】

JDK(Java Development Tookkit)中包含了jre(Java Runtime Environment),而jre是一个java应用运行的基础平台,为此需要在Linux系统上面事先安装JDK环境。然后再安装Tomcat作为web服务器,最后可以将nginx和tomcat进行整合,作为负载均衡和反向代理的基础。 <一>. 安装JDK:     上传文件:使用...

2014-07-23 21:45:33 134

深入浅出Nginx之四【日志切割与环境变量】

      在真实的Nginx实践过程中,我们通常都会对Nginx的访问日志进行切割,即按照一定的周期生成一个独立的Nginx访问日志文件,以避免存在文件体积过于庞大的日志文件。一方面有助于实际的错误排查,更重要的是有利于Nginx对访问文件的写入。同时,可以将Nginx的安装路径加入到环境变量,甚至可以编写启动关闭脚本,以方便实际操作。 <一>. 切割日志文件: 1. 编写...

2014-07-10 22:24:05 135

深入浅出Nginx之三【虚拟目录与虚拟主机】

        下面简单介绍Nginx的虚拟目录和虚拟主机的配置,通过虚拟目录的设置可以直接访问Linux系统下面的静态资源文件,通过虚拟主机的设置可以在一台机器上模拟出多个逻辑上互不相干的独立主机。 <一>. 虚拟目录:  通过使用index选项可以指定相对路径,root选项指定的路径和用户的请求路径拼接成一个完成的Linux文件路径。使用alias选项可以指定一个L...

2014-07-09 21:07:52 273

原创 深入浅出Nginx之二【基本配置】

       从这篇博客开始,将对Nginx的配置文件nginx.conf的常用配置做详细的解释,并且以附件的形式给出实际的配置文件内容。   user nick excelsoft;      说明:以root账号运行时,设置worker进程所属的用户/组。 worker_processes  2;      说明:设置worker进程的数目,一般和CPU内核数一致...

2014-07-08 20:33:53 113

深入浅出Nginx之一【简介与环境搭建】

【Nginx简介】     Nginx(发音同engine x),是来自于俄罗斯的高性能web服务器和反向代理服务器。在国内有新浪、网易、豆瓣、迅雷等多家网站使用。     负载均衡(load balance):使用Nginx作为代理服务器,接收用户请求,并将其“均匀地转发”给多台内部web服务器,不会出现负载集中在某台服务器的现象。    反向代理(reverse proxy):...

2014-06-29 22:44:58 146

Redis入门很简单之八【Spring Data Redis初探】

<一>. 简单介绍:        Spring Data貌似提供了对很多数据访问技术的支持,比如JPA、Redis、MongoDB、Hadoop等等。        闲言少述,现在Redis是被关注的对象,尽管我没有对象;Spring Data Redis(以下简称SDR)在Jedis的基础上,提供了对Redis访问的进一步封装。使用SDR,不在需要手动维护连接的建立、释放,...

2014-06-11 23:50:12 133

Redis入门很简单之七【使用Jedis实现客户端Sharding】

<一>. 背景介绍: 1. sharding机制:即通常所说的“分片”,允许数据存放在不同的物理机器上,  以适应数据量过大的场景,克服单台机器内存或者磁盘空间的限制。而这种“离散式”地存放,对客户端来说是透明的,对客户端来讲,完全看不到这种差别。 2. 常见的内存缓存中间件,比如Memcached支持服务器端Sharding,客户端根本无须关心具体的实现细节。而Redis并不支持服...

2014-06-11 00:15:17 164

Redis入门很简单之六【Jedis常见操作】

之前介绍了Jedis的基本操作,连接池的支持,以及和Spring的整合。接下来的内容,继续Jedis的最为常见的操作。主要包括常用的列表(list)、集合(set)、有序集合(sorted set)、哈希表(hash)等数据结构,以及其他特性支持。<一>. 使用list: 可以使用列表模拟队列(queue)、堆栈(stack),并且支持双向的操作(L或者R)。 1. 右边入队:...

2014-06-08 18:38:29 386

Redis入门很简单之五【Jedis和Spring的整合】

在上一篇文章中,简单介绍了Jedis的连接池使用方式。如果和Spring进行整合的话,我们将获得更好的简洁性、灵活性,显然是一种更加优雅(graceful)的方式。 [一]. 搭建环境: 1. 在之前版本的基础之上,添加如下的依赖:   spring.jar   commons-logging.jar   log4j-1.2.15.jar   同时添加日志配置文件:log4j.pro...

2014-06-07 19:17:26 198

Redis入门很简单之四【初识Jedis】

使用Jedis提供的Java API对Redis进行操作,是Redis官方推崇的方式;并且,使用Jedis提供的对Redis的支持也最为灵活、全面;不足之处,就是编码复杂度较高。[一]. 入门使用: 下载Jedis的依赖包jedis-2.1.0.jar,然后将其添加到classpath下面。然后,即可进行编程:  1. 定义连接:Redis暂时不要设置登录密码Jedis jedis =...

2014-06-06 21:39:36 90

Redis入门很简单之三【常见参数配置】

Redis的一下常见设置都是通过对redis.conf文件进行修改来完成的。 本文主要介绍了设置访问密码、主从配置、设置数据和日志目录、以及参数调优等方面。  一. 权限设置:  1. 修改redis.conf文件: requirepass nick123  2. 客户端登录,需要先进行授权操作,提供密码即可。 auth nick123  二. 主从配置:     ...

2014-06-05 21:10:15 119

原创 Redis入门很简单之二【常见操作命令】

 Redis提供了丰富的命令,允许我们连接客户端对其进行直接操作.这里简单介绍一下作为常用的一些命令,包括对字符串、列表、集合、有序集合、哈希表的操作,以及一些其他常用命令。【 基本操作】1. 添加记录:通常用于设置字符串(string)类型,或者整数类型;如果key已经存在,则覆盖其对应的值。 set name James2. 获取记录:通过键获取值。 get name...

2014-06-04 22:31:06 119

Redis入门很简单之一【简介与环境搭建】

                         【Redis简介】  <一>. NoSQL简介:    NoSQL是Not-Only-SQL的缩写,是被设计用来替换传统的关系型数据库在某些领域的用,特别针对web2.0站点以及大型的SNS网站,用来满足高并发、大数据的应用需求.常见的NoSQL数据库系统有HBase(Hadoop数据库,基于列存储)、MongoDB(文档型数据...

2014-06-03 23:56:10 124

原创 使用Java进行文件压缩

         在web开发过程中,进行文件的压缩传输是一种常见的需求。比如一种场景:用户需要下载定时生成的报表,我们需要先对报表文件进行压以方便用户的下载,并减少文件的存储空间。         事实上,JDK已经提供了文件压缩/解压缩的支持,可以生成zip/gzip的压缩格式,并且支持支持“校验和”以检查压缩文件的完整性。通常会使用CRC(循环冗余校验)算法进行校验。        ...

2014-01-11 13:52:05 122

原创 Linux下使用Apache搭建SVN服务(四)

        <六>. 配置Apache对SVN的支持1. 命令:vi /usr/local/apache/conf/httpd.conf 追加:        #Append the SVN Usage        <Location /svn/CRM> #SVN访问URL前缀                 DAV svn                 SVN...

2014-01-05 16:20:47 98

原创 Linux下使用Apache搭建SVN服务(三)

 <五>. 安装SVN<1>. 解压安装:1. 解压:     tar -zvxf subversion-1.7.13.tar.gz     cd subversion-1.7.13     mkdir sqlite-amalgamation -- 创建目录2. 解压sqlite:     cd /soft     tar -zvxf sqlite-amalga...

2014-01-05 16:19:50 105

原创 Linux下使用Apache搭建SVN服务(二)

<四>. 安装SVN的依赖包 <1>. 安装apr:1. 查看是否安装:rpm -qa | grep apr 2. 卸载原有安装apr:rpm -e apr-0.9.4-24.9 --nodeps3. 编译安装: tar -xzf apr-1.4.8.tar.gz cd apr-1.4.8 ./configure --prefix=/usr/local/apr ...

2014-01-05 16:18:43 89

原创 Linux下使用Apache搭建SVN服务(一)

     在公司中,大多数情况下都是在Linux系统下面搭建SVN服务的,通常可以使用Apache作为web服务器。相比Windows平台搭建的SVN服务,采用Apache服务器在Linux搭建SVN服务,具有更好的安全性、易用性。      <一>. 下载需要的依赖包:1. Apache的安装包:httpd-2.2.25.tar.gz2. svn安装开发包:subvers...

2014-01-05 16:18:00 149

原创 Fastjson快速入门

       在使用Ajax方式构建的web2.0应用中,通常需要使用JSON作为数据交换的格式,JSON和XML相比较,更加便于解析,易于学习和使用。        最原始的Ajax方式是创建XmlHttpRequest对象,来进行发送请求和接收响应的。但是,创建方式过于复杂,需要考虑到浏览器的兼容性、字符编码等诸多因素。       JQuery是一种基于Javascript的...

2014-01-01 16:25:04 163

原创 持续集成入门实践

      在软件开发过程中,团队成员需要经常性的进行集成,以便于更早的发现集成过程中的错误。每次集成都通过自动化的构建(编译、测试、发布)来发现集成过程中的错误。在软件开发团队中通常使用SVN作为源码管理工具(类似的有CVS),使用Ant作为自动构建工具(类似的如同Maven),可以使用Hudson作为持续集成(CI,Continuous integration)服务器。持续集成是世界级软件...

2013-12-25 21:06:25 208

Ant学习教程

Ant,用于对Java项目进行构建。Ant简介,常用任务,整合Junit,生成doc和zip文件。

2013-11-18

空空如也

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

TA关注的人

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