![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
内存优化
花落归尘醉
这个作者很懒,什么都没留下…
展开
-
如何不使用第三个变量进行数据交换?
对于这个问题又两种方法第一种通过按位异或实现int a=7,b=5;a=a^b;b=a^b;a=a^b;最终a=7,b=5,看起来虽然奇怪,但是的确能做到交换的效果,具体过程转换成2进制来看:a=0111;b=0101;a=0111^0101; / / =0010 ,一样的置0,不一样的置1b=0010^0101; //=0111=7;a=0010^01原创 2014-04-01 16:32:02 · 912 阅读 · 0 评论 -
求N!
刚开始看到这个题目觉得很简单,一个循环搞定。但是仔细考虑一下,如果N是一个特别大的数呢,它可能是100,1000.....这个时候基本类型数据已经装不下它了,这是时候就需要写一种数据结构来满足大数据的计算,如下代码: /** * 定义大数据的乘法 * @param str 乘数(大数据) * @param n 被乘数 * @return */ publi原创 2014-04-01 13:44:45 · 1115 阅读 · 0 评论 -
ArrayList中ensureCapacity的使用与优化
对于ArrayLis中有一个方法ensureCapacity(int n),这个方法可以对ArrayList低层的数组进行扩容,显示的调用这个函数,如果参数大于低层数组长度的1.5倍,那么这个数组的容量就会被扩容到这个参数值,如果参数小于低层数组长度的1.5倍,那么这个容量就会被扩容到低层数组长度的1.5倍。说这么多,总而言之,记住这个函数可以对低层数组扩容就行了,在适当的时机,好好利用这个函数,原创 2014-04-01 19:48:11 · 8484 阅读 · 3 评论 -
String驻留池
在java面试题中会经常碰到类似与这样的题目:String str=new String("abc");这句代码创建了几个对象?想要搞明白这个问题,不得不解释一个概念,也就是字符串常量池,也称为驻留池。对于以下代码:Sring s1="abc";String s2="abc";总共创建了几个对象?答案是一个,这两个字符串,我们在使用的时候,它们在内容上没有任何区别,更没有理由原创 2014-03-26 18:12:25 · 1183 阅读 · 0 评论