日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Nashorn——在JDK 8中融合Java与JavaScript之力--转

發布時間:2025/4/5 javascript 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nashorn——在JDK 8中融合Java与JavaScript之力--转 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文地址:http://www.infoq.com/cn/articles/nashorn

從JDK 6開始,Java就已經捆綁了JavaScript引擎,該引擎基于Mozilla的Rhino。該特性允許開發人員將JavaScript代碼嵌入到Java中,甚至從嵌入的JavaScript中調用Java。此外,它還提供了使用jrunscript從命令行運行JavaScript的能力。如果不需要非常好的性能,并且可以接受ECMAScript 3有限的功能集的話,那它相當不錯了。

從JDK 8開始,Nashorn取代Rhino成為Java的嵌入式JavaScript引擎。Nashorn完全支持ECMAScript 5.1規范以及一些擴展。它使用基于JSR 292的新語言特性,其中包含在JDK 7中引入的invokedynamic,將JavaScript編譯成Java字節碼。

與先前的Rhino實現相比,這帶來了2到10倍的性能提升,雖然它仍然比Chrome和Node.js中的V8引擎要差一些。如果你對實現細節感興趣,那么可以看看這些來自2013 JVM語言峰會的幻燈片。

由于Nashorn隨JDK 8而來,它還增加了簡潔的函數式接口支持。接下來,我們很快就會看到更多細節。

讓我們從一個小例子開始。首先,你可能需要安裝JDK 8和NetBeans、IntelliJ IDEA或者Eclipse。對于集成JavaScript開發,它們都至少提供了基本的支持。讓我們創建一個簡單的Java項目,其中包含下面兩個示例文件,并運行它:

(點擊圖片可以查看大圖)

在第12行,我們使用引擎的“eval”方法對任意JavaScript代碼求值。在本示例中,我們只是加載了上面的JavaScript文件并對其求值。你可能會發現那個“print”并不熟悉。它不是JavaScript的內建函數,而是Nashorn提供的,它還提供了其它方便的、在腳本環境中大有用武之地的函數。你也可以將 “hello world”的打印代碼直接嵌入到傳遞給“eval”方法的字符串,但將JavaScript放在它自己的文件中為其開啟了全新的工具世界。

Eclipse目前還沒有對Nashorn提供專門的支持,不過,通過JavaScript開發工具(JSDT)項目,它已經支持JavaScript的基本工具和編輯。

(點擊圖片可以查看大圖)

IntelliJ IDEA?13.1(社區版和旗艦版)提供了出色的JavaScript和Nashorn支持。它有一個全功能的調試器,甚至允許在Java和JavaScript之間保持重構同步,因此舉例來說,如果你重命名一個被JavaScript引用的Java類,或者重命名一個用于Java源代碼中的JavaScript文件,那么該IDE將跨語言修改相應的引用。

下面是一個例子,展示如何調試從Java調用的JavaScript(請注意,NetBeans也提供了JavaScript調試器,如下截圖所示):

(點擊圖片可以查看大圖)

你可能會說,工具看上去不錯,而且新實現修復了性能以及一致性問題,但我為什么應該用它呢?一個原因是一般的腳本編寫。有時候,能夠直接插入任何類型的字符串,并任由它被解釋,會很方便。有時候,沒有礙事的編譯器,或者不用為靜態類型擔心,可能也是不錯的。或者,你可能對Node.js編程模型感興趣,它也可以和Java一起使用,在本文的末尾我們會看到。另外,還有個情況不得不提一下,與Java相比,使用JavaScript進行JavaFX開發會快很多。

Shell腳本

Nashorn引擎可以使用jjs命令從命令行調用。你可以不帶任何參數調用它,這會將你帶入一個交互模式,或者你可以傳遞一個希望執行的JavaScript文件名,或者你可以用它作為shell腳本的替代,像這樣:

#!/usr/bin/env jjs var name = $ARG[0]; print(name ? "Hello, ${name}!" : "Hello, world!");

向jjs傳遞程序參數,需要加“—”前綴。因此舉例來說,你可以這樣調用:

./hello-script.js – Joe

如果沒有“—”前綴,參數會被解釋為文件名。

向Java傳遞數據或者從Java傳出數據

正如上文所說的那樣,你可以從Java代碼直接調用JavaScript;只需獲取一個引擎對象并調用它的“eval”方法。你可以將數據作為字符串顯式傳遞……

ScriptEngineManager scriptEngineManager = new ScriptEngineManager(); ScriptEngine nashorn = scriptEngineManager.getEngineByName("nashorn"); String name = "Olli"; nashorn.eval("print('" + name + "')");

……或者你可以在Java中傳遞綁定,它們是可以從JavaScript引擎內部訪問的全局變量:

int valueIn = 10; SimpleBindings simpleBindings = new SimpleBindings(); simpleBindings.put("globalValue", valueIn); nashorn.eval("print (globalValue)", simpleBindings);

JavaScript eval的求值結果將會從引擎的“eval”方法返回:

Integer result = (Integer) nashorn.eval("1 + 2"); assert(result == 3);

在Nashorn中使用Java類

前面已經提到,Nashorn最強大的功能之一源于在JavaScript中調用Java類。你不僅能夠訪問類并創建實例,你還可以繼承他們,調用他們的靜態方法,幾乎可以做任何你能在Java中做的事。

作為一個例子,讓我們看下來龍去脈。JavaScript沒有任何語言特性是面向并發的,所有常見的運行時環境都是單線程的,或者至少沒有任何共享狀態。有趣的是,在Nashorn環境中,JavaScript確實可以并發運行,并且有共享狀態,就像在Java中一樣:

// 訪問Java類Thread var Thread = Java.type("java.lang.Thread"); // 帶有run方法的子類 var MyThread = Java.extend(Thread, { run: function() { print("Run in separate thread"); } }); var th = new MyThread(); th.start(); th.join();

請注意,從Nashorn訪問類的規范做法是使用Java.type,并且可以使用Java.extend擴展一個類。

令人高興的函數式

