第二个灵魂 发表于 2015-1-18 11:36:24

JAVA网站制作之Java 进修杂谈(五)仓酷云

而学习JAVA我觉得最应该避免的就是:只学习,不思考,只记忆,不实践!原本估计J2se只讲了第四篇就扫尾了,但是版主厚爱把帖子置顶临时让人人扫瞄让小弟倍感义务严重,务必寻求最到更好,以是关于J2se一些没有提到的部分,决意再写几篇把经常使用的部分履历全体写出来供人人会商商讨。这一篇筹办讲一讲Xml剖析包和JavaSwing,然后下一篇再讲java.security包关于Java沙箱平安机制和RMI机制,再进进J2ee的部分,临时就做如许的企图了。假如因为练习忙碌更新略微慢了一些,但愿列位包涵!

1.Java关于XML的剖析
信任人人对XML都不生疏,寄义是可扩大标志言语。自己它也就是一个数据的载体以树状体现情势呈现。厥后渐渐的数据酿成了信息,区分是信息能够包含可变的形态从而针对程序硬编码的做法厘革为针对一致接口硬编码而可变形态作为信息进进了XML中存储。如许改动形态完成扩大的独一事情是在XML中增加一段文本信息就能够了,代码不必要修改也不必要从头编译。这个天真性是XML出生时分谁也没想到的。

固然,假如接口要能提取XML中设置的信息就必要程序能剖析标准的XML文件,Java中固然要进步包对这个举动举行有益撑持。笔者盘算讲到的两个包是org.w3c.dom和javax.xml.parsers和。(人人能够扫瞄一下这些包两头的接口和类界说)

Javax.xml.parsers包很复杂,没有接口,两个工场配两个剖析器。明显剖析XML是有两种体例的:DOM剖析和SAX剖析。实质上并没有谁好谁欠好,只是完成的头脑纷歧样而已。给一个XML文件的例子:
<?xmlversion=”1.0”encoding=”UTF-8”>
<root>
<childname=”Kitty”>
ACat
</child>
</root>

所谓DOM剖析的思绪是把全部树状图存进内存中,必要谁人节点只必要在树上搜刮就能够读到节点的属性,内容等,如许的优点是一切节点皆在内存能够重复搜刮反复利用,弱点是必要损耗响应的内存空间。

天然SAX剖析的思绪就是为了克制DOM的弱点,以事务触发为基础思绪,按次的搜刮上去,碰着了Element之前触发甚么事务,碰着以后做甚么举措。因为必要本人来写触发事务的处置计划,以是必要借助别的一个自界说的Handler,处于org.xml.sax.helpers包中。它的长处固然是不必全部包都读进内存,弱点也是只能按次搜刮,走完一遍就得重来。

人人很简单就可以猜到,打仗到的J2ee框架用的是哪种,明显是DOM。由于相似Struts,Hibernate框架设置文件究竟是很小的一部分派相信息,并且必要频仍搜刮来读取,固然会接纳DOM体例(实在SAX外部也是用DOM接纳的布局来存储节点信息的)。如今不管用甚么框架,还真难发明利用SAX来剖析XML的手艺了,假如哪位仁兄晓得,请让笔者也进修进修。

既然剖析体例有了,那末就必要有剖析的存储地位。不晓得人人是不是发明org.w3c.dom这个包是没有完成类全体都是接口的。这里笔者想说一下Java怎样对XML剖析是Jdk应当思索的事,是它的义务。而w3c构造是保护界说XML尺度的构造,以是一个XML布局是怎样的由w3c说了算,它不体贴Java怎样往完成,因而乎划定了一切XML存储的布局应当遵守的划定规矩,这就是org.w3c.dom里全体的接口目标地点。在笔者看来,复杂了解接口的观点就是完成者必需恪守的准绳。

全部XML对应的布局叫Document、子元素对应的叫做Element、另有节点相干的Node、NodeList、Text、Entity、CharacterData、CDATASection等接口,它们都能够在XML的语法两头找到绝对应的寄义。因为这里不是解说XML基础语法,就未几先容了。假如人人感乐趣,笔者也能够专门写一篇关于XML的语律例则帖与人人分享一下。

2.JavaSwing
Swing是一个让人又爱又恨的工具,心爱的地方在于上手很简单,较AWT比起来Swing供应的界面功效加倍壮大,可爱的地方在于编庞大的界面事情量其实是伟大。笔者写过凌驾3000行的Swing界面,感到用户体验还不是那末优异。比来又写过凌驾6000行的,因为功效模块多了,全体效果还只是一样平常般。体味最深的就一个字:累!以是人人如今都连续不怎样用Swing在真正开辟的项目上了,太多界面手艺能够代替它了。笔者往写也是迫于无法组内里人人都没写过,我不上天域谁进?

