仓酷云

标题: JAVA网页编程之j2EE基本观点(总结) [打印本页]

作者: 愤怒的大鸟    时间: 2015-1-18 11:08
标题: JAVA网页编程之j2EE基本观点(总结)
net程序员的大部门代码都靠控件拖拽完成的,虽然java也有,但是无论从美观和速度上都没发和.net比。java程序员都是代码完成的,所以java程序员常戏称.net程序员是操作员,呵呵。j2ee|观点Java基本方面:

1,感化域public,protected,private,和不写时的区分

2,ArrayList和Vector的区分,HashMap和Hashtable的区分

3,char型变量能不克不及界说为一其中文?为何?

4,多线程有几种暗示办法,都是甚么?同步有几种完成办法,都是甚么?

5,承继时分类的实行按次成绩,一样平常都是选择题,问你将会打印出甚么?

6,外部类的完成体例?

7,渣滓接纳机制,怎样优化程序?

8,float型floatf=3.4是不是准确?

Jsp方面

1,jsp有哪些内置对象?感化分离是甚么?

2,jsp有哪些举措?感化分离是甚么?

3,include的两种完成体例的区分?

4,两种跳转体例分离是甚么?有甚么区分?

Servlet方面

1,说一说Servlet的性命周期?

2,Servlet版本间(忘了问的是哪两个版本了)的分歧?

Jdbc,Jdo方面

1,大概会让你写一段Jdbc连Oracle的程序.

2,Class.forName的感化?为何要用?

3,Jdo是甚么?

Xml方面

1,xml有哪些剖析手艺?区分是甚么?

2,你在项目顶用到了xml手艺的哪些方面?怎样完成的?

3,用jdom剖析xml文件时怎样办理中文成绩?怎样剖析?

EJB方面

1,EJB2.0有哪些内容?分离用在甚么场所?EJB2.0和EJB1.1的区分?

MVC方面

1,MVC的各个部分都有那些手艺来完成?怎样完成?

计划形式方面:

1,开辟中都用到了那些计划形式?用在甚么场所?

JavaScript方面

1,怎样校验数字型?

CORBA

1,CORBA是甚么?用处是甚么?


谁来做出解答阿!
-------------------------------------------------------------
回覆一部分。
1,感化域public,protected,private,和不写时的区分
public在其他的包中的类也能够援用,protected只限于统一个包内的类,private只要本人可使用。不写的时分和protected一样。
2,ArrayList和Vector的区分,HashMap和Hashtable的区分
ArrayList必要事后界说巨细,Vector不必。HashMap和Hashtable的默许初始化容量(defaultinitialcapacity)分歧HashMap是16,Hashtable为11。
3,char型变量能不克不及界说为一其中文?为何?
能够界说。由于中文也是16bit的。
4,多线程有几种暗示办法,都是甚么?同步有几种完成办法,都是甚么?
检察jdk文档。
5,承继时分类的实行按次成绩,一样平常都是选择题,问你将会打印出甚么?
这个详细的往看。
6,外部类的完成体例?
外部类”是在另外一个类的外部声明的类。从Java1.1入手下手,你可在一个类中声明另外一个类,这与声明字段和办法十分类似。
7,渣滓接纳机制,怎样优化程序?
在变量不利用的时分将其赋值为null。
8,float型floatf=3.4是不是准确?
不可。范例不婚配。改成floatf=3.4f。

Servlet方面

1,说一说Servlet的性命周期?
Servlet的性命周期是当服务器装载运转servlets,吸收来自客户真个多个哀求而且前往数据给客户端,然后再删除移开servlets的工夫。
2,Servlet版本间(忘了问的是哪两个版本了)的分歧?
我团体以为这个成绩没有甚么实践意义。
Jdbc,Jdo方面

1,大概会让你写一段Jdbc连Oracle的程序.
有通式。Connectionconn=null;
Stringdriver="oracle.jdbc.driver.OracleDriver";
Stringurl="jdbc:oracle:thin:@xxx:1521:xxx";
Stringuser="xxx";
Stringpassword="xxx";
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection(url,user,password);
}
catch(ClassNotFoundExceptione)
{
System.err.print("ClassNotFoundException:Loadjdbc-driverfailure!");
System.err.println(e.getMessage());
}
catch(SQLExceptione)
{
e.printStackTrace();
try
{
if(conn!=null)
{
conn.close();
conn=null;
}
}
catch(SQLExceptionse)
{
}
}
2,Class.forName的感化?为何要用?
前往一个指命名称的class对象。用它是为了load你指命名称的class。
3,Jdo是甚么?
全称JavaDataObjects。供应了在事件处置数据库中Java对象模子的分明的耐久性,间接撑持了Java类的实例,使用程序不必处置任何别的的数据模子。

