導航:首頁 > 源碼編譯 > 多層編譯器

多層編譯器

發布時間:2022-04-20 05:59:01

㈠ FOXPRO 9.0什麼意思!解釋解釋!

強大的家族
為了理解FoxPro遺留的能量,了解它的發展史是有幫助的。在八十年代中期,噴氣發動機實驗室(JPL)跟其它政府機構一樣,也使用微型
和個人計算機。這些獨立的機器使工程師有時不用操作大型機就能處理大量的數據集合,同時還把簡單的類似英語的命令(他們可以在DOS下執
行這些命令)組合到程序中了。這些程序變成了應用程序,並且一種新類型的應用程序開發人員誕生了。那時經常使用電子數據表和靜態數據
包,但是它們都比較麻煩,並且容易造成數據丟失。
資料庫是處理大量數據的邏輯解決方案,因此Wayne Ratliff編寫了一個自己帶有資料庫的程序,並且同時添加了一組可以在數據上執行的
命令。「Vulcan」帶有一個互動式的點提示符,使用易於記住的慣用語,允許工程師使用一組簡短的命令操作自己的數據——就像操作物理數
據集合一樣。這個程序最終成為Ashton-Tate的dBase資料庫程序。
「dBase與BASIC、C、FORTRAN和COBOL程序是不同的,在dBase程序中很多麻煩的工作已經被做好了。數據維護是由dBASE而不是由用戶完成
的,因此用戶可以把精力集中在自己的事務上,而不必與處理打開、讀取和關閉文件、管理空間分配這些麻煩的工作絞在一起。」——Wayne
Ratliff
在它發布後的幾年之內,大量的dBase克隆產品沖擊了市場。FoxBase由於引人注目的高速度和穩定性獲得了很大的名氣。此外,Fox小組很
敏捷,對用戶團體作出的響應更多。通過定期的修補,通過CompuServe和重要版本的及時支持,作為對用戶請求的回應,它在非常接近原始版
本的同時,通過添加提高生產率的工具變得更快了。
FoxPro發布的時候,它為DOS程序員提供了窗口界面。Fox小組已經提供了跨平台的編譯器,允許開發者在Unix或DOS上,以及在後來的
Windows版本和Mac上部署應用程序。接著出現了FoxPro 2,它帶來了「Rushmore」(FoxPro著名的數據性能增強部分)技術、在線的SQL命令、
圖形屏幕和報表編寫器。
Visual FoxPro
Visual FoxPro(它現在屬於微軟)帶來了OOP(面向對象編程)、完全的關系數據存儲和遠程數據訪問。因此,到1995年時,FoxPro開發
者可以自然地使用SQL、使用面向對象編程、編寫多層結構的、跨平台的應用程序——而且同時還可以兼容dBase II編寫的遺留代碼。
對於FoxPro開發者來說,Fox已經完全成為一種安全的應用程序開發途徑;你對於這種技術的投資不會受到廠商變革的影響。不幸的是,市場中
的其它產品或同一個廠商的不同產品卻不再是這樣的。這導致了目前的對FoxPro和它在開發者世界中的地位的誤解。
VFP將不會成為一種.NET語言。這種可能性在開發VFP 7時就被慎重地考慮過,但是這種改變可能會導致一些嚴重的結果,最好的後果是不
能保持向後兼容,最糟的後果是丟掉它強大的數據維護能力。.NET框架組件和VFP廣泛的語言和類之間多餘的區域會帶來更多的混淆,很可能導
致該產品更早地死亡。
由於Visual FoxPro將不會運行受控代碼,對微軟來說它就沒有戰略意義了,這可以理解。但是,它是一個成熟的開發平台。你編寫、部署
和維護多層的、高可用性的、桌面的、互聯網的、COM和Web服務的開發所需要的一切都已經由Visual FoxPro或第三方廠商提供了。它包含了牢
固的面向對象語言和完全的關系化、速度很快的資料庫(支持2G或十億條記錄以下的表)和獨立的OLEDB數據提供程序。甚至連IDE也有完全的
可擴充的設計表面,擁有內建在語言(和已發布資源)中的工具和向導等重要部分。它與SQL Server嚴格地兼容,擁有良好的COM交互操作能力
——包括Office自動化、強大的XML處理和功能,以及與20年前編寫的代碼的兼容性。
目前VFP適合於哪些場合?
它仍然是希望完成事務的專業人員的選擇。
它特別適合那些主要工作不是編寫代碼的工作人員。
下面是Lt.John Harver的話:
「我的日常職務是真北(TN)Memphis的Shelby州州長辦公室副職人員,是信息系統指揮官。我已經部署了我們機構(例如Memphis警察
局)、所有地方法律執行機構和大多數聯邦機構(例如FBI、ATF Marshals和Secret Service)正在使用的系統。我的最近一個『大項目』是為
逃往局(Fugitive Bureau)開發的基於膝上型電腦系統,在系統中辦公人員通過無線數據機和WiFi訪問數據。他們能夠讀取嫌疑犯照片、
逮捕記錄等等,還可以用信息列印逮捕傳票。該系統的中間件是Webconnection(一款VFP Web產品),我們從VFP、SQL Server和天騰大型機中
獲取數據」。
我問他是否能夠使用.NET完成上述的全部事務。他的回答是「我只有三個.NET開發人員,而且經常有其它的事情」。
這並不是因為這個應用程序適合於在Fox中運行而不適合在.NET中運行。這是因為一個州長辦公室人員能夠互動式地使用一個工具,自動化
工作,把他的程序遷移到一個應用程序中,擴展應用程序與其它的系統集成,並最終建立一套價值無法估計的工具。
它仍然是那些對已有代碼做了很大投入的開發者的選擇。
Chris Jeffries是人力資源微型系統公司(Human Resources MicroSystems)的開發副經理。他們的HR應用程序套件正在與SAP和
PeopleSoft系統的能力和功能進行競爭。該應用程序的核心使用Visual FoxPro和.NET編寫,他們已經擁有適合中小組織的產品,也有適合大型
企業的產品。
Chris認為:
「…我推測全世界范圍內數以十億記的記錄存儲在FoxPro中,並且FoxPro DML是管理這些記錄的最好途徑。這種語言是編程世界中最平易
近人的語言,只需要很小的技巧就可以理解它」。
對於向.NET遷移的問題,他是這樣回答的:
「開發新解決方法的時候,我們在.NET上花費的時間要比在VFP上花費的時間更多,但是我們的核心業務仍然使用VFP。桌面應用程序仍然
使用VFP,僅僅是由於資源的限制,重新用.NET編寫代碼太大了。.NET窗體、報表和VFP桌面應用程序的其它特性需要被重新編寫用來提供相同
的終端用戶靈活性」。
它仍然是資源有限的經理的選擇
Visual FoxPro可以運行在八年以前的硬體上,而且還運行得很快。這可能是個可笑的證據,但是如果你在第三世界市場、軍事或政府部門
中工作過,你就知道能在舊的硬體上工作是個無可厚非的要求。發布和剝離使用FoxPro編寫的應用程序而不用擔心許可的問題一定是購買決策
的重要部分。
還有一些環境也是這樣的,如IT資源超標了,並且幾乎不可能維護舊系統。但是由於FoxPro的高發現能力,讓某個人計算出維護甚至於擴
展應用程序需要花費的資源相當容易。
VFP的MVP(最有價值成員)Garrett Fitzgerald這樣說道:
「長期以來FoxPro一直是不希望(或不能)花費錢財追趕最新技術的公司的麵包和牛奶。小零售店不需要.NET/SQL Server解決方案來運行
自己的業務,也沒有花費這些錢的理由。FoxPro運行得很快,即使在相對更少的硬體上。但是,如果正確地編寫,Fox應用程序能夠(並且已
經)處理數百G的數據。」
對於他繼續選擇VFP的問題,他的回答是「因為我使用VFP的效率很高,並且可以給客戶提供極好的價值」。
FoxPro是數據為中心的應用程序的瑞士軍刀
我發現在交付VFP應用程序之後,我掌握了整個軟體開發的過程。我理解了從設計到維護再到遷移的問題。我理解了資料庫設計、面向對象
設計、用戶界面設計、業務對象設計、數據訪問層、COM和Web服務、企業設計模式的形形色色的細節。
你為什麼需要關心Visual FoxPro?因為它無處不在,它強大、易於學習、便宜,並且想得到你職位的人也知道這種語言能實現什麼功能
——還有,某些編程任務能夠快速、直接的進行特殊的資料庫維護。
換句話說,我希望成為一個理解這種工具的.NET開發者。即使我再也不會編寫任何FoxPro應用程序,我也會把它安裝在自己的計算機上。

㈡ 為什麼說java程序是邊解釋邊執行的

