久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

几种任务调度的 Java 实现方法与比较--转载

發(fā)布時(shí)間:2025/4/5 java 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 几种任务调度的 Java 实现方法与比较--转载 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

任務(wù)調(diào)度是指基于給定時(shí)間點(diǎn),給定時(shí)間間隔或者給定執(zhí)行次數(shù)自動(dòng)執(zhí)行任務(wù)。本文由淺入深介紹四種任務(wù)調(diào)度的 Java 實(shí)現(xiàn):

  • Timer
  • ScheduledExecutor
  • 開源工具包 Quartz
  • 開源工具包 JCronTab

此外,為結(jié)合實(shí)現(xiàn)復(fù)雜的任務(wù)調(diào)度,本文還將介紹 Calendar 的一些使用方法。

Timer

相信大家都已經(jīng)非常熟悉 java.util.Timer 了,它是最簡單的一種實(shí)現(xiàn)任務(wù)調(diào)度的方法,下面給出一個(gè)具體的例子:

清單 1. 使用 Timer 進(jìn)行任務(wù)調(diào)度
package com.ibm.scheduler; import java.util.Timer; import java.util.TimerTask; public class TimerTest extends TimerTask { private String jobName = ""; public TimerTest(String jobName) { super(); this.jobName = jobName; } @Override public void run() { System.out.println("execute " + jobName); } public static void main(String[] args) { Timer timer = new Timer(); long delay1 = 1 * 1000; long period1 = 1000; // 從現(xiàn)在開始 1 秒鐘之后,每隔 1 秒鐘執(zhí)行一次 job1 timer.schedule(new TimerTest("job1"), delay1, period1); long delay2 = 2 * 1000; long period2 = 2000; // 從現(xiàn)在開始 2 秒鐘之后,每隔 2 秒鐘執(zhí)行一次 job2 timer.schedule(new TimerTest("job2"), delay2, period2); } } Output: execute job1 execute job1 execute job2 execute job1 execute job1 execute job2

使用 Timer 實(shí)現(xiàn)任務(wù)調(diào)度的核心類是 Timer 和 TimerTask。其中 Timer 負(fù)責(zé)設(shè)定 TimerTask 的起始與間隔執(zhí)行時(shí)間。使用者只需要?jiǎng)?chuàng)建一個(gè) TimerTask 的繼承類,實(shí)現(xiàn)自己的 run 方法,然后將其丟給 Timer 去執(zhí)行即可。

Timer 的設(shè)計(jì)核心是一個(gè) TaskList 和一個(gè) TaskThread。Timer 將接收到的任務(wù)丟到自己的 TaskList 中,TaskList 按照 Task 的最初執(zhí)行時(shí)間進(jìn)行排序。TimerThread 在創(chuàng)建 Timer 時(shí)會(huì)啟動(dòng)成為一個(gè)守護(hù)線程。這個(gè)線程會(huì)輪詢所有任務(wù),找到一個(gè)最近要執(zhí)行的任務(wù),然后休眠,當(dāng)?shù)竭_(dá)最近要執(zhí)行任務(wù)的開始時(shí)間點(diǎn),TimerThread 被喚醒并執(zhí)行該任務(wù)。之后 TimerThread 更新最近一個(gè)要執(zhí)行的任務(wù),繼續(xù)休眠。

Timer 的優(yōu)點(diǎn)在于簡單易用,但由于所有任務(wù)都是由同一個(gè)線程來調(diào)度,因此所有任務(wù)都是串行執(zhí)行的,同一時(shí)間只能有一個(gè)任務(wù)在執(zhí)行,前一個(gè)任務(wù)的延遲或異常都將會(huì)影響到之后的任務(wù)。

ScheduledExecutor

鑒于 Timer 的上述缺陷,Java 5 推出了基于線程池設(shè)計(jì)的 ScheduledExecutor。其設(shè)計(jì)思想是,每一個(gè)被調(diào)度的任務(wù)都會(huì)由線程池中一個(gè)線程去執(zhí)行,因此任務(wù)是并發(fā)執(zhí)行的,相互之間不會(huì)受到干擾。需要注意的是,只有當(dāng)任務(wù)的執(zhí)行時(shí)間到來時(shí),ScheduedExecutor 才會(huì)真正啟動(dòng)一個(gè)線程,其余時(shí)間 ScheduledExecutor 都是在輪詢?nèi)蝿?wù)的狀態(tài)。

