精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

當(dāng)前值得了解的七大優(yōu)秀Java微框架

譯文 精選
開發(fā)
Java微框架素以輕量化、極簡設(shè)計聞名,專注于性能、云原生功能與開發(fā)者體驗,不僅適用于構(gòu)建輕量級Web應(yīng)用程序,且特別適配微服務(wù)架構(gòu)。除了最主流的Spring Boot之外,更有多種框架能夠滿足不同需求。本文簡要介紹七款功能獨特、簡潔易用的Java微框架。

譯者 | 核子可樂

審校 | 重樓

Java微框架素以輕量化、極簡設(shè)計聞名,專注于性能、云原生功能與開發(fā)者體驗,不僅適用于構(gòu)建輕量級Web應(yīng)用程序,且特別適配微服務(wù)架構(gòu)。除了最主流的Spring Boot之外,更有多種框架能夠滿足不同需求。本文簡要介紹七款功能獨特、簡潔易用的Java微框架。

框架

人氣(GitHub星數(shù))

關(guān)鍵優(yōu)勢

GitHub鏈接

Spring Boot

~78.2K

行業(yè)標(biāo)準,輕量化

https://github.com/spring-projects/spring-boot

Quarkus

~14.8K

快速啟動,低內(nèi)存占用

https://github.com/quarkusio/quarkus

Vert.x

~14.6K

高并發(fā),非阻塞

https://github.com/eclipse-vertx/vert.x

Ktor

~13.9K

協(xié)程設(shè)計,高靈活性

https://github.com/ktorio/ktor

Dropwizard

~8.4K

穩(wěn)定“內(nèi)置battery”

https://github.com/dropwizard/dropwizard

Javalin

~8K

極致簡潔,API精簡

https://github.com/javalin/javalin

Micronaut

~6.3K

無reflection,高效

https://github.com/micronaut-projects/micronaut-core

Helidon

~3.7K

由甲骨文支持,符合標(biāo)準

https://github.com/helidon-io/helidon

Quarkus

Quarkus是一款現(xiàn)代云原生框架,擁有出色的開發(fā)模式、功能豐富的可插拔架構(gòu),可基于GaalVM或Mandrel實現(xiàn)原生構(gòu)建,尤其適合熟悉Spring并希望快速啟動及原生編譯的開發(fā)者。

Quarkus還提供CLI。在安裝完成后,用戶可使用quarkus create開發(fā)應(yīng)用程序。若以開發(fā)模式啟動應(yīng)用程序,框架還會熱部署代碼變更并生成開發(fā)控制臺:

Quarkus提供多種擴展,包括日志記錄、指標(biāo)、身份驗證及數(shù)據(jù)存儲。開發(fā)者可使用UI進行管理,并通過CLI進行添加和刪除。

Quarkus通過Vert.x支持命令式及響應(yīng)式編程,允許大家在同一應(yīng)用之內(nèi)使用這兩種編程風(fēng)格,且直接支持端點虛擬線程。

Quarkus還提供基于Jakarta EE標(biāo)準的CDI注入框架,在構(gòu)建時解析這些依賴項,以避免因運行時解析而引發(fā)的速度減慢。

以下為Quarkus中的簡單端點:

import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;

@Path("/hello")
public class GreetingResource {

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String hello() {
        return "Hello from InfoWorld!";
    }
}

Quarkus完美契合開發(fā)需求,且提供豐富的額外功能,是一套簡潔但功能多樣、注重開發(fā)者體驗的框架方案。

Vert.x

Vert.x是Java中最早也最成熟的響應(yīng)式框架之一,可創(chuàng)建高性能響應(yīng)式管線所需要的一切,尤其適合需要以高性能處理高吞吐量數(shù)據(jù)流的項目。

Vert.x與其說是一套框架,不如說是一套用于編寫響應(yīng)式流的精簡工具。包括Quarkus在內(nèi)的多種工具和框架都以Vert.x為構(gòu)建基礎(chǔ),可提供強大且廣泛的功能選項。