java應用程序的開發周期包括編譯、下載、解釋和執行幾個部分。java編譯程序將java源程序翻譯為jvm可執行代碼--位元組碼。這一編譯過程同c/c++的編譯有些不同。當c編譯器編譯生成一個對象的代碼時,該代碼是為在某一特定硬體平台運行而產生的。因此,在編譯過程中,編譯程序通過查表將所有對符號的引用轉換為特定的內存偏移量,以保證程序運行。java編譯器卻不將對變數和方法的引用編譯為數值引用,也不確定程序執行過程中的內存布局,而是將這些符號引用信息保留在位元組碼中,由解釋器在運行過程中創立內存布局,然後再通過查表來確定一個方法所在的地址。這樣就有效的保證了java的可移植性和安全性。運行jvm位元組碼的工作是由解釋器(java命令)來完成的。解釋執行過程分三部進行:代碼的裝入、代碼的校驗和代碼的執行。裝入代碼的工作由"類裝載器"(classloader)完成。類裝載器負責裝入運行一個程序需要的所有代碼,這也包括程序代碼中的類所繼承的類和被其調用的類。當類裝載器裝入一個類時,該類被放在自己的名字空間中。除了通過符號引用自己名字空間以外的類,類之間沒有其他辦法可以影響其他類。在本台計算機上的所有類都在同一地址空間內,而所有從外部引進的類,都有一個自己獨立的名字空間。這使得本地類通過共享相同的名字空間獲得較高的運行效率,同時又保證它們與從外部引進的類不會相互影響。當裝入了運行程序需要的所有類後,解釋器便可確定整個可執行程序的內存布局。解釋器為符號引用同特定的地址空間建立對應關系及查詢表。通過在這一階段確定代碼的內存布局,java很好地解決了由超類改變而使子類崩潰的問題,同時也防止了代碼對地址的非法訪問。隨後,被裝入的代碼由位元組碼校驗器進行檢查。校驗器可發現操作數棧溢出,非法數據類型轉化等多種錯誤。通過校驗後,代碼便開始執行了。java位元組碼的執行有兩種方式:1.即時編譯方式:解釋器先將位元組碼編譯成機器碼,然後再執行該機器碼。2.解釋執行方式:解釋器通過每次解釋並執行一小段代碼來完成java位元組碼程序的所有操作。通常採用的是第二種方法。由於jvm規格描述具有足夠的靈活性,這使得將位元組碼翻譯為機器代碼的工作具有較高的效率。對於那些對運行速度要求較高的應用程序,解釋器可將java位元組碼即時編譯為機器碼,從而很好地保證了java代碼的可移植性和高性能。java宣稱的一處編寫隨處運行就是由jvm來完成.在sun的網站上你可以下載到基於各種cpu和各種操作系統的jdk和jre的下載版本,只要尋找到合適你使用的版本,以前你所編寫的class文件到其他的機器上可以直接運行JAVA,不需要再編譯.其實j2se是一種規范,這種規范約定了其跨平台執行的所需要關注很多實現,基於該規范開發人員可以任意編寫自己的java代碼而不需要關心這個程序可能在其他的機器和cpu上無法很好運行問題.其實你也可以看到ibm和weblogic都有基於j2se規范的自己實現的java虛擬機.而且sun所宣稱的不需要編譯而可以直接用class文件在各個jvm上直接運行並不精確,博格曾經遇到過用sunjre開發的class文件在ibmjre上有一個自動轉換的過程,然後這個類可以很好的工作了,幸好這種情況是自動完成,否則我們又要陷入類似於各種cc++的版本編譯器兼容性問題中.以下下摘錄了幾個主要的概念:jvmjavavirtualmachine(java虛擬機),它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能來實現的。java虛擬機有自己完善的硬體架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。jvm屏蔽了與具體操作系統平台相關的信息,使得java程序只需生成在java虛擬機上運行的目標代碼(位元組碼),就可以在多種平台上不加修改地運行。java虛擬機在執行位元組碼時,實際上最終還是把位元組碼解釋成具體平台上的機器指令執行。jrejavaruntimeenvironment(java運行環境),運行java程序所必須的環境的集合,包含jvm標准實現及java核心類庫。,和jdk以及j2se等同。jdkjavadevelopmentkit(java開發工具包):包括運行環境、編譯工具及其它工具、源代碼等,基本上和j2se等同。j2mejava2microedition(java2精簡版)api規格基於j2se,但是被修改為可以適合某種產品的單一要求。j2me使java程序可以很方便的應用於電話卡、尋呼機等小型設備,它包括兩種類型的組件,即配置(configuration)和描述(profile)。j2eejava2enterpriseedition(java2企業版),使用java進行企業開發的一套擴展標准,必須基於j2se,提供一個基於組件設計、開發、集合、展開企業應用的途徑。j2ee平台提供了多層、分布式的應用模型,重新利用組件的能力,統一安全的模式以及靈活的處理控制能力。j2ee包括ejb,jta,jdbc,jca,jmx,jndi,jms,javamail,servlet,jsp等規范。j2sejava2standardedition(java2標准版),用來開發java程序的基礎,包括編譯器、小工具、運行環境,sun發布的標准版本中還包括核心類庫的所有源代碼。

㈢ fortran語言中多層type的內存釋放

直接 deallocate 就可以了,編譯器會自動幫你釋放所有可分配的成員變數。

㈣ 請問現在寫JAVA都用什麼工具

不要用VJ++,不好。

剛開始用純jdk,過一般時間用EditPlus等這樣的工具,以後推薦使用Eclipse,因為是開源,也就是免費的。

JDK
Borland 的JBuilder
JBuilder,JDeveloper,VisualAge for Java
jcreater.

常見的十五種Java開發工具的特點
1、JDK (Java Development Kit)Java開發工具集
從初學者角度來看,採用JDK開發Java程序能夠很快理解程序中各部分代碼之間的關系,
有利於理解Java面向對象的設計思想。JDK的另一個顯著特點是隨著Java (J2EE、J2SE
以及J2ME)版本的升級而升級。但它的缺點也是非常明顯的就是從事大規模企業級Java
應用開發非常困難,不能進行復雜的Java軟體開發,也不利於團體協同開發。
2、Java Workshop
3、NetBeans 與Sun Java Studio 5

NetBeans是開放源碼的Java集成開發環境(IDE),適用於各種客戶機和Web應用。
Sun Java Studio是Sun公司最新發布的商用全功能Java IDE,支持Solaris、Linux和Win
dows平台,適於創建和部署2層Java Web應用和n層J2EE應用的企業開發人員使用。

NetBeans是業界第一款支持創新型Java開發的開放源碼IDE。開發人員可以利用業界
強大的開發工具來構建桌面、Web或移動應用。同時,通過NetBeans和開放的API的模塊
化結構,第三方能夠非常輕松地擴展或集成NetBeans平台。

NetBeans3.5.1主要針對一般Java軟體的開發者,而Java One Studio5則主要針對企
業做網路服務等應用的開發者。Sun不久還將推出Project Rave,其目標是幫助企業的開
發者進行軟體開發。NetBeans 3.5.1版本與其他開發工具相比,最大區別在於不僅能夠
開發各種台式機上的應用,而且可以用來開發網路服務方面的應用,可以開發基於J2ME
的移動設備上的應用等。在NetBeans 3.5.1基礎上,Sun開發出了Java
One Studio5,為用戶提供了一個更加先進的企業編程環境。在新的Java
One Studio5里有一個應用框架,開發者可以利用這些模塊快速開發自己在網路服務方面
的各種應用程序。
4、Borland 的JBuilder

Jbuilder進入了Java集成開發環境的王國,它滿足很多方面的應用,尤其是對於服
務器方以及EJB開發者們來說。下面簡單介紹一下Jbuilder的特點:

1)Jbuilder支持最新的Java技術,包括Applets、JSP/Servlets、JavaBean以及EJB
(Enterprise JavaBeans)的應用。

2)用戶可以自動地生成基於後端資料庫表的EJB Java類,Jbuilder同時還簡化了EJ
B的自動部署功能.此外它還支持CORBA,相應的向導程序有助於用戶全面地管理IDL(分布
應用程序所必需的介面定義語言Interface Definition Language)和控制遠程對象。

3)Jbuilder支持各種應用伺服器。Jbuilder與Inprise Application Server緊密集
成,同時支持WebLogic Server,支持EJB 1.1和EJB 2.0,可以快速開發J2EE的電子商務
應用。

4)Jbuilder能用Servlet和JSP開發和調試動態Web 應用。

5)利用Jbuilder可創建(沒有專有代碼和標記)純Java2應用。由於Jbuilder是用純J
ava語言編寫的,其代碼不含任何專屬代碼和標記,它支持最新的Java標准。

6)Jbuilder擁有專業化的圖形調試介面,支持遠程調試和多線程調試,調試器支持
各種JDK版本,包括J2ME/J2SE/J2EE。

JBuilder環境開發程序方便,它是純的Java 開發環境,適合企業的J2EE開發;缺點
是往往一開始人們難於把握整個程序各部分之間的關系,對機器的硬體要求較高,比較
吃內存,這時運行速度顯得較慢。
5、Oracle 的JDeveloper

