仓酷云

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

[学习教程] JAVA网页设计Java代码优化--尽量地利用stack(栈...

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

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

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

x
你希望java的IDE整合。这个是没有必要的,重要的是你理解java有多深以及怎么组织你的代码,即使没有IDE,代码照样能够编译运行的。变量|优化Java程序包括了大批的对象,我们必要懂得它们是从那里被会见的,变量存储于那边对程序的功能有明显的影响--特别是某些必要被频仍会见的变量。
我们写一个Java类,在其外部办法中界说的部分变量或对象是存储在stack(仓库)中的,且JVM是一种stack-based的,因而会见和利用stack中的数据时功能最好。而Java类的instance变量(这个类的field)和static变量是在constantpool(常量池)中存储和失掉会见的。constantpool中保留了一切的标记援用(symbolicreferences),指向一切型别(types)、值域(field),和每一个型别所利用的一切函数(mothods)。会见instance和static变量时,因为它们寄存于constantpool中,以是JVM必要利用更多更耗时的操纵码(剖析程序天生的bytecode能够看出来)来会见它们。
上面给出一段代码示例,对照后申明怎样尽量地利用stack变量:
packagetest;
publicclassStackVars{
privateintx;//instance变量
privatestaticintstaticX;//static变量
publicvoidstackAccess(intval){//会见和操纵stack变量j
intj=0;
for(inti=0;i<val;i++){
j+=1;
}
}
publicvoidinstanceAccess(intval){//会见和操纵instance变量x
for(inti=0;i<val;i++){
x+=1;
}
}
publicvoidstaticAccess(intval){//会见和操纵static变量staticX
for(inti=0;i<val;i++){
staticX+=1;
}
}
}
经测试,发明运转instanceAccess()和staticAccess()办法的工夫约莫不异,但却比运转stackAccess()办法慢了2~3倍。因而我们对instanceAccess()、staticAccess()两个办法的代码作以下调剂,以失掉更快的功能:
publicvoidinstanceAccess(intval){//会见和操纵instance变量x
inttempX=x;
for(inti=0;i<val;i++){
tempX+=1;
}
x=tempX;
}
publicvoidstaticAccess(intval){//会见和操纵static变量staticX
inttempStaticX=staticX;
for(inti=0;i<val;i++){
tempStaticX+=1;
}
staticX=tempStaticX;
}
改良的地方就是将instance和static变量放到轮回以外,而用一个stack变量来完成屡次部分运算,最初再将这个stack变量的值传回instance或static变量,从而进步了代码的功能。
接待给出批评。

不得不提一下的是:.net是看到java红,而开发出来的工具。
深爱那片海 该用户已被删除
沙发
发表于 2015-1-21 16:48:15 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
愤怒的大鸟 该用户已被删除
板凳
发表于 2015-1-25 23:13:03 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
简单生活 该用户已被删除
地板
发表于 2015-1-29 13:58:44 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
小妖女 该用户已被删除
5#
发表于 2015-2-5 20:48:49 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
灵魂腐蚀 该用户已被删除
6#
发表于 2015-2-6 01:53:52 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
admin 该用户已被删除
7#
发表于 2015-2-6 15:42:40 | 只看该作者
是一种为 Internet发展的计算机语言
活着的死人 该用户已被删除
8#
发表于 2015-2-11 00:07:19 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
再见西城 该用户已被删除
9#
发表于 2015-2-24 03:58:27 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
老尸 该用户已被删除
10#
发表于 2015-3-6 20:23:26 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
莫相离 该用户已被删除
11#
发表于 2015-3-13 00:07:22 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
蒙在股里 该用户已被删除
12#
发表于 2015-3-16 23:26:04 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
精灵巫婆 该用户已被删除
13#
发表于 2015-3-22 23:10:44 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
透明 该用户已被删除
14#
发表于 2015-3-27 13:08:35 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
因胸联盟 该用户已被删除
15#
发表于 2015-3-29 12:43:12 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
小女巫 该用户已被删除
16#
发表于 2015-4-1 00:08:34 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
谁可相欹 该用户已被删除
17#
发表于 2015-4-28 19:05:00 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
不帅 该用户已被删除
18#
发表于 2015-5-1 15:11:34 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
冷月葬花魂 该用户已被删除
19#
发表于 2015-5-2 15:02:06 | 只看该作者
是一种为 Internet发展的计算机语言
乐观 该用户已被删除
20#
发表于 2015-6-22 23:55:33 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-2 20:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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