Vert.x基于事件循環(huán)架構(gòu),旨在盡量減少CPU閑置。在此架構(gòu)之上,Vert.x提供多種異步編程處理方式,還支持RxJava中的大量操作符與復(fù)雜的響應(yīng)式結(jié)構(gòu)。

雖然Vert.x使用事件循環(huán),但卻并不局限于單線程,允許開發(fā)者同時實現(xiàn)異步處理與多線程處理。在這種多Reactor機制中,每個CPU核心往往對應(yīng)一個事件線程(遠優(yōu)于Node等框架)。此外,我們還可以微調(diào)應(yīng)用以創(chuàng)建多個handler類(即verticles),以在單個節(jié)點內(nèi)進行擴展。

Vert.x還支持Kotlin語言,允許原生使用Kotlin協(xié)程進行異步事件處理。Vert.x支持的其他語言包括Groovy、Ruby、Java,并可通過WebSocket在客戶端上使用JavaScript。

以下為Vert.x端點示例:

import io.vertx.core.AbstractVerticle;
import io.vertx.core.Promise;
public class MainVerticle extends AbstractVerticle {

  @Override
  public void start(Promise<Void> startPromise) throws Exception {
    vertx.createHttpServer().requestHandler(req -> {
      req.response()
        .putHeader("content-type", "text/plain")
        .end("Hello from Vert.x!");
    }).listen(8888, http -> {
      if (http.succeeded()) {
        startPromise.complete();
        System.out.println("HTTP server started on port 8888");
      } else {
        startPromise.fail(http.cause());
      }
    });
  }
}

Vert.x還提供復(fù)雜的事件總線,可在微服務(wù)應(yīng)用的節(jié)點內(nèi)與節(jié)點間進行通信。我們可以將事件總線視為Vert.x節(jié)點的輕量級分布式消息系統(tǒng)。如果需要升級至持久化消息代理,Vert.x還支持包括RabbitMQ在內(nèi)的多種集成。

Vert.x還為許多常用數(shù)據(jù)庫(如MongoDB)提供設(shè)計精良且性能卓越的連接器,以及與這些數(shù)據(jù)存儲集成的授權(quán)與身份驗證組件。

與Spring Initializr類似,Vert.x還提供基于Web的工具以構(gòu)建新應(yīng)用:

在需要消費、連接和生成實時數(shù)據(jù)流的場景下,Vert.x堪稱絕佳選擇,也是Java生態(tài)中最先進、最成熟的響應(yīng)式平臺之一。

Ktor

Ktor是由Jetbrains專為Kotlin構(gòu)建的獨特框架,提供一系列面向Web開發(fā)的可組合功能,并利用Kotlin協(xié)程進行異步編程。

Ktor CLI包含功能完備的創(chuàng)建向?qū)В捎糜趩有聭?yīng)用(ktor new):

Ktor是一套模塊化框架,支持多種插件(即features)。除依賴注入引擎koin之外,還提供監(jiān)控、管理、數(shù)據(jù)存儲連接器與安全等多種功能,且全部整合在Ktor統(tǒng)一框架之下。

Ktor提供強大功能,包括用于生成HTML的Kotlin DSL——一種常用且便捷的數(shù)據(jù)驅(qū)動標(biāo)記生成方法。Ktor最強大的功能,在于它隱式使用到Kotlin協(xié)程,能夠透明地讓非阻塞異步操作趨近于同步操作。例如,以下代碼看似阻塞(在client.get()調(diào)用當(dāng)中),但實際上卻是完全異步的:

import io.ktor.client.*
//... other imports
routing {
  get("/") {
    try {
      // Implicit coroutine use:
      val book = client.get("https://anapioficeandfire.com/api/books/1").body<Book>()
      call.respond(book)
    } catch (e: Exception) {
      call.respondText("Error fetching book: ${e.message}")
    }
  }
}

Ktor是一款功能全面的工具,可用于構(gòu)建各種服務(wù)器端Kotlin功能。雖然其最出名的功能是將協(xié)程引入Web server,但其他方面的表現(xiàn)也不落下風(fēng),尤其適合對功能完備性要求較高的Kotlin開發(fā)者。

Dropwizard