Oracle9i JDeveloper(定為9.0版,最新為10g)為構建具有J2EE功能,XML和Web
services的復雜的,多層的Java應用程序提供了一個完全集成的開發環境。它為運用Ora
cle9i資料庫和應用伺服器的開發人員提供特殊的功能和增強性能,除此以外,它也有資
格成為用於多種用途Java開發的一個強大的工具。

Oracle9i JDeveloper的主要特點如下:

① 具有UML(Unified Modeling Language,一體化建模語言)建模功能。可以將業
務對象及e-business應用模型化。

② 配備有高速Java調試器(Debuger)、內置Profiling工具、提高代碼質量的工具
「CodeCoach」等。

③ 支持SOAP(Simple Object Access Protocol)「簡單對象訪問協議」、UDDI(U
niversal Description, Discovery and Integration)「統一描述、發現和集成協議」
、WSDL(Web Services Description Language)「WEB服務描述語言」等Web服務標准。

JDeveloper 不僅僅是很好的 Java 編程工具,而且是 Oracle Web 服務的延伸,支
持 Apache SOAP,以及 9iAS ,可擴充的環境和 XML 和 WSDL 語言緊密相關。Oracle9i
Jdeveloper完全利用Java編寫,能夠與以前的Oracle伺服器軟體以及其他廠商支持J2EE
的應用伺服器產品相兼容,而且在設計時著重針對Oracle9i,能夠無縫化跨平台之間的
應用開發,提供了業界第一個完整的、集成了J2EE和XML的開發環境,允許開發者快速開
發可以通過Web、無線設備及語音界面訪問的Web服務和交易應用,以往只能通過將傳統J
ava編程技巧與最新模塊化方式結合到一個單一集成的開發環境中之後才能完成J2EE應用
開發生命周期管理的事實,從根本上得到改變。缺點就是對於初學者來說,較復雜,也
比較難。
6、IBM的Visual Age for Java

Visual Age for Java是一個非常成熟的開發工具,它的特性以於IT開發者和業余的
Java編程人員來說都是非常用有用的。它提供對可視化編程的廣泛支持,支持利用CICS
連接遺傳大型機應用,支持EJB的開發應用,支持與Websphere的集成開發,方便的bean
創建和良好的快速應用開發(RAD)支持和無文件式的文件處理。

IBM為建設Web站點所推出的WebSphere Studio Advanced Edition及其包含的Visual
Age for Java Professional Edition軟體已全面轉向以Java為中心,這樣,Java開發人
員對WebSphere全套工具的感覺或許會好了許多。Studio所提供的工具有:Web站點管理
、快速開發 JDBC頁向導程序、HTML編輯器和HTML語法檢查等。這確實是個不錯的HTML站
點頁面編輯環境。Studio和VisualAge集成度很高,菜單中提供了在兩種軟體包之間快速
移動代碼的選項。這就讓使用Studio的Web頁面設計人員和使用VisualAge的Java程序員
可以相互交換文件、協同工作。

Visual Age for Java支持團隊開發,內置的代碼庫可以自動地根據用戶做出改動而
修改程序代碼,這樣就可以很方便地將目前代碼和早期版本做出比較。與Visual Age緊
密結合的Websphere Studio本身並不提供源代碼和版本管理的支持,它只是包含了一個
內置文件鎖定系統,當編輯項目的時候可以防止其他人對這些文件的錯誤修改,軟體還支
持諸如Microsoft Visual SourceSafe這樣的第三方源代碼控制系統。Visual Age for
Java完全面向對象的程序設計思想使得開發程序非常快速、高效。你可以不編寫任何代
碼就可以設計出一個典型的應用程序框架。Visual Age for Java作為IBM電子商務解決
方案其中產品之一,可以無縫地與其他IBM產品,如WebSphere、DB2融合, 迅速完成從設
計、開發到部署應用的整個過程。

Visual Age for Java獨特的管理文件方式使其集成外部工具非常困難,你無法讓Vis
ual Age for Java與其他工具一起聯合開發應用。
7、BEA 的 WebLogic Workshop

BEA WebLogic Workshop是一個統一、簡化、可擴展的開發環境,使所有的開發人員
都能在 BEA WebLogic Enterprise Platform之上構建基於標準的企業級應用,從而提高
了開發部門的生產力水平,加快了價值的實現。

WebLogic Workshop除了提供便捷的Web服務之外,它能夠用於創建更多種類的應用
。作為整個BEA WebLogic Platform的開發環境。不管是創建門戶應用、編寫工作流、還
是創建Web應用,Workshop 8.1都可以幫助開發人員更快更好地完成。

WebLogic Workshop的主要特點如下:

① 使 J2EE 開發切實可行,提高開發效率

BEA WebLogic Workshop 使開發人員遠離 J2EE 內在的復雜性,集中精力專注業務
邏輯,無須操心單調乏味的基礎結構代碼。這種創新意味著,已被企業驗證的 J2EE 的
強大功能,最終被大多數不熟悉 Java 和 J2EE 的應用開發人員所掌握,從而使 IT 部
門的工作效率提高一個數量級。

可視化設計器以及直觀的概念,如事件、屬性和控制項等,實現了基於事件的開發。W
orkshop 簡化的程序設計模型,使開發人員不必掌握復雜的 J2EE API 和面向對象的程
序設計原理。所有開發人員,包括 J2EE 專家和具有可視化和過程化語言技能的應用開
發人員在內,都可以共同工作在 BEA WebLogic Enterprise Platform 之上。Workshop
的可視化開發環境,創建帶有代碼注釋的標准 Java 文件,用來說明由運行時框架實施
的企業級需求。J2EE 和其他高級開發人員,藉助功能強大的代碼編輯功能,可以訪問
Java 源代碼,從而彌補了可視化設計器的不足。

② 構建企業級應用

通過在可伸縮、安全可靠的企業級架構上實施各種應用,BEA WebLogic
Workshop 大大降低了開發風險。而且,所有應用的創建都使用標準的 J2EE 組件,既保
護了您的技術投資,又保持了最大的靈活性。
BEA WebLogic Workshop 運行框架,是統一整個架構的匯聚層,使單一、簡化的程序設
計模型擴展到所有的 BEA WebLogic Enterprise Platform 應用類型。通過解釋設計時
創建的注釋代碼,運行時框架可以實現必要的 J2EE 組件,並且提取出與 J2EE 應用開
發有關的所有底層細節。

③ 降低 IT 復雜性

BEA WebLogic Workshop 提供各種 Java 控制項,使得與 IT 資源的連接更輕而易舉
。另外,在構建任何 BEA WebLogic Platform 的應用中,Java 控制項不僅可擴展而且完
全相同。這種強大、有效的方法能夠:降低 IT 技術的復雜性,優化信息的可用性,推
動包含"最佳業務方案"的可重用服務的開發,使開發人員能以更低的成本、更短的時間
實現更大的產出。

利用 BEA WebLogic Workshop,任何開發人員都能以最大的生產效率,構建各種
Web 服務、Web 應用、門戶和集成項目。BEA WebLogic Workshop是BEA的產品戰略核心
,它幫助客戶接觸和利用面向服務架構(SOA)的強大功能。BEA Weblogic Workshop
8.1極大簡化了當前實際企業集成環境中企業級應用和服務的構建,並成為全面支持關鍵
企業級應用(如非同步、真正松耦合和粗粒度消息傳送等)的自然選擇。它的缺點就是過於
復雜,對於初學者來說,理解起來較為困難。
8、WebGain 的Visual Cafe for Java

Visual Cafe 是只能在Symantec公司的Java虛擬機、Netscape公司的Java虛擬機和M
icrosoft虛擬機上工作的調試器。這對於開發者來講是一個重要的特性,因為用戶開發的
Java代碼中的許多軟體bug就可能中會在某種特定的虛擬機上起作用。

在修改後進行編譯基繼續進行調試時,Visual Cafe會自動將文件存檔,使用Visual
Cafe創建的原生應用具有許多特點。除了明顯的速度提高之外,Symantec使類庫的二進制
方式比正常的JDK小Visual Cafe為所指定的關系自動生成或更新必要的Java代碼。利用V
isual Cafe,用戶可以從一個標准對象資料庫中集合完整的Java應用程序和Applet,而
不必再編寫源代碼。Visual Cafe還提供了一個擴充的源代碼開發工具集。

Visual Cafe綜合了Java軟體的可視化源程序開發工具,它允許開發人員在可視化視
圖和源視圖之間進行有效地轉換。在可視化視圖中進行的修改立即反映在源代碼中。對
源代碼的改變自動更新可視化視圖。

Visual Cafe具有許多源文件方面的特性,如全局檢索和替換。絕大多數Java開發工
具的文獻的問題在於簡單地挨個介紹開發工具的每部分組件,但用戶在開應用時還需要
一個面向任務的手冊,利用這個手冊你可以不必知道工具每一部分的特定功能就可以開
始創建自己的應用。Visual Cafe提供了非常全面的用戶指南,它對最開始的安裝到創建
第一個Java應用和Applet都提供了全面的幫助,Visual Cafe將自動生成所指明關系的必
要Java代碼。Visual Cafe可以在Windows 95和Windows NT平台下運行,Symantec公司為
Java開發工作提供一個在Macintosh操作系統下可以運行的RAD工具。Visual Cafe編譯器
速度很快,在國際化支持方面比較突出;缺點就是對於初學者來說,較復雜,也比較難

