- 授課品牌:
武漢達(dá)內(nèi)教育
- 機(jī)構(gòu)級(jí)別:代理會(huì)員
- 信譽(yù)等級(jí):
學(xué)校評(píng)價(jià)(我要提問/點(diǎn)評(píng))
- 學(xué)校被點(diǎn)評(píng):0 次
- 好評(píng)(0%)
- 中評(píng)(0%)
- 差評(píng)(0%)
資料認(rèn)證
未通過身份證認(rèn)證
未通過辦學(xué)許可認(rèn)證
- 學(xué)校瀏覽人次:次
- 加盟時(shí)間:2021年04月16日
java不適合做單機(jī)web管理平臺(tái)
這里所說的單機(jī)管理程序是網(wǎng)絡(luò)設(shè)備的web管理平臺(tái),例如防火墻的web管理界面,或者路由器的web管理界面。其中大多數(shù)使用php,還有wrt系列使用Lua,甚至有使用perl的,單機(jī)web管理平臺(tái)很少使用java做的。
主要由于以下兩個(gè)方面:
1 占用空間大小的問題
做UTM的web管理平臺(tái)的時(shí)候,我們?cè)噲D裁剪jdk,但是做的很不理想,因?yàn)橹灰敵鰣D形,就要使用java的awt和swing庫,裁剪幾乎無從談起。天清汗馬的UTM使用php即使加上apache,管理程序可以控制20M以內(nèi)。
jdk 1.5的解壓包,100多M,jdk 1.7的解壓包,接近300M,加上tomcat占用空間,肯定在300M以上。如果使用jetty的話,占用空間會(huì)小一點(diǎn),但是情況也不會(huì)很樂觀。
2 跨平臺(tái)的問題
06年做天清汗馬UTM管理端的時(shí)候,考慮過這個(gè)問題。當(dāng)時(shí)我已經(jīng)有了5年的java編程經(jīng)驗(yàn),一年的python編程經(jīng)驗(yàn),選擇java似乎沒有任何疑問,因?yàn)楫?dāng)時(shí)java沒有嵌入式版本的jdk,所以沒有考慮java。
不考慮python的原因是當(dāng)時(shí)國內(nèi)的程序員基本不使用python,找到一個(gè)python程序員是個(gè)很困難的事情。所以我們使用自己并不熟悉的php做UTM的web管理平臺(tái)的開發(fā)語言。
你也可以說,現(xiàn)在已經(jīng)有了arm和龍芯版的jdk,是不是就可以了。但是sun的jdk主要是面向x86和x64平臺(tái),arm版的jdk并不支持所有版本的linux的c語言庫。還有因?yàn)橛脩糨^少,arm和龍芯版的jdk如果有bug,解決的周期會(huì)比較長。
你會(huì)問,為什么網(wǎng)御SAG的web管理使用java呢?
主要是兩個(gè)方面
1 SAG使用的tomcat是經(jīng)過處理的tomcat,耗費(fèi)空間很小。
2 網(wǎng)御SAG主要控制流程使用java,jdk必要安裝,所以沒用jdk額外占用空間。
你也許覺得java的框架很多,我做單機(jī)管理是不是很有優(yōu)勢(shì)呢?這個(gè)問題很多人提出過,但是php的框架不會(huì)比較java少,Laravel Symfony CodeIgniter也都是很不錯(cuò)的。