- 浏览: 446306 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (369)
- javascript html (20)
- java (31)
- jquery (15)
- jcrop (0)
- JEECG (1)
- ajax (3)
- 反射 (3)
- VI (1)
- mysql (48)
- easyui (1)
- svn (2)
- MD5 加密 (1)
- spring (14)
- ORACLE (8)
- 经验总结 (1)
- TCP/IP协议 (1)
- ICMP协议 (1)
- eclipse (1)
- Reflect (1)
- linux (21)
- android (5)
- excel 操作 (1)
- java tree (1)
- html (1)
- plupload (1)
- mongodb (9)
- aes (1)
- python (1)
- java relax (1)
- highcharts (2)
- json (2)
- java 多线程 (30)
- maven (2)
- 设计模式 (1)
- jsp+js (2)
- 面向对象 (1)
- jvm (16)
- 缓存 (1)
- proxy (1)
- 聊侃 (1)
- 面经 (1)
- java 字节 (1)
- java 类加载器 (2)
- java 基础 (2)
- java 语法糖 (1)
- java 位运算 (1)
- 排序 (3)
- java 服务器性能优化 (19)
- 网络编程 (2)
- jvm 参数设置 (0)
- jersey (1)
- webservice (2)
- nginx+多tomcat 集成 (5)
- nginx (16)
- squid (3)
- memcached (5)
- 正则表达式 (1)
- 常用免费接口 (1)
- jpa (1)
- win7 (1)
- java处理大文件 (1)
- js正则表达式 (1)
- tomcat (1)
- java 敏感字 (1)
- 系统架构优化 (4)
- 学习 (1)
- 本地测试QQ微博第三方登陆 (1)
- java 错误 (1)
- 微信支付 (1)
- https (1)
- httpclient (1)
- awk (2)
- loadrunner (1)
- sql server 2008 (3)
- git (4)
- sql server2008 (1)
- solr (2)
- centos (1)
- 数据存储架构 (3)
- log4j (1)
- weboffice (1)
- 并发编程 (1)
- postgreSQL (0)
- ssl (1)
- openssl (1)
- activeMQ (2)
- IDEA (1)
- shell (1)
- ansible (4)
- docker (2)
- grafana (1)
- jmeter (1)
- TLS (1)
- 将博客搬至CSDN (1)
最新评论
-
dida1990:
啊喔,过去了这么久,不过还是评一个。谁说uuid的hashCo ...
高并发生成订单号(二) -
annan211:
yclovesun 写道使用了uuid,为什么还要machin ...
高并发生成订单号(二) -
yclovesun:
使用了uuid,为什么还要machineId?uuid已经可以 ...
高并发生成订单号(二) -
u013280917:
太深奥,看不懂
mysql优化特定类型的查询
String 是Java中相当强大的类,虽不属于基本类型,但是非常重要。
关于Stirng 其他的不做过多介绍,这里简要说明几个小点。
package String; public class StringDemo { public static void main(String[] args) { String str1 = "abc"; String str2 = "abc"; String str3 = new String("abc"); System.out.println(str1==str2); //true System.out.println(str1==str3); //false System.out.println(str1==str3.intern()); //true } }
以上代码 表明,即使str3 新开辟了空间,其仍指向 和str1一样的实体,也就是说 str3创建新对象的时候,仍然使用的是 常量池当中的值。 intern 方法 作用是 首先进入常量池查看有无该常量,没有的话就创建并且把值放入常量池。
String 类当中 存在一个以空间换时间的方法 substring(index,index2)
使用不当会造成 内存溢出
代码 如下
package String; import java.util.ArrayList; import java.util.List; /** * 其中导致内存溢出 是由其源码决定的,源码使用了 牺牲空间换取时间的做法 * * public String substring(int beginIndex, int endIndex) { if (beginIndex < 0) { throw new StringIndexOutOfBoundsException(beginIndex); } if (endIndex > count) { throw new StringIndexOutOfBoundsException(endIndex); } if (beginIndex > endIndex) { throw new StringIndexOutOfBoundsException(endIndex - beginIndex); } return ((beginIndex == 0) && (endIndex == count)) ? this : new String(offset + beginIndex, endIndex - beginIndex, value); } 这段源码指出 ,即使只截取一小段,也会把原始字符串全部返回,肯定会撑爆。 * @author Administrator * */ public class HugeStr { public static void main(String[] args) { List<String> hander = new ArrayList<String>(); for(int i=0;i<1000;i++){ // HugeStrD h = new HugeStrD();// 这个方法会导致 内存溢出 InvohandleHugeStrD h = new InvohandleHugeStrD();//这个不会内存溢出 hander.add(h.getSubString(1, 5)); } } static class HugeStrD{ private String str = new String (new char[10000000]);//很长的String public String getSubString(int begin,int end){ return str.substring(begin, end); } } static class InvohandleHugeStrD{ private String str = new String (new char[10000000]);//很长的String public String getSubString(int begin,int end){ return new String(str.substring(begin, end)); } } }
发表评论
-
Java高效读取大文件
2015-01-22 19:45 5851、概述 本教程将演示如何用Java高效地读取大文件。 ... -
winSCP 服务器 在线联网
2015-01-09 18:05 6641 新建 bb.bat 文件 里面是你的服务器 列表 ... -
JDK 命令行工具
2014-10-22 14:47 765JDK 命令行工具 实现在tools.jar文件 ... -
windows 监控工具
2014-10-22 11:23 5041 windows 监控工具 运行-perfmon ... -
Amino 框架简介
2014-10-17 11:30 1399对数据加锁是实现多线程的一种策略,但是加锁无疑会增加系 ... -
Java 重入锁(ReentrantLock)和内部锁(synchronized)
2014-10-16 15:44 1556ReentrantLock 和 synchronize的 ... -
Java 锁分离
2014-10-16 15:35 1303读写锁思想的延伸就是锁分离。读写锁根据读写操作功能上 ... -
java 高性能运算-- 双端队列
2014-10-15 16:04 981JDK 1.6中 提供了一种双端队列,简称 Dequ ... -
java 高性能运算--并发队列
2014-10-15 15:33 2452JDK 提供了两套并发队列的实现,一个是以 Conc ... -
java 高性能运算--量化线程池的大小
2014-10-15 11:42 1291线程池合理的长度取决于将要提交的任务类型和所部署系统的 ... -
java 高性能运算--展开循环
2014-10-14 15:43 1186可以优化的地方实在是太多了,只要你愿意去想,去尝试。代码 ... -
java 高性能运算--switch 替代方案
2014-10-14 15:24 1600Java 原生的语法糖中存在很多种 易于阅读,效率略低的 ... -
java 高性能运算--位运算代替乘除法
2014-10-14 15:03 3884位运算 是公认的 高效运算,在高频计算中,可以使用位运算 ... -
Java 中的弱引用
2014-10-14 14:31 520简单一点说,我们建议使用 WeakHashMap 在系 ... -
Stirng 字符串 原生方法 charAt 与 startWith
2014-10-11 11:23 705charAt(int index) 与 startWit ... -
比 StringTokenizer 更加优化的字符串分割
2014-10-11 11:05 1060上篇文中说到,StringTokenizer 是相对比较 ... -
Java 分割字符串 StringTokenizer
2014-10-10 19:15 652字符分割 jdk建议使用 split或者 正则表达式,但是追求 ... -
java 负载均衡
2014-10-09 19:10 910负载均衡的概念比较广。 具体可参见 http ...
相关推荐
如: 当然我们一般都是按照提示来把framework版本设置2.0来解决。为什么可以这么解决了,还有没有其它的解决方法了。 先让我们看看QueryString的源代码吧: 代码如下: public NameValueCollection QueryString { get...
abstract 说明一个类为抽象类,抽象类是指不能直接实例化对象的类。 final 说明一个类为最终类,即改类不能再有子类。 public 说明类为公共类,该类可以被当前包以外的类和对象使用。 private 说明类为...
以下类比可以帮助说明这一点。 小说家和剧本作家很少从头开始设计剧情。他们总是沿袭一些业已存在的模式,像“悲剧性英雄”模式(《麦克白》、《哈姆雷特》 等)或“浪漫小说”模式(存在着无数浪漫小说)。同样地,面向...
认识到一点很重要,即必须在任何实际的输出被发送之前调用 header() 函数(在 PHP 4 以及更高的版本中,您可以使用输出缓存来解决此问题): <html> <?php // 结果出错 // 在调用 header() 之前已存在输出...
string 类的实例表示 Unicode 字符串。尽管 string 是引用类型,但相等运算符(== 和 !=)被定义为比较 string 对象(而不是引用)的“值”(7.9.7 字符串相等运算符)。这使得对字符串相等性的测试更为直观。字符串...
十天学会系列教程会清晰的写出各种方法,让大家能少一点坎坷。在ASP里面,大家几乎都是使用VB,数据库嘛,也无非是SQL和ACCESS。在ASP.NET里面,数据库还是这两个但是常用的语言多了一个C#,也是微软推荐的语言,为...
第四章 数 据 类 型 .28 4.1 值 类 型 .28 4.2 引 用 类 型 .33 4.3 装箱和拆箱 .39 4.4 小 结 .42 第五章 变量和常量 .44 5.1 变 量 .44 5.2 常 量 .46 5.3 小 结 .47 第六章 类 型 转 换 .48 ...
对于已经掌握了VC的朋友:这种程度的开发者应该加深自己对系统原理,技术要点的认识。需要选择一些对原理讲解的比较透彻的书籍,这样一来才会对新技术有更多的了解,最好书中对技术的应用有一定的阐述。尽量选择...
我对J2EE和.NET的一点理解 难分难舍的DSO(一) InternalsVisibleToAttribute,友元程序集访问属性 Essential .NET 读书笔记 [第一部分] NET FrameWork的Collections支持 .NET的反射在软件设计上的应用 关于跨程序集...
但细心的用户会发现,在带宽一定的情况下,并不是线程越多,速度越快,而是在某一点达到峰值。爬虫作为特殊的下载工具,不具备多线程的能力何以有效率可谈?爬虫在信息时代的目的,难道不是快速获取信息吗?所以,...
如果你看过了 C#中的委托和事件 一文,我想你对委托和事件已经有了一个基本的认识。但那些远不是委托和事件的全部内容,还有很多的地方没有涉及。本文将讨论委托和事件一些更为细节的问题,包括一些大家常问到的问题...
这些都预示着我们进入了一个新的互联网阶段web 2.0,它是相对web 1.0的新的一类互联网应用的总称,是一次从核心内容到外部应用的革命[10]。这个阶段发展迅速,互联网应用趋于多样化,其中变化最大的是由web 1.0网站...
亚历山大看到了这一点,他知道结构不能与要解决的问题分离,因此,在寻找和描述设计质量一致性的探求中,亚历山大认识到,必须观察为了解决同样问题而设计的不同结构。 亚历山大发现,通过这样的方式——观察解决...
Dim Y As String Y = MsgBox(" 从窗口顶部落下多个圆球表示冰雹,用户用鼠标指引箭头表示的枪瞄准其中一个圆球,单击鼠标射击。如果打中圆球加分,没打中减分.若累计有五个圆球一直未被击中落到地面(用水平线表示...