9、Macromedia的JRUN

Macromedia公司的JRun是一個具有最廣闊適用性的Java引擎,用於開發及實施由Jav
a Servlets和JavaServer Pages編寫的伺服器端Java應用。JRun是第一個完全支持JSP
1.0 規格書的商業化產品,全球有超過80,000名開發人員使用JRun在他們已有的Web服務
器上添加伺服器端Java的功能。其中Web伺服器包括了Microsoft IIS,Netscape
Enterprise Server,Apache等。

JRun是開發實施伺服器端Java的先進引擎。如果我們希望在我們的Web應用中添加服
務器端Java功能,那麼JRun將成為我們的正確選擇。

JRun目前有3個版本,它是第一個支持Java Server Pages(JSP)規格書1.0的商業化
產品。JSP是一種強大的伺服器端技術,它是用於創建復雜Web應用的一整套快速應用開
發系統。JRun可以使我們開始開發並測試Java應用。它最多接受5個並發的連接並且包括
全部Java Servlet API,支持JavaServer Pages(JSP),支持所有主要的Web
servers和計算機平台。 JRun Pro能夠在生產環境下承受大訪問量的負載,幫助我們實
施應用、服務或Web站點(包括內聯網)。JRun Pro 支持無限量並發式連接運行多個Jav
a虛擬機,包括多個並發的Java虛擬機(JVM)。提供一個遠程管理applet以及一個遠程
可再分布式的管理applet。JRun Pro Unlimited包括了所有JRun Pro的功能,除次以外
,還可以運行無限量的,並發的JVM。

JRun依靠其內置的JRun Web Server可以單獨運行。使用伺服器端Java,用戶可以開
發出復雜的商業應用系統。最重要的一點是,由於servlets的平台獨立性,以及更加簡
單的開發、更快速的實施、更經濟的維護成本,它是CGI(Common Gateway
Interface)或Perl scripts的極佳的替代產品。缺點就是對於初學者來說,較復雜,也
比較難。
10、JCreator

JCreator 是一個Java程序開發工具,也是一個Java集成開發環境(IDE)。無論你
是要開發Java應用程序或者網頁上的Applet元件都難不倒它。在功能上與Sun公司所公布
的JDK等文字模式開發工具相較之下來得容易,還允許使用者自訂義操作窗口界面及無限
Undo/Redo等功能。

JCreator為用戶提供了相當強大的功能,例如項目管理功能,項目模板功能,可個
性化設置語法高亮屬性、行數、類瀏覽器、標簽文檔、多功能編繹器,向導功能以及完
全可自定義的用戶界面。通過JCreator,我們不用激活主文檔而直接編繹或運行我們的J
AVA程序。

JCreator能自動找到包含主函數的文件或包含Applet的Html文件,然後它會運行適
當的工具。在JCreator中,我們可以通過一個批處理同時編繹多個項目。JCreator的設
計接近Windows界面風格,用戶對它的界面比較熟悉。其最大特點是與我們機器中所裝的
JDK完美結合,是其它任何一款IDE所不能比擬的。它是一種初學者很容易上手的java開
發工具,缺點是只能進行簡單的程序開發,不能進行企業J2EE的開發應用。

11、Eclipse

Eclipse是一種可擴展的開放源代碼IDE。2001年11月,IBM公司捐出價值4,000萬美
元的源代碼組建了Eclipse聯盟,並由該聯盟負責這種工具的後續開發。集成開發環境(I
DE)經常將其應用范圍限定在「開發、構建和調試」的周期之中。為了幫助集成開發環境
(IDE)克服目前的局限性,業界廠商合作創建了Eclipse平台。Eclipse允許在同一IDE中
集成來自不同供應商的工具,並實現了工具之間的互操作性,從而顯著改變了項目工作
流程,使開發者可以專注在實際的嵌入式目標上。

Eclipse框架的這種靈活性來源於其擴展點。它們是在XML中定義的已知介面,並充
當插件的耦合點。擴展點的范圍包括從用在常規表述過濾器中的簡單字元串,到一個Jav
a類的描述。任何Eclipse插件定義的擴展點都能夠被其它插件使用,反之,任何Eclipse
插件也可以遵從其它插件定義的擴展點。除了解由擴展點定義的介面外,插件不知道它
們通過擴展點提供的服務將如何被使用。

利用Eclipse,我們可以將高級設計(也許是採用UML)與低級開發工具(如應用調試器
等)結合在一起。如果這些互相補充的獨立工具採用Eclipse擴展點彼此連接,那麼當我
們用調試器逐一檢查應用時,UML對話框可以突出顯示我們正在關注的器件。事實上,由
於Eclipse並不了解開發語言,所以無論Java語言調試器、C/C++調試器還是匯編調試器
都是有效的,並可以在相同的框架內同時瞄準不同的進程或節點。

Eclipse的最大特點是它能接受由Java開發者自己編寫的開放源代碼插件,這類似於
微軟公司的Visual Studio和Sun微系統公司的NetBeans平台。Eclipse為工具開發商提供
了更好的靈活性,使他們能更好地控制自己的軟體技術。Eclipse聯盟已經宣布將在2004
年中期發布其3.0版軟體。這是一款非常受歡迎的java開發工具,這國內的用戶越來越多
,實際上實用它java開發人員是最多的。缺點就是較復雜,對初學者來說,理解起來比
較困難。
13、Ant

Another Neat Tool(Ant)是一種基於Java的build工具。理論上來說,它有些類似於
(Unix)C中的make ,但沒有make的缺陷。因為Ant的原作者在多種(硬體)平台上開發軟
件時,無法忍受這些工具的限制和不便。類似於make的工具本質上是基於shell(語言)
的:他們計算依賴關系,然後執行命令(這些命令與你在命令行敲的命令沒太大區別)
。這就意味著你可以很容易地通過使用OS特有的或編寫新的(命令)程序擴展該工具;
然而,這也意味著你將自己限制在了特定的OS,或特定的OS類型上,如Unix。Ant就不同
了。與基於shell命令的擴展模式不同,Ant用Java的類來擴展。(用戶)不必編寫shell
命令,配置文件是基於XML的,通過調用target樹,就可執行各種task。每個task由實現
了一個實現了特定Task介面的對象來運行。

Ant支持一些可選task,一個可選task一般需要額外的庫才能工作。可選task與Ant
的內置task分開,單獨打包。這個可選包可以從你下載Ant的同一個地方下載。ANT本身
就是這樣一個流程腳本引擎,用於自動化調用程序完成項目的編譯,打包,測試等。除
了基於JAVA是平台無關的外,腳本的格式是基於XML的,比make腳本來說還要好維護一些
。Ant是Apache提供給Java開發人員的構建工具,它可以在Windows OS和Unix OS下運行
,它不僅開放源碼並且還是一個非常好用的工具。Ant是Apache Jakarta中一個很好用的
Java開發工具,Ant配置文件採用XML文檔編寫,所以Java程序員對其語法相當熟悉,Ant
是專用於Java項目平台,能夠用純Java來開發,它能夠運行於Java安裝的平台,即體現
了它的跨平台功能。它的缺點顯示執行結果只能是DOS字元界面,不能進行復雜的java程
序開發。
14、IntelliJ

Intellij IDEA是一款綜合的Java 編程環境,被許多開發人員和行業專家譽為市場
上最好的IDE。它提供了一系列最實用的的工具組合:智能編碼輔助和自動控制,支持J2
EE,Ant,JUnit和CVS集成,非平行的編碼檢查和創新的GUI設計器。IDEA把Java開發人
員從一些耗時的常規工作中解放出來,顯著地提高了開發效率。具有運行更快速,生成
更好的代碼;持續的重新設計和日常編碼變得更加簡易,與其它工具的完美集成;很高
的性價比等特點。在4.0版本中支持Generics,BEA WebLogic集成,改良的CVS集成以及G
UI設計器。

IntelliJ IDEA能盡可能地促進程序員的編程速度。它包括了很多輔助的功能,並且
與Java結合得相當好。不同的工具窗口圍繞在主編程窗口周圍,當滑鼠點到時即可打開
,無用時也可輕松關閉,使用戶得到了最大化的有效屏幕范圍。以技術為導向的IDEA集
成了調試器,支持本地和遠程的調試,即使我們需要修改一些設置上的東西使我們的工
作順利進展。另外,它還提供了通常的監視,分步調試以及手動設置斷點功能,在這種
斷點模式下,我們可以自動地在斷點之外設置現場訪問,甚至可以瀏覽不同的變數的值
。IDE支持多重的JVM設置,幾個編譯程序和Ant建造系統,並且,它使得設置多重的自定
義的類途徑變得簡單。