Xml方面

1,xml有哪些剖析手艺?区分是甚么?
1)CSS是CascadingStyleSheet的缩写,即“层叠款式表”,在1997年W3C公布HTML4尺度的同时也发布了有关款式单的第一个尺度CSS1。
2)XSL(eXtensibleStyleLanguage,可扩大的款式言语)是最壮大和天真的款式言语,是出格为使用XML而计划的,它完整遵守XML划定规矩,进一步完美了XML自己。
3)Data-Island。另有几个,可是次要是第二个,其他的我以为不是支流。
2,你在项目顶用到了xml手艺的哪些方面?怎样完成的?
xslt,fo,html剖析,xml数据封装息争析。利用第三方软件包完成。
3,用jdom剖析xml文件时怎样办理中文成绩?怎样剖析?
没用过,不太分明。我利用的castor。(jbuilder9中有)

JavaScript方面

1,怎样校验数字型?
isNaN(parseFloat(xxx))假如为true,则不是数字。
---
做点力所能及的增补:
(1)Vector的办法都是同步的(Synchronized),是线程平安的(thread-safe),而
ArrayList的办法不是,因为线程的同步一定要影响功能,因而,ArrayList的功能比
Vector好。
(2)当Vector或ArrayList中的元素凌驾它的初始巨细时,Vector会将它的容量翻倍,而
ArrayList只增添50%的巨细,如许,ArrayList就有益于勤俭内存空间。
(3)Hashtable是基于陈腐的Dictionary类的,HashMap是Java1.2引进的Map接口的一
个完成。
(4)功能方面的对照相似Vector和ArrayList,好比Hashtable的办法是同步的,而
HashMap的不是。
(5)只要HashMap可让你将空值作为一个表的条目标key或value
---
1,xml有哪些剖析手艺?区分是甚么?

有两种:DOM和SAX.

DOM:能够失掉一个包括文档中一切元素的树布局.
SAX:在文档的分歧治点发生事务,使用程序能够决意怎样处置这些事务以从剖析器中失掉信息.
---
Java基本方面:(未写的是已有人回覆或我本人也未知或不断定)

4,多线程有几种暗示办法,都是甚么?同步有几种完成办法,都是甚么?
:::
我所晓得的有两种完成办法:
一种是将办法同步:publicsynchronizedmethodName(...){....}
另外一种是将对象同步(此对象不克不及是null值):synchronized(object){.....}

5,承继时分类的实行按次成绩,一样平常都是选择题,问你将会打印出甚么?
承继时分类的实行按次是:
父类中被static关头字界说的部分是按所界说的按次而开始被初始化的;
父类机关函数(按挪用按次);

子类中被static关头字界说的部分是按所界说的按次而开始被初始化的;
子类机关函数(按挪用按次);
其他则按办法的挪用按次.

6,外部类的完成体例?
publicclassXXXXX{//只要一个public类

...

classYYYYY{//能够有的会见范例是[protected|private|无]
...
}

}

8,float型floatf=3.4是不是准确?
我也不晓得是不是准确.
我通常为如许:floatf=3.4F;或floatf=3.4f;//前面跟一个英文年夜写或小写字母F
---
JavaScript方面

1,怎样校验数字型?
varv=document.all.Telephone.value;
if(isNan(v)){
alert("满是数字");
}
---
yangtaylor的注释有一半以上是毛病的,人人不要作尺度谜底背哦
noisysilence的注释很不错,申明你已是妙手了,不外申明一点,Vector的精巧设置是在于第二个参数的设置,其他的都基础准确。

关于“感化域public,protected,private,和不写时的区分”的申明---
前三个经常使用,就不必说了,关于不写时的情形我来讲明一下:
JAVA的感化域实在有5种,除下面的3种外另有:privateprotected,default
public--------------不说了
protected-----------除一切的子类可会见外,同包的非子类也能够会见
private-------------也不说了
privateprotected---只要子类能够会见(这才是我们了解意义上的protected)
default-------------只要同包的类能够会见,即便是子类但分歧包仍不克不及会见