Dropwizard是一款成熟的輕量級框架,專為云環(huán)境中的現(xiàn)代RESTful服務(wù)而設(shè)計。除了在應(yīng)用中嵌入Jetty server以支持獨立可運行對象之外,它還整合了用于JSON的Jackson和用于端點定義的Jersey。除此之外,開發(fā)者還可添加組件以處理持久性及其他常見的應(yīng)用需求。

Dropwizard最重要的功能之一,是其基于Metrics(由項目團隊構(gòu)建的庫)的內(nèi)置運維指標(biāo)。Metrics是一款功能完備的監(jiān)控工具,可與應(yīng)用相集成,并提供Graphite等常見庫依賴項與后端。

Dropwizard本質(zhì)上是一套膠水框架,將眾多項目整合到統(tǒng)一的軟件包內(nèi),消除了自行編排的麻煩過程:

以下是Dropwizard中的端點:

import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;

@Path("/hello")
@Produces(MediaType.TEXT_PLAIN)
public class HelloResource {

    @GET
    public String sayHello() {
        return "Hello from InfoWorld!";
    }
}

可以看到,Dropwizard將大部分路由任務(wù)交給了來自Jakarta項目的Jersey。

Dropwizard是一套囊括多種一流工具的輕量化、統(tǒng)一且支持云環(huán)境的框架,且高度重視穩(wěn)定性和監(jiān)控功能。

Javalin

Javalin是一款微框架,適合追求極致簡潔的開發(fā)者。

Javalin是SparkJava的繼任者,后者又是首批面向JVM的開源微框架之一,更多強調(diào)簡潔性與靈活性。與其他現(xiàn)代框架不同,Javalin力求不帶任何立場,而且在定位上更類似于庫。由于Javalin盡力避免隱藏的依賴關(guān)系(即magic),并將所有內(nèi)容明確在代碼中做出描述,因此不再提供依賴注入或代碼掃描。

與Dropwizard類似,Javalin也嵌入了Jetty server,借此提供高度可靠且性能出色的HTTP平臺:

這是一套支持Java和Kotlin的多語言框架,下面來看用Kotlin編寫的簡單Hello World服務(wù)器:

import io.javalin.Javalin
fun main() {
    val app = Javalin.create(/*config*/)
        .get("/") { ctx -> ctx.result("Hello World") }
        .start(7070)
}

以下為Java版本:

import io.javalin.Javalin;
public class App {
    public static void main(String[] args) {
        var app = Javalin.create()
            .get("/", ctx -> ctx.result("Hello World"))
            .start(7070);
    }
}

可以看到,其方法轉(zhuǎn)換流暢、代碼簡潔,允許同時描述服務(wù)器定義與端點。

Javalin避免了代碼臃腫和其他不必要的依賴語法。如果大家需要一款極簡框架來完成工作,Javalin也許正是最佳選項。

Micronaut

如果大家對啟動時間非常關(guān)注,或者需要一款可以構(gòu)建微服務(wù)和無服務(wù)器應(yīng)用的多語言全棧框架,那么Micronaut絕對值得一試。它提供AOT編譯器,無需reflection即可實現(xiàn)高性能與依賴注入,既可在JVM中運行、也可通過GraalVM編譯為原生鏡像。

Micronaut IoC(控制反轉(zhuǎn))容器會在編譯期間解析所有依賴項,借此縮短啟動時間,更好地匹配微服務(wù)設(shè)計需求。這樣也能讓依賴注入的內(nèi)存占用量更小。

Micronaut支持多種語言,包括Java、Groovy和Kotlin,后續(xù)還計劃支持Scala。

Micronaut專為云環(huán)境設(shè)計,能夠與K8s等自動集成服務(wù)發(fā)現(xiàn)功能,且支持Jaeger等跟蹤功能。如此無需硬編碼,即可通過配置自動發(fā)現(xiàn)和跟蹤來設(shè)計微服務(wù)。它還支持Consul等分布式配置。

Micronaut內(nèi)置數(shù)據(jù)存儲連接器,且支持數(shù)據(jù)訪問層與OpenAPI描述符。

盡管Micronaut擁有諸多高級功能,但其端點仍保持了簡潔易讀:

import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;
@Controller("/hello")
public class HelloController {

