java编程注意内存泄漏

Java编程节省内存的方法

Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。下面是为大家整理的Java编程节省内存的方法,欢迎参考!

Java编程节省内存的方法

1、别用new Boolean。

在很多场景中Boolean类型是必须的,比如JDBC中boolean类型的set与get都是通过Boolean封装传递的,大部分ORM也是用Boolean来封装 boolean类型的,比如:

以下是引用片段:

ps.setBoolean("isClosed",new Boolean(true));

ps.setBoolean("isClosed",new Boolean(isClosed));

ps.setBoolean("isClosed",new Boolean(i==3));

通常这些系统中构造的Boolean实例的个数是相当多的,所以系统中充满了大量Boolean实例小对象,这是相当消耗内存的。Boolean类实际上只要两个实例就够了,一个true的实例,一个false的实例。

Boolean类提供两了个静态变量:

以下是引用片段:

public static final Boolean TRUE = new Boolean(true);

public static final Boolean FALSE = new Boolean(false);

因为valueOf的内部实现是:return (b TRUE : FALSE);

所以可以节省大量内存。相信如果Java规范直接把Boolean的构造函数规定成private,就再也不会出现这种情况了。

2、别用new Integer。

和Boolean类似,java开发中使用Integer封装int的场合也非常 多,并且通常用int表示的'数值通常都非常小。SUN SDK中对Integer的实例化进行了优化,Integer类缓存了-128到127这256个状态的Integer,如果使用 Integer.valueOf(int i),传入的int范围正好在此内,就返回静态实例。这样如果我们使用Integer.valueOf代替new Integer的话也将大大降低内存的占用。如果您的系统要在不同的SDK(比如IBM SDK)中使用的话,那么可以自己做了工具类封装一下,比如IntegerUtils.valueOf,这样就可以在任何SDK中都可以使用这种特性。

3、用StringBuffer代替字符串相加。

这个我就不多讲了,因为已经被 人讲过N次了。我只想将一个不是笑话的笑话,我在看国内某“着名”java开发的WEB系统的源码中,竟然发现其中大量的使用字符串相加,一个拼装SQL 语句的方法中竟然最多构造了将近100个string实例。无语中!

4、过滥使用哈希表

有一定开发经验的开发人员经常会使用hash表(hash 表在JDK中的一个实现就是HashMap)来缓存一些数据,从而提高系统的运行速度。比如使用HashMap缓存一些物料信息、人员信息等基础资料,这 在提高系统速度的同时也加大了系统的内存占用,特别是当缓存的资料比较多的时候。其实我们可以使用操作系统中的缓存的概念来解决这个问题,也就是给被缓存的分配一个一定大小的缓存容器,按照一定的算法淘汰不需要继续缓存的对象,这样一方面会因为进行了对象缓存而提高了系统的运行效率,同时由于缓存容器不是无限制扩大,从而也减少了系统的内存占用。现在有很多开源的缓存实现项目,比如ehcache、oscache等,这些项目都实现了FIFO、MRU等常见的缓存算法。

5、避免过深的类层次结构和过深的方法调用。

因为这两者都是非常占用内存的(特别是方法调用更是堆栈空间的消耗大户)。

6、变量只有在用到它的时候才定义和实例化。

7、尽量避免使用static变量,类内私有常量可以用final来代替。

8、对频繁使用的对象采用对象池技术

9、保证每个IO操作,connection及时关闭

Java编程入门必备知识

1Java编程出现的背景

1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言。希望用于控制嵌入在有线电视交换盒、PDA等的微处理器,但却没有取得成功,后来由于互联网的发展,而由于Oak语言本身的具有安全、可移植,又可跨平台,可以解决Internet 上的大型应用问题,所以在1994年将Oak语言更名为Java语言,并且于1995年正式推出,使Java成为网上最流行的编程语言。

2Java的特点

平台无关性:一个应用程序可以运行不同的操作系统平台,主要采用的是虚拟机技术支持平台无关性。

简单:Java 设计人员删除了C++ 中许多复杂的功能,如指针操纵和运算符重载等。

面向对象:在 Java 中任何东西都是对象。因此,重点集中在数据、应用程序中操作对象的方法以及过程上。

分布式:Java 可用于开发能够在多个平台、操作系统和*形用户界面之间移植的应用程序。

健壮性:Java 在编译和解释时都会检查代码。

多线程:Java 程序使用称为“多线程”的进程同时处理多项任务。

安全性:Java 提供了用于执行程序的受控环境,以及多层次的安全控制。

3Java的三种运行平台

J2SE(Java 2 Platform Stand Edition),Java标准版或Java标准平台

J2EE(Java 2 Platform Enterprise Edition),Java企业版或Java企业平台 J2ME(Java 2 Platform Micro Edition),Java微型版或Java小型平台

4 Java的三种核心机制

