李志欽,桑 園
(鄭州西亞斯學院,河南 新鄭 451150)
面對大數(shù)據(jù)技術(shù)的不斷發(fā)展,應(yīng)用開發(fā)技術(shù)多種多樣,Java以其獨特的優(yōu)勢獲得一席之地。相對于其他編程語言,Java應(yīng)用廣泛。Java簡單易學,功能強大,大量的開源庫簡化了開發(fā)過程。一些主流大數(shù)據(jù)開發(fā)工具都是基于Java的,這意味著利用Java處理大數(shù)據(jù)問題時在程序遷移、資源可用性、設(shè)備性能、安全穩(wěn)定性、成本控制等方面更具優(yōu)勢。應(yīng)加深對Java編程語言在大數(shù)據(jù)開發(fā)中的研究,進而實現(xiàn)大數(shù)據(jù)開發(fā)效益的最大化。
Java編程語言是當今最主流的編程語言之一。Java編程語言是在C語言和C++語言基礎(chǔ)上發(fā)展而來的一種編程語言,它在聲明變量、操作符形式、參數(shù)的傳遞、流程的控制等方面與C語言、C++語言高度相似,繼承了C++語言面向?qū)ο蠹夹g(shù)的核心思想,但同時,Java編程語言在此基礎(chǔ)上進一步完善,舍棄了C語言中難以理解的指針、運算符重載、多重繼承等特性,增加了垃圾回收機制,減少程序所占的內(nèi)存。Java又引入了異常處理、泛型編程、類型安全、自動裝拆箱等。這些改變讓Java編程語言容易被開發(fā)人員熟練掌握,可以讓他們把更多的時間投入到大數(shù)據(jù)研發(fā)上。主流的大數(shù)據(jù)框架及其生態(tài)中的組件大部分都是基于Java語言的,因此,使用Java進行大數(shù)據(jù)開發(fā)具有敏捷、高效的優(yōu)勢。
Java編程語言是面向?qū)ο笳Z言,程序開發(fā)過程符合人們?nèi)粘K季S。Java語法特性簡潔明了,而C語言和C++語言語法特性復(fù)雜,初學者不容易上手,程序代碼可讀性較差,編程邏輯也較為復(fù)雜,相較而言,Java就沒有這些問題。對開發(fā)人員來講,在程序設(shè)計過程中,非常重要是要考慮整個程序結(jié)構(gòu)的復(fù)雜性,Java的簡潔語法結(jié)構(gòu)可以有效地降低開發(fā)人員在程序設(shè)計、實現(xiàn)等環(huán)節(jié)的出錯概率,簡化了程序結(jié)構(gòu),提高了開發(fā)效率,并且易于后期維護。同時,Java編程語言擁有大量的第三方類庫,如解析HTML,如果使用C語言或C++語言這類語言,多半只能由開發(fā)人員編寫解析算法庫,但如果使用Java編程語言就可以直接導(dǎo)入并快速進行HTML解析。Java編程語言語法結(jié)構(gòu)的簡潔性可以讓程序員以優(yōu)雅的思維方式進行復(fù)雜的大數(shù)據(jù)程序開發(fā)。
目前,Hadoop幾乎已經(jīng)成為大數(shù)據(jù)的代名詞,Hadoop包括HDFS、MapReduce和YARN等組件,其中,HDFS是存儲數(shù)據(jù)的地方,MapReduce對數(shù)據(jù)進行處理計算,YARN是體現(xiàn)Hadoop平臺概念的重要組件,有了它,大數(shù)據(jù)生態(tài)體系的其他軟件就能在Hadoop上運行。 但是Hadoop及其組件都是基于Java編程語言開發(fā)的,開發(fā)人員學習Hadoop的首要條件是要學會Java編程語言。除此之外,Apache基于Java的HBase和Accumulo以及基于ElasticSearchas開發(fā)的Hive,、Flink等很多大數(shù)據(jù)開源項目也都是使用Java編程語言來開發(fā)。開發(fā)人員在學習大數(shù)據(jù)組件時,必定要對相關(guān)組件進行深入探究,這個過程中要翻閱項目的源代碼,這需要學習者的Java基礎(chǔ),反之,如果大數(shù)據(jù)組件采用的是非常冷門編程語言開發(fā)的,那么很多學習者在看源碼時,還需學習其他相關(guān)知識,這必然要花費大量時間和精力,所以,將Java編程語言作為大數(shù)據(jù)開發(fā)基礎(chǔ)語言是必要的。
對于任意一個編程語言,它若可以跨平臺運行或遷移,那么將顯著降低開發(fā)人員的工作量。C語言的跨平臺性不及Java,它是編譯執(zhí)行的,編譯器與平臺相關(guān),編譯生成的可執(zhí)行文件與平臺相關(guān)。C++語言也有上述特性,它主要在Windows系統(tǒng)上使用,跨平臺移植也較為復(fù)雜。Java編程語言是解釋執(zhí)行的,只要運行Java應(yīng)用程序的操作系統(tǒng)上具備Java虛擬機JVM(Java Virtual Machine)即可,由JVM來負責Java程序在該系統(tǒng)中的運行,這樣Java編程語言就可以跨平臺運行。目前,大數(shù)據(jù)及其相關(guān)軟件運行平臺復(fù)雜,不僅僅是在單一的操作系統(tǒng)上運行,Java程序的跨平臺特性可以提高大數(shù)據(jù)開發(fā)的效率,同時有利于大數(shù)據(jù)應(yīng)用系統(tǒng)安全穩(wěn)定的運行和后期維護工作的開展。
在社會生產(chǎn)過程中,大數(shù)據(jù)的影響無處不在。由于大量Java人才的支持,使得大數(shù)據(jù)應(yīng)用越來越廣泛,行業(yè)應(yīng)用門檻也越來越低,如電子商務(wù)領(lǐng)域,它們最早利用大數(shù)據(jù)進行精準營銷,再如醫(yī)療行業(yè),以前醫(yī)生診斷時會發(fā)現(xiàn)缺乏相關(guān)病例或治療經(jīng)驗,對疾病的定性和確定治療方案是困難的,現(xiàn)在可以借助大數(shù)據(jù)平臺廣泛收集病例和治療方案,從而實現(xiàn)智慧醫(yī)療。大數(shù)據(jù)的廣泛應(yīng)用也提升了Java編程語言在大數(shù)據(jù)開發(fā)中的地位。
目前,市面上流行的大數(shù)據(jù)開源框架和組件大部分都使用Java編程語言開發(fā),例如,Elasticsearch(為云構(gòu)建的分布式RESTful搜索引擎),EHCache(開源分布式緩存),Hadoop(開源分布式存儲,并對非常大的數(shù)據(jù)集進行分布式處理),Solr(開源企業(yè)搜索平臺),Neo4j(開源圖形數(shù)據(jù)庫)等等。現(xiàn)在的大數(shù)據(jù)開發(fā)是建立在Java編程語言的基礎(chǔ)之上的。
隨著5G技術(shù)的成熟,大數(shù)據(jù)技術(shù)得到了進一步的發(fā)展,人們生活的方方面面都受到了大數(shù)據(jù)的影響,但大數(shù)據(jù)的開發(fā)和深度應(yīng)用離不開Java編程語言。Java是一種成熟的編程語言,它優(yōu)異的跨平臺性與大數(shù)據(jù)復(fù)雜運行平臺相得益彰,同時還具備簡單、面向?qū)ο?、分布式、健壯性、安全性、結(jié)構(gòu)中立、解釋性、開源、多線程、動態(tài)性等眾多優(yōu)點,使得Java與大數(shù)據(jù)技術(shù)相互促進、和諧發(fā)展。
近年來,信息技術(shù)的不斷進步,為大數(shù)據(jù)技術(shù)的應(yīng)用市場提供了廣闊的發(fā)展空間,就目前大數(shù)據(jù)應(yīng)用開發(fā)技術(shù)而言,大數(shù)據(jù)技術(shù)與Java語言的結(jié)合共同構(gòu)成了大數(shù)據(jù)應(yīng)用的高效開發(fā)模式。
Java語言是當今最主流的開發(fā)語言之一,作為成熟的編程語言和我國豐富的Java人才庫,Java在大數(shù)據(jù)應(yīng)用領(lǐng)域?qū)⒗^續(xù)綻放光彩。