    @Get("/{name}")
    public String hello(String name) {
        return "Hello, " + name;
    }
}

Micronaut是微服務(wù)的理想之選,致力于讓開發(fā)過程盡量輕松,堪稱Java生態(tài)中最精細的微服務(wù)框架。

Helidon

Helidon最適合的,是那些希望遵循Java標(biāo)準、面向企業(yè)環(huán)境使用,并擁有豐富框架類型選擇的開發(fā)者。

Helidon既是本文中最年輕的框架選項,也是甲骨文的官方項目。它在設(shè)計之初就引入了虛擬線程和構(gòu)建時依賴注入,最近還添加了AI相關(guān)功能。

Helidon提供兩個版本:

  • SE(標(biāo)準版):用于構(gòu)建函數(shù)式編程(FP)微服務(wù)的基礎(chǔ)工具集合。專注于極小的內(nèi)存占用和快速啟動,且從Helidon 4開始默認使用虛擬線程。
  • MP(MicroProfile):基于SE構(gòu)建并提供增值功能,包括依賴注入和JAX-RS/JSON-P等Jakarta EE組件。

Helidon SE與Javalin類似,MP則在理念和功能設(shè)計上更接近Quarkus。采用虛擬線程意味著省去了復(fù)雜的并發(fā)模型,因此應(yīng)用節(jié)點更易于理解和管理。

下面來看Helidon SE端點示例:

import io.helidon.webserver.WebServer;
import io.helidon.webserver.http.HttpRouting;
public class Main {
  public static void main(String[] args) {
    HttpRouting routing = HttpRouting.builder()
      .get("/hello", (req, res) -> res.send("Hello from InfoWorld!"))
      .build();

    WebServer.builder()
      .routing(routing)
      .port(8080)
      .build()
      .start();
  }
}

Helidon最核心的優(yōu)勢在于符合甲骨文標(biāo)準,并提供多種模型選擇。無論是選擇SE進行簡單DIY,還是選擇MP擁有完善的一體化框架,Helidon都擁有不俗的吸引力。

總結(jié)

Java生態(tài)極其豐富,能夠?qū)崿F(xiàn)從簡單API到復(fù)雜微服務(wù)集群、無服務(wù)器部署乃至全棧應(yīng)用的各類現(xiàn)代云環(huán)境開發(fā)需求。本文列出的所有微框架都非常可靠,如果你不知如何選擇,可以先確定一、兩種最符合需求的框架,然后深入研究代碼。它們在功能性上各具優(yōu)勢,也許最終考驗的會是其各不相同的開發(fā)體驗。

原文標(biāo)題:The best Java microframeworks to learn now,作者:Matthew Tyson

責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2021-05-24 09:00:00

ETL工具數(shù)據(jù)

2021-01-04 09:00:00

JavaScript開發(fā)Web

2020-11-23 18:39:54

容器Kubernetes架構(gòu)

2018-10-09 14:34:58

開源KubernetesGit

2022-11-01 15:13:41

2023-07-11 15:57:15

數(shù)據(jù)產(chǎn)品產(chǎn)品經(jīng)理

2012-08-06 10:34:26

JavaScript框架

2024-07-31 16:04:14

2019-01-31 09:02:56

網(wǎng)頁抓取設(shè)計模式數(shù)據(jù)

2021-08-05 17:59:45

Vue 3.0前端代碼

2012-08-06 10:51:40

JavaScript

2021-09-17 13:17:56

Spring 模塊開發(fā)

2013-09-23 09:43:01

編程編程實驗

2021-09-30 14:06:08

安全團隊網(wǎng)絡(luò)攻擊首席信息安全官

2014-08-19 14:12:47

Windows

2018-09-19 22:35:25

2013-08-05 09:38:44

2012-12-28 14:38:36

2022-01-03 15:56:43

加密貨幣數(shù)字貨幣貨幣

2021-02-26 09:00:00

開發(fā)Web技術(shù)
點贊
收藏

51CTO技術(shù)棧公眾號