從各方面來說,隨著JDK 8的發布,Java——至少在某種程度上——已經變成一種函數式語言。開發人員可以在集合上使用高階函數,比如,遍歷所有的元素。高階函數是把另一個函數當作參數的函數,它可以用這個函數參數做些有意義的事情。請看下面Java中高階函數的示例:

List<Integer> list = Arrays.asList(3, 4, 1, 2); list.forEach(new Consumer() { @Override public void accept(Object o) { System.out.println(o); } });

對于這個例子,我們的傳統實現方式是使用一個“外部”循環遍歷元素,但現在,我們沒有那樣做,而是將一個“Consumer”函數傳遞給了“forEach”操作,一個高階的“內部循環”操作會將集合中的每個元素一個一個地傳遞給Consumer的“accept”方法并執行它。

如上所述,對于這樣的高階函數,函數式語言的做法是接收一個函數參數,而不是一個對象。雖然在傳統上講,傳遞函數引用本身超出了Java的范圍,但現在,JDK 8有一些語法糖,使它可以使用Lambda表達式(又稱為“閉包”)來實現那種表示方式。例如:

List<Integer> list = Arrays.asList(3, 4, 1, 2); list.forEach(el -> System.out.println(el));

在這種情況下,“forEach”的參數是這樣一個函數引用的形式。這是可行的,因為Customer是一個函數式接口(有時稱為“單一抽象方法(Single Abstract Method)”類型或“SAM”)。

那么,我們為什么要在討論Nashorn時談論Lambda表達式呢?因為在JavaScript中,開發人員也可以這樣編寫代碼,而在這種情況下,Nashorn可以特別好地縮小Java和JavaScript之間的差距。尤其是,它甚至允許開發人員將純JavaScript函數作為函數式接口(SAM類型)的實現來傳遞。

讓我們來看一些純JavaScript代碼,它們與上述Java代碼實現一樣的功能。注意,在JavaScript中沒有內置的列表類型,只有數組;不過這些數組的大小是動態分配的,而且有與Java列表類似的方法。因此,在這個例子中,我們調用一個JavaScript數組的“for Each”方法:

var jsArray = [4,1,3,2]; jsArray.forEach(function(el) { print(el) } );

相似之處顯而易見;但那還不是全部。開發人員還可以將這樣一個JavaScript數組轉換成一個Java列表:

var list = java.util.Arrays.asList(jsArray);

看見了嗎?是的,這就是在Nashorn中運行的JavaScript。既然它現在是一個Java列表,那么開發人員就可以調用其“forEach”方法。注意,這個“forEach”方法不同于我們在JavaScript數組上調用的那個,它是定義在java集合上的“forEach”方法。這里,我們仍然傳遞一個純JavaScript函數:

list.forEach(function(el) { print(el) } );

Nashorn允許開發人員在需要使用函數式接口(SAM類型)的地方提供純JavaScript函數引用。這不僅適應于Java,也適應于JavaScript。

ECMAScript的下一個版本——預計是今年的最后一個版本——將包含函數的短語法,允許開發人員將函數寫成近似Java Lambda表達式的形式,只不過它使用雙箭頭=>。這進一步增強了一致性。

Nashorn JavaScript特有的方言

正如簡介部分所提到的那樣,Nashorn支持的JavaScript實現了ECMAScript 5.1版本及一些擴展。我并不建議使用這些擴展,因為它們既不是Java,也不是JavaScript,兩類開發人員都會覺得它不正常。另一方面,有兩個擴展在整個Oracle文檔中被大量使用,因此,我們應該了解它們。首先,讓我們為了解第一個擴展做些準備。正如前文所述,開發人員可以使用Java.extend從JavaScript中擴展一個Java類。如果需要繼承一個抽象Java類或者實現一個接口,那么可以使用一種更簡便的語法。在這種情況下,開發人員實際上可以調用抽象類或接口的構造函數,并傳入一個描述方法實現的JavaScript對象常量。這種常量不過是name/value對,你可能了解JSON格式,這與那個類似。這使我們可以像下面這樣實現Runnable接口:

var r = new java.lang.Runnable({run: function() {print("running...\n");} });

在這個例子中,一個對象常量指定了run方法的實現,我們實際上是用它調用了Runnable的構造函數。注意,這是Nashorn的實現提供給我們的一種方式,否則,我們無法在JavaScript這樣做。

示例代碼已經與我們在Java中以匿名內部類實現接口的方式類似了,但還不完全一樣。這將我們帶到了第一個擴展,它允許開發人員在調用構造函數時在右括號“)”后面傳遞最后一個參數。這種做法的代碼如下:

var r = new java.lang.Runnable() {run: function() {print("running...\n");} };

……它實現了完全相同的功能,但更像Java。

第二個常用的擴展一種函數的簡便寫法,它允許刪除單行函數方法體中的兩個花括號以及return語句。這樣,上一節中的例子:

list.forEach(function(el) { print(el) } );

可以表達的更簡潔一些:

list.forEach(function(el) print(el));

Avatar.js

我們已經看到,有了Nashorn,我們就有了一個嵌入到Java的優秀的JavaScript引擎。我們也已經看到,我們可以從Nashorn訪問任意Java類。Avatar.js更進一步,它“為Java平臺帶來了Node編程模型、API和模塊生態系統”。要了解這意味著什么以及它為什么令人振奮,我們首先必須了解Node是什么。從根本上說,Node是將Chrome的V8 JavaScript引擎剝離出來,使它可以從命令行運行,而不再需要瀏覽器。這樣,JavaScript就不是只能在瀏覽器中運行了,而且可以在服務器端運行。在服務器端以任何有意義的方式運行JavaScript都至少需要訪問文件系統和網絡。為了做到這一點,Node內嵌了一個名為libnv的庫,以異步方式實現該項功能。實際上,這意味著操作系統調用永遠不會阻塞,即使它過一段時間才能返回。開發人員需要提供一個回調函數代替阻塞。該函數會在調用完成時立即觸發,如果有任何結果就返回。

有若干公司都在重要的應用程序中使用了Node,其中包括Walmart和Paypal。

