- 博客(72)
- 资源 (28)
- 收藏
- 关注
转载 WebSocket+HTML5实现在线聊天室
最近在看HTML5的东西,我比较感兴趣的是WebSockets,WebWorker以及CORS。去官方过了下WebSockets的规范。WebSockets在Web层实现了TCP协议来进行双向通信,使得程序员们不用再苦逼苦的以各种方式模拟这种双向通信了。这里用纯WebSockets+HTML5的一些新特性实现了一个在线聊天室的功能。前端是我永远的痛,好在有Boo
2015-03-31 15:48:48 5335
转载 [原]nginx折腾记(HTTP性能能测试,与Apache对比)
话说nginx在大压力的环境中比apache的表现要好,于是下载了一个来折腾一下。下载并编译安装,我的编译过程有点特别:1。去除调试信息,修改$nginx_setup_path/auto/cc/gcc这个文件,将 CFLAGS="$CFLAGS -g" 这一行注释掉。2。由于仅测试WEB服务器的性能,所以不安装FastCGI。12
2015-03-31 13:59:20 885
原创 struts2 springmvc 原理 以及区别
一个请求在Struts2框架中的处理大概分为以下几个步骤 1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3、接着Filter
2015-03-26 11:05:24 1926
转载 SSH框架面试题
Hibernate工作原理及为什么要用?原理:1. 读取并解析配置文件2. 读取并解析映射信息,创建SessionFactory3. 打开Sesssion4. 创建事务Transation5. 持久化操作6. 提交事务7. 关闭Session8. 关闭SesstionFactory为什么要用:* 对JDBC访问数据库的代码做了封装,大大简
2015-03-26 11:03:11 929
转载 Struts2工作原理
Struts2请求响应流程: 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller、ActionProxy、ActionMapping、Configuration Manager、ActionInvocation、Inerceptor、Action、Result等。下面我们来具体看看这些组件有什么联系,它们之间是怎样在一起
2015-03-26 11:02:24 554
转载 SpringMVC与Struts2的对比
下面这些东西基本都是我从网上粘贴过来的,没有那么多耐心和时间一个字一个字的敲了,但是基本能表明我选择SpringMVC的思路和原因。把这张图放在这里,我是想说SpringMVC和Struts2真的是不一样的,虽然在都有着核心分发器等相同的功能组件(这些由MVC模式本身决定的)。 为什么SpringMVC会赢得最后的胜利呢?谈几点我自己的看法: 第
2015-03-26 11:02:01 565
转载 Spring MVC和Struts1,Struts2的比较
上篇文章中将Struts和Struts2进行了比较。在web层的mvc框架中,比较流行的还有Spring Mvc,这篇文章就将Spring Mvc (3.0)与两个Struts进行横向的比较。同样挑重点总结了10条 (1)、 机制 spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同。
2015-03-26 10:54:47 762
转载 struts2的核心和工作原理
在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处?设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计。在这儿MVC模式的好处就不在提了。技术优势 Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The Java Serv
2015-03-26 10:33:34 684
转载 Spring注释@Component@Repository@Service@Controller
在用Spring的时候,以前会在配置文件中定义一个类的ID,然后再使用。userInfoDao" class="com.example.dao.impl.UserInfoDaoImpl"> ...然而用下面的Spring提供的注释来定义类的ID,就不用配置文件也可以达到同样的目的。1,@Component @Compone
2015-03-25 17:48:34 529
转载 G1垃圾收集器入门
说明concurrent: 并发, 多个线程协同做同一件事情(有状态)parallel: 并行, 多个线程各做各的事情(互相间无共享状态)参考: What’s the difference between concurrency and parallelism概述目的本文介绍如何使用G1,及在 Hotspot JVM 中怎么使用G1垃圾收集器。 您将
2015-03-25 17:48:13 1899
转载 深入浅出JVM(四)新一代的垃圾回收算法G1
垃圾回收的瓶颈传统分代垃圾回收方式,已经在一定程度上把垃圾回收给应用带来的负担降到了最小,把应用的吞吐量推到了一个极限。但是他无法解决的一个问题,就是Full GC所带来的应用暂停。在一些对实时性要求很高的应用场景下,GC暂停所带来的请求堆积和请求失败是无法接受的。这类应用可能要求请求的返回时间在几百甚 至几十毫秒以内,如果分代垃圾回收方式要达到这个指标,只能把最大堆的设置限制在一个相对较
2015-03-25 17:47:34 2094
转载 高吞吐低延迟Java应用的垃圾回收优化
本文由 ImportNew - hejiani 翻译自 linkedin。欢迎加入翻译小组。转载请见文末要求。高性能应用构成了现代网络的支柱。LinkedIn有许多内部高吞吐量服务来满足每秒数千次的用户请求。要优化用户体验,低延迟地响应这些请求非常重要。比如说,用户经常用到的一个功能是了解动态信息——不断更新的专业活动和内容的列表。动态信息在LinkedIn随处可见,包括公司页面,
2015-03-25 17:47:24 834
转载 JDK 1.7版本的 新特性
Jdk1.7的新特性: 1,switch中可以使用字串 Java代码:String s = "test"; switch (s) { case "test" : System.out.println("test"); case "test1" : System.out.println("te
2015-03-25 17:47:03 9613
转载 《深入理解java虚拟机》学习笔记4——Java虚拟机垃圾收集器
Java堆内存被划分为新生代和年老代两部分,新生代主要使用复制和标记-清除垃圾回收算法,年老代主要使用标记-整理垃圾回收算法,因此java虚拟中针对新生代和年老代分别提供了多种不同的垃圾收集器,JDK1.6中Sun HotSpot虚拟机的垃圾收集器如下:图中如果两个垃圾收集器直接有连线,则表明这两个垃圾收集器可以搭配使用。(1).Serial垃圾收集器:Serial
2015-03-25 17:47:02 475
转载 Spring注释@Autowired @Resource
在用spring的时候:在spring中注入的bean 都建议定义成private变量,并且要写上 get 和 set方法。而且还要在配置文件中加入定义。例:CLASS public class SimpleMyServiceImpl implements SimpleMyService { private UserInfoDao userInfoDao;
2015-03-25 17:46:14 558
转载 Spring注释@Qualifier
在学习@Autowired的时候我们已经接触到了@Qualifier,这节就来详细学习一下自定义@Qualifier。例如定义一个交通工具类:Vehicle,以及它的子类Bus和Sedan。如果用@Autowired来找Vehicle的话,会有两个匹配的选项Bus和Sedan。为了限定选项,可以象下面这样。 @Autowired @Qualifier("car
2015-03-25 17:44:44 709
转载 成为Java GC专家系列(3) ——如何优化Java垃圾回收
为什么需要优化GC影响GC性能的参数GC优化过程监控GC状态及分析结果设定GC类型/内存空间大小CONCURRENT MODE失败分析GC优化结果优化示例结论转载自:http://shellblog.sinaapp.com/?p=733本文是成为Java GC专家系列文章的第三篇。在第一篇《成为Java GC专家系列(1) ——Java垃圾回
2015-03-25 17:44:21 718
转载 spring3零配置注解实现Bean定义(包括JSR-250、JSR-330)
12.3 注解实现Bean定义12.3.1 概述前边介绍的Bean定义全是基于XML方式定义配置元数据,且在【12.2注解实现Bean依赖注入】一节中介绍了通过注解来减少配置数量,但并没有完全消除在XML配置文件中的Bean定义,因此有没有方式完全消除XML配置Bean定义呢? Spring提供通过扫描类路径中的特殊注解类来自动注册Bean定义。同注解驱动事务一
2015-03-25 17:43:27 792
转载 @Repository、@Service、@Controller 和 @Component
@Repository、@Service、@Controller 和 @Component 将类标识为BeanSpring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的开发。@Repository注解便属于最先引入的一批,它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean。具体只需将该注解标注在 DAO类上即可。同时,为了让 Spring 能
2015-03-25 17:43:02 537
转载 注解式控制器运行流程及处理器定义 第六章 注解式控制器详解——跟着开涛学SpringMVC
6.1、注解式控制器简介一、Spring2.5之前,我们都是通过实现Controller接口或其实现来定义我们的处理器类。已经@Deprecated。 二、Spring2.5引入注解式处理器支持,通过@Controller 和 @RequestMapping注解定义我们的处理器类。并且提供了一组强大的注解: 需要通过处理器映射DefaultAnnotationHandler
2015-03-25 17:42:15 589
转载 Netty系列之Netty线程模型
1. 背景1.1. Java线程模型的演进1.1.1. 单线程时间回到十几年前,那时主流的CPU都还是单核(除了商用高性能的小机),CPU的核心频率是机器最重要的指标之一。在Java领域当时比较流行的是单线程编程,对于CPU密集型的应用程序而言,频繁的通过多线程进行协作和抢占时间片反而会降低性能。1.1.2. 多线程随着硬件性能的提升,CPU的核数越
2015-03-25 17:41:13 1988
转载 JAVA NIO 实例
最近一直在忙着JAVA NIO的知识,花了一下午的时间,总算写出了一个可以运行的程序,废话少说,上代码!Java代码 import java.io.IOException; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.nio.ByteBuff
2015-03-25 17:33:26 403
转载 Java垃圾回收机制
说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。顾名思义,垃圾回收就是释放垃圾占用的空间,那么在Java中,什么样的对象会被认定为“垃圾”?那么当一些对象被确定为垃圾之后,采用什么样的策略来进行回收(释放空间)?在目前的商业虚拟机中,有哪些典型的垃圾收集
2015-03-24 16:12:47 402
转载 SpringMVC与Struts2的对比
下面这些东西基本都是我从网上粘贴过来的,没有那么多耐心和时间一个字一个字的敲了,但是基本能表明我选择SpringMVC的思路和原因。把这张图放在这里,我是想说SpringMVC和Struts2真的是不一样的,虽然在都有着核心分发器等相同的功能组件(这些由MVC模式本身决定的)。 为什么SpringMVC会赢得最后的胜利呢?谈几点我自己的看法: 第
2015-03-24 16:05:56 439
转载 Struts2、SpringMVC、Servlet(Jsp)性能对比 测试
作者:赵磊博客:http://elf8848.iteye.com Struts2、SpringMVC、Servlet(Jsp)性能对比 测试 。Servlet的性能应该是最好的,可以做为参考基准,其它测试都要向它看齐,参照它。做为一个程序员,对于各个框架的性能要有一个基本的认知,便于选型时做出正确的决策。在测试中发现了什么也不要大喊大叫,因为这些都是Java程序员的基础
2015-03-24 16:03:18 456
转载 Spring MVC和Struts2的比较
虽然说没有系统的学习过Spring MVC框架, 但是工作这么长时间, 基本上在WEB层使用的都是Spring MVC, 自己觉得Struts2也是一个不错的WEB层框架, 这两种框架至今自己还未有比较, 今天闲着没事干, 从网上找了一些资料, 再加上平时使用Spring MVC的感触来总结一下。Spring MVC PK Struts2我们用struts2时采用的传统的配
2015-03-24 15:58:15 397
原创 struts2 注解例子
package com.joeyon.demo.component.action;import com.joeyon.framework.common.lang.Caster;import com.joeyon.framework.component.assembly.manager.AssemblyComponentManager;import com.joeyon.framework.
2015-03-24 15:55:22 616
转载 CDN和镜像站点比较
CDN和镜像站点是常用的提高网站访问速度的两种方式,但这两种方式具体是什么、二者间有什么相同和不同之处,本文对此做一粗浅介绍。一、镜像站点1.1定义镜像网站是指将一个完全相同的网站源程序放到几个服务器,分别有自己独立的URL,在这些服务器上互为镜像网站。它和主站并没有太大差别,或者可算是为主站作的后备措施。有了镜像网站的好处是:如果不能对主站作正常访问(如某个服务器死掉或出了意
2015-03-24 15:16:35 2256
转载 java 之DelayQueue实际运用示例
在学习Java 多线程并发开发过程中,了解到DelayQueue类的主要作用:是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间最长。注意:不能将null元素放置到这种队列中。Delayed,一种混合风格的接口,用来标记那些应该在给定延迟时间之后执行的对象。此接口的实现必须定义
2015-03-24 14:56:36 423
转载 并发集合(六)使用线程安全的NavigableMap
声明:本文是《 Java 7 Concurrency Cookbook 》的第六章,作者: Javier Fernández González 译者:许巧辉 校对:方腾飞使用线程安全的NavigableMapJava API 提供的有趣的数据结构,并且你可以在并发应用程序中使用,它就是ConcurrentNavigableMap接口的定义。实现ConcurrentNavig
2015-03-24 14:55:25 730
转载 ava多线程(六)之Deque与LinkedBlockingDeque深入分析
一、双向队列DequeQueue除了前面介绍的实现外,还有一种双向的Queue实现Deque。这种队列允许在队列头和尾部进行入队出队操作,因此在功能上比Queue显然要更复杂。下图描述的是Deque的完整体系图。需要说明的是LinkedList也已经加入了Deque的一部分(LinkedList是从jdk1.2 开始就存在数据结构)。 Deque在Q
2015-03-24 14:49:49 843
转载 LinkedBlockingQueue
LinkedBlockingQueue是一个基于已链接节点的、范围任意的blocking queue的实现。 此队列按 FIFO(先进先出)排序元素。队列的头部 是在队列中时间最长的元素。队列的尾部 是在队列中时间最短的元素。 新元素插入到队列的尾部,并且队列检索操作会获得位于队列头部的元素。链接队列的吞吐量通常要高于基于数组的队列, 但是在大多数并发应用程序中
2015-03-24 14:41:47 1862
转载 CopyOnWriteArrayList详解
CopyOnWriteArrayList是ArrayList 的一个线程安全的变体,其中所有可变操作(add、set等等)都是通过对底层数组进行一次新的复制来实现的。 这一般需要很大的开销,但是当遍历操作的数量大大超过可变操作的数量时,这种方法可能比其他替代方法更 有效。在不能或不想进行同步遍历,但又需要从并发线程中排除冲突时,它也很有用。“快照”风格的迭代器方法在创建迭代器时使用
2015-03-24 14:40:59 491
转载 CopyOnWriteArrayList 解读
一、 核心思想:CopyOnWriteArrayList的核心思想是利用高并发往往是读多写少的特性,对读操作不加锁,对写操作,先复制一份新的集合,在新的集合上面修改,然后将新集合赋值给旧的引用,并通过volatile 保证其可见性,当然写操作的锁是必不可少的了。二、类图预览: 方法基本分为CopyOnWriteArrayList、indexOf、contains
2015-03-24 14:36:39 549
转载 Java多线程(四)之ConcurrentSkipListMap深入分析
一、前言 concurrentHashMap与ConcurrentSkipListMap性能测试在4线程1.6万数据的条件下,ConcurrentHashMap 存取速度是ConcurrentSkipListMap 的4倍左右。但ConcurrentSkipListMap有几个ConcurrentHashMap 不能比拟的优点:1、ConcurrentSkipLis
2015-03-24 14:29:47 460
原创 treeset源码导读
public class TreeSet extends AbstractSet implements NavigableSet, Cloneable, java.io.Serializable{ /** * The backing map. */ private transient NavigableMap m; // Dummy valu
2015-03-24 14:19:03 614
原创 hashset源码导读
1,public class HashSet extends AbstractSet implements Set, Cloneable, java.io.Serializable{ static final long serialVersionUID = -5024744406713321676L; private transient HashMap map
2015-03-24 14:15:19 498
转载 java中treemap和treeset实现(红黑树)
TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点。TreeSet 和 TreeMap 的关系为了让大家了解 TreeMap 和 TreeSet 之间的关系,下面先看 TreeSet 类的部分源代码: public class TreeSet extends AbstractSet imp
2015-03-24 14:11:08 830
原创 TreeMap源码导读
1,public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, java.io.Serializable{/** * The comparator used to maintain order in this tree map, or * null if it u
2015-03-24 13:41:30 589
原创 LinkedList源码导读
1, /** * Appends the specified element to the end of this list. * * This method is equivalent to {@link #addLast}. * * @param e element to be appended to this list *
2015-03-24 12:01:06 530
struts2.0中文帮助手册.chm
2010-03-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人