IntelliJ Idea是一個相對較新的Java IDE。它是Java開發環境中最為有用的一個。
高度優化的IntelleJ Idea使普通任務變得相當容易,Idea支持很多整合功能,更重要的
使它們設計的好容易使用。Idea支持XML中的代碼實現,Idea同時還會校正XML,Idea支
持JSP的結構。作用於普通Java代碼的眾多功能同樣適用於JSP(比如整合功能),同時
支持JSP調試;支持EJB,盡管它不包括對個別應用伺服器的特殊支持。Idea支持Ant建立
工具,不僅是運行目標它還支持編譯與運行程序前後運行目標,另外也支持綁定鍵盤快
捷鍵。在編輯一個Ant建立XML文件時,Idea還對組成Ant工程的XML部分提供支持。Intel
liJ IDEA 被稱為是最好的JAVA IDE開發平台,這套軟體就是以其聰明的即時分析和方便
的 refactoring 功能深獲大家所喜愛。缺點是較復雜,對初學者來說,理解起來比較困
難。

㈤ COM/COM+/DCOM詳細的解釋,都是什麼功能

解釋COM、COM+和DCOM的定義和區別? COM是組件對象模型,是實現3/N層應用的基礎,它的目的就是組件化,應用程序分層.DCOM是分布式的COM,也就說可以遠程的創建,最初它利用遠程自動化來實現,用注冊VBR的方法來配置客戶端,來適應DCOM伺服器. COM+現在的概念不很清楚,因為它是一個擴展集,MS現在的MTS取代了遠程自動化這種原始的功能很弱的方法後,他們似乎已經都是一個集合體. 何謂Mts? MTS(Microsoft Transaction Server)是微軟為其Windows NT操作系統推出的一個中間件產品,由於它具有強大的分布事務支持、安全管理、資源管理和多線程並發控制等特性,使其成為在Windows平台上開發大型資料庫應用系統的首選產品。由於MTS屏蔽了底層實現的復雜性,極大地簡化了這類應用的開發,程序員可以將精力集中在業務邏輯上,因而有效地提高了軟體的開發效率. 組件對象模型(COM Componet Object Model),是微軟公司為了計算機工業的軟體生產更加符合人類的行為方式開發的一種新的軟體開發技術。在COM構架下,人們可以開發出各種各樣的功能專一的組件,然後將它們按照需要組合起來,構成復雜的應用系統。由此帶來的好處是多方面的:可以將系統中的組件用新的替換掉,以便隨時進行系統的升級和定製;可以在多個應用系統中重復利用同一個組件;可以方便的將應用系統擴展到網路環境下;COM與語言,平台無關的特性使所有的程序員均可充分發揮自己的才智與專長編寫組件模塊。 COM是開發軟體組件的一種方法。組件實際上是一些小的二進制可執行程序,它們可以給應用程序,操作系統以及其他組件提供服務。開發自定義的COM組件就如同開發動態的,面向對象的API(應用程序調用系統功能的介面)。多個COM對象可以連接起來形成應用程序或組件系統。並且組件可以在運行時刻,在不被重新鏈接或編譯應用程序的情況下被卸下或替換掉。Microsoft的許多技術,如ActiveX(根據微軟權威的軟體開發指南MSDN(Microsoft Developer Network)的定義,ActiveX插件以前也叫做OLE控制項或OCX控制項,它是一些軟體組件或對象,可以將其插入到WEB網頁或其它應用程序中), DirectX(DirectX並不是一個單純的圖形API,它是由微軟公司開發的用途廣泛的API,它包含有Direct Graphics(Direct 3D+Direct Draw)、Direct Input、Direct Play、Direct Sound、Direct Show、Direct Setup、Direct Media Objects等多個組件,它提供了一整套的多媒體介面方案。只是其在3D圖形方面的優秀表現,讓它的其它方面顯得暗淡無光。DirectX開發之初是為了彌補Windows 3.1系統對圖形、聲音處理能力的不足,而今已發展成為對整個多媒體系統的各個方面都有決定性影響的介面)以及OLE(OLE是指與對象鏈接和嵌入有關的技術,包括容器、伺服器、就地編輯、拖放和彩單合並等。在應用程序之間共享的一大塊數據稱為一個OLE對象,能夠包含OLE對象的應用程序稱為OLE容器,而允許自己的數據被包含到其他應用程序中的程序稱為OLE伺服器)等都是基於COM而建立起來的。並且Microsoft的開發人員也大量使用COM組件來定製他們的應用程序及操作系統。 COM所含的概念並不止是在Microsoft Windows操作系統下才有效。COM並不是一個大的API(用標準的定義來講,API就是Windows的32位應用程序編程介面,是一系列很復雜的函數,消息和結構,它使編程人員可以用不同類型的編程語言編制出的運行在Windows95 和Windows NT操作系統上的應用程序。),它實際上象結構化編程及面向對象編程方法那樣,也是一種編程方法。在任何一種操作系統中,開發人員均可以遵循「COM方法」。 一個應用程序通常是由單個的二進制文件組成的。當編譯器生成應用程序之後,在對下一個版本重新編譯並發行新生成的版本之前,應用程序一般不會發生任何變化。操作系統,硬體及客戶需求的改變都必須等到整個應用程序被重新生成。 目前這種狀況已經發生變化。開發人員開始將單個的應用程序分隔成單獨多個獨立的部分,也既組件。這種做法的好處是可以隨著技術的不斷發展而用新的組件取代以有的組件。此時的應用程序可以隨新組件不斷取代舊的組件而漸趨完善。而且利用已有的組件,用戶還可以快速的建立全新的應用。 傳統的做法是將應用程序分割成文件,模塊或類,然後將它們編譯並鏈接成一個單模應用程序。(靜態的鏈接,文件擴展名為.obj,在進程內實現的)它與組件建立應用程序的過程(稱為組件構架)有很大的不同。一個組件同一個微型應用程序類似,即都是已經編譯鏈接好並可以使用的二進制代碼,應用程序就是由多個這樣的組件打包而得到的。單模應用程序只有一個二進制代碼模塊。自定義組件可以在運行時刻同其他的組件連接起來以構成某個應用程序。在需要對應用程序進行修改或改進時,只需要將構成此應用程序的組件中的某個用新的版本替換掉即可(動態的鏈接,文件擴展名為.dll,是在進程外實現的)。 COM即組件對象模型,是關於如何建立組件以及如何通過組件建立應用程序的一個規范,說明了如何可動態交替更新組件。 COM是一種說明如何建立可動態互變組件的規范,此規范提供了為保證能夠互操作,客戶和組件應遵循的一些二進制和網路標准。通過這種標准將可以在任意兩個組件之間進行通信而不用考慮其所處的操作環境是否相同、使用的開發語言是否一致以及是否運行於同一台計算機。 COM的優點? 首先:用戶一般希望能夠定製所用的應用程序,而組件技術從本質上講就是可被定製的,因而用戶可以用更能滿足他們需要的某個組件來替換原來的那個。其次,由於組件是相對應用程序獨立的部件,我們可以在不同的程序中使用同一個組件而不會產生任何問題,軟體的可重用性將大大的得到增強。第三,隨著網路帶寬及其重要性的提高,分布式網路應用程序毫無疑問的成為軟體市場上越來越重要的買點。組件價構可以使得開發這類應用程序的過程得以簡化。 DCOM 是微軟與其他業界廠商合作提出的一種分布 組件 對象模型,它是COM在分布計算方面的自然延續,為分布在網路不同節點的兩個COM 組件 提供了互操作的基礎結構。 DCOM 增強COM的分布處理性能,支持多種通信協議,加強 組件 通信的安全保障,把基於認證Internet安全機制同基於Windows NT的C2級安全機制集成在一起。但從系統內部的實現機制而言, DCOM 所採用的技術仍符合圖1所示的COM模式。 DCOM 自動建立連接、傳輸信息並返回來自遠程 組件 的答復。 DCOM 在 組件 中的作用有如PC機間通信的PCI和ISA匯流排,負責各種 組件 之間的信息傳遞,如果沒有 DCOM ,則達不到分布計算環境的要求。微軟通過納入事務處理服務、更容易的編程以及對Unix和其它平台的支持擴充了 DCOM 。 建立 DCOM 時和使用COM建立對象的方式是相同的,只需再加入一個機器名稱的參數。如果COM通過Windows API的CoGetClassObject建立對象,只需再輸入機器名稱的參數即可在遠程指定的計算機中建立對象,並且取得指定介面的信息。它構造於RPC的技術之上,並且使用TCP/IP作為網路通信協議。 什麼是COM+ ? COM+並不是COM的簡單升級,COM+的底層結構仍然以COM為基礎,它幾乎包容了COM的所有內容,COM+綜合了COM、DCOM和MTS這些技術要素,它把COM組件軟體提升到應用層而不再是底層的軟體結構,它通過操作系統的各種支持,使組件對象模型建立在應用層上,把所有組件的底層細節留給操作系統,因此,COM+與操作系統的結合更加緊密。 COM+不再局限於COM的組件技術,它更加註重於分布式網路應用的設計和實現。COM+繼承了COM幾乎全部的優勢,同時又避免了COM實現方面的一些不足,把COM、DCOM和MTS的編程模型結合起來,繼承了它們的絕大多數特性,在原有的特性上增加了新的功能。 COM+的新的優點? 以下列出COM+的幾個主要特性: COM+不僅繼承了COM所有的優點,而且還增加了一些服務,比如隊列服務、負載平衡、內存資料庫、事件服務等。 隊列服務對於分布式應用非常有意義,特別是在現在網路速度很慢的情況下,這種機制可以保證應用系統能夠可靠地運行。在應用系統包含大量節點但伺服器又繁忙的情況下,客戶應用程序可以把它們的請求放到隊列中,當伺服器負載比較輕的時候再處理這些請求; 又如COM+提供了負載平衡服務,它可以實現動態負載平衡,而且COM+應用程序的負載平衡特性並不需要編寫代碼來支持,客戶程序和組件程序都可以按通常的方式實現。獲得負載平衡特性並不是用程序設計的方式來實現的,而是通過配置實現分布式應用程序的負載平衡,如上所講的隊列服務,其實也反映了一種負載平衡。 (1) 真正的非同步通訊。COM+底層提供了隊列組件服務,這使客戶和組件有可能在不同的時間點上協同工作,COM+應用無須增加代碼就可以獲得這樣的特性。 (2) 事件服務。新的事件機制使事件源和事件接收方實現事件功能更加靈活,利用系統服務簡化了事件模型,避免了COM可連接對象機制的瑣碎細節。 (3) 可伸縮性。COM+的可伸縮性來源於多個方面,動態負載平衡以及內存資料庫、對象池等系統服務都為COM+的可伸縮性提供了技術基礎,COM+的可伸縮性原理上與多層結構的可伸縮特性一致。 (4) 可管理和可配置性。管理和配置是應用系統開發完成後的行為,在軟體維護成本不斷增加的今天,COM+應用將有助於軟體廠商和用戶減少這方面的投入。 (5) 易於開發。COM+應用開發的復雜性和難易程度將決定COM+的成功與否,雖然COM+開發模型比以前的COM組件開發更為簡化,但真正提高開發效率仍需要藉助於一些優秀的開發工具。 COM+標志著Microsoft的組件技術達到了一個新的高度,它不再局限於一台機器上的桌面系統,它把目標指向了更為廣闊的企業內部網,甚至Internet國際互連網路。COM+與多層結構模型以及Windows操作系統為企業應用或Web應用提供了一套完整的解決方案。