讓我們來看一個JavaScript的小例子,它是我根據Node網站上的例子改寫而來:

//加載“http”模塊(這是阻塞的)來處理http請求 var http = require('http'); //當有請求時,返回“Hello,World\n” function handleRequest(req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello, World\n'); } //監聽localhost,端口1337 //并提供回調函數handleRequest //這里體現了其非阻塞/異步特性 http.createServer(handleRequest).listen(1337, '127.0.0.1'); //記錄到控制臺,確保我們在沿著正確的方向前進 console.log('Get your hello at http://127.0.0.1:1337/');

要運行這段代碼,需要安裝Node,然后將上述JavaScript代碼保存到一個文件中。最后,將該文件作為一個參數調用Node。

將libuv綁定到Java類,并使JavaScript可以訪問它們,Avatar.js旨在以這種方式提供與Node相同的核心API。雖然這可能聽上去很繁瑣,但這種方法很有效。Avatar.js支持許多Node模塊。對Node主流Web框架“express”的支持表明,這種方式確實適用于許多現有的項目。

令人遺憾的是,在寫這篇文章的時候,還沒有一個Avatar.js的二進制分發包。有一個自述文件說明了如何從源代碼進行構建,但是如果真沒有那么多時間從頭開始構建,那么也可以從這里下載二進制文件而不是自行構建。兩種方式都可以,但為了更快的得到結果,我建議選擇第二種方式。

一旦創建了二進制文件并放進了lib文件夾,就可以使用下面這樣的語句調用Avatar.js框架:

java -Djava.library.path=lib -jar lib/avatar-js.jar helloWorld.js

假設演示服務器(上述代碼)保存到了一個名為“helloWorld.js”的文件中。