①.Java 虚拟机(Java Virtual Machine):实现Java的跨平台

③.代码安全性检测(Code Security)

②.垃圾收集机制(Garbage collection):系统自动执行,不能强制执行

5 什么是虚拟机?

虚拟机:在一台计算机上由软件或硬件模拟的计算

6 Java实现跨平台的原理*

7 什么是JDK?

JDK是sun公司推出的Java开发工具包,包括Java类库、Java编译器、Java解释器、Java运行时环境和Java命令行工具。JDK提供Java程序的编译和运行命令,但没提供程序编辑环境。Java的一些开发工具提供程序的开发环境,如:Eclipse、MyEclipse和Jbbilder等,它们都是建立在JDK的运行环境之上的。

8 什么是JRE

是Java Runtime Environment (动态)简称,也就是Java的运行时环境,它提供三个主要功能:

①.加载代码:由class loader 完成;

②.校验代码:由bytecode verifier 完成;

③.执行代码:由 runtime interpreter完成

9 什么是Java编译器?什么是Java解释器?

Java编译器:针对Java虚拟机产生class文件,因此是***于平台的。 Java解释器:负责将Java虚拟机的代码在特定的平台上运行。

10 JDK的安装与设置

①.*JDK

②.安装JDK

③.设置环境变量,设置系统变量ClassPath,输入值为C:Program

FilesJavajdk1.6.0_18lib。

11 编译和运行环境

①.使用Javac.exe命令编译Java源程序,例如:Javac Hello.Java,编译后会产生一个字节码文件Hello.class

②.使用Java.exe命令运行字节码文件,例如:Java Hello。

java编程注意内存泄漏

转载请注明出处记得学习 » java编程注意内存泄漏

学习

怎么才能让老板重视你

阅读(88)

本文为您介绍老板重视你的表现,内容包括怎么才能让老板重视你,怎么才能得到老板重视,不被老板重视怎么办。让老板重视你的方法职场竞争惨烈,如何稳操胜券,让你的岗位无人可以取代?如果你能避免以下自招的蠢事,你就能在激烈的竞争中,做个让老

学习

用节省造句子

阅读(139)

本文为您介绍用节省造句,内容包括用节省造句子,用节省造句一年级,用节省造句20字以上。用节省造句造句,动词词语,是指用词语组织句子。今亦以指初等学校语文练习内容之一。以下是帮大家整理的用节省造句,仅供参考,大家一起来看看!1、胆小鬼往

学习

重视人才的名言名句

阅读(112)

本文为您介绍古代重视人才的名句,内容包括重视人才的名言名句,中国古代重视人才的句子,重视人才古代名句。古代重视人才的名句在平平淡淡的日常中,大家都接触过比较经典的句子吧,根据结构的不同句子可以分为单句和复句。那么什么样的.句子

学习

节省造句

阅读(96)

本文为您介绍节省的造句,内容包括节省造句,节省怎么造句简单,节省造句一年级简单的。节省的解释及造句节省就是减少消耗的意思。下面是收集的节省的解释及造句,希望能够帮助到大家。节省拼音【注音】:jiesheng节省解释【意思】:使可能被耗

学习

领导不重视你怎么办面试题

阅读(83)

本文为您介绍面试题领导不重视我该怎么做,内容包括领导不重视你怎么办面试题,面试领导不重视怎么处理,面试题领导不重视。面试题:领导不重视怎么办漫长的学习生涯中,大家对知识点应该都不陌生吧?知识点就是一些常考的内容,或者考试经常出题

学习

不重视值班工作检讨书

阅读(82)

本文为您介绍值班脱岗检讨书1500字,内容包括不重视值班工作检讨书,带班领导值班脱岗检讨书,县领导值班带班检讨书。带班领导不重视值班检讨书在学习、工作或生活中出现了失误后,就需要写一份自我检讨书好好进行自我检讨,在写检讨书时要注

学习

描写山川的优美句子

阅读(80)

本文为您介绍祖国的山川优美句子,内容包括描写山川的优美句子,描写春天山川的优美句子,赞美山川河流的优美句子。祖国的山川优美句子(精选140句)在学习、工作、生活中,说到句子,大家肯定都不陌生吧,不同的句子在语言环境中的意义和作用大有不

学习

节省煤气的小妙招

阅读(86)

本文为您介绍节省煤气的5个小妙招,内容包括节省煤气的小妙招,怎样节省煤气,煤气怎么用可以节省点。节省煤气的5个小妙招煤气是我们日常生活中不可缺的燃料,几乎家家户户每天都会使用煤气来烹调食物,有些家庭也在用煤气热水器与煤气衣物烘

学习

生命安全作文

阅读(123)

本文为您介绍珍惜生命重视安全作文开头,内容包括生命安全作文,珍惜生命从安全开始简单作文,珍爱生命安全出行作文。珍惜生命重视安全作文无论是在学校还是在社会中,大家一定都接触过作文吧,作文一定要做到主题集中,围绕同一主题作深入阐述,

