- 相關(guān)推薦
Java專(zhuān)業(yè)介紹及就業(yè)前景分析
Java就業(yè)前景詳細(xì)分析
Java有很多特點(diǎn),最主要有三個(gè):第一,跨平臺(tái),不管是Windows還是Unix或是其它平臺(tái),它都可以用;第二,面向?qū)ο螅坏谌瑒?dòng)態(tài)域的控制。這是三條根本的特點(diǎn),而這三點(diǎn),是C++及其它語(yǔ)言無(wú)法比擬的(C++盡管也是面向?qū)ο螅⒉皇菄?yán)格意義上的面向?qū)ο?。面向?qū)ο笫擒浖こ套詈诵牡募夹g(shù),所以Java是網(wǎng)絡(luò)工程最佳的選擇。Java發(fā)展到現(xiàn)在,已經(jīng)不僅僅是一種語(yǔ)言,而可以說(shuō)是一種技術(shù),這個(gè)技術(shù)涉及到網(wǎng)絡(luò)、編程等領(lǐng)域。
Java借助于Internet已經(jīng)從一種網(wǎng)絡(luò)編程語(yǔ)言發(fā)展成為了第一大通用開(kāi)發(fā)平臺(tái),在應(yīng)用方面Java已經(jīng)超越了C++,起獨(dú)有的開(kāi)放性,跨平臺(tái)設(shè)計(jì),和標(biāo)準(zhǔn)化,使得Java在我國(guó)得以廣泛運(yùn)用。
自95年5月Java問(wèn)世中國(guó)以來(lái),已快速的發(fā)展起來(lái),國(guó)內(nèi)諸多軟件廠商,像中軟,用友,金蝶,東軟,永中等均推出了以Java為基礎(chǔ)的軟件。我國(guó)的Java人才需求量也在不斷壯大,目前我國(guó)Java人才還遠(yuǎn)遠(yuǎn)不夠,至少短缺20萬(wàn)。
javascript 中(function{})()這種寫(xiě)法什么意思?
最近在整理javascript 學(xué)習(xí),發(fā)現(xiàn)這個(gè)問(wèn)題了 ,在網(wǎng)上發(fā)現(xiàn)這么個(gè)解釋 最清楚 最明白 ;
(function(){})()
相當(dāng)于先定義 function xx(){},后調(diào)用 xx();
()是最高優(yōu)先級(jí)的,所以先執(zhí)行function(){},
這個(gè)定義了一個(gè)匿名函數(shù),等于xx=function(www.diannao114.cn){}
接著就是調(diào)用xx()了;
給個(gè)例子
JScript codefunctionf1(a)
{ alert(a);
functionf2(a)
{ returnfunction(){ alert(a); }
}這里的var x=f2 就等于把函數(shù)傳遞給了f2,然后要執(zhí)行這個(gè)函數(shù),就必須加() 也就是x();
也就是f2()
還是(function f2(a){
return function(){
alert(a);
另外還有一個(gè)問(wèn)題就是命名空間的問(wèn)題
YY = YY||{};---聲明一個(gè)叫YY的命名空間(定義一個(gè)全局的變量)
(function() {
YY.Lang=function() {------聲明一個(gè)叫YY.Lang的命名空間(通過(guò)全局變量的增加屬性的方式把閉包里的對(duì)象傳到全局變量中,實(shí)現(xiàn)代碼封裝的效果)
isUndefined: function(o) {
return typeof o === 'undefined';
isString: function(o) {
return typeof o === 'string';
---調(diào)用方法
alert(YY.Lang.isString('test me'));
這時(shí)候就有人不明了,樓上為什么要加(function() { 和)(); 最外面的這兩行,有什么用啊?
JScript codeYY=YY||{}; //---聲明一個(gè)叫YY的命名空間(定義一個(gè)全局的變量)
function() { YY.Lang=function() {
//------聲明一個(gè)叫YY.Lang的命名空間(通過(guò)全局變量的增加屬性的方式把閉包里的對(duì)象傳到全局變量中,實(shí)現(xiàn)代碼封裝的效果) isUndefined:function(o) {returntypeofo==='undefined'; },
isString:function(o) {returntypeofo==='string'; } }; }
//---調(diào)用方法
alert(YY.Lang.isString('test me'));
疑問(wèn)在這:?????? 注釋掉這兩行有什么不一樣的呢?不就是申明嗎,為什么要用()()執(zhí)行一下啊?
答:
(function(){})()意思是立即執(zhí)行前一個(gè)括號(hào)里的function,相當(dāng)于是一個(gè)匿名函數(shù);由于里面的代碼的執(zhí)行,定義了YY.Lang這個(gè)對(duì)象,所以可以執(zhí)行alert(YY.Lang.isString('test me'));調(diào)用isString方法。
但是,如果按照你寫(xiě)的
functionaa(){..};//只是定義了一個(gè)叫aa的函數(shù),但是并沒(méi)有執(zhí)行
alert(YY.Lang.isString('test me'));//執(zhí)行的時(shí)候會(huì)報(bào)找不到isString的方法。
這么寫(xiě)有什么好處??????????????
(function{})()的寫(xiě)法有個(gè)好處,就是能很好的利用javascript的變量的可見(jiàn)范圍為執(zhí)行腳本時(shí)節(jié)省空間。例如以下寫(xiě)法1和寫(xiě)法2達(dá)到的目的是一樣的,但是寫(xiě)法1的由于a變量的可見(jiàn)范圍只是在匿名函數(shù)體內(nèi),所以a在執(zhí)行完這個(gè)匿名函數(shù)后就釋放空間了。但是寫(xiě)法2會(huì)一直存在該頁(yè)面中。
寫(xiě)法1:
JScript code(function(){vara=2; alert(a); })();
寫(xiě)法2:
JScript codevara=2; alert(a);
Java服務(wù)器軟件工程師試題
Java服務(wù)器軟件工程師試題一、 選擇題1. 欲構(gòu)造ArrayList類(lèi)的一個(gè)實(shí)例,此類(lèi)繼承了List接口,下列哪個(gè)方法是正確的 ( )A ArrayList myList=new Object(); B List myList=new ArrayList(); C ArrayList myList=new List(); D List myList=new List(); 2. paint()方法使用哪種類(lèi)型的參數(shù)? ( )A Graphics B Graphics2D C String D Color 3. 指出下列程序運(yùn)行的結(jié)果( ) public class Example{ String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+" and "); Sytem.out.print(ex.ch); } public void change(String str,char ch[]){ str="test ok"; ch[0]='g'; } } A good and abc B good and gbc C test ok and abc D test ok and gbc 4. 要從文件" file.dat"文件中讀出第10個(gè)字節(jié)到變量C中,下列哪個(gè)方法適合? ( )A FileInputStream in=new FileInputStream("file.dat"); in.skip(9); int c=in.read(); B FileInputStream in=new FileInputStream("file.dat"); in.skip(10); int c=in.read(); C FileInputStream in=new FileInputStream("file.dat"); int c=in.read(); D RandomAccessFile in=new RandomAccessFile("file.dat"); in.skip(9); int c=in.readByte(); 5. 給出下面代碼,那個(gè)語(yǔ)句是正確的?( )public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } } A 編譯時(shí)將產(chǎn)生錯(cuò)誤; B 編譯時(shí)正確,運(yùn)行時(shí)將產(chǎn)生錯(cuò)誤; C 輸出零; D 輸出空。 7. 執(zhí)行下面的hql查詢,關(guān)于返回值的說(shuō)法,正確的是( ) select u.username,u.userid from com.x.entity.User u where u is not nullA語(yǔ)法錯(cuò)誤,不能執(zhí)行B返回一個(gè)類(lèi)型為L(zhǎng)ist的實(shí)例C返回一個(gè)數(shù)組D當(dāng)返回結(jié)果只有一條時(shí),返回一個(gè)數(shù)組8. 下面的程序執(zhí)行后沒(méi)有報(bào)錯(cuò),但數(shù)據(jù)總保存不到數(shù)據(jù)庫(kù),最可能的原因 ( )public static void imain(String[] args){ SessionFactory sf=new Configration().configure().buildSessionFactory(); Session session=sf.openSession(); Medal medal=new Medal(); medal.setOwner(“totong”); medal.setType(“Gold medal”); session.save(user); session.close();}A配置文件配置有誤B沒(méi)有在配置文件中包含對(duì)映射文件的聲明C配置文件配置有誤D沒(méi)有對(duì)持久化操作捕捉異常E沒(méi)有開(kāi)啟事務(wù)二、多項(xiàng)選擇題1. 執(zhí)行下列代碼后,哪個(gè)結(jié)論是正確的 String[] s=new String[10]; ( )A s[10] 為 ""; B s[9] 為 null; C s[0] 為 未定義 D s.length 為10 2. 下列哪個(gè)方法可用于創(chuàng)建一個(gè)可運(yùn)行的類(lèi)? ( )A public class X implements Runable{ public void run(){ ......} } B public class X implements Thread{ public void run(){ ......} } C public class X implements Thread{ public int run(){ ......} } D public class X implements Runable{ protected void run(){ ......} } E.public class X implements Thread{ public void run(){ ......} } 3. 下面哪個(gè)方法可以在任何時(shí)候被任何線程調(diào)用? ( )A notify() B wait() C notifyAll() D sleep() E.yield() F.synchronized(this) 4. 構(gòu)造BufferedInputStream的合適參數(shù)是哪個(gè)? ( )A BufferedInputStream B BufferedOutputStream C FileInputStream D FileOuterStream E. File 5. 指出下列哪個(gè)方法與方法public void add(int a){}為合理的重載方法。 ( )A public int add(int a) B public void add(long a) C public void add(int a,int b) D public void add(float a) 6. JDBC可以做哪三件 ( )A 與數(shù)據(jù)庫(kù)建立連接B 通過(guò)JDBC-API向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句C通過(guò)JDBC-API執(zhí)行SQL語(yǔ)句D進(jìn)行實(shí)體關(guān)系的映射 www.diannao114.cn7. Hibernate通過(guò)____接口,____接口和Type層次體系來(lái)訪問(wèn)元數(shù)據(jù)。( )A ClassMetadataB CollectionMetadataC MetadataD CollectionMeta三,問(wèn)答題1.執(zhí)行下列代碼后的結(jié)果是什么? int x,a=2,b=3,c=4; x=++a+b+++c++;2.簡(jiǎn)述什么是設(shè)計(jì)模式,請(qǐng)描述你用過(guò)的幾種設(shè)計(jì)模式!3.從JAVA的角度理解,什么是重構(gòu)?5.abstractclass和interface有什么區(qū)別? 6.error和exception有什么區(qū)別?7.下列程序中構(gòu)造了一個(gè)SET并且調(diào)用其方法add(),輸出結(jié)果是?public class A{ public int hashCode(){return 1;} public Boolean equals(Object b){return true} public static void main(String args[]){ Set set=new HashSet(); set.add(new A()); set.add(new A()); set.add(new A()); System.out.println(set.size()); } } 8、請(qǐng)說(shuō)出你所知道的線程同步的方法9、如果系統(tǒng)要使用超大整數(shù)(超過(guò)long長(zhǎng)度范圍),請(qǐng)你設(shè)計(jì)一個(gè)數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)這種超大型數(shù)字以及設(shè)計(jì)一種算法來(lái)實(shí)現(xiàn)超大整數(shù)加法運(yùn)算
甲骨文分羹Android 谷歌借機(jī)升級(jí)"山寨"Java
導(dǎo)讀:近年來(lái),各種專(zhuān)利訴訟案頻發(fā),各個(gè)廠商對(duì)自有專(zhuān)利的所有權(quán)和使用權(quán)越發(fā)的重視,一方是維護(hù)自己的權(quán)利、增加營(yíng)收范圍,一方是防止同行分享自己辛苦的經(jīng)營(yíng)成果,孰是孰非可謂見(jiàn)仁見(jiàn)智。
天極網(wǎng)4月26日消息,在4月25日的甲骨文起訴GoogleAndroid系統(tǒng)侵權(quán)案的審判中,一名Android前任工程師伯恩斯坦(DanBornstein)承認(rèn),去年在遭到起訴后,他曾負(fù)責(zé)在Android中移除了部分Java技術(shù)。
伯恩斯坦表示,Android是一個(gè)“活的項(xiàng)目”,隨時(shí)都在修改調(diào)整,并稱(chēng)這部分Java技術(shù)是通過(guò)瑞士的一個(gè)軟件開(kāi)發(fā)承包商N(yùn)oser帶到Android中的,當(dāng)時(shí)Android方面曾建議該公司哪些技術(shù)可以移植到Android,哪些則不可以。
(甲骨文分羹Android谷歌可借機(jī)升級(jí)“山寨”Java)
事件回顧
甲骨文在收購(gòu)了Sun公司并獲得Java專(zhuān)利權(quán)后,于2010年8月將Google告上法庭,指控其Android操作系統(tǒng)侵犯了Java技術(shù)專(zhuān)利,并要求賠償10億美元。
在今年3月底,Google表示愿意向甲骨文支付兩項(xiàng)專(zhuān)利的2011年費(fèi)用,共計(jì)280萬(wàn)美元。至于未來(lái)的賠償,Google提議將Android營(yíng)收0.5%作為一項(xiàng)專(zhuān)利的費(fèi)用,此專(zhuān)利今年12月到期;另外將0.015%的營(yíng)收作為第二項(xiàng)專(zhuān)利的費(fèi)用,此專(zhuān)利2018年4月到期。但甲骨文對(duì)此的回應(yīng)則是“Google開(kāi)出的賠償額度太低了”。
Google表態(tài):所用技術(shù)無(wú)需授權(quán)
3月25日,“Android之父”Google高層安迪·魯賓也在法庭上作證,他強(qiáng)調(diào),“Android開(kāi)發(fā)中所使用了Java部分不需要專(zhuān)利授權(quán)的技術(shù),所以無(wú)需支付專(zhuān)利費(fèi),也不需要獲得甲骨文的授權(quán)。”
有報(bào)道稱(chēng),在去年專(zhuān)利訴訟發(fā)生的前幾周,一封Google內(nèi)部郵件透露,當(dāng)時(shí)Google創(chuàng)始人拉里·佩吉(LarryPage)和塞爾吉·布林(SergeyBrin)曾要求“調(diào)查哪種技術(shù)可以成為Android中Java的替代方案”,而最終的討論結(jié)果是“我們尋找了許多方案都不行,因此得出結(jié)論:我們要商討Java授權(quán)。”
分羹Android
法庭文件披露,谷歌曾經(jīng)在2010年預(yù)測(cè),到2013年,來(lái)自Android的相關(guān)收入(包括廣告、軟件產(chǎn)品、數(shù)字音樂(lè)消費(fèi)等)將會(huì)高達(dá)37億美元。
甲骨文如此大動(dòng)干戈的索要Java技術(shù)授權(quán)費(fèi),一定程度上也是看準(zhǔn)了Android的巨大價(jià)值潛力,而Google方面千方百計(jì)的推脫責(zé)任,或許也是在為繼續(xù)尋求Java替代方案拖延時(shí)間,或者想要爭(zhēng)取更低的授權(quán)費(fèi)用。
近年來(lái),各種專(zhuān)利訴訟案頻發(fā),各個(gè)廠商對(duì)自有專(zhuān)利的所有權(quán)和使用權(quán)越發(fā)的重視,一方是維護(hù)自己的權(quán)利、增加營(yíng)收范圍,一方是防止同行分享自己辛苦的經(jīng)營(yíng)成果,孰是孰非可謂見(jiàn)仁見(jiàn)智,而雙方為之付出的巨大精力和財(cái)力是顯而易見(jiàn)的。
隨著訴訟的發(fā)展進(jìn)程,Google方面并不占據(jù)優(yōu)勢(shì),若最終甲骨文贏得官司,甲骨文則可獲得上億美元的專(zhuān)利費(fèi),而Google也有機(jī)會(huì)將其“山寨”Java升級(jí)為“正版”Java,對(duì)于Android系統(tǒng)的完善也不失是件好事。而目前Google最應(yīng)該做的就是想辦法說(shuō)服甲骨文降低專(zhuān)利授權(quán)費(fèi)用。
Java語(yǔ)言中面向?qū)ο笫鞘裁匆馑?/p>
何謂面向?qū)ο笫鞘裁匆馑寄兀?/p>
面向?qū)ο蟪绦蛟O(shè)計(jì)是將人們認(rèn)識(shí)世界過(guò)程中普遍采用的思維方法應(yīng)用到程序設(shè)計(jì)中。對(duì)象是現(xiàn)實(shí)世界中存在的事物,它們是有形的,如某個(gè)人、某種物品;也可以是無(wú)形的,如某項(xiàng)計(jì)劃、某次商業(yè)交易。對(duì)象是構(gòu)成現(xiàn)實(shí)世界的一個(gè)獨(dú)立單位,人們對(duì)世界的認(rèn)識(shí),是從分析對(duì)象的特征入手的。
對(duì)象的特征分為靜態(tài)特征和動(dòng)態(tài)特征兩種。靜態(tài)的特征指對(duì)象的外觀、性質(zhì)、屬性等;動(dòng)態(tài)的特征指對(duì)象具有的功能、行為等。客觀事物是錯(cuò)綜復(fù)雜的,但人們總是從某一目的出發(fā),運(yùn)用抽象分析的能力,從眾多的特征中抽取最具代表性、最能反映對(duì)象本質(zhì)的若干特征加以詳細(xì)研究。
人們將對(duì)象的靜態(tài)特征抽象為屬性,用數(shù)據(jù)來(lái)描述,在Java語(yǔ)言中稱(chēng)之為變量;人們將對(duì)象的動(dòng)態(tài)特征抽象為行為,用一組代碼來(lái)表示,完成對(duì)數(shù)據(jù)的操作,在Java語(yǔ)言中稱(chēng)之為方法,。一個(gè)對(duì)象由一組屬性和一組對(duì)屬性進(jìn)行操作的方法構(gòu)成。
Java語(yǔ)言優(yōu)點(diǎn)介紹
Java語(yǔ)言的優(yōu)點(diǎn)
Java語(yǔ)言是一種優(yōu)秀的編程語(yǔ)言。它最大的優(yōu)點(diǎn)就是與平臺(tái)無(wú)關(guān),在Windows 9x、Windows NT、Solaris、Linux、MacOS以及其它平臺(tái)上,都可以使用相同的代碼。“一次編寫(xiě),到處運(yùn)行”的特點(diǎn),使其在互聯(lián)網(wǎng)上被廣泛采用。
由于Java語(yǔ)言的設(shè)計(jì)者們十分熟悉C++語(yǔ)言,所以在設(shè)計(jì)時(shí)很好地借鑒了C++語(yǔ)言。可以說(shuō),Java語(yǔ)言是一種比C++語(yǔ)言“還面向?qū)ο蟆钡囊环N編程語(yǔ)言。Java語(yǔ)言的語(yǔ)法結(jié)構(gòu)與C++語(yǔ)言的語(yǔ)法結(jié)構(gòu)十分相似,這使得C++程序員學(xué)習(xí)Java語(yǔ)言更加容易。
當(dāng)然,如果僅僅是對(duì)C++改頭換面,那么就不會(huì)有今天的Java熱了。Java語(yǔ)言提供的一些有用的新特性,使得使用Java語(yǔ)言比C++語(yǔ)言更容易寫(xiě)出“無(wú)錯(cuò)代碼”。
這些新特性包括:
1、提供了對(duì)內(nèi)存的自動(dòng)管理,程序員無(wú)需在程序中進(jìn)行分配、釋放內(nèi)存,那些可怕的內(nèi)存分配錯(cuò)誤不會(huì)再打擾設(shè)計(jì)者了;
2、去除了C++語(yǔ)言中的令人費(fèi)解、容易出錯(cuò)的“指針”,用其它方法來(lái)進(jìn)行彌補(bǔ);
3、避免了賦值語(yǔ)句(如a = 3)與邏輯運(yùn)算語(yǔ)句(如a = = 3)的混淆;
4、取消了多重繼承這一復(fù)雜的概念。
【Java專(zhuān)業(yè)介紹及就業(yè)前景分析】相關(guān)文章:
Java程序員就業(yè)前景分析07-14
測(cè)繪工程專(zhuān)業(yè)介紹與就業(yè)前景分析07-14
java的就業(yè)前景06-29
酒店專(zhuān)業(yè)就業(yè)前景與分析07-14
市場(chǎng)專(zhuān)業(yè)就業(yè)前景分析07-14
韓語(yǔ)專(zhuān)業(yè)就業(yè)前景分析07-14
藥物分析專(zhuān)業(yè)就業(yè)前景06-28