㈥ 目前主流的軟體開發和運行平台

國內主流的軟開發平台有(天翎,普元,起步,等等公司)微服務架構,前後端分離,多租戶模式,門戶集成,動態報表,功能豐富,自由配置,如功能表單引擎,視圖引擎,流程引擎,報表引擎等。如天翎java Paas平台支持國產資料庫,操作系統等,也可以同步到移動端使用(企業微信,釘釘,APP),不限部署數,不限用戶,不限並數,不限應用數。如核心框架:Spring MVC+SpringBoot2.X 視圖框架:Spring MVC 緩存框架:Ehcache+Redis 持久層框架:Hibernate+JDBC+File System Serilizable.....

㈦ 求一個盡量完整的編譯器:詞法分析器+語法分析器

在一個模式被匹配之前,詞法分析器往往需要超前掃描該詞素後面的若干個字元,使用將字元退回輸入流的方法,需要移動大量字元的時間,由於 詞法分析器是編譯期間唯一需要逐一掃描源程序字元的過程,因此它的效率將極大的影響編譯器的性能,因此人們發明了雙緩沖區的技術。
雙緩沖區技術原理如下:
把一個緩沖區分成前後兩個部分,每部分能夠容納N(1024/4096)個字元,每次系統讀命令讀入N個字元到前半部分或者後半部分,如果剩餘的不足N個字元,則在最後增加一個不同於其他任何字元的字元,如eof/#,用於標識源文件的結束。緩沖區包括兩個指針beginning和forward,在兩個指針之間的字元串就是當前的詞素。一開始兩個指針都指向第一個字元,然後forward向後掃描,直至發現一個匹配的詞素為止。如果forward跨過中間標記,則往後半部分讀入N個字元。如果forward指針移過最後位置,則向前半部分讀入N個字元,且forward指針重新指向開始繼續處理過程。為了處理方便在兩個部分的最後都增加一個文件結束標識eof。示意圖如下:
______________________________________________________________________
|............for......while.... ........................................ |....int i .................................................. ...................| |_______________________________eof|_______________eof________________eof|
| |
beginning forward

下面是雙緩沖區的一個c實現:

#include <stdio.h>
#include <string.h>

#define MAXWORD 1000

struct bibuffer
{
char* buffer[2048]; //緩沖區空間
char* beginning,forward; //前向和後向指針
int count; //前向指針記數
} bbuf;

void parse(char c)
{
if(c=' ')
{
memcpy(word[i],beginning,(size_t)(forward-beginning));
i++;
}
else forward++;
}

int main(int argc,char* argv)
{
File* fp;
char* word[MAXWORD];
int i=0;
buffer=new char[2048];
fp=open("test.c","r");
read(fp,buffer,1023);
buffer[1023]='#';
read(fp,buffer+1024,1023);
buffer[2047]='#';
bbuf->buffer=buffer;
bbuf->beginning=bbuf->forward=bbuf->buffer;
bbuf->count=0;
while(1)
{
forward=forward+1;
if(count==1023)
{
read(fp,buffer+1024,1023);
forward++;
//這個函數的具體代碼就要和具體的詞法分析規則而定,這里假設只識別空格分割的單詞
parse(*forward);
}
else if(count>=2048)
{
read(fp,buffer,1023);
forward=bbuf->buffer;
//這個函數的具體代碼就要和具體的詞法分析規則而定,這里假設只識別空格分割的單詞
parse(*forward);
}
else if(count!=1023&&count<2048&&(*forward)='#')
{
break; //詞法分析結束
}
}
}

㈧ 多層switch嵌套,break只是跳出當前switch嗎

在計算機體系結構設計的時候,我們曾經就這個問題思考過,關於針對不同編譯器往往有不同的指令來控制。

在計算機底部,它不明白什麼叫做嵌套,編譯器在翻譯break命令的時候,匯編語言已經制定了在此處的指令,所以計算機只會從棧中推出當前的壓棧內容。

簡單的說,它只會跳出當前在處理的這個循環,或者選擇語句,無論是什麼情況。

㈨ 現在開發基於多層結構的網站用什麼組合開發工具好

常見的十四種Java開發工具的特點

1、JDK(JavaDevelopmentKit)Java開發工具集

從初學者角度來看,採用JDK開發Java程序能夠很快理解程序中各部分代碼之間的關系,有利於理解Java面向對象的設計思想。JDK的另一個顯著特點是隨著Java(J2EE、J2SE以及J2ME)版本的升級而升級。但它的缺點也是非常明顯的就是從事大規模企業級Java應用開發非常困難,不能進行復雜的Java軟體開發,也不利於團體協同開發。

2、JavaWorkshop

3、NetBeans與SunJavaStudio5

NetBeans是開放源碼的Java集成開發環境(IDE),適用於各種客戶機和Web應用。

SunJavaStudio是Sun公司最新發布的商用全功能JavaIDE,支持Solaris、Linux和Windows平台,適於創建和部署2層JavaWeb應用和n層J2EE應用的企業開發人員使用。NetBeans是業界第一款支持創新型Java開發的開放源碼IDE。開發人員可以利用業界強大的開發工具來構建桌面、Web或移動應用。同時,通過NetBeans和開放的API的模塊化結構,第三方能夠非常輕松地擴展或集成NetBeans平台。NetBeans3.5.1主要針對一般Java軟體的開發者,而JavaOneStudio5則主要針對企業做網路服務等應用的開發者。Sun不久還將推出ProjectRave,其目標是幫助企業的開發者進行軟體開發。NetBeans3.5.1版本與其他開發工具相比,最大區別在於不僅能夠開發各種台式機上的應用,而且可以用來開發網路服務方面的應用,可以開發基於J2ME的移動設備上的應用等。在NetBeans3.5.1基礎上,Sun開發出了JavaOneStudio5,為用戶提供了一個更加先進的企業編程環境。在新的JavaOneStudio5里有一個應用框架,開發者可以利用這些模塊快速開發自己在網路服務方面的各種應用程序。

4、Borland的JBuilder

Jbuilder進入了Java集成開發環境的王國,它滿足很多方面的應用,尤其是對於伺服器方以及EJB開發者們來說。下面簡單介紹一下Jbuilder的特點:

1)Jbuilder支持最新的Java技術,包括Applets、JSP/Servlets、JavaBean以及EJB(EnterpriseJavaBeans)的應用。

2)用戶可以自動地生成基於後端資料庫表的EJBJava類,Jbuilder同時還簡化了EJB的自動部署功能.此外它還支持CORBA,相應的向導程序有助於用戶全面地管理IDL(分布應用程序所必需的介面定義語言InterfaceDefinitionLanguage)和控制遠程對象。

