- 博客(9)
- 资源 (5)
- 收藏
- 关注
原创 Java 虚拟机 gc算法总结
一、垃圾收集基本的算法1. 引用计数(Reference Counting)为每一个对象添加一个计数器,计数器记录了对该对象的活跃引用的数量。如果计数器为0,则说明这个对象没有被任何变量所引用,即应该进行垃圾收集。收集过程如下:1)减少被收集对象所引用的对象的计数器的值2)将其放入延时收集队列之中引用计数的方法需要编译器的配合。编译器需要为此对象生成额外的代码。如赋值函
2013-12-25 17:15:52 2608
原创 java 本地文件复制的方法
使用java代码复制一个本地文件1)直接使用文件字节流的方式读取: private static void writeFile1(String name) throws Exception { File file = new File(name); if (file.isFile()) { OutputStream fos
2013-12-17 10:59:12 1572
原创 java 计算时间差
java计算时间差的标准用法,记录下来方便以后查找SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");java.util.Date begin = dfs.parse("2004-01-02 11:30:24");java.util.Date end = dfs.parse("2004-03-26 13:31
2013-12-16 19:51:43 1489
原创 java 如何将byte中的有效长度转换为String
一般的我们使用byte接收读取到的数据,若数据没有达到byte定义的大小时,我们直接将byte转换为String则会出现乱码的情况,在这种情况下应该基于read的返回值来转换byte,否则将产生乱码的情况,下面是一个简单的示例:package com.javaio.myinputstream;public class MyConsole { public static void main
2013-12-16 18:58:10 9097 1
原创 java 不可变类 缓存实例
不可变类:是指当创建了这个类的实例后,就不允许修改它的属性值。在JDK的基本类库中,所有基本类型的包装类,如Integer和Long类,都是不可变类,java.lang.String也是不可变类。如何创建一个不可变类?1. 所有成员都是private2. 不提供对成员的改变方法,例如:setXXXX3. 确保所有的方法不会被重载。手段有两种:使用final Class(强不
2013-12-11 16:10:34 2919
原创 java 约瑟夫问题
约瑟夫问题:假设有n个人手拉手围成一圈,顺时针开始报号,报到m的人出圈,然后继续往后报,报到m的人出圈,依次把所有报到m的人都踢出圈,问先后被踢出圈的那些人原来是圈内的几号,以及最后剩下的是几号?算法思路:1)用循环链表,报到m的节点从链表中删除,直到剩下最后一个节点,2)用一个简单数组+模拟成圈实现(下面的实现是基于第2种思路):package com.a
2013-12-11 14:16:26 871
原创 java 判断一个数是否为素数(质素)
判断k是否为素数,最基本的方法就是判断2—k的平方根范围里面是否有一个数能被k整除,即k % i == 0是否成立,若成立则不是素数,否则就是素数。下面是基于java的实现。package com.algorithm.prime;public class BasicPrime { public static void main(String argv[]) { for(int
2013-12-11 10:44:42 16629 1
原创 java 深拷贝 浅拷贝
Java中常用的拷贝操作有三个,operator=、拷贝构造函数和clone()方法。由于Java不支持运算符重载,我们无法在自定义类型中定义operator=,所以使用operator=获取的对象都是浅拷贝,若要实现深拷贝那只能借助于拷贝构造函数和clone方法。这里我们先看一个基本的原则关系图,掌握了这些基本原则,我们就可以比较好的掌握深拷贝和浅拷贝的概念了。下面是一个
2013-12-11 10:10:57 825
原创 java hashcode和equal总结
hashCode和equal两个方法都是Object基类定义实现的方法。hashCode即哈希码,就是获取对象对应的hash值的函数;equal即相等,就是判断两个对象是否相等的函数。为什么Object对象会有这两个方法呢,equal方法好理解,用来比较两个对象是否相等,但是hashCode有什么用呢?先看下面一段代码,Person类没有重新这两个方法,继承了Object类的方法,我们来看看O
2013-12-09 20:53:00 7155 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人