上一页 1 2 3 4 5 6 7 ··· 15 下一页
摘要: 项目 Memcache Ehcache 分布式 不完全,集群默认不实现 支持 集群 可通过客户端实现 支持(默认是异步同步) 持久化 可通过第三方应用实现,如sina研发的memcachedb,将cache的数据保存到[url=]Berkerly DB[/url]支持。持久化到本地硬盘,生成一个.data和.index文件。cache初始化时会自动查找这两个文件,将数据放入cache 效率 高 高于Memcache 容灾 可通过客户端实现。 支持 缓存数据方式 缓存在memcached server向系统申请的内存中 可以缓存在内存(JVM中),也可以缓存在硬盘。通过CacheManager管 阅读全文
posted @ 2013-08-22 10:23 王 庆 阅读(676) 评论(0) 推荐(0) 编辑
摘要: Java程序员编程时需要混合面向对象思维和一般命令式编程的方法,能否完美的将两者结合起来完全得依靠编程人员的水准: 技能(任何人都能容易学会命令式编程)模式(有些人用“模式-模式”,举个例子,模式可以应用到任何地方,而且都可以归为某一类模式)心境(首先,要写个好的面向对象程序是比命令式程序难的多,你得花费一些功夫)但当Java程序员写SQL语句时,一切都不一样了。SQL是说明性语言而非面向对象或是命令式编程语言。在SQL中要写个查询语句是很简单的。但在Java里类似的语句却不容易,因为程序员不仅要反复考虑编程范式,而且也要考虑算法的问题。下面是Java程序员在写SQL时常犯的错误(没有特定的顺 阅读全文
posted @ 2013-08-08 08:58 王 庆 阅读(294) 评论(0) 推荐(0) 编辑
摘要: Alt+insert :生成代码较为常用的是1.普通Class中生成get set 方法 、生成构造函数、生成spring注入、重写对象的equal、toString、hashcode方法2.如果是单元测试类,可以生成测试的模板方法Ctrl+Shift+t:生成单元测试代码当要对一个类进行单元测试时,打开类,使用该快捷键,可以直接生成原始测试代码,比较方便。Ctrl+N:寻找类或接口入门级,但是很重要,不多说了Ctrl+Tab:快速切换器可切换内容很多,试试就知道了,比较实用,尤其是找最近编辑的文件列表,我感觉比直接从茫茫打开的类文件看好找。Ctrl+Q:查看JavaDoc选择一个类或接口,使 阅读全文
posted @ 2013-07-29 19:05 王 庆 阅读(418) 评论(0) 推荐(0) 编辑
摘要: consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛;1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 hash 值,然后均匀的映射到到 N 个 cache ;hash(object)%N一切都运行正常,再考虑如下的两种情况;1 一个 cache 服务器 m down 掉了(在实际应用中必须要考虑这种情况). 阅读全文
posted @ 2013-07-29 17:34 王 庆 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 基本问题1、memcached的基本设置 1)启动Memcache的服务器端 # /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid-d选项是启动一个守护进程, -m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB, -u是运行Memcache的用户,我这里是root, -l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200, -p是设置Memcache监听的端口,我这里设置了12000 阅读全文
posted @ 2013-07-29 13:18 王 庆 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 本文主要是基于Sun JDK 1.6 Garbage Collector(作者:毕玄)的整理与总结,原文请读者在网上搜索。1、Java虚拟机运行时的数据区2、常用的内存区域调节参数-Xms:初始堆大小,默认为物理内存的1/64(输出到日志文件来查看GC的状况; 3)jmap –heap可用于查看各个内存空间的大小;5)断代法可用GC汇总一、新生代可用GC1)串行GC(Serial Copying):client模式下默认GC方式,也可通过-XX:+UseSerialGC来强制指定;默认情况下 eden、s0、s1的大小通过-XX:SurvivorRatio来控制,默认为8,含义 为eden:s 阅读全文
posted @ 2013-07-29 12:31 王 庆 阅读(287) 评论(0) 推荐(1) 编辑
摘要: 1. 首先String不属于8种基本数据类型,String是一个对象。因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。2. new String()和new String(“”)都是申明一个新的空字符串,是空串不是null;3. String str=”kvill”; String str=new String (“kvill”);的区别: 在这里,我们不谈堆,也不谈栈,只先简单引入常量池这个简单的概念。 常量池(constant pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括了关于类、 阅读全文
posted @ 2013-07-29 09:56 王 庆 阅读(1731) 评论(0) 推荐(0) 编辑
摘要: Java堆中存放Object对象数据,例如new出来的Object。当没有任何引用指向某对象时,该对象可能被垃圾回收。有关垃圾回收算法,可参考其他有关文章,网上很多。关于对象引用,按强弱还有强引用,软引用,弱引用,虚引用之分。强引用,一般不会被垃圾回收,若内存不足,只好抛出OutOfMemoryError;软引用,垃圾回收器扫描时,若是内存不足的情况下,这种引用的对象会被回收。弱引用,只要垃圾回收器扫描,就会回收。栈是动态的,每起一个线程就会起一个栈,每个线程中每个方法会在栈中起一个帧,称栈帧;每一帧中存的是方法的局部变量,中间值等信息。方法执行结束,栈帧内存释放,线程结束栈内存释放。在Jav 阅读全文
posted @ 2013-07-29 09:01 王 庆 阅读(663) 评论(0) 推荐(0) 编辑
摘要: 一、Java内存区域与内存溢出异常程序计数器较小的内存空间,记录着当前线程执行的字节码指令、分支、循环、跳转、异常处理、线程恢复等基础功能。唯一一个没有规定那个OutOfMemoryError的内存区域Java虚拟机栈线程私有每个方法在执行的时候都会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息两种异常:如果线程请求的栈深度超过Java虚拟机允许的深度将抛出StackOverFlow;对于可以动态增长的Java虚拟机,如果申请时没有足够内存将抛出OutOfMemoryError异常本地方法栈与虚拟机栈的区别是本地方法栈为执行Javanative方法服务与虚拟机栈一样,本地方 阅读全文
posted @ 2013-07-29 08:49 王 庆 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 定义:如果一个问题的规模是n,解这一问题的某一算法所需要的时间为T(n),它是n的某一函数T(n)称为这一算法的“时间复杂性”。当输入量n逐渐加大时,时间复杂性的极限情形称为算法的“渐近时间复杂性”。我们常用大O表示法表示时间复杂性,注意它是某一个算法的时间复杂性。大O表示只是说有上界,由定义如果f(n)=O(n),那显然成立f(n)=O(n^2),它给你一个上界,但并不是上确界,但人们在表示的时候一般都习惯表示前者。此外,一个问题本身也有它的复杂性,如果某个算法的复杂性到达了这个问题复杂性的下界,那就称这样的算法是最佳算法。“大O记法”:在这种描述中使用的基本参数是 n,即问题实例的规模,把 阅读全文
posted @ 2013-07-26 18:26 王 庆 阅读(3488) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 15 下一页