3)Jbuilder支持各種應用伺服器。Jbuilder與InpriseApplicationServer緊密集成,同時支持WebLogicServer,支持EJB1.1和EJB2.0,可以快速開發J2EE的電子商務應用。

4)Jbuilder能用Servlet和JSP開發和調試動態Web應用。

5)利用Jbuilder可創建(沒有專有代碼和標記)純Java2應用。由於Jbuilder是用純Java語言編寫的,其代碼不含任何專屬代碼和標記,它支持最新的Java標准。

6)Jbuilder擁有專業化的圖形調試介面,支持遠程調試和多線程調試,調試器支持各種JDK版本,包括J2ME/J2SE/J2EE。JBuilder環境開發程序方便,它是純的Java開發環境,適合企業的J2EE開發;缺點是往往一開始人們難於把握整個程序各部分之間的關系,對機器的硬體要求較高,比較吃內存,這時運行速度顯得較慢。

5、Oracle的JDeveloper

Oracle9iJDeveloper(定為9.0版,最新為10g)為構建具有J2EE功能,XML和Webservices的復雜的,多層的Java應用程序提供了一個完全集成的開發環境。它為運用Oracle9i資料庫和應用伺服器的開發人員提供特殊的功能和增強性能,除此以外,它也有資格成為用於多種用途Java開發的一個強大的工具。

Oracle9iJDeveloper的主要特點如下:

①具有UML(UnifiedModelingLanguage,一體化建模語言)建模功能。可以將業務對象及e-business應用模型化。

②配備有高速Java調試器(Debuger)、內置Profiling工具、提高代碼質量的工具「CodeCoach」等。

③支持SOAP(SimpleObjectAccessProtocol)「簡單對象訪問協議」、UDDI(UniversalDescription,DiscoveryandIntegration)「統一描述、發現和集成協議」

、WSDL()「WEB服務描述語言」等Web服務標准。JDeveloper不僅僅是很好的Java編程工具,而且是OracleWeb服務的延伸,支持ApacheSOAP,以及9iAS,可擴充的環境和XML和WSDL語言緊密相關。Oracle9iJdeveloper完全利用Java編寫,能夠與以前的Oracle伺服器軟體以及其他廠商支持J2EE的應用伺服器產品相兼容,而且在設計時著重針對Oracle9i,能夠無縫化跨平台之間的應用開發,提供了業界第一個完整的、集成了J2EE和XML的開發環境,允許開發者快速開發可以通過Web、無線設備及語音界面訪問的Web服務和交易應用,以往只能通過將傳統Java編程技巧與最新模塊化方式結合到一個單一集成的開發環境中之後才能完成J2EE應用開發生命周期管理的事實,從根本上得到改變。缺點就是對於初學者來說,較復雜,也比較難。

6、IBM的VisualAgeforJava

VisualAgeforJava是一個非常成熟的開發工具,它的特性以於IT開發者和業余的Java編程人員來說都是非常用有用的。它提供對可視化編程的廣泛支持,支持利用CICS連接遺傳大型機應用,支持EJB的開發應用,支持與Websphere的集成開發,方便的bean創建和良好的快速應用開發(RAD)支持和無文件式的文件處理。

IBM為建設Web站點所推出的及其包含的Visual

AgeforJavaProfessionalEdition軟體已全面轉向以Java為中心,這樣,Java開發人員對WebSphere全套工具的感覺或許會好了許多。Studio所提供的工具有:Web站點管理、快速開發JDBC頁向導程序、HTML編輯器和HTML語法檢查等。這確實是個不錯的HTML站點頁面編輯環境。Studio和VisualAge集成度很高,菜單中提供了在兩種軟體包之間快速移動代碼的選項。這就讓使用Studio的Web頁面設計人員和使用VisualAge的Java程序員

可以相互交換文件、協同工作。VisualAgeforJava支持團隊開發,內置的代碼庫可以自動地根據用戶做出改動而修改程序代碼,這樣就可以很方便地將目前代碼和早期版本做出比較。與VisualAge緊密結合的WebsphereStudio本身並不提供源代碼和版本管理的支持,它只是包含了一個內置文件鎖定系統,當編輯項目的時候可以防止其他人對這些文件的錯誤修改,軟體還支持諸如MicrosoftVisualSourceSafe這樣的第三方源代碼控制系統。VisualAgeforJava完全面向對象的程序設計思想使得開發程序非常快速、高效。你可以不編寫任何代碼就可以設計出一個典型的應用程序框架。VisualAgeforJava作為IBM電子商務解決方案其中產品之一,可以無縫地與其他IBM產品,如WebSphere、DB2融合,迅速完成從設計、開發到部署應用的整個過程。VisualAgeforJava獨特的管理文件方式使其集成外部工具非常困難,你無法讓VisualAgeforJava與其他工具一起聯合開發應用。

7、BEA的WebLogicWorkshop

BEAWebLogicWorkshop是一個統一、簡化、可擴展的開發環境,使所有的開發人員都能在BEAWebLogicEnterprisePlatform之上構建基於標準的企業級應用,從而提高了開發部門的生產力水平,加快了價值的實現。WebLogicWorkshop除了提供便捷的Web服務之外,它能夠用於創建更多種類的應用。作為整個BEAWebLogicPlatform的開發環境。不管是創建門戶應用、編寫工作流、還是創建Web應用,Workshop8.1都可以幫助開發人員更快更好地完成。WebLogicWorkshop的主要特點如下:

①使J2EE開發切實可行,提高開發效率

BEAWebLogicWorkshop使開發人員遠離J2EE內在的復雜性,集中精力專注業務邏輯,無須操心單調乏味的基礎結構代碼。這種創新意味著,已被企業驗證的J2EE的強大功能,最終被大多數不熟悉Java和J2EE的應用開發人員所掌握,從而使IT部門的工作效率提高一個數量級。可視化設計器以及直觀的概念,如事件、屬性和控制項等,實現了基於事件的開發。Workshop簡化的程序設計模型,使開發人員不必掌握復雜的J2EEAPI和面向對象的程序設計原理。所有開發人員,包括J2EE專家和具有可視化和過程化語言技能的應用開發人員在內,都可以共同工作在BEAWebLogicEnterprisePlatform之上。Workshop的可視化開發環境,創建帶有代碼注釋的標准Java文件,用來說明由運行時框架實施的企業級需求。J2EE和其他高級開發人員,藉助功能強大的代碼編輯功能,可以訪問Java源代碼,從而彌補了可視化設計器的不足。

②構建企業級應用

通過在可伸縮、安全可靠的企業級架構上實施各種應用,BEAWebLogicWorkshop大大降低了開發風險。而且,所有應用的創建都使用標準的J2EE組件,既保護了您的技術投資,又保持了最大的靈活性。BEAWebLogicWorkshop運行框架,是統一整個架構的匯聚層,使單一、簡化的程序設計模型擴展到所有的BEAWebLogicEnterprisePlatform應用類型。通過解釋設計時創建的注釋代碼,運行時框架可以實現必要的J2EE組件,並且提取出與J2EE應用開發有關的所有底層細節。

③降低IT復雜性BEAWebLogicWorkshop提供各種Java控制項,使得與IT資源的連接更輕而易舉。另外,在構建任何BEAWebLogicPlatform的應用中,Java控制項不僅可擴展而且完全相同。這種強大、有效的方法能夠:降低IT技術的復雜性,優化信息的可用性,推動包含"最佳業務方案"的可重用服務的開發,使開發人員能以更低的成本、更短的時間實現更大的產出。

利用BEAWebLogicWorkshop,任何開發人員都能以最大的生產效率,構建各種Web服務、Web應用、門戶和集成項目。BEAWebLogicWorkshop是BEA的產品戰略核心,它幫助客戶接觸和利用面向服務架構(SOA)的強大功能。BEAWeblogicWorkshop8.1極大簡化了當前實際企業集成環境中企業級應用和服務的構建,並成為全面支持關鍵企業級應用(如非同步、真正松耦合和粗粒度消息傳送等)的自然選擇。它的缺點就是過於復雜,對於初學者來說,理解起來較為困難。

