摘要:
Alt+insert :生成代码较为常用的是1.普通Class中生成get set 方法 、生成构造函数、生成spring注入、重写对象的equal、toString、hashcode方法2.如果是单元测试类,可以生成测试的模板方法Ctrl+Shift+t:生成单元测试代码当要对一个类进行单元测试时,打开类,使用该快捷键,可以直接生成原始测试代码,比较方便。Ctrl+N:寻找类或接口入门级,但是很重要,不多说了Ctrl+Tab:快速切换器可切换内容很多,试试就知道了,比较实用,尤其是找最近编辑的文件列表,我感觉比直接从茫茫打开的类文件看好找。Ctrl+Q:查看JavaDoc选择一个类或接口,使 阅读全文
摘要:
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 掉了(在实际应用中必须要考虑这种情况). 阅读全文
摘要:
基本问题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 阅读全文
摘要:
本文主要是基于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 阅读全文
摘要:
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文件中的一些数据。它包括了关于类、 阅读全文
摘要:
Java堆中存放Object对象数据,例如new出来的Object。当没有任何引用指向某对象时,该对象可能被垃圾回收。有关垃圾回收算法,可参考其他有关文章,网上很多。关于对象引用,按强弱还有强引用,软引用,弱引用,虚引用之分。强引用,一般不会被垃圾回收,若内存不足,只好抛出OutOfMemoryError;软引用,垃圾回收器扫描时,若是内存不足的情况下,这种引用的对象会被回收。弱引用,只要垃圾回收器扫描,就会回收。栈是动态的,每起一个线程就会起一个栈,每个线程中每个方法会在栈中起一个帧,称栈帧;每一帧中存的是方法的局部变量,中间值等信息。方法执行结束,栈帧内存释放,线程结束栈内存释放。在Jav 阅读全文
摘要:
一、Java内存区域与内存溢出异常程序计数器较小的内存空间,记录着当前线程执行的字节码指令、分支、循环、跳转、异常处理、线程恢复等基础功能。唯一一个没有规定那个OutOfMemoryError的内存区域Java虚拟机栈线程私有每个方法在执行的时候都会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息两种异常:如果线程请求的栈深度超过Java虚拟机允许的深度将抛出StackOverFlow;对于可以动态增长的Java虚拟机,如果申请时没有足够内存将抛出OutOfMemoryError异常本地方法栈与虚拟机栈的区别是本地方法栈为执行Javanative方法服务与虚拟机栈一样,本地方 阅读全文