立即注册
 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广州大学城网业务调整

[Java/JSP] Java Object类中的方法 [复制链接] qrcode

查看: 3330 | 回复: 0

大法师的 该用户已被删除
发表于: 2013-2-20 15:57:52 | 显示全部楼层

面试问的最多的问题是:Java object类中有哪些方法?归类总结一下。一般情况下,3年以上工作经验的回答少于6个方法的,会导致减分,2年以下工作经验的知道6个以上会加分。到阿里云后面试过30+,回答让我满意的人很少。

    作为一个半路出家当程序员,开始我总是痴迷于应用。a框架的配置,b框架的模板,c框架的控制……其实我对Java底层了解的很少,也没有想过了解java的底层。触动我去看Object类的是几件事。
    在上个东家做消息全网传输的时候,我用BeanUtil.copyProperties()拷贝对象的值,觉得很爽,后面某同事review我的代码提示我可以覆写对象的clone()方法的,毕竟,反射的效率是比较低的。然后当我去做的时候,发现了更好的选择。然后在打印日志的时候,我习惯拼接属性,于是又被提示覆写toString()方法是包爽的,就这样,我认识了Object2个方法。
    看《Effecive Java》这本书,中间提到为什么覆写equals()方法的时候总是要覆写hashcode()。开始第一遍没有看懂,也懒得管了,因为hashcode我用的少,后来去参加一个面试,被人问到的时候,感觉无比的尴尬,我读过,却不知道答案!这是个人总结能力的问题,后面又不能不回来仔细看看这2个方法到底是做什么的。
    关于线程的notify() notifyAll() wait()3个』 方法,学习线程的时候看过,不过自从用了JUC的包,我基本没有在代码中使用过了。每次用eclipse“alt + /” 快捷键从后翻总能看到,所以无论如何,这几个方法应该知道。
    写到这里,有7个方法了,这几个方法很容易想到,在我开发java2年后,能够回答Object类中的7个方法。其实clone()方法不常用,所以,我说的数字6是有依据的。这6个方法,作为java程序员,天天不见也会见几次。如果写了几年java代码不知道基类里面的方法,就算你Hbase玩的再熟,我凭什么相信你能写优质代码?如果一个在农村盖房子3年的砌匠不知道前后梁有多少瓴子(鲁班收徒的故事),您会怎么想?
    再后来,不能不用反射,就知道了getClass()方法,finalize()方法我至今没用过!

 Java是一门最有前景的面向对象语言,学习java是许多人获得高薪的方法!现在学习java最好就是参加java培训广州java培训机构有很多,选择一个合适的java培训机构对于我们的就业是很重要的。因此大家一定要擦亮眼睛。选择合适的java培训机构
  QQ 744437114
  疯狂软件官网:http://www.fkjava.org
  疯狂java视频android视频http://www.fkjava.org/video.html



�个�����r��an>(网站)提供实时定价(real-time pricing)和有效性(availability)信息。这个站点(site)很可能会提供一个表单(form)让你来选择产品。当你提交查询(query)后,网站会进行查找(lookup)并把结果内嵌在HTML页面中返回。网站可以有很多种方式来实现这种功能。我要介绍一个不使用应用程序服务器的情景和一个使用应用程序服务器的情景。观察一下这两中情景的不同会有助于你了解应用程序服务器的功能。

情景1:不带应用程序服务器的Web服务器

  在此种情景下,一个Web服务器独立提供在线商店的功能。Web服务器获得你的请求(request),然后发送给服务器端(server-side)可以处理请求(request)的程序。此程序从数据库或文本文件(flat file,译者注:flat file是指没有特殊格式的非二进制的文件,如propertiesXML文件等)中查找定价信息。一旦找到,服务器端(server-side)程序把结果信息表示成(formulate)HTML形式,最后Web服务器把会它发送到你的Web浏览器。

简而言之,Web服务器只是简单的通过响应(response)HTML页面来处理HTTP请求(request)

情景2:带应用程序服务器的Web服务器

  情景2和情景1相同的是Web服务器还是把响应(response)的产生委托(delegates)给脚本(译者注:服务器端(server-side)程序)。然而,你可以把查找定价的商业逻辑(businesslogic)放到应用程序服务器上。由于这种变化,此脚本只是简单的调用应用程序服务器的查找服务(lookupservice),而不是已经知道如何查找数据然后表示为(formulate)一个响应(response) 这时当该脚本程序产生HTML响应(response)时就可以使用该服务的返回结果了。

  在此情景中,应用程序服务器提供(serves)了用于查询产品的定价信息的商业逻辑。(服务器的)这种功能(functionality)没有指出有关显示和客户端如何使用此信息的细节,相反客户端和应用程序服务器只是来回传送数据。当有客户端调用应用程序服务器的查找服务(lookupservice)时,此服务只是简单的查找并返回结果给客户端。

通过从响应产生(response-generating)HTML的代码中分离出来,在应用程序之中该定价(查找)逻辑的可重用性更强了。其他的客户端,例如收款机,也可以调用同样的服务(service)来作为一个店员给客户结帐。相反,在情景1中的定价查找服务是不可重用的因为信息内嵌在HTML页中了。

总而言之,在情景2的模型中,在Web服务器通过回应HTML页面来处理HTTP请求(request),而应用程序服务器则是通过处理定价和有效性(availability)请求(request)来提供应用程序逻辑的。

警告(Caveats)
现在,XML Web Services已经使应用程序服务器和Web服务器的界线混淆了。通过传送一个XML有效载荷(payload)给服务器,Web服务器现在可以处理数据和响应(response)的能力与以前的应用程序服务器同样多了。

另外,现在大多数应用程序服务器也包含了Web服务器,这就意味着可以把Web服务器当作是应用程序服务器的一个子集(subset)。虽然应用程序服务器包含了Web服务器的功能,但是开发者很少把应用程序服务器部署(deploy)成这种功能(capacity)(译者注:这种功能是指既有应用程序服务器的功能又有Web服务器的功能)。相反,如果需要,他们通常会把Web服务器独立配置,和应用程序服务器一前一后。这种功能的分离有助于提高性能(简单的Web请求(request)就不会影响应用程序服务器了),分开配置(专门的Web服务器,集群(clustering)等等),而且给最佳产品的选取留有余地。

 Java是一门最有前景的面向对象语言,学习java是许多人获得高薪的方法!现在学习java最好就是参加java培训广州java培训机构有很多,选择一个合适的java培训机构对于我们的就业是很重要的。因此大家一定要擦亮眼睛。选择合适的java培训机构
  QQ 744437114
 

跳转到指定楼层
快速回复 返回顶部 返回列表