讓我們再問一次,這為什么有用?Oracle的專家(幻燈片10)指出了該庫的幾個適用場景。我對其中的兩點持大致相同的看法,即:

  • 有一個Node應用程序,并希望使用某個Java庫作為Node API的補充
  • 希望切換到JavaScript和Node API,但需要將遺留的Java代碼部分或全部嵌入
  • 兩個應用場景都可以通過使用Avatar.js并從JavaScript代碼中調用任何需要的Java類來實現。我們已經看到,Nashorn支持這種做法。

    下面我將舉一個第一個應用場景的例子。JavaScript目前只有一種表示數值的類型,名為“number”。這相當于Java的“double”精度,并且有同樣的限制。JavaScript的number,像Java的double一樣,并不能表示任意的范圍和精度,比如在計量貨幣時。

    在Java中,我們可以使用BigDecimal,它正是用于此類情況。但JavaScript沒有內置與此等效的類型,因此,我們就可以直接從JavaScript代碼中訪問BigDecimal類,安全地處理貨幣值。

    讓我們看一個Web服務示例,它計算某個數量的百分之幾是多少。首先,需要有一個函數執行實際的計算:

    var BigDecimal = Java.type('java.math.BigDecimal'); function calculatePercentage(amount, percentage) { var result = new BigDecimal(amount).multiply( new BigDecimal(percentage)).divide( new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_EVEN); return result.toPlainString(); }

    JavaScript沒有類型聲明,除此之外,上述代碼與我針對該任務編寫的Java代碼非常像:

    public static String calculate(String amount, String percentage) { BigDecimal result = new BigDecimal(amount).multiply( new BigDecimal(percentage)).divide( new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_EVEN); return result.toPlainString(); }

    我們只需要替換上文Node示例中的handleRequest函數就可以完成代碼。替換后的代碼如下:

    //加載工具模塊“url”來解析url var url = require('url'); function handleRequest(req, res) { // '/calculate' Web服務地址 if (url.parse(req.url).pathname === '/calculate') { var query = url.parse(req.url, true).query; //數量和百分比作為查詢參數傳入var result = calculatePercentage(query.amount,query.percentage); res.writeHead(200, {'Content-Type': 'text/plain'}); res.end(result + '\n'); } }

    我們又使用了Node核心模塊來處理請求URL,從中解析出查詢參數amount和percentage。

    當啟動服務器(如前所述)并使用瀏覽器發出下面這樣一個請求時,

    http://localhost:1337/calculate? amount=99700000000000000086958613&percentage=7.59

    就會得到正確的結果“7567230000000000006600158.73”。這在單純使用JavaScript的“number”類型時是不可能。

    當你決定將現有的JEE應用程序遷移到JavaScript和Node時,第二個應用場景就有意義了。在這種情況下,你很容易就可以從JavaScript代碼內訪問現有的所有服務。另一個相關的應用場景是,在使用JavaScript和Node構建新的服務器功能時,仍然可以受益于現有的JEE服務。

    此外,基于Avatar.js的Avatar項目也朝著相同的方向發展。該項目的詳細信息超出了本文的討論范圍,但讀者可以閱讀這份Oracle公告做一個粗略的了解。該項目的基本思想是,用JavaScript編寫應用程序,并訪問JEE服務。Avatar項目包含Avatar.js的一個二進制分發包,但它需要Glassfish用于安裝和開發。

    小結

    Nashorn項目增強了JDK 6中原有的Rhino實現,極大地提升了運行時間較長的應用程序的性能,例如用在Web服務器中的時候。Nashorn將Java與JavaScript集成,甚至還考慮了JDK 8的新Lambda表達式。Avatar.js帶來了真正的創新,它基于這些特性構建,并提供了企業級Java與JavaScript代碼的集成,同時在很大程度上與JavaScript服務器端編程事實上的標準兼容。

    完整實例以及用于Mac OS X的Avatar.js二進制文件可以從Github上下載。

    轉載于:https://www.cnblogs.com/davidwang456/p/6905572.html

    總結

    以上是生活随笔為你收集整理的Nashorn——在JDK 8中融合Java与JavaScript之力--转的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    久久综合九色综合久久久精品综合 | 色多视频在线观看 | 夜夜嗨av色一区二区不卡 | 色婷婷狠狠18 | 久久99精品久久久久久久久久久久 | 国产97av | av短片在线观看 | 日日夜夜天天 | 最新中文字幕在线观看视频 | 国产亚洲精品久久久久久 | 午夜在线免费视频 | 国产系列精品av | 国产精品一区二区62 | 91天堂素人约啪 | 91福利视频在线 | www.夜夜干.com | 91精品一区二区三区蜜臀 | 国产精品亚洲片在线播放 | 97超在线视频 | 在线观看国产福利片 | 不卡中文字幕av | 香蕉色综合 | 超碰个人在线 | 国产精品一区二区精品视频免费看 | 欧美日韩国产精品久久 | 人操人| 成人精品99 | 91精品视频在线看 | 最新国产在线 | 欧美一级小视频 | www.福利视频 | 欧美激情视频久久 | 久久久久久久久精 | av日韩中文| 亚洲视频免费视频 | 在线黄网站 | 午夜av电影 | 亚洲精品男女 | av在线播放不卡 | 日韩免费视频观看 | 91av在线免费观看 | 天天操夜夜操夜夜操 | 91精品国产欧美一区二区成人 | 又污又黄网站 | 免费色婷婷 | 久久最新视频 | 日日干夜夜爱 | 婷婷丁香国产 | 美女黄频在线观看 | 特级毛片爽www免费版 | 久久久免费看视频 | 在线久久 | 热久久免费视频精品 | 久久福利综合 | 99精品99 | 亚洲色图27p | 国产黄色片在线 | 亚洲日本va午夜在线电影 | 国产免费不卡 | 久久视屏网 | 在线观看精品黄av片免费 | 色播五月激情综合网 | 最近中文字幕国语免费av | 天天操夜夜逼 | 亚洲成人精品国产 | 久草视频看看 | 欧美日韩视频 | 人人草人人草 | 亚洲精品五月 | 96在线| 精品亚洲免a | 最近免费中文字幕mv在线视频3 | av成人在线网站 | 国产免费又黄又爽 | 亚洲专区在线 | 91视频在线自拍 | 欧美日在线观看 | 99爱这里只有精品 | www久| 少妇视频一区 | 夜夜躁狠狠躁日日躁视频黑人 | 亚洲精品网页 | 亚洲综合婷婷 | 天天干人人干 | 亚洲精品视频二区 | 精品视频在线观看 | 免费国产一区二区视频 | 中文视频在线看 | 激情欧美日韩一区二区 | 色婷在线| 亚洲每日更新 | 天天爽天天爽夜夜爽 | 日日日日日 | 成人精品视频久久久久 | 国产成人av综合色 | 欧美激情精品一区 | 亚洲精品在线免费播放 | 成年人在线观看视频免费 | bbw av| 人人狠狠综合久久亚洲 | 又湿又紧又大又爽a视频国产 | 成全免费观看视频 | av片子在线观看 | 日韩最新理论电影 | 久草视频免费播放 | 久久精品国产第一区二区三区 | 九九三级毛片 | 国产在线色站 | 中文字幕成人在线 | 亚州av一区 | 国产色一区 | 99午夜| 超碰公开在线观看 | 久久久一本精品99久久精品 | 97在线观看免费视频 | 一级一级一片免费 | 久久理论视频 | 一区二区激情视频 | 天天干夜夜夜 | 最近av在线 | 91久草视频 | 久草在线视频在线 | 色婷婷av国产精品 | 国产精品久久 | 不卡的av | 四虎永久网站 | 国精产品永久999 | 天天综合天天综合 | 黄色小说免费观看 | 精品国模一区二区三区 | 国产精品国产三级国产不产一地 | 免费看黄在线看 | 免费在线一区二区 | 99热国产在线中文 | 天天干天天操天天射 | 久久免费在线 | 国产精品99蜜臀久久不卡二区 | 国内小视频在线观看 | 手机av在线网站 | 手机看片国产 | 四虎影视国产精品免费久久 | 中文字幕一区二区三区视频 | 天天射射天天 | 国产剧在线观看片 | 国产精品久久久久久久久久久久午 | 91亚洲精品国偷拍自产在线观看 | free. 性欧美.com | 色视频在线看 | 亚洲综合激情小说 | 五月婷婷在线观看视频 | 在线播放 一区 | 日韩在线视频免费观看 | 视频二区在线 | 日韩中文字幕国产精品 | 欧美日韩在线播放 | 91精品啪在线观看国产线免费 | 久久中文视频 | av大全在线播放 | 国产精品免费不卡 | 国产精品一区二区视频 | 亚洲日韩欧美视频 | 中文高清av | 亚洲视频播放 | 亚洲欧洲日韩 | 成人一区不卡 | 中文字幕观看在线 | 日韩久久精品一区二区三区下载 | 婷婷激情五月综合 | 国产精品自产拍在线观看 | 天天射天天操天天 | 四虎免费av | 五月天综合在线 | 国产亚洲精品中文字幕 | 911国产在线观看 | 黄网站色欧美视频 | 亚洲综合激情 | 亚洲精品视频久久 | 欧美亚洲国产精品久久高清浪潮 | www黄色| 日韩网站中文字幕 | 九九免费在线观看 | 夜夜视频欧洲 | 亚洲精选视频在线 | 久久久亚洲国产精品麻豆综合天堂 | 久久亚洲综合国产精品99麻豆的功能介绍 | 中文字幕视频播放 | 日韩电影精品 | 91久久丝袜国产露脸动漫 | 亚洲欧洲中文日韩久久av乱码 | 国产原创av在线 | 亚洲精品视 | 亚欧日韩成人h片 | 国产亚洲激情视频在线 | h文在线观看免费 | 国产群p视频 | 日韩手机视频 | 欧美老人xxxx18| 欧美精品亚洲精品 | 欧美精品一区二区在线播放 | 日日碰狠狠躁久久躁综合网 | 激情视频网页 | 嫩小bbbb摸bbb摸bbb | 久久精品国产精品 | 人人草人人草 | 91丨九色丨国产在线 | 手机在线黄色网址 | www五月 | 伊人中文字幕在线 | 免费高清男女打扑克视频 | 亚洲国产精品久久久久久 | 精品在线免费观看 | 九九在线高清精品视频 | 日韩乱码在线 | 黄色官网在线观看 | 久久综合加勒比 | 婷婷伊人五月天 | 麻豆视频91 | 久久理论影院 | 免费在线观看国产黄 | 久久精品资源 | 日韩国产精品久久 | 日韩最新中文字幕 | 久久久久久久久国产 | 久久久久国产精品免费免费搜索 | 日日夜夜噜噜噜 | 美女国内精品自产拍在线播放 | 亚洲国产中文字幕在线视频综合 | 欧美在线一级片 | 一级a性色生活片久久毛片波多野 | 一区二精品 | 欧美大jb| 99婷婷狠狠成为人免费视频 | 狠狠躁日日躁夜夜躁av | 国内精品亚洲 | 日日干天天插 | 国产中文字幕在线看 | 国产一区免费在线观看 | 久久毛片视频 | 天天鲁天天干天天射 | 久产久精国产品 | 亚洲午夜电影网 | 99爱精品在线 | 999国产在线 | 就要色综合 | www.亚洲视频.com | 五月激情站 | 亚洲精品资源在线观看 | 午夜在线看片 | 97视频人人免费看 | 九九九九精品九九九九 | 久章操 | 男女啪啪视屏 | 97国产精品 | 欧美成人精品三级在线观看播放 | 久久久久夜色 | 精品在线99 | 干综合网 | 成人av片免费看 | 久久福利剧场 | 亚洲免费a | 成人av.com | 日韩三级视频 | 亚洲高清色综合 | 51久久成人国产精品麻豆 | 日韩欧美视频在线观看免费 | 九九在线国产视频 | 国产中文字幕视频 | 国产精品国产三级国产aⅴ无密码 | 日韩电影一区二区在线 | 日本一区二区不卡高清 | 18久久久| 九色在线 | 久草免费在线视频观看 | 性色av一区二区三区在线观看 | 天天操天天干天天操天天干 | 欧美日韩在线精品 | 欧美日韩午夜在线 | 四虎亚洲精品 | 最近乱久中文字幕 | 91天堂素人约啪 | 免费观看一级一片 | wwxxxx日本| 一区二区在线影院 | 天天干天天做天天操 | 国产精品免费在线播放 | 中文字幕亚洲高清 | 国产午夜在线观看 | www.久久91 | 日韩综合第一页 | 成人av片免费看 | 不卡的av电影在线观看 | 干干日日| 中文乱码视频在线观看 | 国产精品亚洲a | 久久亚洲影视 | 亚洲国产合集 | 亚洲毛片一区二区三区 | .国产精品成人自产拍在线观看6 | 亚洲精品在| 国产成人一区二区啪在线观看 | 久久久国产精品人人片99精片欧美一 | 色欲综合视频天天天 | 五月婷婷免费 | av福利电影 | 欧美视频二区 | 伊人小视频 | 中文字幕国产亚洲 | 亚洲高清激情 | 亚洲综合色视频 | 中文字幕一区二区在线观看 | 久久无码精品一区二区三区 | 日韩性色| 美女国产网站 | 激情深爱五月 | japanesexxxhd奶水 国产一区二区在线免费观看 | 国产在线观看污片 | 手机成人在线电影 | 色综合久久久久综合99 | 91久久久久久久一区二区 | 亚洲欧洲一区二区在线观看 | 黄色成人在线 | 精品久久一二三区 | 欧美一区二区三区不卡 | 啪啪肉肉污av国网站 | 欧美另类视频 | 国产精品久久久久久久久久新婚 | 久久www免费人成看片高清 | 日韩av福利在线 | 国产一区二区高清不卡 | 亚洲免费在线 | 日本美女xx | 欧美日本啪啪无遮挡网站 | 91精品色| 久久综合九色 | 日韩av女优视频 | 中文一区在线观看 | 久久久久久久久久影视 | 国产成人免费网站 | 黄色av电影免费观看 | 日韩在线观 | 国产原创在线 | 中文字幕 国产精品 | 日韩免费在线观看视频 | 西西大胆免费视频 | 免费黄a| 色黄久久久久久 | 免费观看91视频 | 色婷婷 亚洲 | 国产91精品一区二区 | 99爱国产精品 | 天天操天天添天天吹 | 天天射天天 | 毛片www| 在线免费观看黄色大片 | 夜夜躁天天躁很躁波 | 色婷婷亚洲综合 | 黄色成人在线观看 | 亚洲精品视频在线观看网站 | 最近中文字幕高清字幕在线视频 | 91精品久久久久久久久久久久久 | 亚洲天堂香蕉 | 最新黄色av网址 | 香蕉影院在线播放 | 欧美日韩亚洲第一页 | 欧美国产在线看 | 国产美腿白丝袜足在线av | 日韩高清 一区 | 色国产精品 | 欧美一区二区在线免费看 | 精品国产一区二区三区四区在线观看 | 91中文字幕网 | 久久综合9988久久爱 | 久青草电影| 精品欧美一区二区三区久久久 | 国产精品日韩在线观看 | av三级av | 亚洲欧美日韩国产一区二区三区 | 国产黄色av| 久久这里只有精品23 | 美女啪啪图片 | 国产亚洲情侣一区二区无 | 天天艹天天 | 伊人色播| 99精品在线免费视频 | 激情欧美日韩一区二区 | 国产特级毛片 | 丁香六月久久综合狠狠色 | 久久久99国产精品免费 | 91精品久久香蕉国产线看观看 | 中文字幕美女免费在线 | 99精品系列| 97视频在线免费播放 | 91av色 | 激情五月av| 少妇做爰k8经典 | 免费毛片aaaaaa | 国产精品色婷婷视频 | 操碰av | 日日夜夜国产 | 青青五月天| 婷五月激情 | 欧美日韩在线精品一区二区 | 天天综合色天天综合 | 最新真实国产在线视频 | 色婷婷国产在线 | 99久久精品无码一区二区毛片 | 亚洲午夜精品一区 | 香蕉网在线| 久久久久久久久黄色 | 国产99黄| 久久综合狠狠狠色97 | 日韩小视频 | 97色婷婷成人综合在线观看 | 91在线免费视频 | 久久天天躁夜夜躁狠狠躁2022 | 福利一区二区 | 99色亚洲 | 天天搞天天干天天色 | 超碰在线公开 | 四虎永久国产精品 | 最近免费中文字幕大全高清10 | 五月在线视频 | 精品亚洲午夜久久久久91 | 成人黄色毛片视频 | 午夜.dj高清免费观看视频 | 在线观看国产高清视频 | 成人黄大片视频在线观看 | 欧美性超爽 | 欧美一区二区三区免费看 | 四川bbb搡bbb爽爽视频 | 欧美伦理一区二区三区 | 成人黄色在线视频 | 麻豆视频在线免费观看 | 成片人卡1卡2卡3手机免费看 | 精品美女久久 | 日韩免费福利 | 最新亚洲视频 | 欧美精品一区二区免费 | 亚洲精品在线国产 | 欧美精品久久久久久久久老牛影院 | 日韩免费视频线观看 | 亚洲天堂va | 视频成人永久免费视频 | 亚洲精品视频中文字幕 | 干干操操| 天天摸天天弄 | 久久久久综合视频 | 丁香九月激情综合 | 欧美韩国在线 | 又黄又刺激又爽的视频 | av黄色在线播放 | 亚洲乱码在线观看 | 亚洲人人精品 | 天天操天天谢 | 国产99久久九九精品免费 | 综合色中色 | 91精品视频网站 | 可以免费看av | 国产亚洲精品久久久久5区 成人h电影在线观看 | 久久国产午夜精品理论片最新版本 | av一区在线播放 | 久久久久福利视频 | 国产美女在线免费观看 | 国产一区二区三区久久久 | 国产成人av网 | 国产剧情久久 | 欧美日韩国产一区二区在线观看 | 久久久久国产精品厨房 | 国产精品久久久亚洲 | 欧美va在线观看 | 91aaa在线观看 | 午夜精品中文字幕 | 日韩有码专区 | 99在线观看免费视频精品观看 | 欧美一级淫片videoshd | www.神马久久 | 五月激情久久 | 午夜91在线 | 久久久噜噜噜久久久 | 久草网在线视频 | 国产精品久久久影视 | 夜色资源站国产www在线视频 | 激情影院在线 | 久久午夜国产精品 | 久久久久久中文字幕 | 免费看一级黄色 | 中文字幕成人一区 | 日韩av资源在线观看 | 精油按摩av | 国产 字幕 制服 中文 在线 | 视频在线99| 亚洲伦理一区二区 | 久久国产欧美日韩精品 | 中文字幕人成不卡一区 | 国产欧美中文字幕 | 激情影音先锋 | 草久热| 久久精品美女视频网站 | 欧美日韩精品在线播放 | 久草在线手机观看 | 在线观看www视频 | 久久国产亚洲视频 | 欧美日韩中文字幕综合视频 | 成年人电影毛片 | 国产精品日韩在线 | 天天操天天操天天 | 叶爱av在线 | 成人黄色小说在线观看 | 国产麻豆视频在线观看 | 久草线| 久久草| 国产精品久久久久久久久久妇女 | 日韩高清黄色 | 在线观看www视频 | www.五月激情.com | 日本黄色大片免费 | 伊人久久婷婷 | 亚洲欧洲日韩 | 96av视频 | 麻豆成人精品视频 | 天天天色综合a | 91片在线观看 | 日本爱爱免费 | 国产韩国精品一区二区三区 | 天天干天天玩天天操 | 久久人操 | 天天射天天射天天 | 在线午夜 | 天天操天天射天天爱 | 久久久蜜桃一区二区 | 97视频在线 | www.香蕉视频在线观看 | 992tv人人网tv亚洲精品 | 超碰精品在线 | av免费观看网站 | 亚洲va男人天堂 | 国产精品岛国久久久久久久久红粉 | 国产福利小视频在线 | 福利一区视频 | 欧美日韩一区二区三区免费视频 | 天天射天天干天天操 | 免费观看国产精品 | 久久这里有 | 色操插 | 中文字幕在线观看一区二区 | 96精品在线 | 欧美日本在线视频 | 亚洲国产欧美在线看片xxoo | 亚洲黄色在线 | 久久人人爽人人片av | 中文字幕在线成人 | 国产精品一区二区三区观看 | 又长又大又黑又粗欧美 | 日韩大片在线免费观看 | 欧美精品一区二区免费 | 超碰日韩 | 国产一区二区在线播放视频 | 在线免费精品视频 | 97人人视频| 亚洲精品国产精品乱码在线观看 | 啪啪凸凸| 国产精品久久久亚洲 | 欧美综合在线视频 | 黄色影院在线观看 | 91大神电影| 青草视频网| 久精品在线 | 国产在线色视频 | 欧美激情第八页 | 精品99在线视频 | 国产亚洲精品久久久久久网站 | 蜜臀一区二区三区精品免费视频 | 91视频久久久 | 夜夜嗨av色一区二区不卡 | 香蕉视频在线视频 | 日韩精品免费一区二区三区 | 国产一区二区在线播放视频 | 青青久草在线 | 日韩视频一二三区 | 婷婷伊人综合亚洲综合网 | 国产品久精国精产拍 | 中中文字幕av在线 | www.色com| 国产精品1区2区 | 久久综合色播五月 | 亚洲欧洲一区二区在线观看 | 国产美女视频一区 | 日韩视频中文字幕 | 国产精选视频 | 成年人免费在线观看网站 | 在线播放你懂 | 久久狠狠婷婷 | 国产最新福利 | 二区三区毛片 | 成人一级片免费看 | 成人动漫一区二区 | 午夜国产福利在线 | 亚洲一级理论片 | 四虎在线观看精品视频 | 久久精品96 | 欧美一级性生活 | 欧美成人精品三级在线观看播放 | 另类五月激情 | 国产精品久久久久久婷婷天堂 | 精品一区久久 | 亚洲黄色三级 | 久久久久久久久久久久久9999 | 亚洲精品在线观看中文字幕 | 免费看片日韩 | 操碰av | 欧美日韩国产网站 | 国产精品九九视频 | 久久五月天综合 | 国产亚洲精品女人久久久久久 | 色婷婷色| 97av视频| 特黄特色特刺激视频免费播放 | 午夜久久影院 | 天天弄天天操 | 在线精品视频免费观看 | 中文字幕av在线播放 | 婷婷国产精品 | 在线 欧美 日韩 | 东方av在线免费观看 | 亚洲色影爱久久精品 | 亚洲精品美女免费 | 国产91欧美 | 日韩精品不卡在线观看 | 国产午夜亚洲精品 | 久精品在线观看 | 欧美91精品久久久久国产性生爱 | 成人app在线免费观看 | 天天激情天天干 | 人人精品久久 | 亚洲成人av电影 | 国产在线无| 国产成人精品一区二 | 色先锋av资源中文字幕 | 亚洲精品国产综合久久 | 2021国产在线视频 | 九九九热精品免费视频观看网站 | 国产经典 欧美精品 | 国产护士hd高朝护士1 | 好看的国产精品视频 | 中文字幕免费高清av | 激情文学丁香 | 91精品国自产在线观看 | 丁香六月在线观看 | 韩国一区二区三区视频 | 久久美女高清视频 | 黄污在线观看 | 久久久午夜视频 | 久久久国产一区二区三区 | 中文字幕亚洲精品在线观看 | 91精品视频免费看 | 成年人黄色大片在线 | 亚洲一区二区视频在线播放 | 国产精品美女网站 | 亚洲国产欧美一区二区三区丁香婷 | 五月开心激情网 | 干干夜夜 | 91在线在线观看 | 人人爽久久久噜噜噜电影 | 99久久99久国产黄毛片 | 草 免费视频 | 亚洲精品字幕 | 日韩网站一区二区 | 三级av黄色 | 亚洲 在线 | 国产在线探花 | 精品超碰 | 91在线你懂的| 91亚洲夫妻 | 91视频午夜 | 成人午夜精品久久久久久久3d | 99久久综合精品五月天 | 久久久久久国产一区二区三区 | 国产成人一区二区三区电影 | 久久久久国产精品免费免费搜索 | 亚洲欧美在线观看视频 | 婷婷精品在线视频 | 免费观看性生交大片3 | 日韩精品一区二区在线观看视频 | 久久久久久免费视频 | 伊人久在线 | 国产xxxxx在线观看 | 91综合久久一区二区 | 天天艹天天干天天 | 黄色的片子 | 久草在线视频看看 | 免费日韩 | 色婷久久| 免费a v视频 | 亚洲综合国产精品 | 国产一级淫片在线观看 | 九九热av| 久草爱 | 四虎在线观看精品视频 | 99热这里有 | 中文字幕在线观看91 | 一区二区三区四区五区在线视频 | 久久综合婷婷国产二区高清 | 国产免费a | 亚洲美女精品视频 | 精品国偷自产国产一区 | 国产精品成人免费精品自在线观看 | 99精品一级欧美片免费播放 | 最近日本韩国中文字幕 | 亚洲伊人av | 中文字幕精品三级久久久 | 成人三级视频 | 在线中文字幕观看 | 国产91大片 | 在线看黄色的网站 | 久章草在线 | 在线 国产 亚洲 欧美 | 亚洲一级片在线观看 | 69性欧美| 国产玖玖在线 | 91人人网| 三级黄色三级 | 男女激情免费网站 | 免费三级av| 国产亚洲在线 | 久久久免费看 | 九九精品视频在线观看 | 91在线视频免费 | 国产成人在线免费观看 | 久久久国产日韩 | 丁香高清视频在线看看 | 久久综合久久综合久久 | av在线com | 久久久久久美女 | 婷婷深爱 | 激情导航| 亚洲精品视频二区 | 欧美激情va永久在线播放 | 久久国产亚洲视频 | 国产 欧美 日产久久 | 久久a国产 | 日韩色综合网 | 国产在线欧美在线 | 国产精品免费观看久久 | 成人av影视在线 | 九九免费在线观看视频 | 久久久国产精品人人片99精片欧美一 | 国产爽视频 | 亚洲精品小区久久久久久 | 人人干干人人 | 精品亚洲在线 | 久精品视频免费观看2 | 日韩 在线 | 黄色av一区| 亚洲国产剧情av | 亚洲精品免费在线播放 | 日韩一区二区三区在线观看 | 午夜黄色 | 天天综合视频在线观看 | 91桃色在线播放 | 又长又大又黑又粗欧美 | 欧美激情xxxx性bbbb | 开心丁香婷婷深爱五月 | 九九国产精品视频 | 9在线观看免费高清完整版在线观看明 | 国产一级黄色电影 | 人人看人人爱 | 色久天| 精品国产乱子伦一区二区 | 九色精品免费永久在线 | 97国产| av官网| 精品久久久成人 | 又黄又刺激的网站 | 美女视频黄是免费的 | 久草综合在线观看 | 久久国产经典视频 | 韩国一区二区三区在线观看 | 天天操天天干天天爽 | 精品视频| 特级xxxxx欧美 | 久久黄色影视 | av免费观看高清 | 公与妇乱理三级xxx 在线观看视频在线观看 | 在线天堂v| 国产精品欧美一区二区 | 97网| 久草国产视频 | 日韩一区二区三区免费视频 | 天天草天天干天天射 | 亚洲国产日韩一区 | 免费看一级 | 国产精品亚洲片夜色在线 | 欧美日性视频 | av电影在线观看 | 亚洲综合少妇 | 国产成人精品午夜在线播放 | 91精品一区二区三区久久久久久 | 色久五月 | 久久人人爽人人爽人人片av软件 | 一级淫片a| 波多野结衣电影一区二区 | 免费精品人在线二线三线 | 九九久久精品 | 国产99黄| 免费观看av | 久久综合中文字幕 | 日韩网站在线 | 最新av中文字幕 | 国产91全国探花系列在线播放 | 日韩高清在线一区二区 | 性色视频在线 | 在线观看视频一区二区三区 | 亚洲综合激情五月 | 波多野结衣在线播放一区 | a级成人毛片 | 欧美日韩高清在线 | 国产一区二区三区久久久 | 91视频高清| 91九色网站 | 亚洲综合色站 | 亚洲成人动漫在线观看 | 日韩一区二区免费视频 | 亚洲欧美成人网 | 成人精品视频久久久久 | 久久国产经典视频 | 日韩大片免费在线观看 | 免费在线观看成人小视频 | 国产精品免费大片视频 | 国产亚洲精品精品精品 | 超碰97人人干 | 日本 在线 视频 中文 有码 | 免费观看91 | 91人人揉日日捏人人看 | av免费看电影 | 欧美一区二区在线刺激视频 | 中日韩三级视频 | 精品一二区 | 欧美日韩xx | 亚洲va天堂va欧美ⅴa在线 | 成人网色 | 日韩精品影视 | 五月婷婷激情六月 | 高清av在线免费观看 | www国产精品com | 337p欧美 | 欧美最猛性xxxx | 亚洲精品福利视频 | 在线日韩亚洲 | 亚洲好视频 | 日韩中文字幕a | 蜜桃视频在线视频 | 波多野结衣精品在线 | 91爱爱网址| 天天干,天天操,天天射 | 亚洲国内精品在线 | av导航福利| 欧美在线观看视频一区二区三区 | 日韩欧美一区二区三区在线观看 | 免费在线观看国产精品 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 国产婷婷vvvv激情久 | 亚洲最快最全在线视频 | 欧美日韩视频观看 | 色 中文字幕 | 国产一区二区在线免费 | 在线观看免费成人av | 国产69精品久久99的直播节目 | 亚洲精品午夜视频 | 999久久a精品合区久久久 | 色天天天 | 国产视频二区三区 | 麻豆免费视频网站 | 久保带人| 97av在线视频| 日本不卡一区二区 | 免费看成人a| 国产群p| 午夜在线免费观看 | 97看片| 欧美日韩精品在线一区二区 | 三级av中文字幕 | 国产二区电影 | 99精品在线直播 | 免费观看一级视频 | 国产精品久久久久久一区二区三区 | 日韩精品中文字幕在线不卡尤物 | 精品久久久久一区二区国产 | av解说在线| japanesefreesexvideo高潮 | 亚洲精品久久久久久久不卡四虎 | 婷婷亚洲综合五月天小说 | 国产高清绿奴videos | 中文字幕高清在线 | 亚洲黄色大片 | av福利在线看 | 日韩av影片在线观看 | 久久ww| 欧美国产精品久久久久久免费 | 日韩av一卡二卡三卡 | 91中文视频 | 久久免费视频1 | 精品毛片久久久久久 | 美女视频久久久 | 日韩高清成人在线 | 成人九九视频 | 日韩精品中文字幕在线 | 日韩高清在线不卡 | 午夜av免费观看 | 99热在线国产精品 | 免费日韩 精品中文字幕视频在线 | 91视频电影 | 日韩另类在线 | 伊人影院得得 | 成年人电影免费看 | 日韩在线视频国产 | 国产一区二区三区免费在线观看 | 夜夜躁狠狠躁日日躁视频黑人 | 国产色在线观看 | 日韩网站在线播放 | 国产亚洲精品久久久久久无几年桃 | 一区二区在线不卡 | 久久久精品久久日韩一区综合 | 超碰个人在线 | 久久久久国产一区二区三区 | 亚洲精品免费看 | 少妇搡bbbb搡bbb搡69 | 久久久久久久久国产 | av综合在线观看 | 国产免费精彩视频 | 九色porny真实丨国产18 | 国产麻豆精品在线观看 | 高清av网站| 久久婷亚洲五月一区天天躁 | 成人在线视频免费观看 | 国产精品久久久亚洲 | 色国产精品一区在线观看 | 精品久久久久久一区二区里番 | 精品免费久久久久久 | 精品久久久久一区二区国产 | 天天操夜夜做 | 天天操天天舔天天爽 | 久久久久亚洲精品国产 | 三级黄色免费片 | 日韩激情片在线观看 | 婷婷色网视频在线播放 | 中文字幕av在线免费 | 摸bbb搡bbb搡bbbb| 国产欧美久久久精品影院 | 香蕉视频在线播放 | 97久久精品午夜一区二区 | 国产一级91| 欧洲一区精品 | 久久精品视频免费播放 | 97视频精品 | 看av免费网站 | 久久国产精品系列 | 天天舔天天射天天操 | 欧美日韩一级久久久久久免费看 | 国产剧情在线一区 | 丁香久久五月 | 天天射天天搞 | 一本一本久久a久久 | 中文永久免费观看 | 久久国产精品99久久久久 | 久久久综合色 | 毛片的网址 | 日韩av一区二区在线播放 | 久久情网 | 国产精品美女久久久久久免费 | 亚洲国产成人在线观看 | 国产福利av | 天天亚洲综合 | 草莓视频在线观看免费观看 | 国产艹b视频 | 国产中年夫妇高潮精品视频 | 国产精品午夜在线观看 | 亚洲清纯国产 | 国产男女免费完整视频 | 91av免费在线观看 | 亚洲成人av一区二区 | 免费看三片 | 992tv人人草| 日韩视频中文字幕在线观看 | 国产成人在线网站 | 天天舔天天射天天操 | 国产码电影 | 久久,天天综合 | 日韩三级免费 | 亚洲黄色成人 | 久久天堂影院 | 在线成人一区 | 欧美综合在线视频 | 国产一区成人 | 久久艹国产视频 | 久久99精品国产一区二区三区 | 亚洲情感电影大片 | www视频在线免费观看 | 天天干,天天射,天天操,天天摸 |