`
greemranqq
  • 浏览: 972111 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论
文章列表
转自:http://blog.csdn.net/jationxiaozi/article/details/8509732 在java项目广泛的使用。它是一个开源的、设计于提高在数据从RDBMS中取出来的高花费、高延迟采取的一种缓存方案。正因为Ehcache具有健壮性(基于java开发)、被认证(具有apache 2.0  license)、充满特色(稍后会详细介绍),所以被用于大型复杂分布式web application的各个节点中。 什么特色?   1.  够快 Ehcache的发行有一段时长了,经过几年的努力和不计其数的性能测试,Ehcache终被设计于large, high ...
大型网站架构演变 转自:http://wenku.baidu.com/view/52b477b765ce0508763213c8.html 今天我们来谈谈一个网站一般是如何一步步来构建起系统架构的,虽然我们希望网站一开始就能有一个很好的架构,但告诉我们事物是在发展中不断前进的,网站架构也是随着业务的扩大、用户的需求不断完善的,下面是一个网站架构逐步发展的基本过程,读完后,请思考,你现在在哪个阶段。   架构演变第一步:物理分离WebServer和数据库   最开始,由于某些想法,于是在互联网上搭建了一个网站,这个时候甚至有可能主机都是租借的,但由于这篇文章我们只关注架构的演变 ...
         最近了解了下缓存技术,主要分为内存缓存 和磁盘缓存,然后分布式里面有一些消息的推送,节点的一些处理。现在很多的用OSCache,EhCache 等等,资料很多,暂时就不多说了,我这里仅仅为了了解缓存框架的的知识,自己临时写一个缓存,后面可以实现AOP 和spring 结合。     实现功能:1.数据都缓存到内存中2.实现对每个元素Element的缓存时间进行控制3.对每个缓存Cache 进行创建,以及销毁的管理4.能对缓存存放个数进行管理5.通过线程定时检查元素是否过期6.可以定义缓存清除策略   实现思路:1.Store 接口:定义常用的存取元素get,put ...
        转自:http://www.cnblogs.com/leehongee/archive/2012/03/18/2404760.html     面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的 ...
 通过一个类的全限定名来获取描述此类的二进制字节流,这个动作放到虚拟机外部去实现,以便让程序自己决定如何去获取所需要的类。这个模块的动作成为“类加载器”。        唯一性:对于任意一个类,必须类的加载 ...
这里简单记录一下JVM 的一些知识,参考来源于《深入理解JVM》 的书,具体的例子部分做了实验,但是不保证所有理论正确,仅仅做一个参考。 以下所有说明,均来自于JDK 1.6 版本,特殊情况会特殊说明。 先说明一下类的生命周期:加载->验证->准备->解析(可以再次验证)->初始化->使用-回收 一、 加载   1.类加载第一步是先加载,在加载阶段有3件事情。   a.通过全先限定名获取此类的二进制字节流   b.将字节流锁代表的静态存储结构转化为方法区的运行时数据   c.在内存中生成一个代表类的java.lang.Class,作为这个类里面内容的访问入 ...
最近使用webservice 做平台接口,SOA那边要求有有文件传输的东西,类型javax.activation.DataHandler 我数据库用的oracle ,类型blob.orm 框架 是hibernate .   文件对应的字段是: private Blob fileContent; @Lob @Column(name = "FILE_CONTENT") public Blob getFileContent() {  return this.fileContent; }   转换方法: 先转换成二进制流 InputStream in = 文件对 ...
     了解spring 的原理,一般从 官方提供的运行机制的图,然后根据代码 进行源码分析,就可以了,这里先从spring mvc 启动开始分析。先来看看web.xml 的配置吧。这里基于spring 3.2      <!-- 启动监听 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> < ...
今天看了到有意思的题:在静态方法上加锁 和 非静态方法加锁 有什么区别,从而再次引出锁机制的一些理解。 先看方法:   // 这是一个很简单的类,里面共享静态变量 num,然后一个静态 和 非静态方法,都加上锁 // 我们假设有两个线程同时操作这两个方法,那么数据能互斥吗?   public class Walk { public static int num = 100; public static Walk walk = new Walk(); // 静态 public synchronized static int run(){ int i = 0 ...
前面简单介绍了一下webservice ,这里快速建立一个例子学习。 这是我用到的jar:可能版本有差异,主要包括 cxf,jetty 服务 io http util ,xml规范等 cxf 可以去:http://cxf.apache.org/download.html 下载,注意版本匹配   cxf-2.3.11.jar jetty-continuation-7.4.5.v20110725.jar jetty-http-7.4.5.v20110725.jar jetty-io-7.4.5.v20110725.jar jetty-server-7.4.5.v20110725.j ...
连接池的管理用了了享元模式,这里对连接池进行简单设计。 一、设计思路      1.连接池配置属性DBbean:里面存放可以配置的一些属性      2.连接池接口IConnectionPool:里面定义一些基本的获取连接的一些方法      3.接口实现ConnectionPool:对上面操作进行实现,并加入一些其他方法      4.连接池管理ConnectionPoolManager:管理所有的不同的连接池,所有的连接都能通过这里进行获得连接      5.另外还有几个测试类,和连接信息模拟的类,这里就不进行xml 和配置文件信息的读取了 package pool; /* ...
一、介绍        享元模式,英文(Flyweight),这个翻译还是比较OK的。网上解释比较多,也比较抽象,用我的话来说这个模式就是一个公共,共享的区域,里面放了一些大家可以共用的对象。因为我们知道,创建对象是需要 ...
题外话:从中秋请假到现在,接近20天的假期,让我彻底耍晕了,现在来写代码,发现始终没进入状态。以后建议大家没特殊事情,还是别请这么久啦,分开耍,有利于放松,也不至于耍得忘乎所以。我是一直想做互联网 并发 大数据方面的工作,有兴趣才有动力嘛,企业开发感觉活力不强,太多重复的劳动,还是喜欢研究 解决问题,有挑战的东东。线程这块,生产者与消费者模型一直是很经典的东东,这里我用自己的理解分享一下,有误的地方,还请大家指正哦~。~ 和我有相同发展方向的,可以加个QQ:315040617  一起学习研究哦!     1、解释        从字面上来说,有一个生产者,负责生产产品,当然还有一个消 ...
package sort; import java.util.Arrays; import java.util.Random; /** * 快速排序 * 最坏复杂度:N^2 ,一般是:logn * 原理:1.任意选定一个元素key,然后将大于key 的元素放右边,小于key 的元素 放左边 * 2.将key左右两边元素分别看成一个新的数组,然后再用1 步骤方法,重复,直到只有一个元素为止 * 分离步骤: * 1.选定一个数组t[i]元素作为key,假设选第一个 ,i=0 位置开始 * * 2.用最 ...
  package sort; import java.util.Arrays; import java.util.Random; /** * 选择排序:复杂度N^2 * 原理: 1.默认从第一个数i开始,假设是最小数,赋值给一个变量tem * 2.用而二个开始和这个数比较,如果小于该数,则赋值给这个变量 * 3.循环第二层循环结束,就交换元素,然后从i++ 开始重复刚才动作 * 比如:士兵站一排 a,b,c,d,e,f,g 然后从a开始,a:165cm b:170cm ,记住现在最小的是a, * 但是此时并不交换 ...
Global site tag (gtag.js) - Google Analytics