Java專業介紹及就業前景分析
Java就業前景詳細分析
Java有很多特點,最主要有三個:第一,跨平臺,不管是Windows還是Unix或是其它平臺,它都可以用;第二,面向對象;第三,動態域的控制。這是三條根本的特點,而這三點,是C++及其它語言無法比擬的(C++儘管也是面向對象,但並不是嚴格意義上的面向對象)。面向對象是軟件工程最核心的技術,所以Java是網絡工程最佳的選擇。Java發展到現在,已經不僅僅是一種語言,而可以說是一種技術,這個技術涉及到網絡、編程等領域。
Java藉助於Internet已經從一種網絡編程語言發展成爲了第一大通用開發平臺,在應用方面Java已經超越了C++,起獨有的開放性,跨平臺設計,和標準化,使得Java在我國得以廣泛運用。
自95年5月Java問世中國以來,已快速的發展起來,國內諸多軟件廠商,像中軟,用友,金蝶,東軟,永中等均推出了以Java爲基礎的軟件。我國的Java人才需求量也在不斷壯大,目前我國Java人才還遠遠不夠,至少短缺20萬。
javascript 中(function{})()這種寫法什麼意思?
最近在整理javascript 學習,發現這個問題了 ,在網上發現這麼個解釋 最清楚 最明白 ;
(function(){})()
相當於先定義 function xx(){},後調用 xx();
()是最高優先級的,所以先執行function(){},
這個定義了一個匿名函數,等於xx=function(){}
接着就是調用xx()了;
給個例子
JScript codefunctionf1(a)
{ alert(a);
functionf2(a)
{ returnfunction(){ alert(a); }
}這裏的var x=f2 就等於把函數傳遞給了f2,然後要執行這個函數,就必須加() 也就是x();
也就是f2()
還是(function f2(a){
return function(){
alert(a);
另外還有一個問題就是命名空間的問題
YY = YY||{};---聲明一個叫YY的命名空間(定義一個全局的變量)
(function() {
=function() {------聲明一個叫的命名空間(通過全局變量的增加屬性的方式把閉包裏的對象傳到全局變量中,實現代碼封裝的效果)
isUndefined: function(o) {
return typeof o === 'undefined';
isString: function(o) {
return typeof o === 'string';
---調用方法
alert(ring('test me'));
這時候就有人不明瞭,樓上爲什麼要加(function() { 和)(); 最外面的這兩行,有什麼用啊?
JScript codeYY=YY||{}; //---聲明一個叫YY的命名空間(定義一個全局的變量)
function() { =function() {
//------聲明一個叫的命名空間(通過全局變量的增加屬性的方式把閉包裏的對象傳到全局變量中,實現代碼封裝的效果) isUndefined:function(o) {returntypeofo==='undefined'; },
isString:function(o) {returntypeofo==='string'; } }; }
//---調用方法
alert(ring('test me'));
疑問在這:?????? 註釋掉這兩行有什麼不一樣的呢?不就是申明嗎,爲什麼要用()()執行一下啊?
答:
(function(){})()意思是立即執行前一個括號裏的function,相當於是一個匿名函數;由於裏面的代碼的執行,定義了這個對象,所以可以執行alert(ring('test me'));調用isString方法。
但是,如果按照你寫的
functionaa(){..};//只是定義了一個叫aa的函數,但是並沒有執行
alert(ring('test me'));//執行的時候會報找不到isString的方法。
這麼寫有什麼好處??????????????
(function{})()的寫法有個好處,就是能很好的利用javascript的變量的可見範圍爲執行腳本時節省空間。例如以下寫法1和寫法2達到的目的是一樣的,但是寫法1的由於a變量的可見範圍只是在匿名函數體內,所以a在執行完這個匿名函數後就釋放空間了。但是寫法2會一直存在該頁面中。
寫法1:
JScript code(function(){vara=2; alert(a); })();
寫法2:
JScript codevara=2; alert(a);
Java服務器軟件工程師試題
Java服務器軟件工程師試題一、 選擇題1. 欲構造ArrayList類的一個實例,此類繼承了List接口,下列哪個方法是正確的 ( )A ArrayList myList=new Object(); B List myList=new ArrayList(); C ArrayList myList=new List(); D List myList=new List(); 2. paint()方法使用哪種類型的參數? ( )A Graphics B Graphics2D C String D Color 3. 指出下列程序運行的結果( ) public class Example{ String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ge(,); t(+" and "); t(); } 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. 要從文件" "文件中讀出第10個字節到變量C中,下列哪個方法適合? ( )A FileInputStream in=new FileInputStream(""); (9); int c=(); B FileInputStream in=new FileInputStream(""); (10); int c=(); C FileInputStream in=new FileInputStream(""); int c=(); D RandomAccessFile in=new RandomAccessFile(""); (9); int c=Byte(); 5. 給出下面代碼,那個語句是正確的?( )public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { tln(arr[1]); } } A 編譯時將產生錯誤; B 編譯時正確,運行時將產生錯誤; C 輸出零; D 輸出空。 7. 執行下面的hql查詢,關於返回值的說法,正確的是( ) select name,id from u where u is not nullA語法錯誤,不能執行B返回一個類型爲List的實例C返回一個數組D當返回結果只有一條時,返回一個數組8. 下面的程序執行後沒有報錯,但數據總保存不到數據庫,最可能的原因 ( )public static void imain(String[] args){ SessionFactory sf=new Configration()igure()dSessionFactory(); Session session=Session(); Medal medal=new Medal(); wner(“totong”); ype(“Gold medal”); (user); e();}A配置文件配置有誤B沒有在配置文件中包含對映射文件的聲明C配置文件配置有誤D沒有對持久化操作捕捉異常E沒有開啓事務二、多項選擇題1. 執行下列代碼後,哪個結論是正確的 String[] s=new String[10]; ( )A s[10] 爲 ""; B s[9] 爲 null; C s[0] 爲 未定義 D th 爲10 2. 下列哪個方法可用於創建一個可運行的類? ( )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(){ ......} } ic class X implements Thread{ public void run(){ ......} } 3. 下面哪個方法可以在任何時候被任何線程調用? ( )A notify() B wait() C notifyAll() D sleep() d() hronized(this) 4. 構造BufferedInputStream的合適參數是哪個? ( )A BufferedInputStream B BufferedOutputStream C FileInputStream D FileOuterStream E. File 5. 指出下列哪個方法與方法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 與數據庫建立連接B 通過JDBC-API向數據庫發送SQL語句C通過JDBC-API執行SQL語句D進行實體關係的映射 7. Hibernate通過____接口,____接口和Type層次體系來訪問元數據。( )A ClassMetadataB CollectionMetadataC MetadataD CollectionMeta三,問答題1.執行下列代碼後的結果是什麼? int x,a=2,b=3,c=4; x=++a+b+++c++;2.簡述什麼是設計模式,請描述你用過的幾種設計模式!3.從JAVA的角度理解,什麼是重構?ractclass和interface有什麼區別? r和exception有什麼區別?7.下列程序中構造了一個SET並且調用其方法add(),輸出結果是?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(); (new A()); (new A()); (new A()); tln(()); } } 8、請說出你所知道的線程同步的方法9、如果系統要使用超大整數(超過long長度範圍),請你設計一個數據結構來存儲這種超大型數字以及設計一種算法來實現超大整數加法運算
甲骨文分羹Android 谷歌藉機升級"山寨"Java
導讀:近年來,各種專利訴訟案頻發,各個廠商對自有專利的所有權和使用權越發的重視,一方是維護自己的權利、增加營收範圍,一方是防止同行分享自己辛苦的經營成果,孰是孰非可謂見仁見智。
天極網4月26日消息,在4月25日的甲骨文起訴GoogleAndroid系統侵權案的審判中,一名Android前任工程師伯恩斯坦(DanBornstein)承認,去年在遭到起訴後,他曾負責在Android中移除了部分Java技術。
伯恩斯坦表示,Android是一個“活的項目”,隨時都在修改調整,並稱這部分Java技術是通過瑞士的一個軟件開發承包商Noser帶到Android中的,當時Android方面曾建議該公司哪些技術可以移植到Android,哪些則不可以。
(甲骨文分羹Android谷歌可藉機升級“山寨”Java)
事件回顧
甲骨文在收購了Sun公司並獲得Java專利權後,於2010年8月將Google告上法庭,指控其Android操作系統侵犯了Java技術專利,並要求賠償10億美元。
在今年3月底,Google表示願意向甲骨文支付兩項專利的2011年費用,共計280萬美元。至於未來的賠償,Google提議將Android營收0.5%作爲一項專利的費用,此專利今年12月到期;另外將0.015%的營收作爲第二項專利的費用,此專利2018年4月到期。但甲骨文對此的迴應則是“Google開出的賠償額度太低了”。
Google表態:所用技術無需授權
3月25日,“Android之父”Google高層安迪·魯賓也在法庭上作證,他強調,“Android開發中所使用了Java部分不需要專利授權的技術,所以無需支付專利費,也不需要獲得甲骨文的授權。”
有報道稱,在去年專利訴訟發生的前幾周,一封Google內部郵件透露,當時Google創始人拉里·佩吉(LarryPage)和塞爾吉·布林(SergeyBrin)曾要求“調查哪種技術可以成爲Android中Java的替代方案”,而最終的討論結果是“我們尋找了許多方案都不行,因此得出結論:我們要商討Java授權。”
分羹Android
法庭文件披露,谷歌曾經在2010年預測,到2013年,來自Android的相關收入(包括廣告、軟件產品、數字音樂消費等)將會高達37億美元。
甲骨文如此大動干戈的索要Java技術授權費,一定程度上也是看準了Android的巨大價值潛力,而Google方面千方百計的推脫責任,或許也是在爲繼續尋求Java替代方案拖延時間,或者想要爭取更低的授權費用。
近年來,各種專利訴訟案頻發,各個廠商對自有專利的所有權和使用權越發的重視,一方是維護自己的權利、增加營收範圍,一方是防止同行分享自己辛苦的經營成果,孰是孰非可謂見仁見智,而雙方爲之付出的巨大精力和財力是顯而易見的。
隨着訴訟的發展進程,Google方面並不佔據優勢,若最終甲骨文贏得官司,甲骨文則可獲得上億美元的專利費,而Google也有機會將其“山寨”Java升級爲“正版”Java,對於Android系統的`完善也不失是件好事。而目前Google最應該做的就是想辦法說服甲骨文降低專利授權費用。
Java語言中面向對象是什麼意思
何謂面向對象是什麼意思呢?
面向對象程序設計是將人們認識世界過程中普遍採用的思維方法應用到程序設計中。對象是現實世界中存在的事物,它們是有形的,如某個人、某種物品;也可以是無形的,如某項計劃、某次商業交易。對象是構成現實世界的一個獨立單位,人們對世界的認識,是從分析對象的特徵入手的。
對象的特徵分爲靜態特徵和動態特徵兩種。靜態的特徵指對象的外觀、性質、屬性等;動態的特徵指對象具有的功能、行爲等。客觀事物是錯綜複雜的,但人們總是從某一目的出發,運用抽象分析的能力,從衆多的特徵中抽取最具代表性、最能反映對象本質的若干特徵加以詳細研究。
人們將對象的靜態特徵抽象爲屬性,用數據來描述,在Java語言中稱之爲變量;人們將對象的動態特徵抽象爲行爲,用一組代碼來表示,完成對數據的操作,在Java語言中稱之爲方法,。一個對象由一組屬性和一組對屬性進行操作的方法構成。
Java語言優點介紹
Java語言的優點
Java語言是一種優秀的編程語言。它最大的優點就是與平臺無關,在Windows 9x、Windows NT、Solaris、Linux、MacOS以及其它平臺上,都可以使用相同的代碼。“一次編寫,到處運行”的特點,使其在互聯網上被廣泛採用。
由於Java語言的設計者們十分熟悉C++語言,所以在設計時很好地借鑑了C++語言。可以說,Java語言是一種比C++語言“還面向對象”的一種編程語言。Java語言的語法結構與C++語言的語法結構十分相似,這使得C++程序員學習Java語言更加容易。
當然,如果僅僅是對C++改頭換面,那麼就不會有今天的Java熱了。Java語言提供的一些有用的新特性,使得使用Java語言比C++語言更容易寫出“無錯代碼”。
這些新特性包括:
1、提供了對內存的自動管理,程序員無需在程序中進行分配、釋放內存,那些可怕的內存分配錯誤不會再打擾設計者了;
2、去除了C++語言中的令人費解、容易出錯的“指針”,用其它方法來進行彌補;
3、避免了賦值語句(如a = 3)與邏輯運算語句(如a = = 3)的混淆;
4、取消了多重繼承這一複雜的概念。
-
南京工程學院環境工程專業就業前景
相信很多朋友學習環境工程專業並非是對它非常瞭解,也許就如90年代初期大家都搶着去報生物工程一樣,覺得是一種時尚.事實證明,環境工程專業並非只是時尚,它是引導時尚的潮流,未來的朝陽行業,在社會發展日新月異的今天,環境工程越來越受到重視.世界各國都已經非...
-
鐵路物流管理就業前景
鐵路物流根據鐵路資源配置和優化條件,將運輸、儲存、裝卸、搬運、包裝、流通加工、配送、信息處理等功能有機結合,以下是本站小編收集的鐵路物流管理就業前景,僅供大家閱讀參考!鐵路物流管理就業前景一、專業介紹鐵路物流管理專業是學校的重點專業。近年來,中國的...
-
瀋陽化工大學最好的專業就業前景怎麼樣
如題,瀋陽化工大學最好的專業就業前景怎麼樣1.我看還是高分子材料與工程最好,就業也不錯,還有就是不要只看就業率,還要看就業質量,像機械這種放眼全國高校就業率都很高的專業,很難說它在本學校是特色和品牌專業,如果你是一個喜歡化學的'朋友,千萬不要選擇化學工程與工...
-
食品科學與工程專業就業前景怎麼樣
食品科學與工程就業前景堪憂,本科畢業生去食品企業就業一般只能從事品質控制或者營銷類工作,就業狀況不穩定,薪資水平較低。最近幾年受國有企業進行體制改革及食品工業普遍效益不佳的影響,食品科學與工程專業畢業生的就業難度陡然增大。同一院校內部,食品專業相對於...