我也是看了良多参考书才终极失掉的了局,在此献给人人了。
---
ArrayList和Vector的区分下面已说,我说说它们会带来得影响吧。
同为对象汇合,ArrayList可由编译器反省而Vector则不会,以是假如用Vector前往对象汇合,编译器是没法查错得,只要在运转时才干才干发明。比方:
********接纳Vector*************
serverside:
publicVectorgetCustomDataSet(intnum)
{
Vectorv=newVector();
for(inti=0;i<num;i++)
{
CustomDatacustomData=newCustomData(i);
v.add(customData)//此处到场自界说的数据布局CustomData
}
returnv;
}
clientside:

Vectorv=getCustomDataSet(5);
for(inti=0;i<v.size();i++)
{
OtherDatadata=(OtherData)v.get(i);//此处掏出的是customData却转换为OtherData,编译器经由过程
}

********接纳ArrayList*************
serverside:
publicCustomData[]getCustomDataSet(intnum)
{
CustomData[]customData=newCustomData[5];
for(inti=0;i<num;i++)
{
customData[i]=newCustomData(i);
}
returncustomData;
}
clientside:

CustomData[]datas=getCustomDataSet(5);
for(inti=0;i<datas.length;i++)
{
OtherDatadata=datas[i];//编译欠亨过,范例不婚配
}

---
下边是之前我找的关于Hashtable和HashMap的分歧的地方。


Hashtable和HashMap
Hashtable和HashMap类有三个主要的分歧的地方。第一个分歧次要是汗青缘故原由。Hashtable是基于陈腐的Dictionary类的,HashMap是Java1.2引进的Map接口的一个完成。
大概最主要的分歧是Hashtable的办法是同步的,而HashMap的办法不是。这就意味着,固然你能够不必接纳任何特别的举动就能够在一个多线程的使用程序顶用一个Hashtable,但你必需一样地为一个HashMap供应外同步。一个便利的办法就是使用Collections类的静态的synchronizedMap()办法,它创立一个线程平安的Map对象,并把它作为一个封装的对象来前往。这个对象的办法可让你同步会见潜伏的HashMap。这么做的了局就是当你不必要同步时,你不克不及割断Hashtable中的同步(好比在一个单线程的使用程序中),并且同步增添了良多处置用度。
第三点分歧是,只要HashMap可让你将空值作为一个表的条目标key或value。HashMap中只要一笔记录能够是一个空的key,但恣意数目的条目能够是空的value。这就是说,假如在表中没有发明搜刮键,大概假如发明了搜刮键,但它是一个空的值,那末get()将前往null。假如有需要,用containKey()办法来区分这两种情形。
一些材料倡议,当必要同步时,用Hashtable,反之用HashMap。可是,由于在必要时,HashMap能够被同步,HashMap的功效比Hashtable的功效更多,并且它不是基于一个陈腐的类的,以是有人以为,在各类情形下,HashMap都优先于Hashtable。
---
XML的编程接口:DOMSAXJDOMJAXP

文档对象模子(一般称为DOM)为XML文档的已剖析版本界说了一组接口。剖析器读进全部文档,然后构建一个驻留内存的树布局,然后您的代码就能够利用DOM接口来操纵这个树布局。您能够遍历树以懂得原始文档包括了甚么,您能够删除树的几个部分,还能够从头分列树和增加新的分支
DOM供应了一组丰厚的功效,您能够用这些功效来注释和操纵XML文档,但利用它们是有价值的。
DOM构建全部文档驻留内存的树。假如文档很年夜,就会请求有极年夜的内存。
DOM创立暗示原始文档中每一个工具的对象,包含元素、文本、属性和空格。假如您只需存眷原始文档的一小部分,那末创立那些永久不被利用的对象是极为华侈的。
DOM剖析器必需在您的代码获得把持权之前读取全部文档。关于十分年夜的文档,这会引发明显的提早


为懂得决DOM成绩,XML-DEV介入者们(由DavidMegginson向导)创立了SAX接口。SAX的几个特性办理了DOM的成绩:

SAX剖析器向您的代码发送事务。当剖析器发明元素入手下手、元素停止、文本、文档的入手下手或停止等时,它会告知您。您能够决意甚么事务对您主要,并且能够决意要创立甚么范例的数据布局以保留来自这些事务的数据。假如您没有显式地保留来自某个事务的数据,它就被抛弃。
SAX剖析器基本不创立任何对象,它只是将事务传送给您的使用程序。假如但愿基于那些事务创立对象,这将由您来完成。
SAX剖析器在剖析入手下手的时分就入手下手发送事务。当剖析器发明文档入手下手、元素入手下手和文本等时,代码会收到一个事务。您的使用程序能够当即入手下手天生了局;您不用一向比及全部文档被剖析终了。更妙的是,假如您只查找文档中某些内容,代码一旦找到所要找的工具就能够抛出一个非常。该非常会中断SAX剖析器,然儿女码用它找到的数据做它必要做的任何事。
SAX剖析器也有些成绩惹人存眷:

SAX事务是无形态的。当SAX剖析器在XML文档中发明文本时,它就向您的代码发送一个事务。该事务仅仅给您发明的文本;它不告知您甚么元素包括谁人文本。假如您想晓得这一点,则必需本人编写形态办理代码。
SAX事务不是耐久的。假如使用程序必要一个数据布局来对XML文档建模,则必需本人编写那样的代码。假如您必要从SAX事务会见数据,而且没有把谁人数据存储在代码中,那末您不能不再次剖析该文档。

JDOM是基于Java手艺的开放源码项目,它试图遵守80/20划定规矩:用DOM和SAX20%的功效来满意80%的用户需求。JDOM利用SAX和DOM剖析器,因而它是作为一组绝对较小的Java类被完成的。

JDOM的次要特征是它极年夜地削减了您必需编写的代码数目。只管本篇先容性教程其实不深切会商编程主题,但JDOM使用程序的长度一般是DOM使用程序的三分之一,约莫是SAX使用程序的一半。(固然,保持利用DOM的地道主义者会倡议说:从久远来看,进修和利用DOM终会有所报答)。JDOM其实不做一切的事,但关于年夜多半您要做的剖析,它大概恰好合适您。

只管DOM、SAX和JDOM为年夜多半罕见义务供应了尺度接口,但仍有些事变是它们不克不及办理的。比方,在Java程序中创立DOMParser对象的历程因DOM剖析器的分歧而分歧。为了修改这个成绩,Sun公布了JAXP(用于XML剖析的JavaAPI,JavaAPIforXMLParsing)。该API为利用DOM、SAX和XSLT处置XML文档供应了大众接口。

JAXP供应的诸如DocumentBuilderFactory和DocumentBuilder之类的接口为分歧的剖析器供应了一个尺度接口。另有一些办法能够同意您把持底层的剖析器是不是能够辨认称号空间和是不是利用DTD或形式来考证XML文档。
为了断定哪一种接口合适您,您必要了解一切接口的计划要点,并且必要了解使用程序用您将要处置的XML文档来做甚么。思索上面的成绩将有助于您找到准确的办法。

要用Java编写使用程序吗?JAXP利用DOM、SAX和JDOM;假如您用Java编写代码,那末您应利用JAXP将您的代码与各类剖析器完成的细节断绝。
使用程序将怎样部署?假如您的使用程序将要作为Javaapplet部署,那末您会但愿使要下载的代码数目最小,别忘了SAX剖析器比DOM剖析器小。还要晓得利用JDOM时,除SAX或DOM剖析器以外还请求编写大批的代码。
一旦剖析了XML文档,还必要屡次会见那些数据吗?假如您必要回过火来会见XML文件的已剖析版本,DOM多是准确的选择。而SAX事务被触发时,假如您今后必要它,则由您(开辟职员)本人决意以某种体例保留它。假如您必要会见未曾保留的事务,则必需再次剖析该文件。而DOM主动保留一切的数据。
只必要XML源文件的大批内容吗?假如您只必要XML源文件的大批内容,那末SAX多是准确的选择。SAX不会为源文件中的每一个工具创立对象;您要断定甚么是主要的。利用SAX,您要反省每一个事务以懂得它是不是与您的必要有关,然后响应地处置它。更妙的是,一旦找到您正在寻觅的工具,您的代码就会抛出一个非常来完整中断SAX剖析器。
您正在一台内存很少的呆板上事情吗?如果的话,不论您大概思索到的别的要素是甚么,SAX是您的最好选择。
你总不能说你写框架吧,那无疑会加大工作量,现在大多企业采取的是折中的办法,就是改别人写好的框架,可要改框架,前提是你对这个框架足够的了解,这就更难了。
作者: 小魔女    时间: 2015-1-20 14:56
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
作者: 乐观    时间: 2015-1-25 20:20
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
作者: admin    时间: 2015-2-3 20:08
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
作者: 金色的骷髅    时间: 2015-2-26 22:55
是一种使用者不需花费很多时间学习的语言
作者: 因胸联盟    时间: 2015-3-8 18:24
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
作者: 蒙在股里    时间: 2015-3-16 10:06
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
作者: 老尸    时间: 2015-3-22 22:10
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2