天天干天天操天天爱| 欧美深夜福利视频| 亚洲一级在线播放| 第一sis亚洲原创| 在线观看视频一区| 日韩国产一区久久| 做爰视频毛片视频| 国产精品一区高清| 欧美日韩一区高清| 亚洲黄色网址在线观看| 亚洲成人中文字幕在线| 综合久久一区| 欧美精品一区二区在线播放| 六月婷婷在线视频| 可以在线观看的av网站| 日韩av一区二区三区| 少妇av一区二区三区| 色18美女社区| 678在线观看视频| 97久久久精品综合88久久| 日本国产精品视频| 久久成人小视频| 视频成人永久免费视频| 欧美日韩国产精品一区| 日本在线观看一区| 国产99对白在线播放| 一区二区日韩免费看| 国产一区二区激情| 欧美国产日韩在线视频| 都市激情国产精品| 欧美国产综合色视频| 91麻豆蜜桃| 成人免费毛片男人用品| 久久久久久久久久久久久久| 日韩h在线观看| 在线观看亚洲色图| 久久不射影院| 国产精品免费看| 这里只有精品在线播放| 亚洲色偷偷色噜噜狠狠99网 | 精品网站999| 欧美日韩一区二区在线播放| 国产精品av免费观看| 91社区在线高清| 26uuu国产电影一区二区| 91黄在线观看| 一本一道波多野结衣一区二区| 国产精品羞羞答答| 日韩欧美亚洲一区二区三区| 午夜久久免费观看| gogo大胆日本视频一区| 国产成人一区二| 亚洲天堂日韩av| 欧美三级网页| 久久色精品视频| 欧美aaa级片| 欧美理论视频| 亚洲欧美国产精品久久久久久久| 在线观看成人动漫| 在线视频亚洲欧美中文| 91精品国产综合久久久久久漫画 | 日韩视频在线一区二区三区| 另类美女黄大片| 永久免费看片视频教学| 色喇叭免费久久综合网| 中文字幕欧美精品日韩中文字幕| 在线观看国产精品一区| 欧美女优在线视频| 亚洲欧美中文字幕| 国产熟妇久久777777| 台湾佬综合网| 亚洲欧美精品伊人久久| 中国毛片在线观看| 欧美呦呦网站| 最好看的2019年中文视频| 9.1片黄在线观看| 色琪琪久久se色| 日韩最新免费不卡| 加勒比婷婷色综合久久| 午夜精彩国产免费不卡不顿大片| 欧美成人精品在线视频| 久久综合久久鬼| 欧美午夜不卡| 97国产精品免费视频| 亚洲GV成人无码久久精品| 日韩电影免费在线看| 国产精品免费在线免费| 国产又黄又猛又爽| 国产黄色成人av| 国产精品午夜av在线| 手机在线精品视频| 国产性天天综合网| 一区中文字幕在线观看| 久久五月精品中文字幕| 欧美性猛交xxxx免费看久久久| 国产自偷自偷免费一区| 日韩色性视频| 精品久久免费看| 搡老熟女老女人一区二区| 成人情趣视频网站| 欧美成人中文字幕| 99久热在线精品996热是什么| 日日夜夜免费精品视频| 91精品在线影院| 四季av日韩精品一区| 国产日韩三级在线| 91嫩草国产丨精品入口麻豆| 新版的欧美在线视频| 在线观看精品一区| 成年女人免费视频| 欧美日韩一二三四| 久久久久久久一区二区| 九九热最新视频| 国产成人免费在线观看| 奇米影视首页 狠狠色丁香婷婷久久综合| 嫩草在线视频| 日韩欧美精品在线观看| 1314成人网| 免费欧美激情| 欧美日韩国产成人在线观看| 亚洲天堂中文字幕在线观看| 国产视频亚洲色图| 99热一区二区三区| 中文在线а√在线8| 欧美男人的天堂一二区| 国产精品无码专区| 亚洲精品888| 国产精品综合av一区二区国产馆| 国产成人av一区二区三区| 福利在线观看| 国内精品国产成人国产三级| 丝袜诱惑制服诱惑色一区在线观看| 国产精品视频不卡| 五月婷婷伊人网| 亚洲免费在线观看视频| 久久99爱视频| 美女毛片一区二区三区四区| 欧美国产一区二区三区| 96日本xxxxxⅹxxx17| 久久九九国产精品| 国产69精品久久久久久久| 日韩一级淫片| 中文字幕少妇一区二区三区| 日韩久久中文字幕| 9久草视频在线视频精品| 潘金莲一级淫片aaaaaa播放1| jizz亚洲女人高潮大叫| 亚洲色图校园春色| 亚洲欧美自拍视频| 91碰在线视频| 天天夜碰日日摸日日澡性色av| 日韩中文字幕| 久久av中文字幕| 一本色道久久综合熟妇| 日本一区二区免费在线| 国产成人手机视频| 欧美日韩第一| 国产精品电影观看| 狠狠v欧美ⅴ日韩v亚洲v大胸| 婷婷综合另类小说色区| 完美搭档在线观看| 亚洲图片在线| 国产亚洲欧美一区二区| 欧美1—12sexvideos| 亚洲成人a**站| 国产一级二级毛片| thepron国产精品| 欧美牲交a欧美牲交| 亚洲欧美日本伦理| 国产精品成人久久久久| 国产一级二级三级在线观看| 欧美一级淫片播放口| 日本少妇久久久| 福利一区在线观看| 波多野结衣av一区二区全免费观看| 国产95亚洲| 欧美成人午夜剧场免费观看| 国产高清精品软件丝瓜软件| 一区二区三区国产精品| 丰满人妻一区二区三区免费视频棣| 在线精品视频在线观看高清| 亚洲在线视频福利| hd国产人妖ts另类视频| 亚洲精品suv精品一区二区| 亚洲AV无码成人精品区东京热| 久久久久久久久久电影| www.夜夜爽| 欧美福利视频| 精品一区二区久久久久久久网站| 亚洲黄色网址| 视频在线观看一区二区| av中文字幕第一页| 图片区小说区区亚洲影院| 亚洲ⅴ国产v天堂a无码二区| 麻豆精品一区二区三区| 久久www视频| 五月激激激综合网色播| 国产精品久久久久久久久久三级 | 国产高清一区二区三区| 日本不卡1234视频| 国产一区二区三区欧美| 国产农村老头老太视频| 午夜av一区二区| 少妇av片在线观看| 国产东北露脸精品视频| 欧美一区二区三区爽大粗免费| 成人三级视频| 国产一区免费观看| 国内精品伊人| 97精品国产97久久久久久| 国产精品四虎| 精品国产免费视频| 国产偷人爽久久久久久老妇app | 精品无码在线观看| 国产不卡高清在线观看视频| 男人揉女人奶房视频60分 | 都市激情亚洲一区| 欧美日韩国产va另类| se在线电影| 欧美精品一区二区三区久久久| 波多野结衣视频观看| 亚洲午夜一区二区三区| sm捆绑调教视频| 91视频一区二区| www.色.com| 日韩av不卡一区二区| av免费看网址| 婷婷亚洲综合| 日韩一区二区电影在线观看| 国产精品17p| 成人乱色短篇合集| 电影久久久久久| 91精品国产91久久久久久不卡| 黄色av免费在线| 亚洲视频在线观看| 天天射,天天干| 精品国偷自产国产一区| 国产精品久久久午夜夜伦鲁鲁| 一本大道综合伊人精品热热| 久久精品女人毛片国产| 亚洲欧美另类小说视频| 亚洲色图27p| 国产亚洲综合av| 影音先锋人妻啪啪av资源网站| 国产中文一区二区三区| 久久久久久久久久久久91| 久久久久欧美精品| 欧美亚洲另类色图| 亚洲一区二区动漫| 黄色一级视频片| 亚洲另类自拍| 日韩精品在线视频免费观看| 国产精品观看| 热久久最新地址| 欧美成人嫩草网站| 国产内射老熟女aaaa| 一个色综合网| 五月天综合婷婷| 午夜影院欧美| 久久天天东北熟女毛茸茸| 外国成人激情视频| 中文字幕av久久| 91成人国产| 日韩精品第1页| 欧美精品观看| 久艹在线免费观看| 在线精品一区二区| 激情五月宗合网| 中日韩男男gay无套| 欧美日本视频在线观看| 国产精品女主播一区二区三区| 国产精品免费观看久久| 性伦欧美刺激片在线观看| 波多野结衣家庭教师视频| 青青国产91久久久久久| 在线观看免费污视频| 国内欧美视频一区二区| 伊人av在线播放| 成人精品在线视频观看| 人妻换人妻a片爽麻豆| 91丨porny丨户外露出| 免费在线观看a视频| 综合精品久久久| 中文在线观看免费网站| 色婷婷亚洲精品| 亚洲在线视频播放| 日韩欧美三级在线| 亚洲欧美自偷自拍| 中文一区二区视频| 污视频网站在线免费| 欧美亚洲国产成人精品| 国产精品高潮久久| av免费观看久久| 性人久久久久| 亚洲成人自拍| 欧美日韩 国产精品| 欧美 国产 日本| 精品一区二区三区影院在线午夜| 日本xxxx免费| 久久视频一区二区| 神马午夜精品91| 精品久久久久久久久久| 中国a一片一级一片| 精品福利二区三区| 二区三区在线| 欧美激情精品久久久久久免费印度 | 青青草视频一区| 国产免费无码一区二区| 国产日产亚洲精品系列| 国产在线视频二区| 欧美无人高清视频在线观看| 人妻少妇精品无码专区久久| 中文字幕亚洲欧美在线| xxx在线免费观看| 国产精品久久中文| 国产精品色呦| 欧美精品一区二区性色a+v| 亚洲欧美日韩一区在线观看| 五月天婷婷影视| 久久精品亚洲国产奇米99| 欧美日韩成人免费观看| 欧美视频在线一区| 日本韩国在线观看| 欧美成人免费小视频| 中韩乱幕日产无线码一区| 国产日韩一区二区三区| 亚洲国产不卡| 手机在线免费观看毛片| 99精品国产99久久久久久白柏| 99鲁鲁精品一区二区三区| 色狠狠av一区二区三区| 日韩中文字幕免费观看| 欧美精品在线免费播放| 91在线成人| 日韩av不卡播放| 亚洲巨乳在线| 国产69视频在线观看| 一区二区国产盗摄色噜噜| 一级视频在线播放| 中文日韩在线视频| 日本综合视频| 欧美精品123| 在线亚洲欧美| 在线观看国产免费视频| 亚洲国产视频a| 精品久久久久久亚洲综合网站| 少妇高潮久久77777| 久久野战av| 日本在线播放不卡| 久久最新视频| 在线不卡av电影| 一本色道久久加勒比精品| 青青草视频免费在线观看| 欧美亚洲第一区| 蜜桃一区二区三区| 国产精品99久久免费黑人人妻| 成人av高清在线| 国产午夜精品无码| 精品99999| 九色porny丨国产首页在线| 国产专区一区二区| 伊人久久大香线蕉综合热线| 97中文字幕在线观看| 亚洲国产美女搞黄色| 女人18毛片一区二区三区| 欧美激情综合色| 成人午夜三级| av之家在线观看| 99在线热播精品免费| 国产精品美女久久久久av爽| 精品无人区太爽高潮在线播放| 在线手机中文字幕| 日韩精品欧美在线| 蜜桃视频一区二区三区在线观看| 天堂av网手机版| 欧美精品亚洲一区二区在线播放| 精品麻豆一区二区三区| 444亚洲人体| 在线国产日韩| 亚洲精品乱码久久久久久久久久久久 | 天使萌一区二区三区免费观看| 永久免费毛片在线观看| 91精品婷婷国产综合久久| 欧美黑人xx片| 久久综合毛片| 青青草国产成人av片免费| 午夜国产小视频| 精品国产一区二区三区久久久蜜月| 888av在线视频| 色噜噜狠狠色综合网| 国产一区二区剧情av在线| 国产精品自拍视频一区| 国产亚洲欧洲高清| 视频一区日韩| 欧美成人一区二区在线观看| 国产精品视频一区二区三区不卡| 精品国产无码一区二区| 日本午夜人人精品| 欧美一区成人| 中文字幕av观看|