1. java源代碼怎樣製作成成果
http://jingyan..com/article/14bd256e272d17bb6d261214.html
http://jingyan..com/article/4f34706ed6fa0de387b56dcc.html
可以包裝生jar包或者生成exe文件。上面兩個網址說專了詳細的屬方法。
2. Java是什麼
最短的答案是:它是個面向網路的程序設計語言,用來讓程序員創建應用程序,這些應用程序可以通過網路下載,而且可在任何計算平台上安全地運行。如果再加上萬維網和公司內部網體系,你將會擁有一個標準的網路計算環境,Java作為一個分布式的,面向對象的程序設計語言,可以讓位於任何地方的任何計算機應用網路上的應用程序。
如果在商業角度看待Java,Java是個時髦話。同不少已經有20年歷史的其他程序設計語言相比,Java吸收了計算機科學領域的各種最新成果,另外一方面,由於Java還比較年輕,它缺少諸如Visual Basic 或C++那樣的豐富的編程工具的支持。
同C++一樣, Java是個面向對象的語言,這就意味著軟體可以以部件的形式編制,為了滿足某種任務,軟部件可以互相配合。運行Java,不必非得在網路環境中進行,Java同其他傳統的諸如COBOL或 Basic這樣的程序設計語言一樣,可以創建獨立運行的應用程序。只不過Java對互聯網上的應用開發更拿手。
Java適宜於互聯網的開發應用,其中一個原因是它使用了虛擬機,虛擬機是個用來解釋Java指令的軟體包,可以讓Java在任何機器上運行,比如有運行在Mac或 UNIX下的虛擬機軟體包。虛擬機並不是Java語言本身,它是個為特定機器編寫的解釋器軟體。Java的虛擬機策略就相當於世界語,這是個人造的國際語言,目的是使得不同語言之間的翻譯和溝通更加容易。
要稱作一個通用的計算機語言,Java是最適合不過的,這意味著它可以在所有的計算機上運行,(盡管需要為各種機器編寫Java虛擬機軟體),可以根據需要提供軟部件,並且具有內在的安全機制。
用Java編寫的操作系統,稱為JavaOS,是個基於語言的操作系統,它看起來似乎沒有機會來占據PC市場。但是它為Microsoft Windows和MacOS未來的發展提供了線索。它也許將來會應用到各種儀器設備中,包括電視遙控器和溫控器。
基於網路的內容供應商對Java技術很感興趣,因為它增加了交互性和動畫功能,這是吸引觀眾的關鍵因素。對於軟體商來說, Java有希望可以讓人們採用租用軟體的方式,諸如字處理器或者電子表格軟體,而無需購買軟體,這就改變了目前的商業模式。
Java也使得網路計算機成為現實,無須硬碟的,價值500美元的PC
將可以取代Wintel 結構的計算機。所有這一切都顯出Java的重要性,它的支持者把它視作對付微軟和蓋茨的最後的和最好的希望,這就是為什麼一些人對Java表現出狂熱的崇拜的原因。
3. JAVA是什麼
JAVA是什麼
簡言之,Java環境可用來開發能在任何計算平台上運行的應用軟體。它實際上是一種非常基本且結構緊湊的技術,而它對WorldWide Web以及商業的總體影響已可同電子表格對PC機的影響相比擬。
Java是巨大的推動力量
Java已用動態的交互應用軟體使Web栩栩如生。它使開發人員具有『編寫一次到處運行TM」的巨大能力。而且,藉助其JavaAPI及其編程語言上的Java虛擬機,它已產生一種分布信息的嶄新模式。這種模式叫做Java企業計算,正在幫助各企業以各種不同的方法取得競爭優勢。網管和控制已大大簡化。軟體分配基本上是免費的,而且立即可實現。電子貿易已獲得。佔有成本大幅度降低。信息和應用軟體到處可存取。
Java建立在簡單的前提基礎上,即所有微處理器都應講同一種語言??所有內部採用晶元的產品都應能一起工作,無縫而方便地共享信息。它已經改變企業和個人同Internet大交道的方式。現在,它正在對消費類產品產生明顯的影響,而且從總體上更加深刻地影響企業計算。
藉助Java,您可自由自在地使用您已擁有的硬體和軟體。這是因為Java是獨立於平台的。它還可使您超越企業計算,使應用軟體在攜帶型計算機、信息亭、電視、蜂窩電話和其他大量設備上運行。
全世界的公司都已發現Java數不勝數的用途。所有用途可從其無可比擬的能力,即提高可靠性、安全性和簡化各種不同計算產品和環境的能力中受益非淺,而且節省的時間和費用十分可觀。
Java無處不在。它已擁有幾百萬個用戶,其發展速度要快於在它以前的其他任何一種計算機產品。它可位於任何地方,而且能到處運行。Java正在迅速被用做傳播信息的事實上標准,這是因為它既可給企業,也可給最終用戶帶來似乎數不清的好處。
因此,請您仔細考察一下Java。它的優點是很容易發現的。
「Java正在進入企業、家庭和學校。 它正在象Internet本身一樣成為普遍存在的技術。」 ---Oracle 公司董事長和首席執行官 Larru Ellison
「Java正在改變我們使用Internet的方法,改變我們在公司內部存取信息的方法,甚至改變我們使用蜂窩電話的方法。它正在從根本上改變製作信息、銷售信息 和分配信息的方法。」 ---EarthWeb公司董事長和首席執行官 Jack Hidary
Java的來龍去脈
Sun公司一小組工程師聚集在一起,認真思考日常生活中的數字系統??因為烤麵包機、恆溫器、游戲機和其他無數設備 都包含越來越復雜的CPU??以及他們如何能使這些數字系統共享信息。
創造未來的計算
製造產品的人當然全都從不同的方面來考慮其設計,視他們所使用的硬體平台、操作系統和應用軟體而定。但是,如果您要 使這些產品中的一些產品一起工作,那怎麼辦?安全性、可靠性和網路問題又這么樣呢?
因此,Sun公司這些工程師把各種不同的產品折開來,然後又把它們重新組裝起來,其目標是要使這些不同的設備相互交談。 他們把這些研究對象相互傳來傳去,並理解所有其他研究對象的特性,以便使他們能更好地一起工作。這就把製造商的問題縮減 到最低程度,並使消費者能方便地進行集成。當傳統的語言證明是不適用時,工程師們就打算找到某種簡單的現代新語言。
於是,Java應運而生。人們很快發現,Java有可能超越工程師的想像。Java的魅力在 於它提供給開發人員和用戶的簡便性。開發人員擁有廣大的用戶基 礎、平台獨立性、降低的開發費用和始終如一的執行環境,而用戶 則可從生動的內容、即時軟體和增大的安全性中受益。但是,Java正是從置於World Wide Web那時起才真正起飛。
Java 使全世界大為震動,因為它使Web頁面栩栩如生,而且不久變得很明 顯,Java擁有大得多的潛力。人們之所以採納Java,是因為它有獨特 的能力來編制和部署能在任何一個網路、任何一個操作系統上運行的 應用軟體。分配軟體的時間和費用實際上已不復存在,使得各公司可 把更多的資源用來開發其產品。而且,某些工業專家認為,Java可能會改變軟體銷售模式,從固定價格改變為按使用量收費,這樣做更有 利可圖,而且可阻止非法盜版。
Java是一種網路計算的通用開放標准平台。這種平台可從電話一 直擴展到極端重要的應用,建立在您現有的硬體和軟體體系結構基礎 上,從而創造出一個全部聯網的企業或者製造出超出的創新產品。
「由於Java具有可縮放性,因而我們可以把Java應用於小應用軟體或大應用軟體,把它晶元組以及大型計算機和伺服器,並 使它為各種不同的應用領域服務。」 ---三菱公司系統營銷副總裁 Steve Hester
「藉助Java,您可以用一種能最有效地使用的方式動態地分 發和分配互動式商務應用軟體一一在需要運行應用軟體的地方, 在需要運行應用軟體的時候。」 ---Novell公司開發者服務部副總和總經理 Gary Mueller
Java紮下根來
在某種意義上,Java具體體現了Sun Microsystiems公司自其14年 前創建以來所追述的目標。當時,它創造了「網路就是計算機」這局名 言。它市基於Web的新網路計算模式的完美平台,因為它建立在各個 組織現有的硬體和軟體體系結構基礎上,能建立一個全部聯網的企業。
Java是一個完整而全面的解決方案
Java遠不止是一種編程語言,它是企業內外的完整計算環境,而 且萬事齊備,從開發工具、操作系統、伺服器軟體和瘦/肥客戶機一 直到網路管理工具、支持、培訓、咨詢和集成服務,一應俱全。Java 使用起來非常簡單,部分原因是Sun提供一種全面統一的解決方案。
主要組成部分包括:
*Java開發工具和服務:有助於簡化開發Java應用軟體的產品和服務
*JavaOS:一種結構緊湊的操作系統,可使Java應用軟體在網路計算機和蜂窩電話等設備上運行
*Java虛擬機:一層軟體,嵌入Windows、Macintosh和UNIX等計算機操作系統,或在這些操作系統上運行,從而使計算機能運行Java應用軟體
*Java API:標准軟體界面,位於Java應用軟體和資料庫檢索和安全性等服務軟體之間
*Java晶元:一系列為Java優化的為處理器
*Solstice WorkShop:Java啟動的網路管理工具
*Java培訓:一個由教師指導和基於多媒體的完整課程,教會編程員如何開發Java應用軟體,包括一個用來驗證熟練程度的認證計劃
*JavaWorkShop支持:900號電話服務,可為Java WorkShop用戶(僅限美國用戶)立即提供按需支持這些產品依靠由Sun的核心技術和服務提供的基礎,包括:
*Solaris操作系統
*Sikstuce企業管理系統
*WorkShop開發者工具
*SunSpectrum支持服務
*Internet咨詢和集成服務
*Java和Internet教育服務
*ultra工作站和Ultra Enterprise伺服器;Netra伺服器
難怪大公司和日益增多的全球2000公司正在把Java計算用做系統以及其終產品的主要方面。
「您不會把您自己鎖住在任何一家公司的專有技術中。開放意味著選擇。而Java使您有選擇餘地。
4. java中「:」是什麼意思
是計算機的一種語言
Java起源於80年代的中末期,當時西方有一種很時髦的產品:Active
TV,Java就是Sun公飼喂這種產品開發的一種語言,其目標是在小型嵌入式系統上運行。但是由於動態圖像壓縮標准MPEG卻始終未能出台,因而這個時期的Java也就中途夭折了。到了1990年,Sun公司副總裁James
Gosling再次提出Java的設計,其目標是希望仿效C和C++那樣設計出一種更簡單、更有效、更容易使用的跨多種計算機平台(硬體、操作系統等),可移植的通用語言。到了90年代中期,互聯網迅速崛起,短短幾年得到了巨速的發展,成千上萬的計算機,其中有個人的、企業的、政府的,公司加入到了互聯網上,致使互聯網深入到了生活、社會、經濟、政治、軍事的每一個角落,因此急需開發一種跨平台軟體開發工具,這給Java得到了一個極好的發展機遇,1995年Sun公司首次推出Java語言。短短的幾年中Java得到了極大的發展,成立互聯網開發和應用發展的一個重要工具。
二、Java的某些特點
1.通用性:指的是跨平台、跨網路、跨語種和跨時間。
跨平台:指的是Java與計算機平台(硬體、操作系統)無關。
跨網路:指的是Java與網路平台無關,可以穿越多種常用的網路類型(平台)。它的結構確切地說是B/S模型(瀏覽器/伺服器模型,亦稱Web模型)。B/S模型是一種三層結構的模型:客戶端/應用伺服器(Web伺服器)/資料庫伺服器。
跨語種:指的是Java的應用軟體不存在語言本地化問題,它本身帶有語言機制。它主要是通過所謂「國際語言管理」(International
Language
Management)模塊實現的。
跨時間:技術更新和保護投資的方案、產品升級容易,只需編寫一個新的模塊,替換老模塊即可。
2.可移植性:Java的源代碼是可移植的,而且對現有的幾乎所有操作系統無須修改便能運行,還具有多線程同步、與平台無關的用戶介面、內置聯網功能、對象會列印功能、出錯處理、內存管理等功能。CPU可移植性和虛擬操作系統。
3.支持分布式環境:
1)
分布式對象支持:類似於微軟的OLE(對象的鏈接和嵌入??Object
Linking
and
Embedding)。支持面向對象的「繼承」特性。
2)
分布式計算環境支持:通過不斷擴充的Java網路類庫支持分布式計算環境。Java提供一個URL(統一資源定位器)對象,用以打開並訪問網上對象。其方式幾乎與訪問文件系統幾乎完全相同。Java的客戶機/伺服器模式把運算從伺服器分散到客戶端。以提高系統執行效率,增加動態可擴充性。
5. 什麼是java開源項目誰能簡單地給我講一下!目的過程成果用途
開源項目就是Open Source Project,對於Java來說,上apache網站上可以找到很多這樣的程序,他們遵守GPL, Apache, Berkeley等稍有差別的開源協議,但大體意思都是可以自己修改代碼用於自己的程序的,包括商業用途。這類程序一般通用性的比較多,比如伺服器、資料庫、瀏覽器、論壇、博客等等,缺點是維護起來對技術要求比較高。
6. 如何勵志成就JAVA
我學習Java語言也很久了,雖然算不上是高手,但也能有點自己的發言權,我個人覺得:
1、不要先直接學習Java語言,Java的強大能夠讓你忽略程序設計的本質,面向對象的開發理念其實不適合初學者,建議你先學習C語言,熟悉變數的分配、內存的管理和幾種基本的控制語句,熟悉面向過程的程序設計能夠讓你對計算的執行流程有個概念,一開始就接觸面向對象不利於你對計算機系統的理解。
2、我個人覺得Java很強大的一點在於其異常豐富的類庫,譬如集合類,所以你得通過不斷地練習去學會這些常用類庫的使用。
3、其實最重要的還是你的程序設計思想本身,語言的機制本身並不會給程序帶來多大的影響。
4、關於書本的問題,有些人不推薦Thinking in Java,說不適合初學者。的確看這本書很頭痛,但是你會學到很多深入的東西,譬如最簡單的String類,一般的書只會跟你說怎麼用,但是Thinking會告訴你為什麼String特殊,以及怎樣合理的使用String,Javac編譯器會怎樣優化代碼中的String,以及String「不可更改」的本質;還有在介紹IO流的時候,一般的書只會告訴你幾個用法,但是不會告訴你為什麼要採用這種「嵌套」的方式·····
5、你的學會正確看待Java,他只是一種語言,僅此而已,基本的控制結構什麼的,所有的語言都差不多
7. Java語言的發展歷史
任職於太陽微系統的詹姆斯•高斯林等人於1990年代初開發Java語言的雛形,最初被命名為Oak,目標設置在家用電器等小型系統的程序語言,應用在電視機、電話、鬧鍾、烤麵包機等家用電器的控制和通信。
由於這些智能化家電的市場需求沒有預期的高,Sun公司放棄了該項計劃。隨著1990年代互聯網的發展,Sun公司看見Oak在互聯網上應用的前景,於是改造了Oak,於1995年5月以Java的名稱正式發布。Java伴隨著互聯網的迅猛發展而發展,逐漸成為重要的網路編程語言。
Java語言的發展歷史分為以下幾個階段:
1991 年Sun公司的James Gosling等人開始開發名稱為 Oak 的語言。希望用於控制嵌入在有線電視交換盒、PDA等的微處理器
1994年將Oak語言更名為Java
1998年JDK1.2時,更名為Java 2 Platform
分為標准版J2SE,企業版J2EE,微型版J2ME
Java 既安全、可移植,又可跨平台,而且人們發現它能夠解決Internet 上的大型應用問題
Internet使Java成為網上最流行的編程語言
Java對Internet的影響也意義深遠
B/S的興起 & C/S的沒落
8. 請問一下各位學過java的人,我想知道學了javase最終的成果是什麼是不是為了學習javaee和
SE 的最終成果?學海無邊的,呵呵,與時俱進吧
SE是針對桌面的客戶端的開發。客戶桌面的需求是多樣豐富的
漂亮的桌面,豐富的圖形,比如一些測繪軟體,復雜的地圖要會寫。
股票客戶端,復雜的曲線要會畫。圖形控制項的拖拽、觸摸要會寫。
網路接收發送要會寫,安全協議要求要能實施。。
涉及Java 2D 3D JCP等等。
辦公商用的開發為主,都要會做。
SE新整合JavaFX2.x,為了取代淘汰swing/SWT桌面GUI,不跟進的話怎麼叫最終?
如果跟進,FX等同於整個flash那套聲光影音的技術有很多要掌握熟悉甚至創造。
然後,還有Java EE....
9. 簡歷上的項目描述(JAVA)怎麼寫
想要成為合格的Java程序員或工程師到底需要具備哪些專業技能,面試者在面試之前到底需要准備哪些東西呢?本文陳列的這些內容既可以作為個人簡歷中的內容,也可以作為面試的時候跟面試官聊的東西,你可以把這些內容寫到你的簡歷中,當然更需要的是你在面試的時候向面試官展示這些專業技能。相信此文對正在尋覓Java程序員(Java工程師)職位的freshman以及希望成為中高級Java開發者的junior都會有所幫助。
專業技能
1.熟練的使用Java語言進行面向對象程序設計,有良好的編程習慣,熟悉常用的JavaAPI,包括集合框架、多線程(並發編程)、I/O(NIO)、Socket、JDBC、XML、反射等。
2.熟悉基於JSP和Servlet的JavaWeb開發,對Servlet和JSP的工作原理和生命周期有深入了解,熟練的使用JSTL和EL編寫無腳本動態頁面,有使用監聽器、過濾器等Web組件以及MVC架構模式進行JavaWeb項目開發的經驗。
3.對Spring的IoC容器和AOP原理有深入了解,熟練的運用Spring框架管理各種Web組件及其依賴關系,熟練的使用Spring進行事務、日誌、安全性等的管理,有使用SpringMVC作為表示層技術以及使用Spring提供的持久化支持進行Web項目開發的經驗,熟悉Spring對其他框架的整合。
4.熟練的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,對Hibernate的關聯映射、繼承映射、組件映射、緩存機制、事務管理以及性能調優等有深入的理解。
5.熟練的使用HTML、CSS和JavaScript進行Web前端開發,熟悉jQuery和Bootstrap,對Ajax技術在Web項目中的應用有深入理解,有使用前端MVC框架(AngularJS)和JavaScript模板引擎(HandleBars)進行項目開發的經驗。
6.熟悉常用的關系型資料庫產品(MySQL、Oracle),熟練的使用SQL和PL/SQL進行資料庫編程。
7.熟悉面向對象的設計原則,對GoF設計模式和企業應用架構模式有深入的了解和實際開發的相關經驗,熟練的使用UML進行面向對象的分析和設計,有TDD(測試驅動開發)和DDD(領域驅動設計)的經驗。
8.熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web伺服器和應用伺服器的使用,熟悉多種伺服器整合、集群和負載均衡的配置。
9.熟練的使用產品原型工具Axure,熟練的使用設計建模工具PowerDesigner和EnterpriseArchitect,熟練的使用Java開發環境Eclipse和IntelliJ,熟練的使用前端開發環境WebStorm,熟練的使用軟體版本控制工具SVN和Git,熟練的使用項目構建和管理工具Maven和Gradle。
說明:上面羅列的這些東西並不是每一項你都要爛熟於心,根據企業招聘的具體要求可以做相應的有針對性的准備。我個人覺得前6項應該是最低要求,是作為一個Java開發者必須要具備的專業技能
項目介紹
本系統是X委託Y開發的用於Z的系統,系統包括A、B、C、D等模塊。系統使用了Java企業級開發的開源框架E以及前端技術F。表示層運用了G架構,使用H作為視圖I作為控制器並實現了REST風格的請求;業務邏輯層運用了J模式,並通過K實現事務、日誌和安全性等功能,通過L實現緩存服務;持久層使用了M封裝CRUD操作,底層使用N實現數據存取。整個項目採用了P開發模型。
說明:上面的描述中,E通常指Spring(Java企業級開發的一站式選擇);F最有可能是jQuery庫及其插件或者是Bootstrap框架,當然如果要構建單頁應用(SPA)最佳的方案是前端MVC框架(如AngularJS)和JavaScript模板引擎(如HandleBars);G顯然是MVC(模型-視圖-控制),最有可能的實現框架是SpringMVC,除此之外還有Struts2、JSF以及Apache為JSF提供的MyFaces實現,可以使用JSP作為MVC中的V,也可使用模板引擎(如Freemarker和Velocity)來生成視圖,還可以是各種文檔或報表(如Excel和PDF等),而Servlet和自定義的控制器是MVC中的C,當然SpringMVC中提供了作為前端控制器的DispatcherServlet;J通常是事務腳本,K應該是AOP(面向切面編程)技術,L目前廣泛使用的有memcached和Redis;M的選擇方案很多,最有可能的是Hibernate和MyBatis,也可以兩種技術同時運用,但通常是將增刪改交給Hibernate來處理,而復雜的查詢則由MyBatis完成,此外TopLink、jOOQ也是優秀的持久層解決方案;底層的數據存取傳統上是使用關系型資料庫,可以是MySQL、Oracle、SQLServer、DB2等,隨著大數據時代的來臨,也可以採用NoSQL(如MongoDB、MemBase、BigTable等)和其他大數據存取方案(如GFS、HDFS等);項目的開發模型P可以是瀑布模型、快速原型模型、增量模型、螺旋模型、噴泉模型、RAD模型等。
項目開發流程
1.可行性分析>>>可行性分析報告/項目開發計劃書
2.需求分析>>>需求規格說明書
1.OOAD(用例圖、時序圖、活動圖)
2.界面原型:幫助理解需求、業務層設計時推導事務腳本
3.設計>>>概要設計說明書/詳細設計說明書
1.抽取業務實體(領域對象):類圖、E-R圖(概念設計階段)
2.分層架構:確定各層的技術實現方案(具體到使用的框架、資料庫伺服器、應用伺服器等)。業務層設計:事務腳本模式(事務:用戶發送一次請求就是一個事務;腳本:一個方法或一個函數;事務腳本:把一次請求封裝為一個方法或一個函數;事務腳本模式:一個事務開始於腳本的打開,終止於腳本的關閉)。業務層涉及的對象本有三種類型:事務腳本類(封裝了業務的流程)、數據訪問對象(DAO,封裝了持久化操作)、數據傳輸對象(DTO,封裝了失血/貧血領域對象),三者之間的關系是事務腳本類組合(聚合)數據訪問對象,這二者都依賴了數據傳輸對象
3.正向工程(UML類圖生成Java代碼)和逆向工程(Java代碼生成UML類圖)
4.資料庫物理設計(ER圖轉換成表間關系圖、建庫和建表、使用工具插入測試數據)
4.編碼5.測試>>>測試報告/缺陷報告
1.單元測試:對軟體中的最小可測試單元進行檢查和驗證,在Java中是對類中的方法進行測試,可以使用JUnit工具來實施。
2.集成測試:集成測試也叫組裝測試或聯合測試。在單元測試的基礎上,將所有模塊按照設計要求組裝成為子系統進行測試。
3.系統測試:將已經確認的軟體、硬體、外設、網路等元素結合在一起,進行信息系統的各種組裝測試和確認測試,系統測試是針對整個產品系統進行的測試,目的是驗證系統是否滿足了需求規格的定義,找出與需求規格不符或與之矛盾的地方,從而提出更加完善的方案。
4.驗收測試:在軟體產品完成了單元測試、集成測試和系統測試之後,產品發布之前所進行的軟體測試活動。它是技術測試的最後一個階段,也稱為交付測試。驗收測試的目的是確保軟體准備就緒,並且可以讓最終用戶將其用於執行軟體的既定功能和任務。
5.交付和維護>>>用戶手冊/操作手冊
項目管理
版本控制:CVS/SVN/Git
自動構建:Ant/Maven/Ivy/Gradle
持續集成:Hudson/Jenkins
系統架構
負載均衡伺服器:F5、A10
應用伺服器:
HTTP伺服器:Apache、NginX(HTTP、反向代理、郵件代理伺服器)
Servlet容器:Tomcat、Resin
EJB容器:WildFly(JBossApplicationServer)、GlassFish、Weblogic、Websphere資料庫伺服器:MySQL、Oracle
第三方工具(插件)應用
圖表工具:基於jQuery的圖表插件(如jQchart、Flot、Charted等)、Chart.js、Highcharts等。
報表工具:PentahoReporting、iReport、DynamicReports等。
文檔處理:POI、iText等。
工作流引擎:jBPM、OpenWFE、Snaker、SWAMP等。
作業調度:Quartz、JobServer、Oddjob等。
緩存服務:EhCache、memcached、SwarmCache等。
消息隊列:Open-MQ、ZeroMQ等。
安全框架:Shiro、PicketBox等。
搜索引擎:IndexTank、Lucene、ElasticSearch等。
Ajax框架:jQuery、ExtJS、DWR等。
UI插件:EasyUI、MiniUI等。
富文本框:UEditor、CKEditor等。
面試提問
項目是為哪個公司開發的?
項目的投入是多少?
有多少人參與了項目開發?
整個團隊中,測試人員、開發人員、項目經理比例是多少?
項目開發了多長時間?
項目總的代碼量有多少?
你的代碼量有多少?
項目採用了怎樣的開發模型或開發流程?
項目的架構是怎樣的?
項目的技術選型是怎樣的?
你在項目中承擔了怎樣的職責?
是否經常開會或加班?
項目完成後有哪些收獲或是經驗教訓?
項目中最困難的部分是什麼?
如何解決團隊開發時遇到的各種沖突?
明:對於沒有實際項目經驗的,可以在前程無憂、智聯招聘、拉勾網等網站上搜索招聘Java程序員的公司,找到他們的官方網站了解他們做的項目,查看項目的詳細介紹,然後嘗試完成其中一部分功能,最好請教一下高人看看自己的設計和代碼是否恰當,這樣相當於積累了一定的項目經驗。
面試時可以反問面試官的問題
我注意到你們使用了X技術,請問你們是如何解決Y問題的?
為什麼你們的產品使用了X技術而不是Y技術?據我所知,X技術雖然有A、B、C等好處,但也存在D和E問題,而Y技術可以解決D和E問題。
我對您說的X技術不是太熟悉,但我感覺它是一個不錯的解決方案,您能多講講它的工作原理嗎?
你們團隊是如何進行項目規劃的?一周會有幾次例會?每周的代碼量大概是多少?
就X問題我能想到的解決方案目前就只有Y了,請問您會怎麼解決這個問題?
錄用談判
要理直氣壯的提出具體的待遇要求
開出比預期稍高的價碼
不要只盯著薪水(很多公司更願意就薪水之外的條件做出讓步)
使用最合適的方法(可以嘗試在電話或E-mail中談判待遇)
自我評價
學習能力(搞IT行業的人需要不斷的了解新的技術、工具和方法)
團隊意識(相比個人英雄主義,IT行業更倡導團隊合作)
抗壓能力(很多IT企業的工作強度相對來說還是比較大的)
自學編程,免費獲取精品IT教程以及資料,搜索:黑馬程序員
網頁鏈接
10. 自學JAVA如何才算有成果
對於開發工作最低的技術要求,一個人能夠開發出一個比較完善的系統,比如進銷回存。一個人能夠答開發,是指,能理解整個開發過程中的每個環節,並且有解決開過過程中遇到的問題的能力。
當然這只是一個程序員最低的標准。
對於初學者開說,建議通過做一個真實的例子來驅動學習。這樣效率會更高一些。
只能說學無止境,是對自己的負責任。