学习

客户投诉类型及处理方法

阅读(1140)

本文为您介绍要重视客户投诉为什么,内容包括客户投诉类型及处理方法,处置客户投诉的常用沟通技巧,采用什么措施来解决客户投诉。要重视客户投诉的原因若想客户长期购买企业的产品实现共赢,销售人员就必须事先搞清楚客户投诉的真正原因,并

学习

节省大量时间的技巧

阅读(79)

本文为您介绍节省时间的小技巧,内容包括节省大量时间的技巧,节省时间的妙招,节省时间。节省时间的小技巧对于总是感觉时间不够用的人来说,节约时间是一件非常有意义的事情;对于现在快节奏的生活来说,节约时间就意味着比别人获取更多利益。

学习

形容重视人才的诗句优美

阅读(120)

本文为您介绍形容重视人才的诗句,内容包括形容重视人才的诗句优美,培育人才的精辟诗句,重视人才的诗句。形容重视人才的诗句在日常学习、工作抑或是生活中,大家都听说过或者使用过一些比较经典的诗句吧,诗句一般饱含丰富的想象、联想和幻

学习

加拿大高中留学一年费用多少

阅读(73)

本文为您介绍去加拿大留学费用大约是多少,内容包括加拿大高中留学一年费用多少,加拿大留学费用一年多少人民币,加拿大留学硕士费用一年多少钱。在加拿大留学期间如何节省费用加拿大留学对于很多人来说费用还是比较昂贵的,掌握好一定的省

学习

重视安全从我做起

阅读(72)

本文为您介绍重视安全从我做起作文,内容包括重视安全从我做起,安全从我做起作文400字,重视安全珍爱生命作文。重视安全从我做起作文在学习、工作或生活中,大家都接触过作文吧,写作文可以锻炼我们的独处习惯,让自己的心静下来,思考自己未来的

学习

用节省造句子

阅读(139)

本文为您介绍用节省造句,内容包括用节省造句子,用节省造句一年级,用节省造句20字以上。用节省造句造句,动词词语,是指用词语组织句子。今亦以指初等学校语文练习内容之一。以下是帮大家整理的用节省造句,仅供参考,大家一起来看看!1、胆小鬼往

学习

节省造句

阅读(96)

本文为您介绍节省的造句,内容包括节省造句,节省怎么造句简单,节省造句一年级简单的。节省的解释及造句节省就是减少消耗的意思。下面是收集的节省的解释及造句,希望能够帮助到大家。节省拼音【注音】:jiesheng节省解释【意思】:使可能被耗

学习

苹果手机内存满了怎么彻底清理

阅读(103)

本文为您介绍手机内存满了的清理方法,内容包括苹果手机内存满了怎么彻底清理,手机32g内存都满了在什么地方清理,手机内存满了怎么清理的方法。手机内存满了的清理方法手机,全称为移动电话或无线电话,通常称为手机,原本只是一种通讯工具,早期

学习

平板内存应该多少比较合适

阅读(96)

本文为您介绍平板双核与八核的区别,内容包括平板内存应该多少比较合适,平板电脑的双核和八核有什么区别,平板6+128跟8+256的区别。平板双核与八核的区别从国内因素看,我国平板显示产业已进入高速发展阶段,但是关键材料和设备在很大程度上

学习

安卓手机内存怎么清理干净

阅读(74)

本文为您介绍安卓手机内存怎么清理,内容包括安卓手机内存怎么清理干净,安卓手机内存怎么清理50%,安卓手机内存怎么清理空间。安卓手机内存怎么清理安卓手机使用久了,会变得很卡,可能会影响手机的使用。那么安卓手机内存怎么清理呢?下面就让

学习

如何节省手机电量

阅读(76)

本文为您介绍如何节省手机电量,内容包括如何节省手机电量华为,如何节省手机电量苹果,苹果手机怎么设置节省电量。如何节省手机电量现在已进入智能手机时代,在我们日常生活中手机是我们休闲、娱乐、办公的重要工具,因为我们手机的使用频率

学习

内存条组双通道和单通道

阅读(101)

本文为您介绍内存条组双通道和单通道,内容包括内存条的单通道与双通道,内存条双通道比单通道好,内存条不一致可以组成双通道吗。内存条的单通道与双通道导语:关于内存双通道是否有提升的问题,是DIY电脑新手一直比较关注的热门话题,由于总是

学习

seo优化关键词的选择

阅读(124)

本文为您介绍seo优化关键词的选择,内容包括SEO优化关键词匹配方式,抖音seo关键词排名软件,seo优化关键词怎么分类。SEO优化关键词匹配方式SEO要求关键词要广泛、要多!网站内部建设、网站内部优化以及网站外部推广,都需要设置关键词。有关