仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1213|回复: 19
打印 上一主题 下一主题

[学习教程] 了解下JAVA的java的扫除:扫尾和渣滓搜集

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:36:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
因为能用到多少功能就用多少,不能用就不用!总的来说:要简单要性能好,可以不用框架。你说java复杂,就是因为你把java(j2ee)与这些框架混在了一起。
程序员都晓得“初始化”的主要性,但一般健忘扫除的主要性。究竟,谁必要来扫除一个int呢?可是关于库来讲,用完后复杂地“开释”一个对象并不是老是平安的。固然,Java可用渣滓搜集器接纳由不再利用的对象占有的内存。如今思索一种十分特别且未几见的情形。假定我们的对象分派了一个“特别”内存地区,没有利用new。渣滓搜集器只晓得开释那些由new分派的内存,以是不晓得怎样开释对象的“特别”内存。为办理这个成绩,Java供应了一个名为finalize()的办法,可为我们的类界说它。在幻想情形下,它的事情道理应当是如许的:一旦渣滓搜集器筹办好开释对象占用的存储空间,它起首挪用finalize(),并且只要鄙人一次渣滓搜集过程当中,才会真正接纳对象的内存。以是假如利用finalize(),就能够在渣滓搜集时代举行一些主要的扫除或打扫事情。
但也是一个潜伏的编程圈套,由于有些程序员(出格是在C++开辟背景的)刚入手下手大概会毛病以为它就是在C++中为“损坏器”(Destructor)利用的finalize()——损坏(扫除)一个对象的时分,一定会挪用这个函数。但在这里有需要辨别一下C++和Java的区分,由于C++的对象一定会被扫除(排开编程毛病的要素),而Java对象并不是一定能作为渣滓被“搜集”往。大概换句话说:
渣滓搜集其实不即是“损坏”!
若能时候切记这一点,踩到圈套的大概性就会年夜年夜削减。它意味着在我们不再必要一个对象之前,有些举动是必需接纳的,并且必需由本人来接纳这些举动。Java并未供应“损坏器”大概相似的观点,以是必需创立一个原始的办法,用它来举行这类扫除。比方,假定在对象创立过程当中,它会将本人刻画到屏幕上。假如不从屏幕明白删除它的图象,那末它大概永久都不会被扫除。若在finalize()里置进某种删除机制,那末假定对象被看成渣滓收失落了,图象起首会将本身从屏幕上移往。但如果未被收失落,图象就会保存上去。以是要记着的第二个重点是:
我们的对象大概不会看成渣滓被收失落!
偶然大概发明一个对象的存储空间永久都不会开释,由于本人的程序永久都靠近于用光空间的临界点。若程序实行停止,并且渣滓搜集器一向都没有开释我们创立的任何对象的存储空间,则跟着程序的加入,那些资本会前往给操纵体系。这是一件功德情,由于渣滓搜集自己也要损耗一些开支。如永久都不必它,那末永久也不必付出这部分隔销。

市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。
因胸联盟 该用户已被删除
沙发
发表于 2015-1-21 10:57:45 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
若相依 该用户已被删除
板凳
发表于 2015-1-30 16:10:48 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
海妖 该用户已被删除
地板
发表于 2015-1-30 16:10:48 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
深爱那片海 该用户已被删除
5#
发表于 2015-2-6 13:59:50 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
变相怪杰 该用户已被删除
6#
发表于 2015-2-16 09:36:42 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
谁可相欹 该用户已被删除
7#
发表于 2015-3-5 03:31:39 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
精灵巫婆 该用户已被删除
8#
发表于 2015-3-11 23:05:41 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
小魔女 该用户已被删除
9#
发表于 2015-3-19 15:53:15 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
再现理想 该用户已被删除
10#
发表于 2015-3-23 10:16:32 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
乐观 该用户已被删除
11#
发表于 2015-4-1 18:30:48 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
冷月葬花魂 该用户已被删除
12#
发表于 2015-4-5 20:42:03 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
第二个灵魂 该用户已被删除
13#
发表于 2015-4-6 23:28:46 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
简单生活 该用户已被删除
14#
发表于 2015-4-9 08:20:15 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
爱飞 该用户已被删除
15#
发表于 2015-4-24 07:17:34 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
若天明 该用户已被删除
16#
发表于 2015-5-2 09:38:29 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
小妖女 该用户已被删除
17#
发表于 2015-5-4 18:47:23 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
只想知道 该用户已被删除
18#
发表于 2015-5-5 03:59:36 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
蒙在股里 该用户已被删除
19#
发表于 2015-6-13 04:05:58 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
灵魂腐蚀 该用户已被删除
20#
发表于 2015-6-14 20:59:42 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-8 11:51

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表