清單 2. 使用 ScheduledExecutor 進(jìn)行任務(wù)調(diào)度
package com.ibm.scheduler; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit;public class ScheduledExecutorTest implements Runnable {private String jobName = "";public ScheduledExecutorTest(String jobName) {super();this.jobName = jobName;}@Overridepublic void run() {System.out.println("execute " + jobName);}public static void main(String[] args) {ScheduledExecutorService service = Executors.newScheduledThreadPool(10);long initialDelay1 = 1;long period1 = 1;// 從現(xiàn)在開始1秒鐘之后,每隔1秒鐘執(zhí)行一次job1service.scheduleAtFixedRate(new ScheduledExecutorTest("job1"), initialDelay1,period1, TimeUnit.SECONDS);long initialDelay2 = 1;long delay2 = 1;// 從現(xiàn)在開始2秒鐘之后,每隔2秒鐘執(zhí)行一次job2service.scheduleWithFixedDelay(new ScheduledExecutorTest("job2"), initialDelay2,delay2, TimeUnit.SECONDS);} } Output: execute job1 execute job1 execute job2 execute job1 execute job1 execute job2

清單 2 展示了 ScheduledExecutorService 中兩種最常用的調(diào)度方法 ScheduleAtFixedRate 和 ScheduleWithFixedDelay。ScheduleAtFixedRate 每次執(zhí)行時(shí)間為上一次任務(wù)開始起向后推一個(gè)時(shí)間間隔,即每次執(zhí)行時(shí)間為 :initialDelay, initialDelay+period, initialDelay+2*period, …;ScheduleWithFixedDelay 每次執(zhí)行時(shí)間為上一次任務(wù)結(jié)束起向后推一個(gè)時(shí)間間隔,即每次執(zhí)行時(shí)間為:initialDelay, initialDelay+executeTime+delay, initialDelay+2*executeTime+2*delay。由此可見,ScheduleAtFixedRate 是基于固定時(shí)間間隔進(jìn)行任務(wù)調(diào)度,ScheduleWithFixedDelay 取決于每次任務(wù)執(zhí)行的時(shí)間長短,是基于不固定時(shí)間間隔進(jìn)行任務(wù)調(diào)度。

用 ScheduledExecutor 和 Calendar 實(shí)現(xiàn)復(fù)雜任務(wù)調(diào)度

Timer 和 ScheduledExecutor 都僅能提供基于開始時(shí)間與重復(fù)間隔的任務(wù)調(diào)度,不能勝任更加復(fù)雜的調(diào)度需求。比如,設(shè)置每星期二的 16:38:10 執(zhí)行任務(wù)。該功能使用 Timer 和 ScheduledExecutor 都不能直接實(shí)現(xiàn),但我們可以借助 Calendar 間接實(shí)現(xiàn)該功能。

清單 3. 使用 ScheduledExcetuor 和 Calendar 進(jìn)行任務(wù)調(diào)度
package com.ibm.scheduler;import java.util.Calendar; import java.util.Date; import java.util.TimerTask; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit;public class ScheduledExceutorTest2 extends TimerTask {private String jobName = "";public ScheduledExceutorTest2(String jobName) {super();this.jobName = jobName;}@Overridepublic void run() {System.out.println("Date = "+new Date()+", execute " + jobName);}/*** 計(jì)算從當(dāng)前時(shí)間currentDate開始,滿足條件dayOfWeek, hourOfDay, * minuteOfHour, secondOfMinite的最近時(shí)間* @return*/public Calendar getEarliestDate(Calendar currentDate, int dayOfWeek,int hourOfDay, int minuteOfHour, int secondOfMinite) {//計(jì)算當(dāng)前時(shí)間的WEEK_OF_YEAR,DAY_OF_WEEK, HOUR_OF_DAY, MINUTE,SECOND等各個(gè)字段值int currentWeekOfYear = currentDate.get(Calendar.WEEK_OF_YEAR);int currentDayOfWeek = currentDate.get(Calendar.DAY_OF_WEEK);int currentHour = currentDate.get(Calendar.HOUR_OF_DAY);int currentMinute = currentDate.get(Calendar.MINUTE);int currentSecond = currentDate.get(Calendar.SECOND);//如果輸入條件中的dayOfWeek小于當(dāng)前日期的dayOfWeek,則WEEK_OF_YEAR需要推遲一周boolean weekLater = false;if (dayOfWeek < currentDayOfWeek) {weekLater = true;} else if (dayOfWeek == currentDayOfWeek) {//當(dāng)輸入條件與當(dāng)前日期的dayOfWeek相等時(shí),如果輸入條件中的//hourOfDay小于當(dāng)前日期的//currentHour,則WEEK_OF_YEAR需要推遲一周 if (hourOfDay < currentHour) {weekLater = true;} else if (hourOfDay == currentHour) {//當(dāng)輸入條件與當(dāng)前日期的dayOfWeek, hourOfDay相等時(shí),//如果輸入條件中的minuteOfHour小于當(dāng)前日期的//currentMinute,則WEEK_OF_YEAR需要推遲一周if (minuteOfHour < currentMinute) {weekLater = true;} else if (minuteOfHour == currentSecond) {//當(dāng)輸入條件與當(dāng)前日期的dayOfWeek, hourOfDay, //minuteOfHour相等時(shí),如果輸入條件中的//secondOfMinite小于當(dāng)前日期的currentSecond,//則WEEK_OF_YEAR需要推遲一周if (secondOfMinite < currentSecond) {weekLater = true;}}}}if (weekLater) {//設(shè)置當(dāng)前日期中的WEEK_OF_YEAR為當(dāng)前周推遲一周currentDate.set(Calendar.WEEK_OF_YEAR, currentWeekOfYear + 1);}// 設(shè)置當(dāng)前日期中的DAY_OF_WEEK,HOUR_OF_DAY,MINUTE,SECOND為輸入條件中的值。currentDate.set(Calendar.DAY_OF_WEEK, dayOfWeek);currentDate.set(Calendar.HOUR_OF_DAY, hourOfDay);currentDate.set(Calendar.MINUTE, minuteOfHour);currentDate.set(Calendar.SECOND, secondOfMinite);return currentDate;}public static void main(String[] args) throws Exception {ScheduledExceutorTest2 test = new ScheduledExceutorTest2("job1");//獲取當(dāng)前時(shí)間Calendar currentDate = Calendar.getInstance();long currentDateLong = currentDate.getTime().getTime();System.out.println("Current Date = " + currentDate.getTime().toString());//計(jì)算滿足條件的最近一次執(zhí)行時(shí)間Calendar earliestDate = test.getEarliestDate(currentDate, 3, 16, 38, 10);long earliestDateLong = earliestDate.getTime().getTime();System.out.println("Earliest Date = "+ earliestDate.getTime().toString());//計(jì)算從當(dāng)前時(shí)間到最近一次執(zhí)行時(shí)間的時(shí)間間隔long delay = earliestDateLong - currentDateLong;//計(jì)算執(zhí)行周期為一星期long period = 7 * 24 * 60 * 60 * 1000;ScheduledExecutorService service = Executors.newScheduledThreadPool(10);//從現(xiàn)在開始delay毫秒之后,每隔一星期執(zhí)行一次job1service.scheduleAtFixedRate(test, delay, period,TimeUnit.MILLISECONDS);} } Output: Current Date = Wed Feb 02 17:32:01 CST 2011 Earliest Date = Tue Feb 8 16:38:10 CST 2011 Date = Tue Feb 8 16:38:10 CST 2011, execute job1 Date = Tue Feb 15 16:38:10 CST 2011, execute job1

清單 3 實(shí)現(xiàn)了每星期二 16:38:10 調(diào)度任務(wù)的功能。其核心在于根據(jù)當(dāng)前時(shí)間推算出最近一個(gè)星期二 16:38:10 的絕對(duì)時(shí)間,然后計(jì)算與當(dāng)前時(shí)間的時(shí)間差,作為調(diào)用 ScheduledExceutor 函數(shù)的參數(shù)。計(jì)算最近時(shí)間要用到 java.util.calendar 的功能。首先需要解釋 calendar 的一些設(shè)計(jì)思想。Calendar 有以下幾種唯一標(biāo)識(shí)一個(gè)日期的組合方式:

YEAR + MONTH + DAY_OF_MONTH YEAR + MONTH + WEEK_OF_MONTH + DAY_OF_WEEK YEAR + MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK YEAR + DAY_OF_YEAR YEAR + DAY_OF_WEEK + WEEK_OF_YEAR

上述組合分別加上 HOUR_OF_DAY + MINUTE + SECOND 即為一個(gè)完整的時(shí)間標(biāo)識(shí)。本例采用了最后一種組合方式。輸入為 DAY_OF_WEEK, HOUR_OF_DAY, MINUTE, SECOND 以及當(dāng)前日期 , 輸出為一個(gè)滿足 DAY_OF_WEEK, HOUR_OF_DAY, MINUTE, SECOND 并且距離當(dāng)前日期最近的未來日期。計(jì)算的原則是從輸入的 DAY_OF_WEEK 開始比較,如果小于當(dāng)前日期的 DAY_OF_WEEK,則需要向 WEEK_OF_YEAR 進(jìn)一, 即將當(dāng)前日期中的 WEEK_OF_YEAR 加一并覆蓋舊值;如果等于當(dāng)前的 DAY_OF_WEEK, 則繼續(xù)比較 HOUR_OF_DAY;如果大于當(dāng)前的 DAY_OF_WEEK,則直接調(diào)用 java.util.calenda 的 calendar.set(field, value) 函數(shù)將當(dāng)前日期的 DAY_OF_WEEK, HOUR_OF_DAY, MINUTE, SECOND 賦值為輸入值,依次類推,直到比較至 SECOND。讀者可以根據(jù)輸入需求選擇不同的組合方式來計(jì)算最近執(zhí)行時(shí)間。

可以看出,用上述方法實(shí)現(xiàn)該任務(wù)調(diào)度比較麻煩,這就需要一個(gè)更加完善的任務(wù)調(diào)度框架來解決這些復(fù)雜的調(diào)度問題。幸運(yùn)的是,開源工具包 Quartz 與 JCronTab 提供了這方面強(qiáng)大的支持。

Quartz

Quartz 可以滿足更多更復(fù)雜的調(diào)度需求,首先讓我們看看如何用 Quartz 實(shí)現(xiàn)每星期二 16:38 的調(diào)度安排:

清單 4. 使用 Quartz 進(jìn)行任務(wù)調(diào)度
package com.ibm.scheduler; import java.util.Date;import org.quartz.Job; import org.quartz.JobDetail; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.quartz.Scheduler; import org.quartz.SchedulerFactory; import org.quartz.Trigger; import org.quartz.helpers.TriggerUtils;public class QuartzTest implements Job {@Override//該方法實(shí)現(xiàn)需要執(zhí)行的任務(wù)public void execute(JobExecutionContext arg0) throws JobExecutionException {System.out.println("Generating report - "+ arg0.getJobDetail().getFullName() + ", type ="+ arg0.getJobDetail().getJobDataMap().get("type"));System.out.println(new Date().toString());}public static void main(String[] args) {try {// 創(chuàng)建一個(gè)SchedulerSchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();Scheduler sched = schedFact.getScheduler();sched.start();// 創(chuàng)建一個(gè)JobDetail,指明name,groupname,以及具體的Job類名,//該Job負(fù)責(zé)定義需要執(zhí)行任務(wù)JobDetail jobDetail = new JobDetail("myJob", "myJobGroup",QuartzTest.class);jobDetail.getJobDataMap().put("type", "FULL");// 創(chuàng)建一個(gè)每周觸發(fā)的Trigger,指明星期幾幾點(diǎn)幾分執(zhí)行Trigger trigger = TriggerUtils.makeWeeklyTrigger(3, 16, 38);trigger.setGroup("myTriggerGroup");// 從當(dāng)前時(shí)間的下一秒開始執(zhí)行trigger.setStartTime(TriggerUtils.getEvenSecondDate(new Date()));// 指明trigger的nametrigger.setName("myTrigger");// 用scheduler將JobDetail與Trigger關(guān)聯(lián)在一起,開始調(diào)度任務(wù)sched.scheduleJob(jobDetail, trigger);} catch (Exception e) {e.printStackTrace();}} } Output: Generating report - myJobGroup.myJob, type =FULL Tue Feb 8 16:38:00 CST 2011 Generating report - myJobGroup.myJob, type =FULL Tue Feb 15 16:38:00 CST 2011

清單 4 非常簡潔地實(shí)現(xiàn)了一個(gè)上述復(fù)雜的任務(wù)調(diào)度。Quartz 設(shè)計(jì)的核心類包括 Scheduler, Job 以及 Trigger。其中,Job 負(fù)責(zé)定義需要執(zhí)行的任務(wù),Trigger 負(fù)責(zé)設(shè)置調(diào)度策略,Scheduler 將二者組裝在一起,并觸發(fā)任務(wù)開始執(zhí)行。

Job

使用者只需要?jiǎng)?chuàng)建一個(gè) Job 的繼承類,實(shí)現(xiàn) execute 方法。JobDetail 負(fù)責(zé)封裝 Job 以及 Job 的屬性,并將其提供給 Scheduler 作為參數(shù)。每次 Scheduler 執(zhí)行任務(wù)時(shí),首先會(huì)創(chuàng)建一個(gè) Job 的實(shí)例,然后再調(diào)用 execute 方法執(zhí)行。Quartz 沒有為 Job 設(shè)計(jì)帶參數(shù)的構(gòu)造函數(shù),因此需要通過額外的 JobDataMap 來存儲(chǔ) Job 的屬性。JobDataMap 可以存儲(chǔ)任意數(shù)量的 Key,Value 對(duì),例如:

清單 5. 為 JobDataMap 賦值
jobDetail.getJobDataMap().put("myDescription", "my job description"); jobDetail.getJobDataMap().put("myValue", 1998); ArrayList<String> list = new ArrayList<String>(); list.add("item1"); jobDetail.getJobDataMap().put("myArray", list);

JobDataMap 中的數(shù)據(jù)可以通過下面的方式獲取:

清單 6. 獲取 JobDataMap 的值
public class JobDataMapTest implements Job {@Overridepublic void execute(JobExecutionContext context)throws JobExecutionException {//從context中獲取instName,groupName以及dataMapString instName = context.getJobDetail().getName();String groupName = context.getJobDetail().getGroup();JobDataMap dataMap = context.getJobDetail().getJobDataMap();//從dataMap中獲取myDescription,myValue以及myArrayString myDescription = dataMap.getString("myDescription");int myValue = dataMap.getInt("myValue");ArrayList<String> myArray = (ArrayListlt;Strin>) dataMap.get("myArray");System.out.println("Instance =" + instName + ", group = " + groupName+ ", description = " + myDescription + ", value =" + myValue+ ", array item0 = " + myArray.get(0));} } Output: Instance = myJob, group = myJobGroup, description = my job description, value =1998, array item0 = item1

Trigger

Trigger 的作用是設(shè)置調(diào)度策略。Quartz 設(shè)計(jì)了多種類型的 Trigger,其中最常用的是 SimpleTrigger 和 CronTrigger。

SimpleTrigger 適用于在某一特定的時(shí)間執(zhí)行一次,或者在某一特定的時(shí)間以某一特定時(shí)間間隔執(zhí)行多次。上述功能決定了 SimpleTrigger 的參數(shù)包括 start-time, end-time, repeat count, 以及 repeat interval。

Repeat count 取值為大于或等于零的整數(shù),或者常量 SimpleTrigger.REPEAT_INDEFINITELY。

Repeat interval 取值為大于或等于零的長整型。當(dāng) Repeat interval 取值為零并且 Repeat count 取值大于零時(shí),將會(huì)觸發(fā)任務(wù)的并發(fā)執(zhí)行。

Start-time 與 dnd-time 取值為 java.util.Date。當(dāng)同時(shí)指定 end-time 與 repeat count 時(shí),優(yōu)先考慮 end-time。一般地,可以指定 end-time,并設(shè)定 repeat count 為 REPEAT_INDEFINITELY。

以下是 SimpleTrigger 的構(gòu)造方法:

public SimpleTrigger(String name, String group, Date startTime, Date endTime, int repeatCount, long repeatInterval)

舉例如下:

創(chuàng)建一個(gè)立即執(zhí)行且僅執(zhí)行一次的 SimpleTrigger:

SimpleTrigger trigger=new SimpleTrigger("myTrigger", "myGroup", new Date(), null, 0, 0L);

創(chuàng)建一個(gè)半分鐘后開始執(zhí)行,且每隔一分鐘重復(fù)執(zhí)行一次的 SimpleTrigger:

SimpleTrigger trigger=new SimpleTrigger("myTrigger", "myGroup", new Date(System.currentTimeMillis()+30*1000), null, 0, 60*1000);

創(chuàng)建一個(gè) 2011 年 6 月 1 日 8:30 開始執(zhí)行,每隔一小時(shí)執(zhí)行一次,一共執(zhí)行一百次,一天之后截止的 SimpleTrigger:

Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, 2011); calendar.set(Calendar.MONTH, Calendar.JUNE); calendar.set(Calendar.DAY_OF_MONTH, 1); calendar.set(Calendar.HOUR, 8); calendar.set(Calendar.MINUTE, 30); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); Date startTime = calendar.getTime(); Date endTime = new Date (calendar.getTimeInMillis() +24*60*60*1000); SimpleTrigger trigger=new SimpleTrigger("myTrigger", "myGroup", startTime, endTime, 100, 60*60*1000);

上述最后一個(gè)例子中,同時(shí)設(shè)置了 end-time 與 repeat count,則優(yōu)先考慮 end-time,總共可以執(zhí)行二十四次。

CronTrigger 的用途更廣,相比基于特定時(shí)間間隔進(jìn)行調(diào)度安排的 SimpleTrigger,CronTrigger 主要適用于基于日歷的調(diào)度安排。例如:每星期二的 16:38:10 執(zhí)行,每月一號(hào)執(zhí)行,以及更復(fù)雜的調(diào)度安排等。

CronTrigger 同樣需要指定 start-time 和 end-time,其核心在于 Cron 表達(dá)式,由七個(gè)字段組成:

Seconds Minutes Hours Day-of-Month Month Day-of-Week Year (Optional field)

舉例如下:

創(chuàng)建一個(gè)每三小時(shí)執(zhí)行的 CronTrigger,且從每小時(shí)的整點(diǎn)開始執(zhí)行:

0 0 0/3 * * ?

創(chuàng)建一個(gè)每十分鐘執(zhí)行的 CronTrigger,且從每小時(shí)的第三分鐘開始執(zhí)行:

0 3/10 * * * ?

創(chuàng)建一個(gè)每周一,周二,周三,周六的晚上 20:00 到 23:00,每半小時(shí)執(zhí)行一次的 CronTrigger:

0 0/30 20-23 ? * MON-WED,SAT

創(chuàng)建一個(gè)每月最后一個(gè)周四,中午 11:30-14:30,每小時(shí)執(zhí)行一次的 trigger:

0 30 11-14/1 ? * 5L

解釋一下上述例子中各符號(hào)的含義:

首先所有字段都有自己特定的取值,例如,Seconds 和 Minutes 取值為 0 到 59,Hours 取值為 0 到 23,Day-of-Month 取值為 0-31, Month 取值為 0-11,或者 JAN,FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC,Days-of-Week 取值為 1-7 或者 SUN, MON, TUE, WED, THU, FRI, SAT。每個(gè)字段可以取單個(gè)值,多個(gè)值,或一個(gè)范圍,例如 Day-of-Week 可取值為“MON,TUE,SAT”,“MON-FRI”或者“TUE-THU,SUN”。

通配符 * 表示該字段可接受任何可能取值。例如 Month 字段賦值 * 表示每個(gè)月,Day-of-Week 字段賦值 * 表示一周的每天。

/ 表示開始時(shí)刻與間隔時(shí)段。例如 Minutes 字段賦值 2/10 表示在一個(gè)小時(shí)內(nèi)每 20 分鐘執(zhí)行一次,從第 2 分鐘開始。

? 僅適用于 Day-of-Month 和 Day-of-Week。? 表示對(duì)該字段不指定特定值。適用于需要對(duì)這兩個(gè)字段中的其中一個(gè)指定值,而對(duì)另一個(gè)不指定值的情況。一般情況下,這兩個(gè)字段只需對(duì)一個(gè)賦值。

L 僅適用于 Day-of-Month 和 Day-of-Week。L 用于 Day-of-Month 表示該月最后一天。L 單獨(dú)用于 Day-of-Week 表示周六,否則表示一個(gè)月最后一個(gè)星期幾,例如 5L 或者 THUL 表示該月最后一個(gè)星期四。

W 僅適用于 Day-of-Month,表示離指定日期最近的一個(gè)工作日,例如 Day-of-Month 賦值為 10W 表示該月離 10 號(hào)最近的一個(gè)工作日。

# 僅適用于 Day-of-Week,表示該月第 XXX 個(gè)星期幾。例如 Day-of-Week 賦值為 5#2 或者 THU#2,表示該月第二個(gè)星期四。

CronTrigger 的使用如下:

CronTrigger cronTrigger = new CronTrigger("myTrigger", "myGroup"); try { cronTrigger.setCronExpression("0 0/30 20-13 ? * MON-WED,SAT"); } catch (Exception e) { e.printStackTrace(); }

Job 與 Trigger 的松耦合設(shè)計(jì)是 Quartz 的一大特點(diǎn),其優(yōu)點(diǎn)在于同一個(gè) Job 可以綁定多個(gè)不同的 Trigger,同一個(gè) Trigger 也可以調(diào)度多個(gè) Job,靈活性很強(qiáng)。

Listener

除了上述基本的調(diào)度功能,Quartz 還提供了 listener 的功能。主要包含三種 listener:JobListener,TriggerListener 以及 SchedulerListener。當(dāng)系統(tǒng)發(fā)生故障,相關(guān)人員需要被通知時(shí),Listener 便能發(fā)揮它的作用。最常見的情況是,當(dāng)任務(wù)被執(zhí)行時(shí),系統(tǒng)發(fā)生故障,Listener 監(jiān)聽到錯(cuò)誤,立即發(fā)送郵件給管理員。下面給出 JobListener 的實(shí)例:

清單 7. JobListener 的實(shí)現(xiàn)
import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.quartz.JobListener; import org.quartz.SchedulerException;public class MyListener implements JobListener{@Overridepublic String getName() {return "My Listener";}@Overridepublic void jobWasExecuted(JobExecutionContext context,JobExecutionException jobException) {if(jobException != null){try {//停止Schedulercontext.getScheduler().shutdown();System.out.println("Error occurs when executing jobs, shut down the scheduler ");// 給管理員發(fā)送郵件…} catch (SchedulerException e) {e.printStackTrace();}}} }

從清單 7 可以看出,使用者只需要?jiǎng)?chuàng)建一個(gè) JobListener 的繼承類,重載需要觸發(fā)的方法即可。當(dāng)然,需要將 listener 的實(shí)現(xiàn)類注冊(cè)到 Scheduler 和 JobDetail 中:

sched.addJobListener(new MyListener()); jobDetail.addJobListener("My Listener"); // listener 的名字

使用者也可以將 listener 注冊(cè)為全局 listener,這樣便可以監(jiān)聽 scheduler 中注冊(cè)的所有任務(wù) :

sched.addGlobalJobListener(new MyListener());

為了測試 listener 的功能,可以在 job 的 execute 方法中強(qiáng)制拋出異常。清單 7 中,listener 接收到異常,將 job 所在的 scheduler 停掉,阻止后續(xù)的 job 繼續(xù)執(zhí)行。scheduler、jobDetail 等信息都可以從 listener 的參數(shù) context 中檢索到。

清單 7 的輸出結(jié)果為:

Generating report - myJob.myJob, type =FULL Tue Feb 15 18:57:35 CST 2011 2011-2-15 18:57:35 org.quartz.core.JobRunShell run 信息 : Job myJob.myJob threw a JobExecutionException: org.quartz.JobExecutionException at com.ibm.scheduler.QuartzListenerTest.execute(QuartzListenerTest.java:22) at org.quartz.core.JobRunShell.run(JobRunShell.java:191) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:516) 2011-2-15 18:57:35 org.quartz.core.QuartzScheduler shutdown 信息 : Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED shutting down. Error occurs when executing jobs, shut down the scheduler

TriggerListener、SchedulerListener 與 JobListener 有類似的功能,只是各自觸發(fā)的事件不同,如 JobListener 觸發(fā)的事件為:

Job to be executed, Job has completed execution 等

TriggerListener 觸發(fā)的事件為:

Trigger firings, trigger mis-firings, trigger completions 等

SchedulerListener 觸發(fā)的事件為:

add a job/trigger, remove a job/trigger, shutdown a scheduler 等

讀者可以根據(jù)自己的需求重載相應(yīng)的事件。

JobStores

Quartz 的另一顯著優(yōu)點(diǎn)在于持久化,即將任務(wù)調(diào)度的相關(guān)數(shù)據(jù)保存下來。這樣,當(dāng)系統(tǒng)重啟后,任務(wù)被調(diào)度的狀態(tài)依然存在于系統(tǒng)中,不會(huì)丟失。默認(rèn)情況下,Quartz 采用的是 org.quartz.simpl.RAMJobStore,在這種情況下,數(shù)據(jù)僅能保存在內(nèi)存中,系統(tǒng)重啟后會(huì)全部丟失。若想持久化數(shù)據(jù),需要采用 org.quartz.simpl.JDBCJobStoreTX。

實(shí)現(xiàn)持久化的第一步,是要?jiǎng)?chuàng)建 Quartz 持久化所需要的表格。在 Quartz 的發(fā)布包 docs/dbTables 中可以找到相應(yīng)的表格創(chuàng)建腳本。Quartz 支持目前大部分流行的數(shù)據(jù)庫。本文以 DB2 為例,所需要的腳本為 tables_db2.sql。首先需要對(duì)腳本做一點(diǎn)小的修改,即在開頭指明 Schema:

SET CURRENT SCHEMA quartz;

為了方便重復(fù)使用 , 創(chuàng)建表格前首先刪除之前的表格:
drop table qrtz_job_details;

drop table qrtz_job_listeners;

然后創(chuàng)建數(shù)據(jù)庫 sched,執(zhí)行 tables_db2.sql 創(chuàng)建持久化所需要的表格。

第二步,配置數(shù)據(jù)源。數(shù)據(jù)源與其它所有配置,例如 ThreadPool,均放在 quartz.properties 里:

清單 8. Quartz 配置文件
# Configure ThreadPool org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool org.quartz.threadPool.threadCount = 5 org.quartz.threadPool.threadPriority = 4 # Configure Datasources org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate org.quartz.jobStore.dataSource = db2DS org.quartz.jobStore.tablePrefix = QRTZ_ org.quartz.dataSource.db2DS.driver = com.ibm.db2.jcc.DB2Driver org.quartz.dataSource.db2DS.URL = jdbc:db2://localhost:50001/sched org.quartz.dataSource.db2DS.user = quartz org.quartz.dataSource.db2DS.password = passw0rd org.quartz.dataSource.db2DS.maxConnections = 5

使用時(shí)只需要將 quatz.properties 放在 classpath 下面,不用更改一行代碼,再次運(yùn)行之前的任務(wù)調(diào)度實(shí)例,trigger、job 等信息便會(huì)被記錄在數(shù)據(jù)庫中。

將清單 4 中的 makeWeeklyTrigger 改成 makeSecondlyTrigger,重新運(yùn)行 main 函數(shù),在 sched 數(shù)據(jù)庫中查詢表 qrtz_simple_triggers 中的數(shù)據(jù)。其查詢語句為“db2 ‘ select repeat_interval, times_triggered from qrtz_simple_triggers ’”。結(jié)果 repeat_interval 為 1000,與程序中設(shè)置的 makeSecondlyTrigger 相吻合,times_triggered 值為 21。

停掉程序,將數(shù)據(jù)庫中記錄的任務(wù)調(diào)度數(shù)據(jù)重新導(dǎo)入程序運(yùn)行:

清單 9. 從數(shù)據(jù)庫中導(dǎo)入任務(wù)調(diào)度數(shù)據(jù)重新運(yùn)行
package com.ibm.scheduler; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.SchedulerFactory; import org.quartz.Trigger; import org.quartz.impl.StdSchedulerFactory; public class QuartzReschedulerTest { public static void main(String[] args) throws SchedulerException { // 初始化一個(gè) Schedule Factory SchedulerFactory schedulerFactory = new StdSchedulerFactory(); // 從 schedule factory 中獲取 scheduler Scheduler scheduler = schedulerFactory.getScheduler(); // 從 schedule factory 中獲取 trigger Trigger trigger = scheduler.getTrigger("myTrigger", "myTriggerGroup"); // 重新開啟調(diào)度任務(wù)scheduler.rescheduleJob("myTrigger", "myTriggerGroup", trigger); scheduler.start(); } }

清單 9 中,schedulerFactory.getScheduler() 將 quartz.properties 的內(nèi)容加載到內(nèi)存,然后根據(jù)數(shù)據(jù)源的屬性初始化數(shù)據(jù)庫的鏈接,并將數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)加載到內(nèi)存。之后,便可以在內(nèi)存中查詢某一具體的 trigger,并將其重新啟動(dòng)。這時(shí)候重新查詢 qrtz_simple_triggers 中的數(shù)據(jù),發(fā)現(xiàn) times_triggered 值比原來增長了。

JCronTab

習(xí)慣使用 unix/linux 的開發(fā)人員應(yīng)該對(duì) crontab 都不陌生。Crontab 是一個(gè)非常方便的用于 unix/linux 系統(tǒng)的任務(wù)調(diào)度命令。JCronTab 則是一款完全按照 crontab 語法編寫的 java 任務(wù)調(diào)度工具。

首先簡單介紹一下 crontab 的語法,與上面介紹的 Quartz 非常相似,但更加簡潔 , 集中了最常用的語法。主要由六個(gè)字段組成(括弧中標(biāo)識(shí)了每個(gè)字段的取值范圍):

Minutes (0-59)Hours (0-23) Day-of-Month (1-31)Month (1-12/JAN-DEC) Day-of-Week (0-6/SUN-SAT)Command

與 Quartz 相比,省略了 Seconds 與 Year,多了一個(gè) command 字段,即為將要被調(diào)度的命令。JCronTab 中也包含符號(hào)“*”與“/”, 其含義與 Quartz 相同。

舉例如下:

每天 12 點(diǎn)到 15 點(diǎn) , 每隔 1 小時(shí)執(zhí)行一次 Date 命令:

0 12-15/1 * * * Date

每月 2 號(hào)凌晨 1 點(diǎn)發(fā)一封信給 zhjingbj@cn.ibm.com:

0 1 2 * * mail -s “good” zhjingbj@cn.ibm.com

每周一,周二,周三,周六的晚上 20:00 到 23:00,每半小時(shí)打印“normal”:

0/30 20-23 * * MON-WED,SAT echo “normal”

JCronTab 借鑒了 crontab 的語法,其區(qū)別在于 command 不再是 unix/linux 的命令,而是一個(gè) Java 類。如果該類帶參數(shù),例如“com.ibm.scheduler.JCronTask2#run”,則定期執(zhí)行 run 方法;如果該類不帶參數(shù),則默認(rèn)執(zhí)行 main 方法。此外,還可以傳參數(shù)給 main 方法或者構(gòu)造函數(shù),例如“com.ibm.scheduler.JCronTask2#run Hello World“表示傳兩個(gè)參數(shù) Hello 和 World 給構(gòu)造函數(shù)。

JCronTab 與 Quartz 相比,其優(yōu)點(diǎn)在于,第一,支持多種任務(wù)調(diào)度的持久化方法,包括普通文件、數(shù)據(jù)庫以及 XML 文件進(jìn)行持久化;第二,JCronTab 能夠非常方便地與 Web 應(yīng)用服務(wù)器相結(jié)合,任務(wù)調(diào)度可以隨 Web 應(yīng)用服務(wù)器的啟動(dòng)自動(dòng)啟動(dòng);第三,JCronTab 還內(nèi)置了發(fā)郵件功能,可以將任務(wù)執(zhí)行結(jié)果方便地發(fā)送給需要被通知的人。

JCronTab 與 Web 應(yīng)用服務(wù)器的結(jié)合非常簡單,只需要在 Web 應(yīng)用程序的 web.xml 中添加如下行:

清單 10. 在 web.xml 中配置 JCronTab 的屬性
<servlet> <servlet-name>LoadOnStartupServlet</servlet-name> <servlet-class>org.jcrontab.web.loadCrontabServlet</servlet-class> <init-param> <param-name>PROPERTIES_FILE</param-name> <param-value>D:/Scheduler/src/jcrontab.properties</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- Mapping of the StartUp Servlet --> <servlet-mapping> <servlet-name>LoadOnStartupServlet</servlet-name> <url-pattern>/Startup</url-pattern> </servlet-mapping>

在清單 10 中,需要注意兩點(diǎn):第一,必須指定 servlet-class 為 org.jcrontab.web.loadCrontabServlet,因?yàn)樗钦麄€(gè)任務(wù)調(diào)度的入口;第二,必須指定一個(gè)參數(shù)為 PROPERTIES_FILE,才能被 loadCrontabServlet 識(shí)別。

接下來,需要撰寫 D:/Scheduler/src/jcrontab.properties 的內(nèi)容,其內(nèi)容根據(jù)需求的不同而改變。

當(dāng)采用普通文件持久化時(shí),jcrontab.properties 的內(nèi)容主要包括:

org.jcrontab.data.file = D:/Scheduler/src/crontab org.jcrontab.data.datasource = org.jcrontab.data.FileSource

其中數(shù)據(jù)來源 org.jcrontab.data.datasource 被描述為普通文件,即 org.jcrontab.data.FileSource。具體的文件即 org.jcrontab.data.file 指明為 D:/Scheduler/src/crontab。

Crontab 描述了任務(wù)的調(diào)度安排:

*/2 * * * * com.ibm.scheduler.JCronTask1 * * * * * com.ibm.scheduler.JCronTask2#run Hello World

其中包含了兩條任務(wù)的調(diào)度,分別是每兩分鐘執(zhí)行一次 JCronTask1 的 main 方法,每一分鐘執(zhí)行一次 JCronTask2 的 run 方法。

清單 11. JcronTask1 與 JCronTask2 的實(shí)現(xiàn)
package com.ibm.scheduler;import java.util.Date;public class JCronTask1 {private static int count = 0;public static void main(String[] args) {System.out.println("--------------Task1-----------------");System.out.println("Current Time = " + new Date() + ", Count = "+ count++);} }package com.ibm.scheduler;import java.util.Date;public class JCronTask2 implements Runnable {private static int count = 0;private static String[] args;public JCronTask2(String[] args) {System.out.println("--------------Task2-----------------");System.out.println("Current Time = " + new Date() + ", Count = "+ count++);JCronTask2.args = args;}@Overridepublic void run() {System.out.println("enter into run method");if (args != null && args.length > 0) {for (int i = 0; i < args.length; i++) {System.out.print("This is arg " + i + " " + args[i] + "\n");}}} }

到此為止,基于普通文件持久化的 JCronTab 的實(shí)例就全部配置好了。啟動(dòng) Web 應(yīng)用服務(wù)器,便可以看到任務(wù)調(diào)度的輸出結(jié)果:

--------------Task2----------------- Current Time = Tue Feb 15 09:22:00 CST 2011, Count = 0 enter into run method This is arg 0 Hello This is arg 1 World --------------Task1----------------- Current Time = Tue Feb 15 09:22:00 CST 2011, Count = 0 --------------Task2----------------- Current Time = Tue Feb 15 09:23:00 CST 2011, Count = 1 enter into run method This is arg 0 Hello This is arg 1 World --------------Task2----------------- Current Time = Tue Feb 15 09:24:00 CST 2011, Count = 2 enter into run method This is arg 0 Hello This is arg 1 World --------------Task1----------------- Current Time = Tue Feb 15 09:24:00 CST 2011, Count = 1

通過修改 jcrontab.properties 中 datasource,可以選擇采用數(shù)據(jù)庫或 xml 文件持久化,感興趣的讀者可以參考?進(jìn)階學(xué)習(xí) JCronTab。

此外,JCronTab 還內(nèi)置了發(fā)郵件功能,可以將任務(wù)執(zhí)行結(jié)果方便地發(fā)送給需要被通知的人。其配置非常簡單,只需要在 jcontab.properties 中添加幾行配置即可:

org.jcrontab.sendMail.to= Ther email you want to send to org.jcrontab.sendMail.from=The email you want to send from org.jcrontab.sendMail.smtp.host=smtp server org.jcrontab.sendMail.smtp.user=smtp username org.jcrontab.sendMail.smtp.password=smtp password

結(jié)束語

本文介紹了四種常用的對(duì)任務(wù)進(jìn)行調(diào)度的 Java 實(shí)現(xiàn)方法,即 Timer,ScheduledExecutor, Quartz 以及 JCronTab。文本對(duì)每種方法都進(jìn)行了實(shí)例解釋,并對(duì)其優(yōu)缺點(diǎn)進(jìn)行比較。對(duì)于簡單的基于起始時(shí)間點(diǎn)與時(shí)間間隔的任務(wù)調(diào)度,使用 Timer 就足夠了;如果需要同時(shí)調(diào)度多個(gè)任務(wù),基于線程池的 ScheduledTimer 是更為合適的選擇;當(dāng)任務(wù)調(diào)度的策略復(fù)雜到難以憑借起始時(shí)間點(diǎn)與時(shí)間間隔來描述時(shí),Quartz 與 JCronTab 則體現(xiàn)出它們的優(yōu)勢。熟悉 Unix/Linux 的開發(fā)人員更傾向于 JCronTab,且 JCronTab 更適合與 Web 應(yīng)用服務(wù)器相結(jié)合。Quartz 的 Trigger 與 Job 松耦合設(shè)計(jì)使其更適用于 Job 與 Trigger 的多對(duì)多應(yīng)用場景。

原文:http://www.ibm.com/developerworks/cn/java/j-lo-taskschedule/

轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/4050469.html

總結(jié)

以上是生活随笔為你收集整理的几种任务调度的 Java 实现方法与比较--转载的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

国产亚洲欧美日韩亚洲中文色 | 精品国产麻豆免费人成网站 | 人人超人人超碰超国产 | 国产精品久久国产三级国 | 久久午夜无码鲁丝片秋霞 | 人人妻人人澡人人爽人人精品浪潮 | 粉嫩少妇内射浓精videos | a片在线免费观看 | 久久久久亚洲精品中文字幕 | 亚洲精品国产第一综合99久久 | 日韩在线不卡免费视频一区 | 日本一区二区三区免费播放 | 成人无码精品1区2区3区免费看 | 欧美老人巨大xxxx做受 | 天天躁日日躁狠狠躁免费麻豆 | 国产成人精品三级麻豆 | 无码中文字幕色专区 | 丰满肥臀大屁股熟妇激情视频 | 三上悠亚人妻中文字幕在线 | 荡女精品导航 | 亚洲成a人一区二区三区 | 久久久久亚洲精品中文字幕 | 久久综合狠狠综合久久综合88 | 夜夜高潮次次欢爽av女 | 精品夜夜澡人妻无码av蜜桃 | 精品一区二区三区波多野结衣 | 精品人妻中文字幕有码在线 | 国产精品资源一区二区 | 亚洲 另类 在线 欧美 制服 | 亚洲午夜福利在线观看 | 永久免费观看国产裸体美女 | 亚洲精品成人福利网站 | 风流少妇按摩来高潮 | 2020久久香蕉国产线看观看 | 2020久久超碰国产精品最新 | 色综合久久久无码网中文 | 色 综合 欧美 亚洲 国产 | 日本护士毛茸茸高潮 | 两性色午夜视频免费播放 | 亚洲精品午夜国产va久久成人 | 国产成人人人97超碰超爽8 | 亚洲人成人无码网www国产 | 国产9 9在线 | 中文 | 小sao货水好多真紧h无码视频 | 国产精品高潮呻吟av久久4虎 | 国产成人无码av在线影院 | 欧美激情一区二区三区成人 | 在线播放免费人成毛片乱码 | 亚洲狠狠婷婷综合久久 | 亚洲狠狠色丁香婷婷综合 | 在线看片无码永久免费视频 | 久久精品一区二区三区四区 | 国产在线精品一区二区高清不卡 | 成人无码精品1区2区3区免费看 | 无码人妻少妇伦在线电影 | 红桃av一区二区三区在线无码av | 少妇人妻大乳在线视频 | 久久99久久99精品中文字幕 | 一本久久a久久精品vr综合 | 97精品国产97久久久久久免费 | 成人免费无码大片a毛片 | 国产卡一卡二卡三 | 无码人妻精品一区二区三区不卡 | 久久精品无码一区二区三区 | 激情国产av做激情国产爱 | 日韩人妻无码一区二区三区久久99 | 99精品国产综合久久久久五月天 | 人人妻人人藻人人爽欧美一区 | 国内揄拍国内精品人妻 | 草草网站影院白丝内射 | 亚洲 日韩 欧美 成人 在线观看 | 亚洲精品中文字幕乱码 | 乱码av麻豆丝袜熟女系列 | 日日躁夜夜躁狠狠躁 | 亚洲精品久久久久中文第一幕 | 国产美女精品一区二区三区 | 婷婷丁香六月激情综合啪 | 一个人免费观看的www视频 | 一本色道久久综合亚洲精品不卡 | 给我免费的视频在线观看 | 无码国产色欲xxxxx视频 | 最新国产乱人伦偷精品免费网站 | 久久婷婷五月综合色国产香蕉 | 亚洲精品鲁一鲁一区二区三区 | 国产精品多人p群无码 | 亚洲成a人片在线观看无码 | 午夜福利一区二区三区在线观看 | 欧美国产日韩久久mv | 婷婷丁香六月激情综合啪 | 一本色道婷婷久久欧美 | 高潮毛片无遮挡高清免费视频 | 亚洲小说春色综合另类 | 久久人人97超碰a片精品 | 色综合久久久久综合一本到桃花网 | 久久久国产精品无码免费专区 | 中文精品无码中文字幕无码专区 | 99riav国产精品视频 | 国模大胆一区二区三区 | 成在人线av无码免观看麻豆 | 亚洲欧美综合区丁香五月小说 | 日韩精品a片一区二区三区妖精 | 国产精品永久免费视频 | 狠狠噜狠狠狠狠丁香五月 | 亚洲国产精品一区二区第一页 | 奇米影视888欧美在线观看 | 亚洲自偷精品视频自拍 | 日本大乳高潮视频在线观看 | 蜜臀aⅴ国产精品久久久国产老师 | 亚洲欧美日韩成人高清在线一区 | 日本一本二本三区免费 | 内射巨臀欧美在线视频 | 亚洲日韩精品欧美一区二区 | 国产99久久精品一区二区 | 强奷人妻日本中文字幕 | 国产人妻精品一区二区三区 | 国产无遮挡又黄又爽免费视频 | 丰满少妇女裸体bbw | 国产精品视频免费播放 | 亚洲 a v无 码免 费 成 人 a v | 特黄特色大片免费播放器图片 | 麻豆精产国品 | 精品熟女少妇av免费观看 | 97资源共享在线视频 | 国精产品一区二区三区 | 性欧美熟妇videofreesex | 日韩少妇白浆无码系列 | 日韩精品无码一区二区中文字幕 | 久久97精品久久久久久久不卡 | 成人精品视频一区二区三区尤物 | 国产一区二区三区影院 | 国产成人无码av在线影院 | 婷婷色婷婷开心五月四房播播 | 青草视频在线播放 | 亚洲另类伦春色综合小说 | 色 综合 欧美 亚洲 国产 | 99国产精品白浆在线观看免费 | 免费乱码人妻系列无码专区 | 人人妻人人澡人人爽人人精品 | 亚洲乱码日产精品bd | 蜜臀av在线播放 久久综合激激的五月天 | 国产亚洲精品精品国产亚洲综合 | 夜夜影院未满十八勿进 | 国内精品人妻无码久久久影院 | 久久精品中文闷骚内射 | 水蜜桃色314在线观看 | 兔费看少妇性l交大片免费 | 国产亚洲视频中文字幕97精品 | 亚洲熟妇色xxxxx欧美老妇 | 亚洲无人区一区二区三区 | 欧洲精品码一区二区三区免费看 | 给我免费的视频在线观看 | 偷窥村妇洗澡毛毛多 | 熟女少妇人妻中文字幕 | 国产精品久久久久久久影院 | 中文字幕av日韩精品一区二区 | 成 人 网 站国产免费观看 | 中文字幕无码日韩欧毛 | 日韩亚洲欧美中文高清在线 | 丰满肥臀大屁股熟妇激情视频 | 亚洲综合另类小说色区 | 色五月丁香五月综合五月 | 日本精品人妻无码77777 天堂一区人妻无码 | 精品国产一区二区三区av 性色 | 国产成人无码一二三区视频 | 国产亚洲精品久久久久久久 | 欧美日韩精品 | 无码毛片视频一区二区本码 | 午夜无码人妻av大片色欲 | 久久精品国产一区二区三区 | 一本久久伊人热热精品中文字幕 | 少妇厨房愉情理9仑片视频 | a片免费视频在线观看 | 成 人 免费观看网站 | 久久伊人色av天堂九九小黄鸭 | 精品夜夜澡人妻无码av蜜桃 | 美女黄网站人色视频免费国产 | 欧美三级a做爰在线观看 | 久久无码中文字幕免费影院蜜桃 | 国产99久久精品一区二区 | 国产精品无码成人午夜电影 | 国内精品久久毛片一区二区 | 亚洲 欧美 激情 小说 另类 | 国产精品嫩草久久久久 | 亚洲日韩精品欧美一区二区 | 亚洲国产精品无码一区二区三区 | 国产猛烈高潮尖叫视频免费 | 特大黑人娇小亚洲女 | 色综合视频一区二区三区 | 国产精品无码永久免费888 | 国产亚洲精品久久久久久久久动漫 | 久久久精品欧美一区二区免费 | 国内揄拍国内精品少妇国语 | 夜夜高潮次次欢爽av女 | 国产性生大片免费观看性 | 色妞www精品免费视频 | 麻豆成人精品国产免费 | a国产一区二区免费入口 | 亚洲成色在线综合网站 | 久久99精品久久久久久 | 久久国产精品萌白酱免费 | 中文字幕无线码免费人妻 | 国产亚洲人成在线播放 | 日欧一片内射va在线影院 | 国产凸凹视频一区二区 | 欧美性生交活xxxxxdddd | 久久精品丝袜高跟鞋 | 成人动漫在线观看 | 青青青爽视频在线观看 | 国产成人av免费观看 | 日本一区二区三区免费播放 | 国产精品亚洲一区二区三区喷水 | 国产suv精品一区二区五 | 偷窥村妇洗澡毛毛多 | 午夜福利不卡在线视频 | 伊在人天堂亚洲香蕉精品区 | 国产一区二区三区四区五区加勒比 | 奇米影视7777久久精品人人爽 | 久久精品国产一区二区三区 | 日韩精品一区二区av在线 | 国产极品美女高潮无套在线观看 | 伊人久久婷婷五月综合97色 | 奇米影视7777久久精品 | 亚洲春色在线视频 | 日日鲁鲁鲁夜夜爽爽狠狠 | 国产又爽又黄又刺激的视频 | 久久人人爽人人爽人人片av高清 | 午夜熟女插插xx免费视频 | 日本精品人妻无码77777 天堂一区人妻无码 | 最新国产麻豆aⅴ精品无码 | 18无码粉嫩小泬无套在线观看 | 亚洲无人区一区二区三区 | 亚洲天堂2017无码中文 | 日日麻批免费40分钟无码 | 欧美性猛交xxxx富婆 | 亚洲色欲色欲欲www在线 | 亚洲熟妇自偷自拍另类 | 夜精品a片一区二区三区无码白浆 | 久久这里只有精品视频9 | 天天摸天天透天天添 | 国产麻豆精品精东影业av网站 | 久热国产vs视频在线观看 | 初尝人妻少妇中文字幕 | 撕开奶罩揉吮奶头视频 | 久久综合激激的五月天 | 野外少妇愉情中文字幕 | 亚洲精品成人av在线 | 又大又硬又黄的免费视频 | 国产97在线 | 亚洲 | 精品亚洲韩国一区二区三区 | 国产真实夫妇视频 | 久久精品无码一区二区三区 | 波多野结衣一区二区三区av免费 | 久久久久99精品国产片 | 日本乱偷人妻中文字幕 | 对白脏话肉麻粗话av | 青青草原综合久久大伊人精品 | 少妇被黑人到高潮喷出白浆 | 乱人伦中文视频在线观看 | 红桃av一区二区三区在线无码av | 丰满少妇人妻久久久久久 | 亚洲精品美女久久久久久久 | 国产精品久久久久久久影院 | 在线观看国产午夜福利片 | 日日躁夜夜躁狠狠躁 | 国产精品无码一区二区三区不卡 | 国产成人精品久久亚洲高清不卡 | 精品日本一区二区三区在线观看 | 一本加勒比波多野结衣 | 在线播放亚洲第一字幕 | 日本一卡二卡不卡视频查询 | 国产精品va在线观看无码 | 国产精品亚洲а∨无码播放麻豆 | 99久久精品午夜一区二区 | 内射爽无广熟女亚洲 | 国产精品理论片在线观看 | 欧美人与禽zoz0性伦交 | 免费无码一区二区三区蜜桃大 | 亚洲色大成网站www | 亚洲成av人影院在线观看 | 欧美午夜特黄aaaaaa片 | 国内老熟妇对白xxxxhd | 免费国产黄网站在线观看 | 国产区女主播在线观看 | 国产情侣作爱视频免费观看 | 精品偷拍一区二区三区在线看 | 日本饥渴人妻欲求不满 | 伊人久久大香线焦av综合影院 | 黑人粗大猛烈进出高潮视频 | 国产成人精品必看 | 亚洲精品欧美二区三区中文字幕 | 国产精品va在线观看无码 | 一个人免费观看的www视频 | 国产精品久久久久9999小说 | 在线精品国产一区二区三区 | 欧美野外疯狂做受xxxx高潮 | 中文字幕色婷婷在线视频 | 久久精品中文字幕一区 | 日韩av无码一区二区三区 | 内射老妇bbwx0c0ck | 蜜臀aⅴ国产精品久久久国产老师 | 久久久国产精品无码免费专区 | 亚洲男人av天堂午夜在 | 久久久亚洲欧洲日产国码αv | 日日躁夜夜躁狠狠躁 | 丰满肥臀大屁股熟妇激情视频 | 久久人人爽人人人人片 | 国产精品香蕉在线观看 | 无码人妻精品一区二区三区不卡 | 男女性色大片免费网站 | 国产成人无码区免费内射一片色欲 | 中文字幕乱码亚洲无线三区 | 成人片黄网站色大片免费观看 | 国产精品永久免费视频 | 伊在人天堂亚洲香蕉精品区 | 性做久久久久久久免费看 | 小鲜肉自慰网站xnxx | 扒开双腿疯狂进出爽爽爽视频 | 极品嫩模高潮叫床 | 国内精品久久毛片一区二区 | 麻豆精产国品 | 亚洲一区av无码专区在线观看 | 国产农村妇女高潮大叫 | 亚洲国产一区二区三区在线观看 | 日日碰狠狠躁久久躁蜜桃 | 国产熟妇另类久久久久 | 麻豆人妻少妇精品无码专区 | 丰满诱人的人妻3 | 精品厕所偷拍各类美女tp嘘嘘 | 精品国产一区av天美传媒 | 日韩精品无码免费一区二区三区 | 国产农村乱对白刺激视频 | 图片小说视频一区二区 | 亚洲一区二区三区在线观看网站 | 久久久久av无码免费网 | 日本精品高清一区二区 | 蜜桃视频韩日免费播放 | 99久久99久久免费精品蜜桃 | 无码av免费一区二区三区试看 | 18无码粉嫩小泬无套在线观看 | 国产香蕉尹人视频在线 | 波多野结衣av在线观看 | 欧美老人巨大xxxx做受 | 精品成人av一区二区三区 | 亚洲乱码日产精品bd | 亚洲中文字幕乱码av波多ji | 国产69精品久久久久app下载 | 中文字幕无码乱人伦 | 丰满少妇弄高潮了www | 熟女少妇人妻中文字幕 | 欧洲欧美人成视频在线 | 亚洲色大成网站www国产 | 免费人成在线视频无码 | 99精品久久毛片a片 | av无码不卡在线观看免费 | 成年女人永久免费看片 | 欧美黑人巨大xxxxx | 国产片av国语在线观看 | 综合人妻久久一区二区精品 | 日本在线高清不卡免费播放 | 国产成人综合色在线观看网站 | 中文字幕无码日韩欧毛 | 午夜熟女插插xx免费视频 | 国产成人无码a区在线观看视频app | 狠狠躁日日躁夜夜躁2020 | а√资源新版在线天堂 | 国产精品无码久久av | 99精品无人区乱码1区2区3区 | 鲁大师影院在线观看 | 老头边吃奶边弄进去呻吟 | 日韩亚洲欧美中文高清在线 | 丰满人妻精品国产99aⅴ | 麻豆精产国品 | 夜夜夜高潮夜夜爽夜夜爰爰 | 四虎永久在线精品免费网址 | 国内老熟妇对白xxxxhd | 中国女人内谢69xxxx | 亚洲一区二区三区偷拍女厕 | 成人女人看片免费视频放人 | 亚洲精品中文字幕乱码 | 久久亚洲精品成人无码 | 久久综合狠狠综合久久综合88 | 综合激情五月综合激情五月激情1 | 久久精品国产日本波多野结衣 | 久久久久久av无码免费看大片 | 中文字幕无码人妻少妇免费 | 特级做a爰片毛片免费69 | 成人毛片一区二区 | 大屁股大乳丰满人妻 | 精品久久久久香蕉网 | 欧美黑人巨大xxxxx | 亚洲熟妇色xxxxx欧美老妇 | 亚洲国产精品美女久久久久 | 伊人久久大香线蕉av一区二区 | 国产人妻精品一区二区三区不卡 | 亚洲欧美中文字幕5发布 | 亚洲中文字幕成人无码 | 亚洲男人av香蕉爽爽爽爽 | 人妻夜夜爽天天爽三区 | 精品久久综合1区2区3区激情 | 亚洲色欲久久久综合网东京热 | 亚洲成色在线综合网站 | 午夜理论片yy44880影院 | 国产免费观看黄av片 | 色情久久久av熟女人妻网站 | 国产成人av免费观看 | 精品亚洲成av人在线观看 | 色欲综合久久中文字幕网 | 国产精品久久久久久亚洲毛片 | 欧美国产日韩亚洲中文 | 日产精品高潮呻吟av久久 | 久久久久久久人妻无码中文字幕爆 | 成人三级无码视频在线观看 | 日本精品人妻无码免费大全 | 中文字幕 人妻熟女 | 国产精品无码mv在线观看 | 娇妻被黑人粗大高潮白浆 | 日日碰狠狠躁久久躁蜜桃 | 又色又爽又黄的美女裸体网站 | 国产精品久久久久无码av色戒 | 内射后入在线观看一区 | 亚洲理论电影在线观看 | 无码人妻黑人中文字幕 | 97人妻精品一区二区三区 | 国产午夜福利100集发布 | 久久久久久久人妻无码中文字幕爆 | 波多野结衣av在线观看 | 亚洲色偷偷偷综合网 | 伊在人天堂亚洲香蕉精品区 | 亚洲国产午夜精品理论片 | 骚片av蜜桃精品一区 | 精品一区二区三区无码免费视频 | 久久天天躁夜夜躁狠狠 | 领导边摸边吃奶边做爽在线观看 | 亚洲区小说区激情区图片区 | 激情五月综合色婷婷一区二区 | 亚洲aⅴ无码成人网站国产app | 亚洲男人av天堂午夜在 | 精品少妇爆乳无码av无码专区 | 国产午夜福利100集发布 | 国产97人人超碰caoprom | 四虎国产精品一区二区 | 男人和女人高潮免费网站 | 亚洲国产精品美女久久久久 | 激情五月综合色婷婷一区二区 | 国产亚洲精品久久久久久大师 | 国产精品第一国产精品 | 国产精品欧美成人 | 正在播放老肥熟妇露脸 | 老熟妇乱子伦牲交视频 | 色综合久久久久综合一本到桃花网 | 亚洲啪av永久无码精品放毛片 | 日韩欧美中文字幕公布 | 国产精品丝袜黑色高跟鞋 | 久久久精品人妻久久影视 | 天天拍夜夜添久久精品大 | 激情亚洲一区国产精品 | 国产精品人妻一区二区三区四 | 51国偷自产一区二区三区 | 亚洲国产av精品一区二区蜜芽 | 人人妻人人澡人人爽精品欧美 | 欧美日本精品一区二区三区 | 色婷婷综合中文久久一本 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 色婷婷久久一区二区三区麻豆 | 无码精品国产va在线观看dvd | 亚洲精品一区二区三区在线观看 | 国产一区二区三区影院 | 色婷婷综合中文久久一本 | 九九在线中文字幕无码 | 亚洲精品国偷拍自产在线麻豆 | 国产熟女一区二区三区四区五区 | 国产美女精品一区二区三区 | 国产综合久久久久鬼色 | 黑人粗大猛烈进出高潮视频 | 成人无码影片精品久久久 | 亚洲色无码一区二区三区 | 欧美人妻一区二区三区 | 俺去俺来也在线www色官网 | 中国女人内谢69xxxxxa片 | 欧美日韩视频无码一区二区三 | 亚洲日本一区二区三区在线 | 成在人线av无码免费 | 国产亚洲人成在线播放 | 久久 国产 尿 小便 嘘嘘 | 高清国产亚洲精品自在久久 | 色一情一乱一伦 | 亚洲欧美日韩国产精品一区二区 | 国产成人av免费观看 | 久久zyz资源站无码中文动漫 | 国产女主播喷水视频在线观看 | √8天堂资源地址中文在线 | 思思久久99热只有频精品66 | 亚洲成a人片在线观看日本 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲色在线无码国产精品不卡 | 爽爽影院免费观看 | 色综合天天综合狠狠爱 | 国产成人精品视频ⅴa片软件竹菊 | 亚洲成a人片在线观看无码3d | 亚洲国产精品一区二区第一页 | 老太婆性杂交欧美肥老太 | 成 人影片 免费观看 | 午夜福利一区二区三区在线观看 | 亚洲无人区午夜福利码高清完整版 | 亚洲另类伦春色综合小说 | 激情五月综合色婷婷一区二区 | 一本久久a久久精品vr综合 | 无码国产乱人伦偷精品视频 | 2020久久香蕉国产线看观看 | 露脸叫床粗话东北少妇 | 中文字幕精品av一区二区五区 | 日韩人妻无码中文字幕视频 | 亚洲一区二区三区香蕉 | 伊人久久大香线蕉av一区二区 | 国产xxx69麻豆国语对白 | 少妇一晚三次一区二区三区 | 国产深夜福利视频在线 | 99精品久久毛片a片 | 欧美三级不卡在线观看 | 国产婷婷色一区二区三区在线 | 狂野欧美激情性xxxx | 日本一卡二卡不卡视频查询 | 波多野结衣av在线观看 | 国产偷国产偷精品高清尤物 | 国产成人无码区免费内射一片色欲 | 男女超爽视频免费播放 | 丰满少妇熟乱xxxxx视频 | 亚洲乱码国产乱码精品精 | 久久99热只有频精品8 | 激情内射日本一区二区三区 | 秋霞特色aa大片 | 久久久久亚洲精品男人的天堂 | 中文无码精品a∨在线观看不卡 | 亚洲中文字幕无码一久久区 | 免费无码一区二区三区蜜桃大 | 久久精品国产日本波多野结衣 | 97夜夜澡人人爽人人喊中国片 | 伊人久久大香线蕉午夜 | 亚洲狠狠色丁香婷婷综合 | 亚洲综合在线一区二区三区 | 免费观看激色视频网站 | 国产精品无套呻吟在线 | 国产偷自视频区视频 | 欧美日韩一区二区三区自拍 | 国产片av国语在线观看 | 丰满诱人的人妻3 | 久久99国产综合精品 | 亚洲精品无码人妻无码 | 亚洲国产成人a精品不卡在线 | 国产色xx群视频射精 | 国产偷自视频区视频 | 在教室伦流澡到高潮hnp视频 | 色婷婷欧美在线播放内射 | 国产午夜视频在线观看 | 俄罗斯老熟妇色xxxx | 好爽又高潮了毛片免费下载 | 一本久久a久久精品亚洲 | 亚洲小说春色综合另类 | 午夜男女很黄的视频 | 男女下面进入的视频免费午夜 | 国内精品一区二区三区不卡 | 亚洲人亚洲人成电影网站色 | 又大又黄又粗又爽的免费视频 | 亚洲伊人久久精品影院 | 国产黑色丝袜在线播放 | 日韩精品久久久肉伦网站 | 女人被男人躁得好爽免费视频 | 成 人 免费观看网站 | 久久精品人妻少妇一区二区三区 | 欧美成人高清在线播放 | 美女毛片一区二区三区四区 | 久久久久免费看成人影片 | ass日本丰满熟妇pics | 久久天天躁夜夜躁狠狠 | 真人与拘做受免费视频一 | 天堂а√在线地址中文在线 | 99久久久无码国产aaa精品 | 成年美女黄网站色大免费全看 | 成人无码精品1区2区3区免费看 | 中文字幕 亚洲精品 第1页 | 久久 国产 尿 小便 嘘嘘 | 女人被男人爽到呻吟的视频 | 国产精品久久久久久亚洲影视内衣 | 日本大乳高潮视频在线观看 | 帮老师解开蕾丝奶罩吸乳网站 | 欧美 丝袜 自拍 制服 另类 | 国产精品第一国产精品 | 少妇无码av无码专区在线观看 | 亚洲欧洲无卡二区视頻 | 999久久久国产精品消防器材 | 色 综合 欧美 亚洲 国产 | 欧美色就是色 | 男女猛烈xx00免费视频试看 | 无码一区二区三区在线 | 国产亚洲精品久久久久久久 | 国产精品久久久久影院嫩草 | 水蜜桃亚洲一二三四在线 | 少妇人妻大乳在线视频 | 噜噜噜亚洲色成人网站 | 黄网在线观看免费网站 | 巨爆乳无码视频在线观看 | 兔费看少妇性l交大片免费 | 精品熟女少妇av免费观看 | 精品成在人线av无码免费看 | 曰韩少妇内射免费播放 | 色婷婷欧美在线播放内射 | 天堂亚洲免费视频 | 色综合久久久无码网中文 | 国产无遮挡又黄又爽又色 | 欧美zoozzooz性欧美 | 日本欧美一区二区三区乱码 | 伊人久久大香线焦av综合影院 | 青青青手机频在线观看 | 久久久久久久女国产乱让韩 | 伊人久久大香线蕉亚洲 | 成人试看120秒体验区 | 亚洲日本一区二区三区在线 | 波多野结衣av一区二区全免费观看 | 中文字幕无码视频专区 | 亚洲欧洲日本综合aⅴ在线 | 丝袜足控一区二区三区 | 99精品无人区乱码1区2区3区 | 内射巨臀欧美在线视频 | 牛和人交xxxx欧美 | 少妇人妻大乳在线视频 | 欧美精品一区二区精品久久 | 久久综合狠狠综合久久综合88 | 亚洲国产精品美女久久久久 | 18精品久久久无码午夜福利 | 国产在线一区二区三区四区五区 | 国产精品久久久久久久影院 | 夜夜躁日日躁狠狠久久av | 久久99精品国产麻豆蜜芽 | 毛片内射-百度 | 中文字幕人妻丝袜二区 | 成人亚洲精品久久久久软件 | 国产午夜福利亚洲第一 | 丰满人妻一区二区三区免费视频 | 久久久久国色av免费观看性色 | 国产精品亚洲lv粉色 | 亚洲欧洲中文日韩av乱码 | 久久精品无码一区二区三区 | 久久久久亚洲精品中文字幕 | 欧美日韩久久久精品a片 | 国产一区二区三区四区五区加勒比 | 国产人妻久久精品二区三区老狼 | 国产精品va在线播放 | 国产免费久久久久久无码 | 中文字幕无码乱人伦 | 青草视频在线播放 | 欧美 丝袜 自拍 制服 另类 | 麻豆果冻传媒2021精品传媒一区下载 | 欧美野外疯狂做受xxxx高潮 | 国产又粗又硬又大爽黄老大爷视 | 日日天日日夜日日摸 | 少妇性荡欲午夜性开放视频剧场 | 亚洲国产精品毛片av不卡在线 | 中文字幕人妻无码一区二区三区 | 国产乱子伦视频在线播放 | 精品夜夜澡人妻无码av蜜桃 | 日韩精品一区二区av在线 | 亚洲理论电影在线观看 | 国产精品永久免费视频 | 精品久久久无码人妻字幂 | 国产精品久久久久无码av色戒 | 国产精品久久国产精品99 | 鲁鲁鲁爽爽爽在线视频观看 | 亚洲一区av无码专区在线观看 | 亚洲精品一区二区三区四区五区 | 日本饥渴人妻欲求不满 | 中国女人内谢69xxxx | 日韩人妻无码中文字幕视频 | 精品久久久久香蕉网 | 极品嫩模高潮叫床 | 国产偷国产偷精品高清尤物 | 日韩少妇白浆无码系列 | 性欧美疯狂xxxxbbbb | 高潮毛片无遮挡高清免费 | 中文字幕无码人妻少妇免费 | 日本一卡二卡不卡视频查询 | 亚洲人成无码网www | 亚洲男女内射在线播放 | 国产性生交xxxxx无码 | 丝袜 中出 制服 人妻 美腿 | 熟女少妇在线视频播放 | 亚洲成av人在线观看网址 | 成人一区二区免费视频 | 亚洲区小说区激情区图片区 | 无码av中文字幕免费放 | 日韩视频 中文字幕 视频一区 | 中文字幕 人妻熟女 | 无码av最新清无码专区吞精 | 久久久久久九九精品久 | 永久免费精品精品永久-夜色 | 中文毛片无遮挡高清免费 | 久久久久久久女国产乱让韩 | 天堂亚洲免费视频 | 亚洲の无码国产の无码影院 | 亚洲成av人片天堂网无码】 | 欧美怡红院免费全部视频 | 天天躁夜夜躁狠狠是什么心态 | 男女猛烈xx00免费视频试看 | 日韩人妻无码一区二区三区久久99 | 久久久久免费精品国产 | 鲁一鲁av2019在线 | 欧美 日韩 人妻 高清 中文 | 18无码粉嫩小泬无套在线观看 | 国产免费久久久久久无码 | 国产超级va在线观看视频 | 色婷婷av一区二区三区之红樱桃 | 亚洲国产精品美女久久久久 | 日韩精品成人一区二区三区 | 亚洲自偷自拍另类第1页 | 成人综合网亚洲伊人 | 一个人看的www免费视频在线观看 | 国产成人久久精品流白浆 | 国产av一区二区精品久久凹凸 | 蜜桃视频插满18在线观看 | 好爽又高潮了毛片免费下载 | 中国女人内谢69xxxx | 无遮无挡爽爽免费视频 | 爆乳一区二区三区无码 | 性生交片免费无码看人 | 欧美熟妇另类久久久久久多毛 | 国产在线精品一区二区三区直播 | 日本护士xxxxhd少妇 | 任你躁在线精品免费 | 黑人巨大精品欧美一区二区 | 久久精品一区二区三区四区 | a在线观看免费网站大全 | 又粗又大又硬又长又爽 | 荫蒂被男人添的好舒服爽免费视频 | 亚洲性无码av中文字幕 | 久久久婷婷五月亚洲97号色 | 骚片av蜜桃精品一区 | 国内精品人妻无码久久久影院蜜桃 | 欧洲欧美人成视频在线 | 婷婷丁香六月激情综合啪 | 久久亚洲精品成人无码 | 成 人 网 站国产免费观看 | 国产特级毛片aaaaaaa高清 | 欧美成人免费全部网站 | 日本va欧美va欧美va精品 | 99国产精品白浆在线观看免费 | 日欧一片内射va在线影院 | 亚洲va中文字幕无码久久不卡 | 亚洲精品成人福利网站 | 亚洲国产一区二区三区在线观看 | 免费无码午夜福利片69 | 亚洲国产av精品一区二区蜜芽 | 女人被男人爽到呻吟的视频 | 精品人妻人人做人人爽夜夜爽 | 又大又紧又粉嫩18p少妇 | 性欧美熟妇videofreesex | 无套内谢老熟女 | 131美女爱做视频 | 久久亚洲日韩精品一区二区三区 | 精品成在人线av无码免费看 | 国产精品欧美成人 | 婷婷五月综合激情中文字幕 | 久久精品99久久香蕉国产色戒 | 亚洲欧洲日本综合aⅴ在线 | 亚洲七七久久桃花影院 | 亚洲色成人中文字幕网站 | 国产精品久久精品三级 | 国产精品久久久久久无码 | 久热国产vs视频在线观看 | 亚洲成在人网站无码天堂 | 夜精品a片一区二区三区无码白浆 | 国产精品成人av在线观看 | 成人女人看片免费视频放人 | 丰满少妇熟乱xxxxx视频 | 亚洲а∨天堂久久精品2021 | 国产一区二区不卡老阿姨 | 婷婷色婷婷开心五月四房播播 | 亚欧洲精品在线视频免费观看 | 国产特级毛片aaaaaa高潮流水 | 无套内谢的新婚少妇国语播放 | 免费无码的av片在线观看 | 亚洲日韩乱码中文无码蜜桃臀网站 | 国产成人无码a区在线观看视频app | 波多野结衣高清一区二区三区 | 亚洲色大成网站www | 亚洲一区二区三区四区 | 丰满肥臀大屁股熟妇激情视频 | 欧美精品无码一区二区三区 | 国产 精品 自在自线 | 国产精品无码一区二区三区不卡 | 麻豆国产97在线 | 欧洲 | 啦啦啦www在线观看免费视频 | 国产福利视频一区二区 | 国产亚洲精品久久久久久国模美 | 国产精品无码mv在线观看 | 中文字幕无码日韩欧毛 | 久久99国产综合精品 | 5858s亚洲色大成网站www | 国产乱人伦偷精品视频 | a片在线免费观看 | 99麻豆久久久国产精品免费 | 精品熟女少妇av免费观看 | 亚洲精品成人av在线 | 成人综合网亚洲伊人 | 亚洲自偷自拍另类第1页 | 久久久久久久久888 | 欧美第一黄网免费网站 | 99久久婷婷国产综合精品青草免费 | 88国产精品欧美一区二区三区 | 免费无码午夜福利片69 | 成人免费视频视频在线观看 免费 | 俺去俺来也www色官网 | 亚洲精品一区二区三区婷婷月 | 日韩亚洲欧美精品综合 | 中文字幕色婷婷在线视频 | 精品乱子伦一区二区三区 | 激情国产av做激情国产爱 | 青草视频在线播放 | 高潮毛片无遮挡高清免费视频 | yw尤物av无码国产在线观看 | 国产精品国产自线拍免费软件 | 国产精品毛多多水多 | 亚洲日韩一区二区三区 | 久久久中文久久久无码 | 狠狠cao日日穞夜夜穞av | 日日摸夜夜摸狠狠摸婷婷 | 97久久国产亚洲精品超碰热 | 欧美日韩综合一区二区三区 | 18黄暴禁片在线观看 | 最近免费中文字幕中文高清百度 | 亚洲欧美综合区丁香五月小说 | 日本熟妇大屁股人妻 | 亚洲国产精品久久人人爱 | 久久精品视频在线看15 | 人人妻人人澡人人爽人人精品浪潮 | 成年美女黄网站色大免费全看 | 亚洲一区二区三区播放 | 亚洲精品中文字幕 | 乱码午夜-极国产极内射 | 亚洲一区二区三区偷拍女厕 | 国产三级精品三级男人的天堂 | 久久精品中文字幕大胸 | 粉嫩少妇内射浓精videos | 蜜桃臀无码内射一区二区三区 | 在线观看国产午夜福利片 | 国产一区二区不卡老阿姨 | 成 人 免费观看网站 | 伊人久久婷婷五月综合97色 | 精品国产精品久久一区免费式 | 婷婷五月综合激情中文字幕 | 强伦人妻一区二区三区视频18 | 日本www一道久久久免费榴莲 | 久久综合九色综合欧美狠狠 | 国产午夜无码视频在线观看 | 精品乱码久久久久久久 | 日本熟妇人妻xxxxx人hd | 精品久久8x国产免费观看 | 无码av最新清无码专区吞精 | 色老头在线一区二区三区 | 宝宝好涨水快流出来免费视频 | 中国女人内谢69xxxxxa片 | 日本护士xxxxhd少妇 | 亚洲人成人无码网www国产 | 帮老师解开蕾丝奶罩吸乳网站 | 久久久久久久久888 | 午夜福利试看120秒体验区 | 国产口爆吞精在线视频 | 久久久亚洲欧洲日产国码αv | 国产熟妇高潮叫床视频播放 | 成人免费视频视频在线观看 免费 | 欧美日韩视频无码一区二区三 | 国产精品亚洲五月天高清 | 日本熟妇乱子伦xxxx | 夜夜高潮次次欢爽av女 | 一本久道久久综合婷婷五月 | yw尤物av无码国产在线观看 | 人妻与老人中文字幕 | 正在播放老肥熟妇露脸 | 日本熟妇乱子伦xxxx | 国产亚av手机在线观看 | 亚洲精品一区二区三区大桥未久 | 亚洲 a v无 码免 费 成 人 a v | 久久精品国产日本波多野结衣 | 午夜时刻免费入口 | 亚洲精品一区国产 | 亚洲狠狠婷婷综合久久 | 久久精品国产99精品亚洲 | 亚洲男人av香蕉爽爽爽爽 | 国产精品久久国产精品99 | 亚洲精品一区二区三区在线 | 成人免费视频视频在线观看 免费 | 日本爽爽爽爽爽爽在线观看免 | 正在播放东北夫妻内射 | 亚洲欧美综合区丁香五月小说 | 国产成人无码区免费内射一片色欲 | 精品国产福利一区二区 | 日本一卡2卡3卡四卡精品网站 | 亚洲精品久久久久avwww潮水 | 日韩 欧美 动漫 国产 制服 | 少妇性荡欲午夜性开放视频剧场 | 免费网站看v片在线18禁无码 | 精品一区二区三区无码免费视频 | 国色天香社区在线视频 | 内射白嫩少妇超碰 | 亚洲精品无码人妻无码 | 午夜不卡av免费 一本久久a久久精品vr综合 | 欧美怡红院免费全部视频 | 色老头在线一区二区三区 | 国产黄在线观看免费观看不卡 | 秋霞成人午夜鲁丝一区二区三区 | 波多野结衣一区二区三区av免费 | 人妻少妇精品无码专区二区 | 丰满诱人的人妻3 | 国产午夜亚洲精品不卡 | 狠狠躁日日躁夜夜躁2020 | 人人澡人人透人人爽 | 男女性色大片免费网站 | 国产在线精品一区二区三区直播 | 伊人色综合久久天天小片 | 俄罗斯老熟妇色xxxx | 97人妻精品一区二区三区 | 国产精品亚洲а∨无码播放麻豆 | 久久久久99精品成人片 | 1000部夫妻午夜免费 | 久久亚洲中文字幕无码 | 曰韩少妇内射免费播放 | 欧美日韩综合一区二区三区 | 2020久久香蕉国产线看观看 | 国产亚洲精品久久久久久 | 亚洲成熟女人毛毛耸耸多 | 成人无码精品一区二区三区 | 老太婆性杂交欧美肥老太 | 久久国语露脸国产精品电影 | 国产一区二区三区日韩精品 | 88国产精品欧美一区二区三区 | 久久精品人妻少妇一区二区三区 | 亚洲s色大片在线观看 | 亚洲自偷精品视频自拍 | yw尤物av无码国产在线观看 | 亚洲综合伊人久久大杳蕉 | 鲁一鲁av2019在线 | 亚洲の无码国产の无码步美 | 澳门永久av免费网站 | 国产偷抇久久精品a片69 | 中文字幕无线码免费人妻 | 国产精品无码久久av | 久久综合九色综合97网 | 巨爆乳无码视频在线观看 | 国精品人妻无码一区二区三区蜜柚 | 亚洲 a v无 码免 费 成 人 a v | 国产精品99久久精品爆乳 | 丰满人妻一区二区三区免费视频 | 沈阳熟女露脸对白视频 | 妺妺窝人体色www在线小说 | aⅴ亚洲 日韩 色 图网站 播放 | 亚洲国产欧美国产综合一区 | 老子影院午夜伦不卡 | 成人aaa片一区国产精品 | 精品久久久久香蕉网 | 4hu四虎永久在线观看 | 水蜜桃色314在线观看 | 国产人妻精品一区二区三区不卡 | 国产香蕉尹人综合在线观看 | 大肉大捧一进一出视频出来呀 | 久久久无码中文字幕久... | 久热国产vs视频在线观看 | 白嫩日本少妇做爰 | 国产人妻精品一区二区三区不卡 | 国产香蕉尹人综合在线观看 | 特黄特色大片免费播放器图片 | 精品午夜福利在线观看 | 国产无套内射久久久国产 | 精品国产青草久久久久福利 | 爱做久久久久久 | 成人亚洲精品久久久久 | 九一九色国产 | 国产亚洲tv在线观看 | 玩弄人妻少妇500系列视频 | 在线 国产 欧美 亚洲 天堂 | 中文字幕+乱码+中文字幕一区 | 久久视频在线观看精品 | 亚洲人亚洲人成电影网站色 | 国产一精品一av一免费 | 最近免费中文字幕中文高清百度 | 国产舌乚八伦偷品w中 | 久久99久久99精品中文字幕 | a国产一区二区免费入口 | 亚洲一区二区观看播放 | 在线成人www免费观看视频 | 亚洲国产高清在线观看视频 | 国产av无码专区亚洲a∨毛片 | 国产日产欧产精品精品app | 亚洲成熟女人毛毛耸耸多 | 青草视频在线播放 | 亚洲成av人综合在线观看 | 噜噜噜亚洲色成人网站 | 亚洲无人区午夜福利码高清完整版 | 无码人妻出轨黑人中文字幕 | 奇米影视888欧美在线观看 | 色婷婷综合中文久久一本 | 纯爱无遮挡h肉动漫在线播放 | 狠狠色欧美亚洲狠狠色www | 国产精品资源一区二区 | 97夜夜澡人人双人人人喊 | 国产精品免费大片 | 日本一区二区三区免费高清 | 西西人体www44rt大胆高清 | 麻豆果冻传媒2021精品传媒一区下载 | 欧美三级不卡在线观看 | 女人被男人躁得好爽免费视频 | 无码人妻久久一区二区三区不卡 | 无码帝国www无码专区色综合 | 2019nv天堂香蕉在线观看 | 99riav国产精品视频 | 亚洲色偷偷男人的天堂 | 国产精品内射视频免费 | 精品久久8x国产免费观看 | 亚洲色成人中文字幕网站 | 日本熟妇浓毛 | 女人被爽到呻吟gif动态图视看 | 女人被爽到呻吟gif动态图视看 | 国产午夜亚洲精品不卡下载 | 麻豆国产97在线 | 欧洲 | 欧美激情一区二区三区成人 | 免费国产成人高清在线观看网站 | 成 人 免费观看网站 | 国产sm调教视频在线观看 | 在线播放无码字幕亚洲 | 国产激情精品一区二区三区 | 久久精品国产日本波多野结衣 | 亚洲成a人片在线观看日本 | 激情五月综合色婷婷一区二区 | 精品人妻人人做人人爽夜夜爽 | 国产午夜亚洲精品不卡下载 | 亚洲人成影院在线观看 | 国产婷婷色一区二区三区在线 | 亚洲欧美日韩国产精品一区二区 | 午夜精品久久久久久久久 | 在线天堂新版最新版在线8 | 午夜精品久久久久久久 | 国产熟妇另类久久久久 | 久久久久亚洲精品男人的天堂 | 中文字幕乱码人妻无码久久 | 亚洲熟妇色xxxxx欧美老妇 | 亚洲一区av无码专区在线观看 | 亚洲人成网站在线播放942 | 日韩视频 中文字幕 视频一区 | 亚洲国产精品毛片av不卡在线 | 又大又黄又粗又爽的免费视频 | 国产情侣作爱视频免费观看 | 沈阳熟女露脸对白视频 | 岛国片人妻三上悠亚 | 国产精品久久福利网站 | 18禁止看的免费污网站 | 国产一区二区三区影院 | 午夜福利试看120秒体验区 | 国产人妻精品午夜福利免费 | 欧美肥老太牲交大战 | 色综合久久网 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产精品久久久午夜夜伦鲁鲁 | 人人妻人人澡人人爽欧美一区 | 亚洲色在线无码国产精品不卡 | 人妻夜夜爽天天爽三区 | 国产精品办公室沙发 | 国产一区二区不卡老阿姨 | 久久99热只有频精品8 | 人人澡人人妻人人爽人人蜜桃 | 国产成人精品优优av | 亚洲精品国产第一综合99久久 | 性生交大片免费看l | 中文字幕无线码 | 精品aⅴ一区二区三区 | 免费视频欧美无人区码 | 中文亚洲成a人片在线观看 | 在教室伦流澡到高潮hnp视频 | 亚洲日本va午夜在线电影 | 在线播放亚洲第一字幕 | 成人av无码一区二区三区 | 色爱情人网站 | 丰满岳乱妇在线观看中字无码 | 宝宝好涨水快流出来免费视频 | 六十路熟妇乱子伦 | 国产精品久久福利网站 | 国产高清av在线播放 | 蜜桃视频插满18在线观看 | 国产乱人无码伦av在线a | 狠狠色噜噜狠狠狠狠7777米奇 | 77777熟女视频在线观看 а天堂中文在线官网 | 欧美刺激性大交 | 在线a亚洲视频播放在线观看 | 久久久久久久女国产乱让韩 | 无码av岛国片在线播放 | 亚洲无人区午夜福利码高清完整版 | 日本va欧美va欧美va精品 | 国产精品香蕉在线观看 | 又湿又紧又大又爽a视频国产 | 久久伊人色av天堂九九小黄鸭 | 国产精品久久精品三级 | 狂野欧美性猛xxxx乱大交 | 久久午夜无码鲁丝片午夜精品 | 熟妇人妻激情偷爽文 | 国产精品久久久久久亚洲毛片 | 中文字幕乱码人妻二区三区 | 99麻豆久久久国产精品免费 | 色综合天天综合狠狠爱 | 精品无码成人片一区二区98 | 久久综合九色综合97网 | 精品一区二区三区波多野结衣 | 性欧美牲交xxxxx视频 | 亚洲人成人无码网www国产 | 精品国产一区av天美传媒 | 精品偷自拍另类在线观看 | 日韩无套无码精品 | 国产精品亚洲综合色区韩国 | 欧美三级a做爰在线观看 | 日日鲁鲁鲁夜夜爽爽狠狠 | 国产精品怡红院永久免费 | 无码国内精品人妻少妇 | 久久99精品国产麻豆蜜芽 | 97资源共享在线视频 | 中文字幕亚洲情99在线 | 久久久久免费看成人影片 | 无遮挡啪啪摇乳动态图 | 野外少妇愉情中文字幕 | 久久综合香蕉国产蜜臀av | а√资源新版在线天堂 | 成人精品天堂一区二区三区 | www成人国产高清内射 | 久久久久成人片免费观看蜜芽 | 好屌草这里只有精品 | 性生交大片免费看l | 少妇高潮一区二区三区99 | 国产在热线精品视频 | 久久综合给合久久狠狠狠97色 | 色情久久久av熟女人妻网站 | 欧美高清在线精品一区 | 欧美亚洲国产一区二区三区 | 樱花草在线播放免费中文 | 国产精品久久久久久亚洲毛片 | 天天拍夜夜添久久精品 | 我要看www免费看插插视频 | 高清国产亚洲精品自在久久 | 麻花豆传媒剧国产免费mv在线 | 成人无码精品1区2区3区免费看 | 夜夜夜高潮夜夜爽夜夜爰爰 | 性欧美疯狂xxxxbbbb | 亚洲伊人久久精品影院 | 日本大乳高潮视频在线观看 | 装睡被陌生人摸出水好爽 | 国产精品久久久久久无码 | 国产激情一区二区三区 | 亚洲色大成网站www | 欧美丰满熟妇xxxx性ppx人交 | 久久99精品国产.久久久久 | 日韩av无码一区二区三区不卡 | 久久久久成人片免费观看蜜芽 | 成人精品天堂一区二区三区 | 日产精品高潮呻吟av久久 | 精品无码国产一区二区三区av | 久久精品国产99久久6动漫 | 激情亚洲一区国产精品 | 久激情内射婷内射蜜桃人妖 | 久久五月精品中文字幕 | 国产香蕉97碰碰久久人人 | 300部国产真实乱 | 4hu四虎永久在线观看 | 无码精品国产va在线观看dvd | 久久精品无码一区二区三区 | 国产成人无码av片在线观看不卡 | 欧美性生交活xxxxxdddd | 亚洲热妇无码av在线播放 | 免费视频欧美无人区码 | 国产无套粉嫩白浆在线 | 国产精品无码一区二区桃花视频 | 一本色道久久综合亚洲精品不卡 | 精品人妻人人做人人爽夜夜爽 | 国产色精品久久人妻 | 亚洲小说春色综合另类 | 亚洲日韩精品欧美一区二区 | 日本成熟视频免费视频 | 中文无码成人免费视频在线观看 | 久久zyz资源站无码中文动漫 | 樱花草在线播放免费中文 | 在线天堂新版最新版在线8 | 久久国产精品二国产精品 | 久激情内射婷内射蜜桃人妖 | 国内老熟妇对白xxxxhd | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 中文字幕久久久久人妻 | a在线亚洲男人的天堂 | 成人欧美一区二区三区黑人免费 | 精品国精品国产自在久国产87 | 色婷婷综合中文久久一本 | 亚洲国产欧美国产综合一区 | 国产av人人夜夜澡人人爽麻豆 | 成人性做爰aaa片免费看 | 爽爽影院免费观看 | 精品成在人线av无码免费看 | 国产亚洲精品久久久久久 | 国产精品久久久久影院嫩草 | 永久免费观看国产裸体美女 | 18禁黄网站男男禁片免费观看 | 精品国产麻豆免费人成网站 | 精品亚洲成av人在线观看 | 国产精品爱久久久久久久 | 999久久久国产精品消防器材 | 一本色道婷婷久久欧美 | 亚洲精品久久久久久一区二区 | 亚洲毛片av日韩av无码 | 无码一区二区三区在线 | 国产美女精品一区二区三区 | 国产综合色产在线精品 | 中文字幕精品av一区二区五区 | 亚洲国产精华液网站w | 国产69精品久久久久app下载 | 亚洲国产精品久久久久久 | 国产超碰人人爽人人做人人添 | 巨爆乳无码视频在线观看 | 国产黑色丝袜在线播放 | 国产色精品久久人妻 | 天堂亚洲2017在线观看 | 丝袜美腿亚洲一区二区 | 正在播放老肥熟妇露脸 | 性色av无码免费一区二区三区 | 欧美亚洲国产一区二区三区 | 国产精品怡红院永久免费 | 亚洲区小说区激情区图片区 | 成人无码视频免费播放 | 亚洲精品欧美二区三区中文字幕 | 老司机亚洲精品影院无码 | 国产9 9在线 | 中文 | 国产成人精品三级麻豆 | 无码国产色欲xxxxx视频 | 国产莉萝无码av在线播放 | 99久久99久久免费精品蜜桃 | 性欧美videos高清精品 | 精品国产麻豆免费人成网站 | 日本熟妇人妻xxxxx人hd | 无码人妻av免费一区二区三区 | 午夜精品久久久久久久久 | 精品国产国产综合精品 | 国产黑色丝袜在线播放 | 色欲久久久天天天综合网精品 | 日本熟妇大屁股人妻 | 中文毛片无遮挡高清免费 | 高潮喷水的毛片 | 国产舌乚八伦偷品w中 | 两性色午夜免费视频 | 色综合视频一区二区三区 | 大肉大捧一进一出视频出来呀 | 久久久精品成人免费观看 | 在线观看国产一区二区三区 | 日韩 欧美 动漫 国产 制服 | 动漫av网站免费观看 | 久激情内射婷内射蜜桃人妖 | 日本一区二区三区免费高清 | 大胆欧美熟妇xx | 老司机亚洲精品影院无码 | 国产午夜无码视频在线观看 | 国产av无码专区亚洲a∨毛片 | 综合激情五月综合激情五月激情1 | 色婷婷久久一区二区三区麻豆 | 真人与拘做受免费视频 | 狠狠亚洲超碰狼人久久 | 一本色道婷婷久久欧美 | 大肉大捧一进一出视频出来呀 | 国产亚洲精品久久久ai换 | 精品无码国产一区二区三区av | 精品久久久无码人妻字幂 | 东京无码熟妇人妻av在线网址 | 久久99精品久久久久婷婷 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 国产精品久久久一区二区三区 | 中文字幕色婷婷在线视频 | 精品久久久中文字幕人妻 | 俄罗斯老熟妇色xxxx | 国产精品久久久一区二区三区 | 国产精品久久国产三级国 | 成人欧美一区二区三区黑人 | 国产乱人伦av在线无码 | 成年女人永久免费看片 | 天堂一区人妻无码 | 国产激情综合五月久久 | 麻豆av传媒蜜桃天美传媒 | 精品国产麻豆免费人成网站 | 男女爱爱好爽视频免费看 | 色老头在线一区二区三区 | 久久精品人人做人人综合 | 爽爽影院免费观看 | 在线 国产 欧美 亚洲 天堂 | 中文字幕乱码中文乱码51精品 | 激情五月综合色婷婷一区二区 | 99久久久无码国产aaa精品 | 亚洲精品美女久久久久久久 | 人人爽人人爽人人片av亚洲 | а√资源新版在线天堂 | 东京热男人av天堂 | 学生妹亚洲一区二区 | 精品人人妻人人澡人人爽人人 | 欧美国产日韩亚洲中文 | 成人无码精品1区2区3区免费看 | 中文字幕无码人妻少妇免费 | 粗大的内捧猛烈进出视频 | 亚洲人成网站在线播放942 | 国产成人无码区免费内射一片色欲 | 免费无码午夜福利片69 | 小sao货水好多真紧h无码视频 | 欧美丰满老熟妇xxxxx性 | 永久免费观看美女裸体的网站 | 色婷婷综合中文久久一本 | 国产凸凹视频一区二区 | 国产精品.xx视频.xxtv | 人人爽人人澡人人人妻 | 老司机亚洲精品影院 | 国产熟女一区二区三区四区五区 | 日欧一片内射va在线影院 | 国产在热线精品视频 | 撕开奶罩揉吮奶头视频 | 亚洲日韩av一区二区三区中文 | 欧美放荡的少妇 | 色妞www精品免费视频 | 少妇性荡欲午夜性开放视频剧场 | 国产真实乱对白精彩久久 | 日韩人妻无码一区二区三区久久99 | 国产一区二区三区日韩精品 | 国产av人人夜夜澡人人爽麻豆 | 中文字幕人妻无码一夲道 | 中文字幕人妻无码一夲道 | 日本乱人伦片中文三区 | 久久综合九色综合欧美狠狠 | 在线 国产 欧美 亚洲 天堂 | 兔费看少妇性l交大片免费 | 夜夜躁日日躁狠狠久久av | 欧美日韩在线亚洲综合国产人 | 久久国产精品二国产精品 | 亚洲精品一区二区三区在线观看 | 无码av免费一区二区三区试看 | 欧洲vodafone精品性 | 成人一区二区免费视频 | 中国女人内谢69xxxx | 精品国产av色一区二区深夜久久 | 一个人免费观看的www视频 | 亚洲男人av天堂午夜在 | 两性色午夜视频免费播放 | 内射后入在线观看一区 | 亚洲乱码日产精品bd | 人妻少妇精品无码专区二区 | 亚洲色欲色欲天天天www | 久久人人爽人人人人片 | 国语自产偷拍精品视频偷 | 中文字幕中文有码在线 | 97久久超碰中文字幕 | a片在线免费观看 | 成人无码精品一区二区三区 | 好屌草这里只有精品 | 中文字幕亚洲情99在线 | 国产三级久久久精品麻豆三级 | 兔费看少妇性l交大片免费 | 欧美日本精品一区二区三区 | 少妇性l交大片欧洲热妇乱xxx | 久久午夜夜伦鲁鲁片无码免费 | 免费人成网站视频在线观看 | 日日摸日日碰夜夜爽av | 少妇无码av无码专区在线观看 | 亚洲精品成a人在线观看 | 亚洲成av人综合在线观看 | 丰满人妻被黑人猛烈进入 | 纯爱无遮挡h肉动漫在线播放 | 国产精品怡红院永久免费 | 曰韩无码二三区中文字幕 | 婷婷丁香六月激情综合啪 | 日本欧美一区二区三区乱码 | 黄网在线观看免费网站 | 成熟妇人a片免费看网站 | 日本www一道久久久免费榴莲 | 少妇被黑人到高潮喷出白浆 | 欧美性生交xxxxx久久久 | 性开放的女人aaa片 | 欧美日韩一区二区三区自拍 | 中文字幕 亚洲精品 第1页 | 亚洲国产成人av在线观看 | 99久久亚洲精品无码毛片 | 青青青爽视频在线观看 | 性色欲网站人妻丰满中文久久不卡 | 色综合视频一区二区三区 | 国产九九九九九九九a片 | 成人无码视频免费播放 | 国产激情无码一区二区app | 日本一区二区三区免费高清 | 国产卡一卡二卡三 | 亚洲日韩中文字幕在线播放 | 麻豆果冻传媒2021精品传媒一区下载 | 日韩精品久久久肉伦网站 | 亚洲爆乳精品无码一区二区三区 | 亚洲经典千人经典日产 | 人人妻人人澡人人爽欧美一区九九 | 国产特级毛片aaaaaa高潮流水 | 欧美xxxx黑人又粗又长 | 久久久久久久久888 | 久久亚洲日韩精品一区二区三区 | 十八禁真人啪啪免费网站 | 久久人妻内射无码一区三区 | aa片在线观看视频在线播放 | 色情久久久av熟女人妻网站 | 精品 日韩 国产 欧美 视频 | 天堂久久天堂av色综合 | 亚洲国产精品无码久久久久高潮 | 青青青爽视频在线观看 | 青青青手机频在线观看 | 欧美第一黄网免费网站 | 久久久久久久人妻无码中文字幕爆 | 精品aⅴ一区二区三区 | 最新国产麻豆aⅴ精品无码 | 欧美日韩精品 | 国产特级毛片aaaaaa高潮流水 | 亚洲日韩av一区二区三区四区 | 四虎4hu永久免费 | 欧美一区二区三区 | 亚洲熟妇自偷自拍另类 | 久久久久久av无码免费看大片 | 高清国产亚洲精品自在久久 | 亚洲色大成网站www国产 | 欧美性色19p | 亚洲男人av香蕉爽爽爽爽 | 我要看www免费看插插视频 | 99精品无人区乱码1区2区3区 | 国产乡下妇女做爰 | 成人女人看片免费视频放人 | 亚洲国产精品美女久久久久 | 无码人妻丰满熟妇区五十路百度 | 1000部啪啪未满十八勿入下载 | 亚洲日韩乱码中文无码蜜桃臀网站 | 98国产精品综合一区二区三区 | 亚洲精品一区二区三区四区五区 | 在线天堂新版最新版在线8 | 免费观看又污又黄的网站 | 激情内射亚州一区二区三区爱妻 | 亚洲国产日韩a在线播放 | 天天做天天爱天天爽综合网 | 亚洲无人区午夜福利码高清完整版 | 国产激情精品一区二区三区 | 玩弄中年熟妇正在播放 | 欧美国产日韩久久mv | 娇妻被黑人粗大高潮白浆 | 又湿又紧又大又爽a视频国产 | 日日摸天天摸爽爽狠狠97 | 在线精品国产一区二区三区 | 特黄特色大片免费播放器图片 | 久久zyz资源站无码中文动漫 | 日韩av无码一区二区三区不卡 | 欧美国产日产一区二区 | 欧美激情综合亚洲一二区 | 国产无套内射久久久国产 | 日韩人妻无码一区二区三区久久99 | 亚洲精品综合一区二区三区在线 | 亚洲一区二区三区 | 亚洲熟女一区二区三区 | 伊人色综合久久天天小片 | 在线观看欧美一区二区三区 | 精品欧美一区二区三区久久久 | 亚洲毛片av日韩av无码 | 国产免费久久精品国产传媒 | 一个人看的www免费视频在线观看 | 色一情一乱一伦 | 亚洲 a v无 码免 费 成 人 a v | 奇米影视7777久久精品人人爽 | 内射爽无广熟女亚洲 | 在线а√天堂中文官网 | 99久久人妻精品免费一区 | 窝窝午夜理论片影院 | 国产av剧情md精品麻豆 | 熟女少妇人妻中文字幕 | 呦交小u女精品视频 | 亚洲小说图区综合在线 | 日韩欧美群交p片內射中文 | 亚洲国产精品一区二区美利坚 | 久久久久久国产精品无码下载 | 国产成人综合色在线观看网站 | 日产精品99久久久久久 | 国产超碰人人爽人人做人人添 | 大地资源网第二页免费观看 | 男人的天堂av网站 | 亚洲无人区午夜福利码高清完整版 | 中文亚洲成a人片在线观看 | 亚洲国产精品无码一区二区三区 | 亚洲欧美国产精品专区久久 | 国产色精品久久人妻 | 麻豆精品国产精华精华液好用吗 | 亚洲经典千人经典日产 | 久久精品女人的天堂av | 亚洲自偷精品视频自拍 | 日韩欧美群交p片內射中文 | 全黄性性激高免费视频 | 18禁止看的免费污网站 | 中文字幕av无码一区二区三区电影 | 天堂在线观看www | 国产99久久精品一区二区 | 亚洲区欧美区综合区自拍区 | 久久aⅴ免费观看 | 久久久久久久人妻无码中文字幕爆 | 麻豆蜜桃av蜜臀av色欲av | 欧美人与禽猛交狂配 | 亚洲毛片av日韩av无码 | 熟女少妇人妻中文字幕 | 少妇无套内谢久久久久 | 自拍偷自拍亚洲精品10p | 人人超人人超碰超国产 | 国产成人无码一二三区视频 | 性开放的女人aaa片 | 中文字幕av无码一区二区三区电影 | 午夜福利不卡在线视频 | 成人综合网亚洲伊人 | 麻豆国产丝袜白领秘书在线观看 | 99久久精品无码一区二区毛片 | 强开小婷嫩苞又嫩又紧视频 | 最近的中文字幕在线看视频 | 欧美 丝袜 自拍 制服 另类 | 国产性生交xxxxx无码 | 少妇高潮一区二区三区99 | 小sao货水好多真紧h无码视频 | 亚洲中文字幕在线观看 | 免费中文字幕日韩欧美 | 男人和女人高潮免费网站 | 无码毛片视频一区二区本码 | 中文无码成人免费视频在线观看 | 国产精品久久福利网站 | 国产乱码精品一品二品 | 99久久精品国产一区二区蜜芽 | 国产精品久久久午夜夜伦鲁鲁 | 99久久人妻精品免费一区 | 国产精品无码成人午夜电影 | 久久久久99精品成人片 | 国内精品人妻无码久久久影院 | 久久精品人人做人人综合 | 亚洲日本va午夜在线电影 | 狠狠cao日日穞夜夜穞av | 日韩精品无码一本二本三本色 | 三级4级全黄60分钟 | 色综合久久久无码中文字幕 | 国产精品毛多多水多 | 亚洲成在人网站无码天堂 | 免费无码肉片在线观看 | 日本在线高清不卡免费播放 | 四虎影视成人永久免费观看视频 | 国产精品人人爽人人做我的可爱 | 少妇人妻偷人精品无码视频 | 久久久久久久人妻无码中文字幕爆 | 国产精品毛片一区二区 | 亚洲精品午夜无码电影网 | 久久久久亚洲精品男人的天堂 | 少妇厨房愉情理9仑片视频 | 亚洲中文字幕在线无码一区二区 | 国产内射爽爽大片视频社区在线 | 中文字幕中文有码在线 | 久久国内精品自在自线 | 免费人成在线观看网站 | 亚洲人成网站免费播放 | 无码一区二区三区在线观看 | 国产精品高潮呻吟av久久 | 午夜免费福利小电影 | 亚洲日本va中文字幕 | 成人一区二区免费视频 | 天堂а√在线中文在线 | 国产偷自视频区视频 | 四虎影视成人永久免费观看视频 | 亚洲日韩av一区二区三区中文 | 无码av最新清无码专区吞精 | 樱花草在线社区www | 亚洲色欲色欲欲www在线 | 免费国产黄网站在线观看 | 亚洲日本va中文字幕 | 国产偷抇久久精品a片69 | 国产成人无码av一区二区 | 少女韩国电视剧在线观看完整 | 麻豆蜜桃av蜜臀av色欲av | 欧美国产日产一区二区 | 在线 国产 欧美 亚洲 天堂 | 两性色午夜免费视频 | 国产两女互慰高潮视频在线观看 | 少妇无码吹潮 | 久久久亚洲欧洲日产国码αv | 少妇高潮一区二区三区99 | 国产成人综合在线女婷五月99播放 | 免费人成网站视频在线观看 | 亚洲欧美国产精品专区久久 | 国产激情无码一区二区app | 国产深夜福利视频在线 | 日韩少妇白浆无码系列 | 亚洲精品中文字幕乱码 | 人人妻人人藻人人爽欧美一区 | 中文字幕中文有码在线 | 性色av无码免费一区二区三区 | 狠狠cao日日穞夜夜穞av | 真人与拘做受免费视频一 | 中文字幕乱码人妻无码久久 | 精品国产一区二区三区av 性色 | 亚洲欧美日韩国产精品一区二区 | 亚洲色大成网站www国产 | 亚洲の无码国产の无码影院 | 日本一区二区三区免费播放 | 欧美国产亚洲日韩在线二区 | 日本www一道久久久免费榴莲 | 亚洲日韩中文字幕在线播放 | 少妇厨房愉情理9仑片视频 | 亚洲 日韩 欧美 成人 在线观看 | 欧美丰满熟妇xxxx性ppx人交 | 国内精品久久毛片一区二区 | 国产特级毛片aaaaaaa高清 | 1000部啪啪未满十八勿入下载 | 亚洲精品国偷拍自产在线麻豆 | 午夜精品久久久内射近拍高清 | 色综合久久88色综合天天 | 中文字幕无码日韩专区 | 图片小说视频一区二区 | 午夜福利试看120秒体验区 | 51国偷自产一区二区三区 | 亚洲色欲久久久综合网东京热 | 日本一区二区三区免费高清 | 欧美日韩色另类综合 | 又紧又大又爽精品一区二区 | 久久97精品久久久久久久不卡 | 夫妻免费无码v看片 | 国色天香社区在线视频 | 3d动漫精品啪啪一区二区中 | 熟妇激情内射com | 国产亚洲日韩欧美另类第八页 | 国产在线aaa片一区二区99 | 人人妻人人澡人人爽人人精品浪潮 | 在线a亚洲视频播放在线观看 | 久激情内射婷内射蜜桃人妖 | 亚洲精品一区三区三区在线观看 | 婷婷丁香五月天综合东京热 | 色婷婷av一区二区三区之红樱桃 | 久久久久国色av免费观看性色 | 午夜精品久久久久久久久 | 永久免费精品精品永久-夜色 | 国产乡下妇女做爰 | 欧美老熟妇乱xxxxx | 又紧又大又爽精品一区二区 | 青青草原综合久久大伊人精品 | 青春草在线视频免费观看 | 国产成人人人97超碰超爽8 | 成熟女人特级毛片www免费 | 久久成人a毛片免费观看网站 | 久久亚洲国产成人精品性色 | a片免费视频在线观看 | 十八禁真人啪啪免费网站 | 男女性色大片免费网站 | 国产av久久久久精东av | 人人妻人人澡人人爽欧美一区 | 国产又爽又猛又粗的视频a片 | 大肉大捧一进一出好爽视频 | 亚洲一区二区三区 | 精品欧洲av无码一区二区三区 | 久久久久国色av免费观看性色 | 久久人人爽人人爽人人片av高清 | 无码国产激情在线观看 | 国产热a欧美热a在线视频 | 国产高清av在线播放 | 亚洲中文字幕无码中文字在线 | 亚洲午夜福利在线观看 | 国内丰满熟女出轨videos | 亚洲自偷精品视频自拍 | 亚洲熟妇色xxxxx欧美老妇 | 日韩 欧美 动漫 国产 制服 | 亚拍精品一区二区三区探花 | 激情五月综合色婷婷一区二区 | 婷婷综合久久中文字幕蜜桃三电影 | 人妻少妇精品无码专区动漫 | 中文字幕 亚洲精品 第1页 | 色婷婷香蕉在线一区二区 | 国产精品99久久精品爆乳 | 国产内射爽爽大片视频社区在线 | 暴力强奷在线播放无码 | 久久亚洲日韩精品一区二区三区 | 亚洲人成网站色7799 | 亚洲国产精品成人久久蜜臀 |