8、WebGain的VisualCafeforJavaVisualCafe是只能在Symantec公司的Java虛擬機、Netscape公司的Java虛擬機和Microsoft虛擬機上工作的調試器。這對於開發者來講是一個重要的特性,因為用戶開發的Java代碼中的許多軟體bug就可能中會在某種特定的虛擬機上起作用。在修改後進行編譯基繼續進行調試時,VisualCafe會自動將文件存檔,使用VisualCafe創建的原生應用具有許多特點。除了明顯的速度提高之外,Symantec使類庫的二進制方式比正常的JDK小VisualCafe為所指定的關系自動生成或更新必要的Java代碼。利用VisualCafe,用戶可以從一個標准對象資料庫中集合完整的Java應用程序和Applet,而不必再編寫源代碼。VisualCafe還提供了一個擴充的源代碼開發工具集。VisualCafe綜合了Java軟體的可視化源程序開發工具,它允許開發人員在可視化視圖和源視圖之間進行有效地轉換。在可視化視圖中進行的修改立即反映在源代碼中。對源代碼的改變自動更新可視化視圖。VisualCafe具有許多源文件方面的特性,如全局檢索和替換。絕大多數Java開發工具的文獻的問題在於簡單地挨個介紹開發工具的每部分組件,但用戶在開應用時還需要一個面向任務的手冊,利用這個手冊你可以不必知道工具每一部分的特定功能就可以開始創建自己的應用。VisualCafe提供了非常全面的用戶指南,它對最開始的安裝到創建第一個Java應用和Applet都提供了全面的幫助,VisualCafe將自動生成所指明關系的必要Java代碼。VisualCafe可以在Windows95和WindowsNT平台下運行,Symantec公司為Java開發工作提供一個在Macintosh操作系統下可以運行的RAD工具。VisualCafe編譯器速度很快,在國際化支持方面比較突出;缺點就是對於初學者來說,較復雜,也比較難。

9、Macromedia的JRUN

Macromedia公司的JRun是一個具有最廣闊適用性的Java引擎,用於開發及實施由JavaServlets和JavaServerPages編寫的伺服器端Java應用。JRun是第一個完全支持JSP1.0規格書的商業化產品,全球有超過80,000名開發人員使用JRun在他們已有的Web伺服器上添加伺服器端Java的功能。其中Web伺服器包括了MicrosoftIIS,NetscapeEnterpriseServer,Apache等。JRun是開發實施伺服器端Java的先進引擎。如果我們希望在我們的Web應用中添加伺服器端Java功能,那麼JRun將成為我們的正確選擇。JRun目前有3個版本,它是第一個支持JavaServerPages(JSP)規格書1.0的商業化產品。JSP是一種強大的伺服器端技術,它是用於創建復雜Web應用的一整套快速應用開發系統。JRun可以使我們開始開發並測試Java應用。它最多接受5個並發的連接並且包括全部JavaServletAPI,支持JavaServerPages(JSP),支持所有主要的Webservers和計算機平台。JRunPro能夠在生產環境下承受大訪問量的負載,幫助我們實施應用、服務或Web站點(包括內聯網)。JRunPro支持無限量並發式連接運行多個Java虛擬機,包括多個並發的Java虛擬機(JVM)。提供一個遠程管理applet以及一個遠程可再分布式的管理applet。JRunProUnlimited包括了所有JRunPro的功能,除次以外,還可以運行無限量的,並發的JVM。JRun依靠其內置的JRunWebServer可以單獨運行。使用伺服器端Java,用戶可以開發出復雜的商業應用系統。最重要的一點是,由於servlets的平台獨立性,以及更加簡單的開發、更快速的實施、更經濟的維護成本,它是CGI(CommonGatewayInterface)或Perlscripts的極佳的替代產品。缺點就是對於初學者來說,較復雜,也比較難。10、JCreator

JCreator是一個Java程序開發工具,也是一個Java集成開發環境(IDE)。無論你是要開發Java應用程序或者網頁上的Applet元件都難不倒它。在功能上與Sun公司所公布的JDK等文字模式開發工具相較之下來得容易,還允許使用者自訂義操作窗口界面及無限Undo/Redo等功能。JCreator為用戶提供了相當強大的功能,例如項目管理功能,項目模板功能,可個性化設置語法高亮屬性、行數、類瀏覽器、標簽文檔、多功能編繹器,向導功能以及完全可自定義的用戶界面。通過JCreator,我們不用激活主文檔而直接編繹或運行我們的JAVA程序。JCreator能自動找到包含主函數的文件或包含Applet的Html文件,然後它會運行適當的工具。在JCreator中,我們可以通過一個批處理同時編繹多個項目。JCreator的設計接近Windows界面風格,用戶對它的界面比較熟悉。其最大特點是與我們機器中所裝的JDK完美結合,是其它任何一款IDE所不能比擬的。它是一種初學者很容易上手的java開發工具,缺點是只能進行簡單的程序開發,不能進行企業J2EE的開發應用。

11、MicrosoftVJ++

VisualJ++是Microsoft公司推出的可視化的Java語言集成開發環境(IDE),為Java編程人員提供了一個新的開發環境,是一個相當出色的開發工具。無論集成性、編譯速度、調試功能、還是易學易用性,都體現了Microsoft的一慣風格。VisualJ++具有

下面的特點:

1)VisualJ++把Java虛擬機(JVM)作為獨立的操作系統組件放入Windows,使之從瀏覽器中獨立出來。

2)Microsoft的應用基本類庫(AFC,)對SUN公司的JDK作了擴展,使應用基本類庫更加適合在Windows下使用。

3)VisualJ++的調試器支持動態調試,包括單步執行、設置斷點、觀察變數數值等。

4)VisualJ++提供了一些程序向導(Wizards)和生成器(Builders),它們可以方便地幫助用戶快速地生成Java程序,幫助你在自己的工程中創建和修改文件。

5)VisualJ++界面友好,其代碼編輯器具有智能感知、聯機編譯等功能,使程序編寫十分方便。VisualJ++中建立了Java的WFC,這一新的應用程序框架能夠直接訪問Windows應用程序介面(API),使你能夠用Java語言編寫完全意義上的Windows應用程序。

6)VisualJ++中表單設計器的快速應用開發特性使用WFC創建基於表單的應用程序變得輕松、簡單。通過WFC可以方便地使用ActiveX數據對象(ADO,ActiveXDataObjects)來檢索數據和執行簡單數據的綁定。通過在表單設計器中使用ActiveX數據對象,可以快速地在表單中訪問和顯示數據。VisualJ++能結合微軟的一貫的編程風格,很方便進行Java的應用開發,但它的移植性較差,不是純的Java開發環境。

12、Eclipse

Eclipse是一種可擴展的開放源代碼IDE。2001年11月,IBM公司捐出價值4,000萬美元的源代碼組建了Eclipse聯盟,並由該聯盟負責這種工具的後續開發。集成開發環境(IDE)經常將其應用范圍限定在「開發、構建和調試」的周期之中。為了幫助集成開發環境(IDE)克服目前的局限性,業界廠商合作創建了Eclipse平台。Eclipse允許在同一IDE中集成來自不同供應商的工具,並實現了工具之間的互操作性,從而顯著改變了項目工作流程,使開發者可以專注在實際的嵌入式目標上。Eclipse框架的這種靈活性來源於其擴展點。它們是在XML中定義的已知介面,並充當插件的耦合點。擴展點的范圍包括從用在常規表述過濾器中的簡單字元串,到一個Java類的描述。任何Eclipse插件定義的擴展點都能夠被其它插件使用,反之,任何Eclipse插件也可以遵從其它插件定義的擴展點。除了解由擴展點定義的介面外,插件不知道它們通過擴展點提供的服務將如何被使用。利用Eclipse,我們可以將高級設計(也許是採用UML)與低級開發工具(如應用調試器等)結合在一起。如果這些互相補充的獨立工具採用Eclipse擴展點彼此連接,那麼當我們用調試器逐一檢查應用時,UML對話框可以突出顯示我們正在關注的器件。事實上,由於Eclipse並不了解開發語言,所以無論Java語言調試器、C/C++調試器還是匯編調試器都是有效的,並可以在相同的框架內同時瞄準不同的進程或節點。Eclipse的最大特點是它能接受由Java開發者自己編寫的開放源代碼插件,這類似於微軟公司的VisualStudio和Sun微系統公司的NetBeans平台。Eclipse為工具開發商提供了更好的靈活性,使他們能更好地控制自己的軟體技術。Eclipse聯盟已經宣布將在2004年中期發布其3.0版軟體。這是一款非常受歡迎的java開發工具,這國內的用戶越來越多,實際上實用它java開發人員是最多的。缺點就是較復雜,對初學者來說,理解起來比較困難。

㈩ 3ds max中材質編輯器的多層基本設置在哪

你截圖的(多層基本參數)上面(明暗器基本參數) 左側下拉裡面選擇多層

閱讀全文

與多層編譯器相關的資料

熱點內容
如何開一家少兒編程公司 瀏覽:949
光伏計算日照時用什麼app 瀏覽:234
計算階乘的python程序 瀏覽:47
傳奇如何選擇伺服器 瀏覽:574
英雄聯盟光輝和程序員哪個厲害 瀏覽:253
什麼是pojo編程 瀏覽:924
外掛編程視頻 瀏覽:133
學javaapp 瀏覽:12
客戶端無盤如何與伺服器連接 瀏覽:792
狙擊手命令 瀏覽:505
財務防雷指標公式源碼 瀏覽:877
mysql源碼解讀 瀏覽:247
安卓手機如何玩光遇ios版 瀏覽:918
單片機匯編語言C語言 瀏覽:109
雲伺服器4g多少錢一個 瀏覽:440
json雙引號java 瀏覽:402
javades加密演算法 瀏覽:76
程序員母親禮物 瀏覽:603
找裝修設計用什麼app 瀏覽:853
燈塔app是什麼意思 瀏覽:701