Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 久久精品亚洲综合,91精品国产自产在线观看永久∴,97色婷婷成人综合在线观看

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          Java 0基礎(chǔ)入門(初識(shí)Html)

          Java 0基礎(chǔ)入門(初識(shí)Html)

          學(xué)習(xí)Java之前,我們需要了解一定的前端知識(shí)。畢竟頁面才是用戶真正看到的,而且也是體現(xiàn)Java后端邏輯結(jié)果的地方。

          學(xué)習(xí)HTML后,能夠制作界面美觀大方的靜態(tài)網(wǎng)站(更復(fù)雜的功能需要JavaScript腳本一起來實(shí)現(xiàn))。


          HTML制作的網(wǎng)頁。

          所需要的Html開發(fā)工具,可使用Hbuilder。

          下載路徑:https://www.dcloud.io/

          第一次寫文章,不知道鏈接會(huì)不會(huì)被屏蔽,如果看不到可以自行百度,直接搜索Hbuilder,進(jìn)入官網(wǎng)下載安裝,安裝完打開軟件后,點(diǎn)擊暫不登陸,你懂的(免費(fèi)使用)。

          網(wǎng)頁一般使用Chrome,IE的兼容性比較差,學(xué)習(xí)建議使用Chrome。

          下載路徑:https://www.google.cn/chrome/

          作者推薦的學(xué)習(xí)用軟件,都為免費(fèi),放心下載使用。

          一、在Hbuilder中如何來創(chuàng)建頁面

          1、文件->新建->web項(xiàng)目

          2、給項(xiàng)目起名(也可以修改路徑,命名用英文或者拼音縮寫,用中文可能開發(fā)會(huì)出錯(cuò))

          Hbulider創(chuàng)建項(xiàng)目


          3、完成

          4、右擊新建的項(xiàng)目:新建->HTML文件

          5、為新的文件重命名,以html作為后綴

          6、完成


          Hbuilder創(chuàng)建Html文件


          7、選擇頁面,點(diǎn)擊在瀏覽器中運(yùn)行按鈕


          在瀏覽器中運(yùn)行按鈕


          以下新手筆試或者面試容易考

          HTML是HyperText Markup Language縮寫,意為超文本標(biāo)記語言,“超文本”就是指頁面內(nèi)可以包含圖片、鏈接,甚至音樂、程序等非文字元素。

          特點(diǎn):

          1、簡易性

          2、可擴(kuò)展性

          3、平臺(tái)無關(guān)性

          4、通用性


          HTML的結(jié)構(gòu)

          <!DOCTYPE html>
          <html>
          
          	<head>
          		<meta charset="utf-8" />
          		<title></title>
          	</head>
          
          	<body>
          		<h1>Hello Java</h1>
          		<h2>Hello Html</h2>
          	</body>
          
          </html>

          HTML的結(jié)構(gòu)詳解:(了解即可,一般開發(fā)軟件會(huì)自動(dòng)生成,如不生成,那就找個(gè)會(huì)生成的軟件,復(fù)制黏貼)

          <!DOCTYPE html>:文件類型聲明,H5中就這么一種寫法。

          <html>:告知瀏覽器其自身是一個(gè) HTML 文檔,限定了文檔的開始點(diǎn)和結(jié)束點(diǎn)

          <head>:文檔的頭部描述了文檔的各種屬性和信息,包括文檔的標(biāo)題、字符集等信息。絕大多數(shù)文檔頭部包含的數(shù)據(jù)都不會(huì)真正作為內(nèi)容顯示給讀者。在head中可以定義樣式,引用樣式,也可以定義腳本和引用腳本

          <body>:文檔的主體部分,包含文檔的所有內(nèi)容(比如文本、超鏈接、圖像、表格和列表等等。),body部分的內(nèi)容一般就是直接呈現(xiàn)給用戶的部分

          網(wǎng)頁中的亂碼問題:

          <!DOCTYPE html>
          <html>
          	<head>
          		<meta charset="gb2312">
          		<title></title>
          	</head>
          	<body>
          		<h1>Hello Java</h1>
          		<h2>Hello Html</h2>
          		你好
          	</body>
          </html>

          運(yùn)行以上代碼,可以在網(wǎng)頁中看到,“你好”兩個(gè)字為亂碼。這是<meta charset="gb2312">搞的鬼。

          當(dāng)文件本身的字符集編碼以與網(wǎng)頁head部分指定的字符集編碼不一致時(shí),就會(huì)產(chǎn)生亂碼問題,可以在head部分的meta標(biāo)簽中指定和文件一樣的字符集編碼來解決這一問題。<meta charset="utf-8" />

          從執(zhí)行上面的代碼也可以看出,html是按從上到下的順序來顯示的。

          下一篇內(nèi)容:Html各種標(biāo)簽的認(rèn)識(shí)和使用。

          節(jié)討論如何在瀏覽器中的JavaScript引擎中運(yùn)行Java平臺(tái)。在瀏覽器中運(yùn)行Java應(yīng)用程序的標(biāo)準(zhǔn)方式是通過Java小程序。 Applets可以在Web瀏覽器中提供高級別的交互功能,這將超出HTML的普通功能。如果你想在Java中運(yùn)行JavaScript,你應(yīng)該參考nashorn JavaScript引擎。

          在客戶端腳本方面,JavaScript沒有競爭對手。隨著現(xiàn)代網(wǎng)絡(luò)和瀏覽器的出現(xiàn),JavaScript更加蓬勃發(fā)展。憑借良好的JavaScript技能以及像jQuery這樣的庫,我們可以輕松地在現(xiàn)在的市場中找到一份好工作。在這種情況下,我只是想了解在瀏覽器的JavaScript引擎中完全可以運(yùn)行Java JVM。在這方面是否有任何工作正在進(jìn)行以及提供這種支持的任何庫。

          Orto JavaScript JVM

          2008年,John Resig在Orto JavaScript JVM上發(fā)布了一篇博文。我們可以通過Orto運(yùn)行Java字節(jié)碼,它生成一個(gè)JavaScript并且可以嵌入網(wǎng)頁中。我無法追蹤Orto的源項(xiàng)目URL,并且看起來像目前沒有被維護(hù)。幸運(yùn)的是,一些好的撒瑪利亞人在GitHub上發(fā)布了Orto項(xiàng)目。沒有關(guān)于許可條款和文檔的信息都是日文版本。

          Jainja Java轉(zhuǎn)為JavaScript

          Jainja聲稱支持Java 1.5規(guī)范的所有主要特性。 Jainja JVM的演示版可用作Chrome應(yīng)用程序。一個(gè)俄羅斯方塊游戲使用這個(gè)JVM托管在appspot中,它非常令人印象深刻。應(yīng)用程序在瀏覽器中的響應(yīng)緩慢。項(xiàng)目源可用并在SourceForge上托管。

          BicaVM

          這是構(gòu)建JVM的一部分。這更像是一個(gè)概念驗(yàn)證(POC),而不是一個(gè)完整的JVM。從這個(gè)意義上說,這很有吸引力,我們可以學(xué)習(xí)如何以及從哪里開始進(jìn)行類似的項(xiàng)目。

          LLVM,VMKit和emscripten組合

          “LLVM項(xiàng)目是模塊化和可重用的編譯器,工具鏈技術(shù)的集合。” VMKit項(xiàng)目是構(gòu)建在LLVM上的Java和.NET VM的實(shí)現(xiàn)。 VMKit目前尚未維護(hù),但代碼可用查看其存儲(chǔ)庫。 emscripten是一個(gè)LLVM-to-JavaScript編譯器。它可以將LLVM位碼轉(zhuǎn)換為JavaScript。所以通過結(jié)合這三者,我們應(yīng)該能夠在JavaScript引擎中運(yùn)行Java。 VMKit目前沒有維護(hù),并且考慮到使用這些組合,所以這不是一個(gè)有希望的想法。

          其他類似的Java JVM

          • +script- 輔助大學(xué)課程的部分實(shí)施。

          • Bck2Brwsr - 這是列出的所有這些項(xiàng)目中最活躍的項(xiàng)目。這是來自NetBeans IDE的創(chuàng)始人之一。

          • Doppio - 是一個(gè)可以在JavaScript引擎中運(yùn)行Java的Java JVM。它是用CoffeeScript編寫的。這是聲稱對功能支持最多的一個(gè)。

          • jarjvm - 完全是用JavaScript Java JVM編寫的。目前它基于GitHub中的提交而不是主動(dòng)的。

          • node-jvm - 是純node.js中的Java虛擬機(jī)關(guān)于支持哪個(gè)版本的Java規(guī)范沒有太多可用的信息。看起來,它沒有積極維護(hù)。

          在上面列出的所有項(xiàng)目中,Bck2Brwsr和Doppio是看起來很有前途的JavaScript Java JVM。這些項(xiàng)目趕上Java 8并不是一件容易的事情。


          相信你對為你的項(xiàng)目生成Java API文檔(Javadoc)非常熟悉。我們可以通過命令行使用javadoc工具、通過IDE支持、通過Maven插件(maven-javadoc-plugin)等方式來生成Javadoc。

          在編寫Javadoc時(shí),一個(gè)常見的情況是添加代碼片段來舉例說明非平凡類或方法的使用。在JDK 18之前,可以通過`{@code...}`或`<pre>`標(biāo)簽在文檔中添加代碼片段。添加的代碼被視為純文本,不會(huì)進(jìn)行正確性驗(yàn)證,也無法被其他工具發(fā)現(xiàn)。讓我們快速舉一個(gè)例子:

          /**  
           * 一個(gè)帶有激光測距功能的測距儀,測距范圍從0到60英尺,  
           * 包括高精度計(jì)算表面積和體積  
           *  
           * <pre>{@code  
           *     Telemeter.Calibrate.at(0.00001);  
           *     Telemeter telemeter=new Telemeter(0.15, 2, "IP54");  
           * }</pre>  
           */  
          public class Telemeter {  
             // ...  
          }


          在捆綁的代碼中,你可以看到完整的示例。Javadoc是通過Maven插件(maven-javadoc-plugin)在構(gòu)建時(shí)生成的,所以只需觸發(fā)構(gòu)建即可。

          從JDK 18開始,JEP 413 - Java API文檔中的代碼片段,我們通過全新的`{@snippet...}`標(biāo)簽支持在文檔中添加代碼片段。通過`@snippet`添加的代碼可以被第三方工具發(fā)現(xiàn)和驗(yàn)證(但不是javadoc工具本身)。

          例如,之前的代碼片段可以通過`@snippet`添加如下:

          /**  
           * 一個(gè)帶有激光測距功能的測距儀,測距范圍從0到60英尺,  
           * 包括高精度計(jì)算表面積和體積  
           *  
           * {@snippet :  
           *     Telemeter.Calibrate.at(0.00001);  
           *     Telemeter telemeter=new Telemeter(0.15, 2, "IP54");  
           * }  
           */  
          public class Telemeter {  
             // ...  
          }

          輸出的截圖如下所示:


          圖2.13 - 來自`@snippet`的簡單輸出

          有效的代碼從分號(:)后面的換行符開始,并在關(guān)閉右大括號(})之前結(jié)束。代碼的縮進(jìn)與代碼塊中的縮進(jìn)相同,因此編譯器會(huì)移除偶然的空白字符,我們可以根據(jù)關(guān)閉右大括號(})來縮進(jìn)代碼。請查看以下圖表:



          圖2.14 - 代碼片段的縮進(jìn)

          在上面的例子中,關(guān)閉右大括號與打開左大括號對齊,而在下面的例子中,我們將關(guān)閉右大括號向右移動(dòng)了。

          **添加屬性**

          我們可以通過名稱=值對為`@snippet`指定屬性。例如,我們可以通過`lang`屬性為代碼片段提供編程語言提示。屬性的值可供外部工具使用,并出現(xiàn)在生成的HTML中。以下是兩個(gè)例子:

          * {@snippet lang="java" :  
          *     Telemeter.Calibrate.at(0.00001);  
          *     Telemeter telemeter=new Telemeter(0.15, 2, "IP54");  
          * }


          在生成的HTML中,你將很容易識(shí)別到這個(gè)屬性作為`<code class="language-java"> … </code>`。

          如果代碼是結(jié)構(gòu)化文本,如屬性文件,則可以遵循以下示例:

          * {@snippet lang="properties" :  
          *   telemeter.precision.default=42  
          *   telemeter.clazz.default=2  
          * }


          在生成的HTML中,你將得到`<code class="language-properties"></code>`。

          接下來,讓我們看看如何更改代碼片段中顯示的內(nèi)容。

          **使用標(biāo)記注釋和區(qū)域**

          我們可以通過標(biāo)記注釋來可視化地更改代碼片段。標(biāo)記注釋出現(xiàn)在行尾,并包含一個(gè)或多個(gè)標(biāo)記標(biāo)簽,形式為`@name args`,其中args通常是name=value對。常見的標(biāo)記注釋包括高亮顯示、鏈接和內(nèi)容(文本)修改。

          **高亮顯示**

          可以通過不帶參數(shù)的`@highlight`來高亮顯示整行代碼,如下圖所示:


          圖2.15 - 高亮顯示整行代碼

          如你在此圖中看到的,第一行代碼被加粗了。如果我們想高亮顯示多行代碼,則可以定義區(qū)域。一個(gè)區(qū)域可以被視為匿名的或具有顯式名稱。匿名區(qū)域由標(biāo)記標(biāo)簽的參數(shù)中的單詞region界定,并在區(qū)域末尾放置`@end`標(biāo)簽。以下是一個(gè)高亮顯示兩個(gè)區(qū)域(一個(gè)匿名的和一個(gè)名為R1的)的示例:

          圖2.16 -使用區(qū)域高亮顯示代碼塊

          正則表達(dá)式允許我們高亮顯示代碼的特定部分。例如,高亮顯示引號之間的所有內(nèi)容可以通過`@highlight regex='".*"'`來實(shí)現(xiàn)。或者,僅高亮顯示單詞Calibrate可以通過substring="Calibrate"參數(shù)來實(shí)現(xiàn),如下圖所示:


          圖2.17 - 僅高亮顯示單詞"Calibrate"

          接下來,讓我們談?wù)勗诖a中添加鏈接。

          **鏈接**

          可以通過`@link`標(biāo)簽在代碼中添加鏈接。常見的參數(shù)是substring="…"和target="…"。例如,以下代碼片段為文本Calibrate提供了一個(gè)鏈接,該鏈接導(dǎo)航到Calibrate.at()方法的描述:


          圖2.18 - 在代碼中添加鏈接

          接下來,讓我們看看如何修改代碼的文本。

          **修改代碼的文本**

          有時(shí)我們可能需要更改代碼的文本。例如,我們想在文檔中渲染`Telemeter.Calibrate.at(eps, "HIGH");`而不是`Telemeter.Calibrate.at(0.00001, "HIGH");`。因此,我們需要將0.00001替換為eps。這正是`@replace`標(biāo)簽的用途所在。常見參數(shù)包括substring="…"(或regex="…")和replacement="..."。以下是代碼片段:


          圖2.19 - 替換代碼的文本

          如果你需要在代碼塊中執(zhí)行多個(gè)替換,則依賴于區(qū)域。在以下示例中,我們對代碼塊應(yīng)用了一個(gè)簡單的正則表達(dá)式:


          圖2.20 - 通過簡單正則表達(dá)式和匿名區(qū)域應(yīng)用多個(gè)替換

          如果你需要在同一行上執(zhí)行更多替換,只需鏈?zhǔn)绞褂枚鄠€(gè)`@replace`標(biāo)簽(此語句適用于所有標(biāo)簽,如`@highlight`、`@link`等)。

          **使用外部片段**

          到目前為止,我們只使用了內(nèi)聯(lián)片段。但是,有些情況下使用內(nèi)聯(lián)片段不是一個(gè)方便的方法(例如,如果我們需要重復(fù)文檔中的某些部分)或無法使用它們(例如,如果我們要嵌入/*…*/注釋,這些注釋無法添加到內(nèi)聯(lián)片段中)。

          對于這些情況,我們可以使用外部片段。無需任何進(jìn)一步配置,JDK會(huì)自動(dòng)識(shí)別放置在包含片段標(biāo)簽的包(文件夾)的子文件夾中的外部片段。這個(gè)子文件夾應(yīng)命名為snippet-files,并且可以包含作為Java源代碼、純文本文件或?qū)傩晕募耐獠科巍T谝韵聢D表中,我們有一個(gè)名為MainSnippet.txt的單個(gè)外部文件:


          圖2.21 - snippet-files中的外部片段

          如果外部片段不是Java文件,則可以通過`{@snippet file …}`加載,如下所示:

          {@snippet file=MainSnippet.txt}  
          {@snippet file="MainSnippet.txt"}  
          {@snippet file='MainSnippet.txt'}


          但是,我們還可以自定義外部片段的位置和文件夾名稱。例如,讓我們將外部片段放置在名為snippet-src的文件夾中,如下所示:


          圖2.22 - 自定義文件夾和位置中的外部片段

          這次,我們需要指示編譯器在哪里找到外部片段。這是通過向javadoc傳遞`--snippet-path`選項(xiàng)來完成的。當(dāng)然,你可以通過命令行、IDE或maven-javadoc-plugin來傳遞它,如下所示:

          <additionalJOption>  
            --snippet-path C:\...\src\snippet-src  
          </additionalJOption>


          這個(gè)路徑相對于你的機(jī)器,所以請根據(jù)你的pom.xml文件相應(yīng)地調(diào)整它。接下來,可以像之前對MainSnippet.txt所做的那樣加載AtSnippet.txt和ParamDefaultSnippet.properties。但是,加載Java源代碼,如DistanceSnippet.java,可以通過`{@snippet class…}`來完成,如下所示:

          {@snippet class=DistanceSnippet}  
          {@snippet class="DistanceSnippet"}  
          {@snippet class='DistanceSnippet'}


          但是,不要明確添加.java擴(kuò)展名,因?yàn)槟銜?huì)得到一個(gè)錯(cuò)誤,指出在源代碼路徑或片段路徑上找不到文件:DistanceSnippet/java.java。

          **外部片段中的區(qū)域**

          外部片段通過`@start region=…`和`@end region=…`支持區(qū)域。例如,在AtSnippet.txt中,我們有以下區(qū)域:

          // 這是文檔中使用的示例  
          // @start region=only-code                 
             Telemeter.Calibrate.at(0.00001, "HIGH");   
          // @end region=only-code


          現(xiàn)在,如果我們按如下方式加載區(qū)域:

          {@snippet file=AtSnippet.txt region=only-code}


          我們只會(huì)得到區(qū)域中的代碼,而不會(huì)得到文本`// 這是文檔中使用的示例`。以下是另一個(gè)帶有兩個(gè)區(qū)域的屬性文件的示例:

          # @start region=dist  
          sc=[0,0]  
          ec=[0,0]  
          interpolation=false  
          # @end region=dist  
          # @start region=at  
          eps=0.1  
          type=null  
          # @end region=at


          dist區(qū)域用于在文檔中顯示distance()方法參數(shù)的默認(rèn)值:


          圖2.23 - 使用dist區(qū)域展示了distance()方法參數(shù)的默認(rèn)值

          而at區(qū)域則用于在文檔中顯示at()方法參數(shù)的默認(rèn)值:


          圖2.24 - 使用'at'區(qū)域展示了at()方法參數(shù)的默認(rèn)值

          在外部片段中,我們可以使用與內(nèi)聯(lián)片段中相同的標(biāo)簽。例如,在以下圖表中,你可以看到AtSnippet.txt的完整源代碼:


          圖2.25 - AtSnippet.txt的源代碼

          請注意@highlight和@replace的存在。

          從JDK 19開始,Javadoc的搜索功能也得到了改進(jìn)。換句話說,JDK 19+可以生成一個(gè)獨(dú)立的搜索頁面,用于在Javadoc API文檔中搜索。此外,搜索語法也得到了增強(qiáng),以支持多個(gè)搜索詞。

          你可以在捆綁的代碼中練習(xí)這些示例。通過添加適當(dāng)?shù)拇a片段和標(biāo)記,你可以為你的Java API文檔提供更加豐富和有用的內(nèi)容,幫助讀者更好地理解和使用你的代碼庫。


          主站蜘蛛池模板: 亚洲香蕉久久一区二区| 中文字幕亚洲一区二区va在线| 久久久久女教师免费一区| 在线视频一区二区| 一区二区三区在线|日本| 日本在线视频一区二区| 国产一区视频在线| 99久久精品国产免看国产一区| 日本一区二区三区在线观看视频| 国产精品分类视频分类一区| 亚洲色大成网站www永久一区| 国产一区二区三区在线免费| 久久中文字幕无码一区二区| 一区二区三区无码被窝影院| 亚洲国产精品第一区二区| 国产av成人一区二区三区| 一区二区三区中文| 午夜视频久久久久一区 | 久久国产精品最新一区| 国产午夜毛片一区二区三区| 精品国产免费一区二区三区| 国产福利电影一区二区三区久久老子无码午夜伦不 | 成人精品一区二区三区中文字幕| 国产成人精品无码一区二区老年人 | 一区二区视频在线免费观看| 韩国资源视频一区二区三区| 韩国女主播一区二区| 久久青青草原一区二区| 日本免费电影一区二区 | 伦理一区二区三区| 国产情侣一区二区| 亚洲影视一区二区| 人妻精品无码一区二区三区 | 国产成人一区在线不卡| 乱人伦一区二区三区| 久久精品一区二区影院| 亚洲日本一区二区三区在线 | 中文字幕人妻无码一区二区三区| 国产无套精品一区二区 | 国产伦精品一区二区三区四区| 精品3d动漫视频一区在线观看|