只管Swing渐渐的在被人疏忽,出格是跟着B/S渐渐的在吞没C/S,笔者却是很乐意站出来为Swing正身。每项手艺的把握毫不是为了盛行时髦跟风。真正喜好Java的伴侣们仍是应当好好体味一下Swing,信任在校的良多先生也良多在进修它。极可能从Jdk1.1、1.2走过去的良多年夜学先生多是最不熟习它的。
Swing供应了一组轻组件统称为JComponent,它们与AWT组件的最年夜区分是JComponent全体都是Container,而Container的特性是内里能够装载其余组件。在Swing组件中不管是JButton、JLabel、JPanel、JList等都能够再装进任何其他组件。优点是程序员能够对Swing组件完成“再开辟”,针对特定需求构建本人的按钮、标签、画板、列表之类的特定组件。

有轻天然就有重,那末轻组件和重组件区分是?重组件体现出来的形状因操纵体系分歧而异,轻组件是Swing本人供应GUI,在跨平台的时分最年夜水平的坚持分歧。
那末在编程的时分要注重一些甚么呢?笔者谈谈本人的几点履历:

a.明白一个观点,只要Frame组件才能够独自显现的,大概有人会说JOptionPane内里的静态办法就完成了独自窗口呈现,但寻找源代码会发明实在实际出来的Dialog也必要依托一个Frame窗体,假如没有指定就会默许发生一个然后装载这个Dialog显现出来。

b.JFrame是由这么几部分构成:
最底下一层JRootPane,下面是glassPane(一个JPanel)和layeredPane(一个JLayeredPane),而layeredPane又由contentPane(一个JPanel)和menuBar组成。我们的组件都是加在contentPane上,而背景图片只能加在layeredPane下面。至于glassPane是一个通明的掩盖了contentPane的一层,在特定效果中将被使用到来纪录鼠标坐标或掩盖组件。

c.为了加强用户体验,我们会在一些按钮上增加快速键,但Swing内里一般只能辨认键盘的Alt键,要到场其他的快速键,必需本人完成一个ActionListener。

d.经由过程setLayout(null)可使得一切组件以setBounds()的四个参数来准确定位各自的巨细、地位,但不保举利用,由于好的编程作风不该该在Swing代码中硬编码详细数字,一切的数字应当以常数的情势一致存在一个静态无实例资本类文件中。这个静态无实例类一致卖力Swing界面的作风,包含字体和色彩都应当包含出来。

e.好的界面计划有一条GoldenRule:用户不必任何手册经由过程多数实验就可以学会利用软件。以是只管把按钮以菜单的情势(不论是右键菜单仍是窗体自带顶部菜单)出现给主顾,除非是频仍点击的按钮才有需要间接出现在界面中。

实在Swing的功效是相称壮大的,只是如今使用不普遍,专门往研讨也许是要花很多工夫的。笔者在各网站论坛扫瞄关于Swing的技能文章仍是对照可托的,本人所学十分无限,大家体味对Swing各个组件的把握就是一个理论堆集的历程。笔者只用到过以上这些,以是只能谈谈部分设法,还看人人包涵!来自:http://topic.csdn.net/u/20070924/21/18482496-082f-4907-8751-b80ab5d56622.html?seed=1386683868

轮性能微软曾做过一个例子,就是同一个项目用java和.net网页编程来作,结果开发周期,.net网页编程是java的一半,性能java是.net网页编程的十分之一,代码量java是.net网页编程的三倍。呵呵,这说明了什么,.net网页编程的全方位比java好。但是有的人说.net网页编程不能跨平台,这个问题我和我同学曾讨论过,都认为微软的.net网页编程很可能早都可以跨平台了,但是微软为了保护他们的操作系统,所以才没有推出跨平台的.net网页编程,只是推出了跨语言的.net网页编程,

冷月葬花魂 发表于 2015-1-19 05:25:36

http://www.ckuyun.com/去下载,或到同济技术论坛的服务器ftp://www.ckuyun.com去下,安装上有什么问题,可以到论坛上去提问。

深爱那片海 发表于 2015-1-24 06:47:11

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

不帅 发表于 2015-1-31 21:39:49

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

精灵巫婆 发表于 2015-2-4 21:02:26

一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从

再见西城 发表于 2015-2-6 00:38:10

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

小妖女 发表于 2015-2-9 04:54:26

其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。

海妖 发表于 2015-3-7 21:08:17

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

分手快乐 发表于 2015-3-12 03:36:13

Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

飘飘悠悠 发表于 2015-3-18 14:38:45

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧

第二个灵魂 发表于 2015-3-19 17:13:23

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

因胸联盟 发表于 2015-3-26 06:39:18

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

莫相离 发表于 2015-3-26 15:49:02

是一种将安全性(Security)列为第一优先考虑的语言

小女巫 发表于 2015-3-27 03:11:26

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

简单生活 发表于 2015-4-2 10:00:06

是一种将安全性(Security)列为第一优先考虑的语言

再现理想 发表于 2015-4-4 16:18:57

J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。

金色的骷髅 发表于 2015-4-10 04:21:56

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。

活着的死人 发表于 2015-4-15 22:53:03

是一种突破用户端机器环境和CPU

乐观 发表于 2015-4-17 04:59:15

其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。

谁可相欹 发表于 2015-4-20 21:34:50

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
页: [1]
查看完整版本: JAVA网站制作之Java 进修杂谈(五)仓酷云