- 博客(194)
- 收藏
- 关注
原创 Spring AOP @Aspect support annotation
还是这个例子,我们用完全annotation的方法来实现。代码我就不重复了,跟前面XML配置是同一套。修改配置文件:http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http
2013-10-30 09:08:15 1602
原创 Spring AOP @Aspect support XML
Spring的AOP在集成了AspectJ后,立刻就显得方便了许多。本篇用同样的例子,来实现同样的功能。前文提到过,@Aspect也支持完全annotation方式和XML配置的方式。为了方便比较,我这里先用XML来配置,基于上篇文章的代码。 添加AspectJ的dependency org.aspectj a
2013-10-30 09:07:55 1035
原创 Spring 传统AOP实例
参考AOP入门(一)中的例子,外面来实现用Spring AOP加入各种统计的东东。 注:这篇文章中,我用的是完全传统的Spring AOP,不带有任何AspectJ的东西。 在前面AOP实现一文中提到,Spring AOP要求被代理类必须由Spring容器来管理,即是一个SpringBean。所以,我们要做的第一步,就是配置引入Spring容器管理。在src/m
2013-10-30 09:07:18 1563
原创 Spring中AOP实现
标题之所以没叫Spring AOP实现,是因为Spring中AOP的两种实现方式之一是被这样叫的…… -_-T Spring 中的AOPAOP的Spring实现有两种: Spring AOP本质上就是动态代理+AspectJ的部分功能。被代理的对象必须由Spring容器管理。下文会详述。使用这种实现,可以用XML或annotation来做配置管理或aspect的
2013-10-30 09:04:34 1092
转载 log4j layouts
Using layouts.InformationTo customize the output format of the print messages a layout must be associated to an appender. There are serveral layouts you can choose:ObjectRenderer.The Obj
2013-10-25 16:37:32 799
原创 关于REST中做简单验证的思考
之前有位朋友留言问我是否对REST的验证有过研究,当时,我之前是用JBOSS来做基本的验证管理,每次请求都要带上验证信息。对于WEB,这样做似乎有点不太优雅。传统的http连接下,简单的web验证,是靠Session来做的。而Session其实是代表状态的,客户端的状态。REST是无状态的,服务资源无状态。但是在访问的时候,由于Session的存在,就把客户的状态跟资源访问结合到一起了
2013-10-18 18:04:45 1912
转载 springmvc定制REST风格 以及 与JSR303 Bean校验整合
原文地址:http://www.cnblogs.com/dennisit/archive/2013/04/13/3019391.htmlREST风格与传统风格比较 查询用户 传统方式 /user_detail?id=120 Rest风格 /user/120 删除用户 传统方式 /user_delete?id=123
2013-10-18 17:48:48 1221 2
原创 AOP入门(二)
上篇文章介绍了为什么要有AOP,它的好处是什么。这篇着重介绍下AOP中的一些概念。 开始前,容我吐槽下这些天杀的概念名词,起的名字非常的绕!!连Spring都在自己官方文档中申明这些名词不是Spring自己的,而且Spring也不会尝试去起自己的名词,因为那可能会更加令人晕……我本来不想把中文翻译的名词加到解释中去,但是,考虑到一大部分人已经习惯于用这种叫法。还是写上了。不过强烈建议直
2013-10-17 11:21:44 786
原创 AOP入门(一)
网上由很多关于AOP的解释,但是,它最大的好处是什么,它的作用是什么?众说纷纭,有的解释甚至很扯淡。例如,百度百科上有这样一段: 这给我的感觉就是——人类的主要功能:吃、喝、玩、乐。 -_-! 要解释这个问题,得先回答,为什么要有AOP。 AOP的历史 有人说AOP(Aspect Oriented Program)是基于OOP (Object
2013-10-17 11:16:03 1256
转载 Netty使用经验
以前项目中使用的是Netty3.2.x版本。写这篇文章的时候,看的是Netty3.6.6.Final跟4.0.0.CR3版本,Linux环境。4.0的API跟3.x有一些区别,互不兼容。在公开的API上,我看3.x之间还是兼容的,为了增加文章的时效性,下面讲的都是3.6.6版本。 机制什么的就不提了,网上文章很多。如果自己看的话,那可以从org.jboss.netty.example包跟o
2013-10-17 11:09:57 1935
转载 Java NIO(2): 缓冲区基础
源文档 file:///E:\Edison\Books\Java\NIO\Java%20NIO(2)-缓冲区基础.docx> 缓冲区(Buffer)对象是面向块的I/O的基础,也是NIO的核心对象之一。在NIO中每一次I/O操作都离不开Buffer,每一次的读和写都是针对Buffer操作的。Buffer在实现上本质是一个数组,其作用是一个存储器,或者分段运输区,并且提供了对数据的结
2013-10-17 10:21:48 923
转载 Java NIO(1): 迟迟登场的NIO
源文档 http://www.cnblogs.com/zhuYears/p/3166571.html> Java NIO的出现Java语言发展至今,优点大家有目共睹:面向对象的语言、简洁有效、高移植性等等。但是同样也存在很多缺点,C语言程序员口中Java太慢了,.net程序员口中Java太开放了,php程序员说Java太复杂了。Java为了“一次编写,到处运行”的最大优势,也付出了
2013-10-17 10:19:35 919
转载 Protobuf数据定义
Protobuf消息定义消息由至少一个字段组合而成,类似于C语言中的结构。每个字段都有一定的格式。字段格式:限定修饰符①| 数据类型② | 字段名称③ | = | 字段编码值④ | [字段默认值⑤]①.限定修饰符包含required\optional\repeated Required:表示是一个必须字段,必须相对于发送方,在发送消息之前必须设置该字段的值,对于接收方,必须能够
2013-10-17 10:18:27 4394
转载 Using JAX-RS with Protocol Buffers for high-performance REST APIs
Posted on December 27, 2008 by Sam PullaraOne of the great things about the JAX-RS specification is that it is very extensibleand adding new providers for different mime-types is very easy. One
2013-10-17 10:17:22 1893
转载 Protobuf语言指
本指南描述了怎样使用protocolbuffer语言来构造你的protocol buffer数据,包括.proto文件语法以及怎样生成.proto文件的数据访问类。本文是一个参考指南——如果要查看如何使用本文中描述的多个特性的循序渐进的例子,请在http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/tutorials.html中
2013-10-17 10:16:32 800
转载 Protobuf编译原理
protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google提供了三种语言的实现:java、c++ 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可
2013-10-17 09:55:31 2124
原创 Protobuf入门
全称: Protocol Buffer类似功能产品或框架: Apache Thrift, CORBA, Web Service主要作用:跨平台、跨语言交互、通信核心:序列、反序列化特点:小、快、简单这东西由Google出品,08年的时候Google把它开源了,官方支持C++,JAVA和Python三种语言,但是由很多第三方的库来支持其他语言。RPC (Re
2013-10-17 09:53:06 1357
转载 JAVA分布式事务原理及应用
引言 JTA( Java Transaction API)允许应用 程序 执行分布式事务处理--在两个或多个 网络 计算机资源上访问并且更新数据。JDBC 驱动 程序的JTA支持极大地增强了数据访问能力。 本文的目的是要提供一个关于的Java事务处理API(JTA)的高级的概述,以及与分布式事务相关的内容。一个事务处理定义了一个工作逻辑单元,要么 彻底成功要么不产生任何结果。
2013-10-17 09:44:15 2005
原创 Date Format
每次选DateFormat格式,都得去查文档,方便起见,全记在这!LetterDate or Time ComponentPresentationExamplesGEra designatorTextADyYear
2013-10-17 09:43:08 701
转载 ResourceBundle的使用
1、使用java.util.Properties类的load()方法 示例:Java代码 Java代码 InputStream in = lnew BufferedInputStream(new FileInputStream(name)); Properties p = new Properties(); p.load(in);
2013-10-17 09:37:57 1233
转载 Zookeeper典型引用场景
ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利
2013-10-17 09:36:44 1195
转载 Zookeeper工作原理2
原文:http://chenlx.blog.51cto.com/4096635/746393 记得在大约在2006年的时候Google出了Chubby来解决分布一致性的问题(distributed consensus problem),所有集群中的服务器通过Chubby最终选出一个Master Server ,最后这个Master Server来协调工作。简单来说其原理就是:在一个分布式
2013-10-17 09:36:21 785
转载 Zookeeper工作原理
转自:http://baidutech.blog.51cto.com/4114344/743012ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协
2013-10-17 09:35:25 896
转载 Zookeeper实现分布式Session管理实现
1. 认识ZooKeeperZooKeeper——“动物园管理员”。动物园里当然有好多的动物,游客可以根据动物园提供的向导图到不同的场馆观赏各种类型的动物,而不是像走在原始丛林里,心惊胆颤的被动物所观赏。为了让各种不同的动物呆在它们应该呆的地方,而不是相互串门,或是相互厮杀,就需要动物园管理员按照动物的各种习性加以分类和管理,这样我们才能更加放心安全的观赏动物。回到我们企业级应用系统中,
2013-10-17 09:33:31 1277
转载 Zookeeper实现分布式共享锁
分布式系统中经常需要协调多进程,多个jvm,或者多台机器之间的同步问题,得益于zookeeper,实现了一个分布式的共享锁,方便在多台服务器之间竞争资源时,来协调各系统之间的协调和同步。 package com.concurrent; import java.io.IOException;import java.util.ArrayList;import
2013-10-17 09:30:50 1605
转载 Zookeeper入门例子
本来想自己写……结果,官方例子很给力……恕我懒惰。http://zookeeper.apache.org/doc/trunk/javaExample.html
2013-10-17 09:29:40 892
转载 Zookeeper入门
安装和配置详解本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两个方面介绍 Zookeeper 的安装和配置。单机模式单机安装非常简单,只要获取到 Zookeeper 的压缩包并解压到某个目录如:/
2013-10-17 09:27:49 929
转载 Redhat6下安装MySQL Server
1. 去官网下载MySql,核心有三个,以5.6.13 64位为例:MySQL-client-5.6.13-1.el6.x86_64.rpmMySQL-devel-5.6.13-1.el6.x86_64.rpmMySQL-server-5.6.13-1.el6.x86_64.rpm2. 安装:[root@localhost download]# rpm -ivh --r
2013-10-16 15:04:21 870
转载 Vmware中RedHat命令行和图形界面切换 Linux运行级别 默认界面配置 修改错误配置 修改root密码
原文地址:http://blog.csdn.net/yeohcooller/article/details/6930270新手开始学习Linux了,把一些基本的东西总结下。不当之处望指正。1、Linux图形界面和命令介面的切换在虚拟机里面装了RedHat的Linux系统。默认进入的是图形界面。从Linux的图形界面切换到命令界面可以按Ctrl+Alt+F
2013-10-16 10:34:55 1467
转载 Netty入门
写在前面:本来想自己写个Netty入门的,但是发现官网的入门例子写的太特么好了,连例子都直接提供下载,就失去动力鸟。然后对于Netty的特性和框架,无意中看到一位仁兄在11年的总结,虽然部分现在已经不适用了,但总体来讲写的非常地道。直接转过来。原文地址:http://blog.sina.com.cn/s/blog_3fe961ae01011oob.html1. 简介Java
2013-10-10 11:18:40 2836
转载 Parallel Processing and Multi-Core Utilization with Java
原文地址:http://embarcaderos.net/2011/01/23/parallel-processing-and-multi-core-utilization-with-java/In order to harvest the full power of a multi-core processor the software application must be abl
2013-09-24 14:19:00 1713
原创 X11 connection rejected because of wrong authentication 解决
在Linux上装了X11 server, 通过Xming 在本地打开UI来观察系统情况。结果发现非root用户无法使用,报出 X11 connection rejected because of wrong authentication 错误。特记录解决方法如下:1. 用root用户运行$ xauth listmdf-cp1/unix:11 MIT-MAGIC-C
2013-09-24 09:57:43 18123
原创 几个很好的博客地址
发现几个很好的博主的blog,记录下,以后经常去逛逛,学习下。http://blog.hesey.net/http://www.jdon.com/http://devgrok.blogspot.com/
2013-09-23 14:35:31 824
转载 Java7 HotSpot Verbose GC Tutorial
原文(需翻墙):http://javaeesupportpatterns.blogspot.com/2011/10/verbosegc-output-tutorial-java-7.htmlVerbose output for the Java VM and garbage collection process has been around for quite a long time but
2013-09-23 11:58:17 1305
转载 一个GC频繁的Case
前两天碰到一个很诡异的GC频繁的现象,走了不少弯路,N种方法查找后才终于查明原因了,在这篇blog中记录下,以便以后碰到这类问题时能更快的解决。前两天一位同学找到我,说有个应用在启动后就一直Full GC,拿到GC log先看了下,确实是非常的诡异,截取的部分log如下:2011-07-16T14:55:57.733+0800: 174042.063: [Full GC [PSYoun
2013-09-23 11:50:03 8048 2
原创 RHEL6通过安装光盘或ISO文件配置yum安装X11 server
1. 上传iso文件2. 将该iso文件mount到/mnt下mount -t iso9660 -o loop rhel-server-6.4-x86_64-dvd.iso /mnt/3. 配置yum源vi /etc/yum.repos.d/rhel-debuginfo.repo[Server]name=Red Hat Enterprise Linux $
2013-09-23 11:22:22 5562
原创 用VisualVM远程监控Java进程
1. 配置并启动jstatd在用jvisualvm监控远程机器前,需要在对端启动一个RMI服务器。1.1 创建jstatd权限配置文件 jstatd.all.policygrant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; };1.
2013-09-22 11:05:43 14849
原创 Java 占用CPU使用率很高的分析
前几天在测试服务器上发现Java进程的CPU使用率暴高,为了分析解决该问题,把过程记录如下:1. 先找到Java的进程号Linux下:用top命令查看所有进程,可以明显看到Java的,因为CPU占用率很高被排在前面。比如,Windows下:打开任务管理器,然后点击 "查看" 菜单,然后点击 "选择列",把pid勾上,然后就可以在任务管理器里面看到所有进程的pid
2013-09-22 10:44:39 16641
转载 java 线程死锁的检测
看到一篇不错的死锁检测描述,有例子,我喜欢。转过来。转自:http://babyduncan.iteye.com/blog/1880231例子程序: Java代码 import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService;
2013-09-13 14:17:33 2501
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人