|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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#不一定都能做到。毕竟是抄袭吗。 |
|