黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術(shù)文章
文章詳情頁

Java 代碼檢查工具之PMD入門使用詳細(xì)教程

瀏覽:122日期:2022-08-15 11:17:45
介紹

PMD是一個(gè)靜態(tài)源代碼分析器。它發(fā)現(xiàn)了常見的編程缺陷,如未使用的變量、空捕獲塊、不必要的對(duì)象創(chuàng)建等等。

官網(wǎng):點(diǎn)這里官方文檔:點(diǎn)這里

使用方式1、使用插件的方式

下載:File -> Settings -> Plugins -> Marketplace 搜索 “PMDPlugin” ,下載插件。

使用方法:在代碼編輯框或Project 窗口的文件夾、包、文件右鍵,選擇“Run PMD”->“Pre Defined”->“All”,對(duì)指定的文件夾、包、文件進(jìn)行分析,分析結(jié)果在控制臺(tái)輸出。

2、maven項(xiàng)目引入依賴的方式

pom.xml:

<?xml version='1.0' encoding='UTF-8'?><project xmlns='http://maven.apache.org/POM/4.0.0' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd'> <modelVersion>4.0.0</modelVersion> <groupId>com.keafmd</groupId> <artifactId>pdm-test01</artifactId> <version>1.0-SNAPSHOT</version> <!--<dependencies> <dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>3.14.0</version> <type>maven-plugin</type> </dependency> </dependencies>--> <!-- 用于生成錯(cuò)誤到代碼內(nèi)容的鏈接 --> <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>3.14.0</version> </plugin> </plugins> </reporting></project>

mvn 命令執(zhí)行

在項(xiàng)目目錄打開cmd窗口,輸入以下命令:

mvn pmd:pmd

Java 代碼檢查工具之PMD入門使用詳細(xì)教程

分析結(jié)果為pmd.html文件,在項(xiàng)目的target下的site目錄下:

Java 代碼檢查工具之PMD入門使用詳細(xì)教程

Java 代碼檢查工具之PMD入門使用詳細(xì)教程

分析結(jié)果顯示內(nèi)容:

Java 代碼檢查工具之PMD入門使用詳細(xì)教程

3、pmd 命令行的方式

pmd -d 源代碼路徑 -f xml(結(jié)果輸出格式) -r 結(jié)果保存所在目錄及名稱 -R rulesets/java/unusedcode.xml

例子:

Java 代碼檢查工具之PMD入門使用詳細(xì)教程

結(jié)果存放在制定文件目錄下,格式也為命令語句指定的:

Java 代碼檢查工具之PMD入門使用詳細(xì)教程

檢測(cè)結(jié)果內(nèi)容:

Java 代碼檢查工具之PMD入門使用詳細(xì)教程

4、Java API的方式 *

官方文檔

需要先引入maven依賴

項(xiàng)目結(jié)構(gòu)

Java 代碼檢查工具之PMD入門使用詳細(xì)教程

測(cè)試代碼

Test01:

package com.keafmd.test01;/** * Keafmd * * @ClassName: Test01 * @Description: 測(cè)試1 * @author: 牛哄哄的柯南 * @Date: 2021-03-15 15:29 * @Blog: https://keafmd.blog.csdn.net/ */public class Test01 { public static void main(String[] args) { int a =100; int b=29; String s ='abc'; System.out.println('hello!'); }}

Test02:

package com.keafmd.test02;/** * Keafmd * * @ClassName: Test02 * @Description: * @author: 牛哄哄的柯南 * @Date: 2021-03-15 15:30 * @Blog: https://keafmd.blog.csdn.net/ */public class Test02 { public static void main(String[] args) { boolean flag=true; while(flag){ flag=false; } System.out.println('123'); int a =100; int b=29; String s ='abc'; System.out.println('hello!'); }}pmdArgs方式

命令行接口的方式最簡單的方法是使用與命令行相同的接口調(diào)用PMD

Example :

package com.keafmd;import net.sourceforge.pmd.PMD;/** * Keafmd * * @ClassName: Example * @Description: * @author: 牛哄哄的柯南 * @Date: 2021-03-15 15:51 * @Blog: https://keafmd.blog.csdn.net/ */public class Example { public static void main(String[] args) { String[] pmdArgs = { '-d', 'D:/javaworkspace/pdm-test02/src', '-R', 'rulesets/java/quickstart.xml', '-f', 'xml', '-r', 'D:/pmdreport/pmd-report.xml' }; PMD.main(pmdArgs); }}PMDConfiguration方式

PmdExample:

package com.keafmd;import net.sourceforge.pmd.PMD;import net.sourceforge.pmd.PMDConfiguration;/** * Keafmd * * @ClassName: PmdExample * @Description: * @author: 牛哄哄的柯南 * @Date: 2021-03-15 15:57 * @Blog: https://keafmd.blog.csdn.net/ */public class PmdExample { public static void main(String[] args) { PMDConfiguration configuration = new PMDConfiguration(); configuration.setInputPaths('D:/javaworkspace/pdm-test/src'); configuration.setRuleSets('rulesets/java/quickstart.xml'); configuration.setReportFormat('html'); configuration.setReportFile('D:/pmdreport/pmd-report.html'); PMD.doPMD(configuration); }}Programmatically(拓展)

這使您能夠更好地控制處理哪些文件,但也會(huì)更加復(fù)雜。您還可以提供自己的偵聽器和呈現(xiàn)器。

1. 首先,我們創(chuàng)建一個(gè)PMDConfiguration。目前,這是指定規(guī)則集的唯一方法:

PMDConfiguration configuration = new PMDConfiguration();configuration.setMinimumPriority(RulePriority.MEDIUM);configuration.setRuleSets('rulesets/java/quickstart.xml');

2. 為了支持類型解析,PMD還需要訪問已編譯的類和依賴項(xiàng)。這被稱為“生長素路徑”,并且在這里也進(jìn)行了配置。注意:您可以指定由:關(guān)于Unix系統(tǒng)或;在Windows下。

configuration.prependClasspath('/home/workspace/target/classes:/home/.m2/repository/my/dependency.jar');

3. 那我們需要一個(gè)規(guī)則工廠。這是使用配置創(chuàng)建的,同時(shí)考慮到最低優(yōu)先級(jí):

RuleSetFactory ruleSetFactory = RulesetsFactoryUtils.createFactory(configuration);

4. PMD操作于DataSource。您可以收集自己的列表FileDataSource.

List<DataSource> files = Arrays.asList(new FileDataSource(new File('/path/to/src/MyClass.java')));

5. 對(duì)于報(bào)告,您可以使用內(nèi)置渲染器。XMLRenderer。注意,必須通過設(shè)置適當(dāng)?shù)腤riter打電話start()。在pmd運(yùn)行之后,您需要調(diào)用end()和flush()。那么你的作者應(yīng)該收到所有的輸出。

StringWriter rendererOutput = new StringWriter();Renderer xmlRenderer = new XMLRenderer('UTF-8');xmlRenderer.setWriter(rendererOutput);xmlRenderer.start();

6. 創(chuàng)建一個(gè)RuleContext。這是上下文實(shí)例,在規(guī)則實(shí)現(xiàn)中是可用的。注意:當(dāng)在多線程模式下運(yùn)行時(shí)(這是默認(rèn)的),規(guī)則上下文實(shí)例將被克隆到每個(gè)線程。

RuleContext ctx = new RuleContext();

7. 可以選擇注冊(cè)報(bào)表偵聽器。這樣你就可以對(duì)發(fā)現(xiàn)的違規(guī)行為立即做出反應(yīng)。您也可以使用這樣的偵聽器來實(shí)現(xiàn)您自己的呈現(xiàn)器。偵聽器必須實(shí)現(xiàn)接口。ThreadSafeReportListener并且可以通過ctx.getReport().addListener(...).

ctx.getReport().addListener(new ThreadSafeReportListener() { public void ruleViolationAdded(RuleViolation ruleViolation) { } public void metricAdded(Metric metric) { }

8. 現(xiàn)在,所有的準(zhǔn)備工作都完成了,PMD可以執(zhí)行了。這是通過調(diào)用PMD.processFiles(...)。此方法調(diào)用接受配置、規(guī)則集工廠、要處理的文件、規(guī)則上下文和呈現(xiàn)器列表。如果不想使用任何渲染器,請(qǐng)?zhí)峁┮粋€(gè)空列表。注意:需要顯式關(guān)閉輔助路徑。否則,類或JAR文件可能會(huì)保持打開狀態(tài),并且文件資源會(huì)泄漏。

try { PMD.processFiles(configuration, ruleSetFactory, files, ctx, Collections.singletonList(renderer));} finally { ClassLoader auxiliaryClassLoader = configuration.getClassLoader(); if (auxiliaryClassLoader instanceof ClasspathClassLoader) { ((ClasspathClassLoader) auxiliaryClassLoader).close(); }}

9. 呼叫后,您需要完成渲染器end()和flush()。然后,您可以檢查呈現(xiàn)的輸出。

renderer.end();renderer.flush();System.out.println('Rendered Report:');System.out.println(rendererOutput.toString());

下面是一個(gè)完整的例子:

import java.io.IOException;import java.io.StringWriter;import java.io.Writer;import java.nio.file.FileSystems;import java.nio.file.FileVisitResult;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.PathMatcher;import java.nio.file.SimpleFileVisitor;import java.nio.file.attribute.BasicFileAttributes;import java.util.ArrayList;import java.util.Collections;import java.util.List;import net.sourceforge.pmd.PMD;import net.sourceforge.pmd.PMDConfiguration;import net.sourceforge.pmd.RuleContext;import net.sourceforge.pmd.RulePriority;import net.sourceforge.pmd.RuleSetFactory;import net.sourceforge.pmd.RuleViolation;import net.sourceforge.pmd.RulesetsFactoryUtils;import net.sourceforge.pmd.ThreadSafeReportListener;import net.sourceforge.pmd.renderers.Renderer;import net.sourceforge.pmd.renderers.XMLRenderer;import net.sourceforge.pmd.stat.Metric;import net.sourceforge.pmd.util.ClasspathClassLoader;import net.sourceforge.pmd.util.datasource.DataSource;import net.sourceforge.pmd.util.datasource.FileDataSource;public class PmdExample2 { public static void main(String[] args) throws IOException { PMDConfiguration configuration = new PMDConfiguration(); configuration.setMinimumPriority(RulePriority.MEDIUM); configuration.setRuleSets('rulesets/java/quickstart.xml'); configuration.prependClasspath('/home/workspace/target/classes'); RuleSetFactory ruleSetFactory = RulesetsFactoryUtils.createFactory(configuration); List<DataSource> files = determineFiles('/home/workspace/src/main/java/code'); Writer rendererOutput = new StringWriter(); Renderer renderer = createRenderer(rendererOutput); renderer.start(); RuleContext ctx = new RuleContext(); ctx.getReport().addListener(createReportListener()); // alternative way to collect violations try { PMD.processFiles(configuration, ruleSetFactory, files, ctx, Collections.singletonList(renderer)); } finally { ClassLoader auxiliaryClassLoader = configuration.getClassLoader(); if (auxiliaryClassLoader instanceof ClasspathClassLoader) { ((ClasspathClassLoader) auxiliaryClassLoader).close(); } } renderer.end(); renderer.flush(); System.out.println('Rendered Report:'); System.out.println(rendererOutput.toString()); } private static ThreadSafeReportListener createReportListener() { return new ThreadSafeReportListener() { @Override public void ruleViolationAdded(RuleViolation ruleViolation) { System.out.printf('%-20s:%d %s%n', ruleViolation.getFilename(), ruleViolation.getBeginLine(), ruleViolation.getDescription()); } @Override public void metricAdded(Metric metric) { // ignored } }; } private static Renderer createRenderer(Writer writer) { XMLRenderer xml = new XMLRenderer('UTF-8'); xml.setWriter(writer); return xml; } private static List<DataSource> determineFiles(String basePath) throws IOException { Path dirPath = FileSystems.getDefault().getPath(basePath); PathMatcher matcher = FileSystems.getDefault().getPathMatcher('glob:*.java'); List<DataSource> files = new ArrayList<>(); Files.walkFileTree(dirPath, new SimpleFileVisitor<Path>() { @Override public FileVisitResult visitFile(Path path, BasicFileAttributes attrs) throws IOException { if (matcher.matches(path.getFileName())) { System.out.printf('Using %s%n', path); files.add(new FileDataSource(path.toFile())); } else { System.out.printf('Ignoring %s%n', path); } return super.visitFile(path, attrs); } }); System.out.printf('Analyzing %d files in %s%n', files.size(), basePath); return files; }}分析結(jié)果

分析結(jié)果會(huì)根據(jù)指定格式輸出在指定文件目錄下。

圖形界面檢測(cè)

D:MyFileToolpmd-bin-6.32.0bin 目錄下打開cmd窗口輸入:

cpdgui.bat

Java 代碼檢查工具之PMD入門使用詳細(xì)教程

自定義規(guī)則

Java 代碼檢查工具之PMD入門使用詳細(xì)教程

D:MyFileToolpmd-bin-6.32.0bin 目錄下打開cmd窗口輸入:

designer.bat

Java 代碼檢查工具之PMD入門使用詳細(xì)教程

自定義規(guī)則:不能有變量為keafmd的String類型的變量

String keafmd; //這樣就是不合法的。

Source:

public class KeepingItSerious { Delegator keafmd; // FieldDeclaration public void method() { String keafmd; // LocalVariableDeclaration }}

導(dǎo)出的自定義規(guī)則:

<rule name='myrule' language='java' message='不能有變量為keafmd的String類型的變量' class='net.sourceforge.pmd.lang.rule.XPathRule'> <description>自定義規(guī)則 </description> <priority>3</priority> <properties> <property name='version' value='2.0'/> <property name='xpath'> <value><![CDATA[//VariableDeclaratorId[@Image = 'keafmd' and ../../Type[@TypeImage = 'String']]]]> </value> </property> </properties></rule>

到此這篇關(guān)于Java 代碼檢查工具之PMD入門使用詳細(xì)教程的文章就介紹到這了,更多相關(guān)Java 代碼檢查工具PMD內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 日韩免费av片 | 亚洲产国偷v产偷自拍网址 亚洲超丰满肉感bbw | 欧美肥老妇视频 | 天堂а√8在线最新版在线 天堂а√在线地址 | 在线观看日本www | 国产精品美女www爽爽爽视频 | 亚洲欧美偷拍另类a∨色屁股 | 91插插插插插 | 国产精品毛片无遮挡 | 在线免费黄网 | 精久国产av一区二区三区孕妇 | 97精品久久久午夜一区二区三区 | 夜夜骑天天操 | 日本性猛交 | 日本少妇xxxx动漫 | 亚洲欧洲精品一区二区三区不卡 | 国产东北农村女人av | 欧美黄色大片免费看 | 久久人人爽人人爽人人 | 日韩在线国产 | 黄色免费成人 | 久久久人人人 | 日韩伦理中文字幕 | 久久性生活 | 成人美女毛片 | 午夜精品久久久久久久99热额 | 黄片毛片免费在线观看 | 精品久久久久久成人av | 免看一级a毛片一片成人不卡 | 精品亚洲国产成人av | 日韩免费视频 | 国产va免费精品高清在线观看 | 精品视频91| 18禁在线永久免费观看 | 偷偷操不一样 | 精品人妻系列无码人妻免费视频 | 国产亚洲视频在线观看 | 午夜精品一区二区国产 | 黑人情欲在线播放 | 影音先锋欧美资源 | 亚洲欧美另类中文字幕 | 午夜寂寞影视在线观看 | 真实国产乱子伦对白视频 | 天天摸日日添狠狠添婷婷 | 九色porny丨入口在线 | 韩国三级少妇高潮在线观看 | 日产特黄极日产 | www.黄色.| 欧洲精品一区二区 | 麻花豆传媒剧国产免费mv在线 | 日本黄色大片网站 | 国产又粗又猛又爽又黄的视频在线观看动漫 | 久久久久久久黄色 | 天堂av观看| av在线亚洲男人的天堂 | 亚洲性视频网站 | 国产午夜精品av一区二区 | 精品国产一 | 懂色a v | wwwcom黄色片| 日韩在线一二三区 | 日韩欧美精品久久 | 色婷婷综合久久久久中文一区二区 | 手机av在线不卡 | 亚洲精品一区二区三区四区乱码 | 国产欧美日韩综合精品一区二区 | 性色在线视频 | 成人品视频观看在线 | 久久久蜜桃一区二区 | 日韩精品一线二线三线 | 免费看三级黄色片 | 国产原创麻豆 | 国产午夜精品在线 | 久久久国产精品黄毛片 | 亚洲精品国产精品自产a区红杏吧 | 96久久欧美麻豆网站 | 少妇粉嫩小泬白浆流出 | 成人一区二区三区四区 | 成人小说亚洲一区二区三区 | 欧美黑人粗暴多交高潮水最多 | 人人干超碰| 国精产品一二三区传媒公司 | 亚洲日本va午夜中文字幕一区 | 强开小婷嫩苞又嫩又紧视频韩国 | 伊人狠狠干| 扒开女人内裤猛进猛出免费视频 | 久久精品国产一区二区三区不卡 | 国产精品区av| 中文字幕在线无码一区二区三区 | 亚洲高清av | 免费观看午夜视频 | 日韩av无码免费播放 | 97视频人人| 国产无av码在线观看 | 亚洲免费黄色片 | 吻胸摸腿揉屁股娇喘视频网站小说 | 优月まりな乳狂在线观看 | 亚洲日韩男人网在线 | 对白刺激国产子与伦 | 99精品国产一区二区三区麻豆 | 91色区| 国产精品乱码妇女bbbb | 国产另类在线 | 色综合久久久久 | 九色porny丨国产首页在线 | 91久久精品国产91性色tv | 国产娇喘精品一区二区三区图片 | 91丨porny丨在线中文 | 欧美日韩制服 | 青青艹在线视频 | 国产国拍亚洲精品av在线 | 香蕉国产 | 在线观看亚洲一区 | 五月婷婷在线视频观看 | 奇米影视777久色在线 | av免费观看在线 | 偷窥目拍性综合图区 | 波多野结衣一级 | 在线黄视频 | 国产精品久久久久久69 | 国产亚洲性欧美日韩在线观看软件 | 女男羞羞视频网站免费 | 国产懂色av | a级欧美 | 欧美色图俺去了 | 欧美黑人两根巨大挤入 | 黄色av一级 | 日韩3p视频 | 日日夜夜国产精品 | 欧美性做爰猛烈叫床潮 | 亚洲女同志亚洲女同女播放 | 免费在线观看成人av | 99re这里都是精品 | 免费成人黄色av | 亚洲一区无码中文字幕 | 人人草视频在线观看 | a在线亚洲男人的天堂 | 伊人色综合久久天天五月婷 | 欧美黑人性猛交xxxx | avtt在线| 99男女国产精品免费视频 | 久久久久夜夜夜综合国产 | 国精产品一区二区三区 | 黄一区二区三区 | 亚洲人交乣女bbw | 91精品国产综合久久国产大片 | 日韩精品视频免费在线观看 | 一性一交一摸一黄按摩精油视频 | 午夜插插插 | 欧美人与禽2o2o性论交 | 日韩精品一区二区三区在线观看视频网站 | 亚洲综合在线另类色区奇米 | 无码尹人久久相蕉无码 | 在线播放少妇奶水过盛 | 成人免费看黄网站在线观看 | 国产人成免费爽爽爽视频 | 久久天堂网 | 成人高清免费观看mv | 精品一区二区三区免费看 | 精国产品一区二区三区a片 日韩av在线观看免费 | 欧美精品1区2区 | 中文字幕人成人乱码亚洲影视的特点 | 午夜中文字幕 | 精品无码av人在线观看 | 超碰人人澡 | 国产成人久久久77777 | 精品一卡二卡三卡四卡 | 一本到在线视频 | 老色鬼永久视频网站 | 国产精品嫩草影院精东 | 97精品免费视频 | 日本免费人成视频在线观看 | 亚洲一区国产 | 亚洲精品蜜桃久久久久久 | 5g影院天天爽入口入口 | 少妇高潮一区二区三区 | 黄瓜视频在线观看网址 | 88国产精品欧美一区二区三区 | 人妻熟女av一区二区三区 | 免费黄色a | 无码av免费一区二区三区 | 中文字幕91| 26uuu国产精品 | 麻豆福利视频 | 91av毛片| 四虎精品 | 久久久精选 | 一区在线免费 | 私人毛片 | 国产第六页 | 久久99热婷婷精品一区 | 国产99re| 国产91精品ai换脸 | 国产精品高潮呻吟久久久久久 | 黄色一级网址 | 精人妻无码一区二区三区 | 日韩极品一区 | 麻豆成人久久精品二区三区免费 | 中文字字幕 | 天天摸天天看 | 91丨九色丨丰满 | 久久人人爽人人爽人人片ⅴ | 日本毛片高清免费视频 | 中文免费av | 免费av一区二区 | 欧美日韩色视频 | 中国黄色小视频 | 欧美久久一级 | 天天躁日日躁狠狠躁伊人 | 国产三区av| 亚洲综合色成在线播放 | 免费美女视频网站 | 国产亚洲精品久久久久蜜臀 | 国产欧美性成人精品午夜 | 午夜影院在线免费观看 | 国产在线拍揄自揄视精品按摩 | 欧美日韩一 | 久草加勒比 | 久久99精品久久久久久噜噜 | 日本少妇性生活 | 三级网站免费 | 免费特级黄毛片 | 日韩字幕 | 久久久久人妻精品区一 | 国产精品a级 | 亚洲女同tvhd | 中文字幕一区二区人妻电影 | 久久免费影院 | 高清欧美性猛交xxxx黑人猛交 | 91看片淫黄大片91桃色 | 五月丁香花 | 日本黄色录象 | 九色丨9lpony丨国产 | 日韩性视频 | 午夜伦y4480影院中文字幕 | 亚洲欧美日本国产 | 国产精选视频在线观看 | 精品视频久久久久 | 国内国内在线自偷第68页 | 精品国产一二三产品价格 | 日韩在线视频在线 | 91精品视频在线播放 | 久久久久有精品国产麻豆 | 成人国产免费 | 少妇又紧又深又湿又爽视频 | 久久99精品久久久久久水蜜桃 | 无码专区一ⅴa亚洲v天堂 | 国产一区二区久久久 | 青草久久久| www婷婷色| 夜夜爽妓女8888视频免费观看 | 精品女同一区二区 | 国产视频97 | 91网站在线播放 | 手机在线观看毛片 | 日韩av在线免费看 | 俺也来俺也去俺也射 | 欧美日本精品一区二区三区 | 国产丝袜一区二区三区免费视频 | 久久香蕉影视 | 成人中文字幕+乱码+中文字幕 | av在线成人 | 免费的男女羞羞视频软件 | 少妇愉情理仑片高潮日本 | 国产成人精品一区二区在线小狼 | 波多野结衣免费在线视频 | 无码无套少妇毛多18pxxxx | 牲欲强的熟妇农村老妇女 | 国产免费av网站 | 想看一级黄色片 | 成人午夜免费在线 | 天天干天天玩 | 天天狠狠干 | 久热精品视频在线 | 欧美亚洲高清 | 国产又粗又硬又大爽黄 | 中文字幕亚洲综合久久筱田步美 | 91精品啪在线观看国产81旧版 | 亚洲自拍偷拍综合 | 久久人人97超碰精品888 | 亚洲精品一二 | 少妇又紧又色又爽又刺激视频网站 | 国内精品久久久久久久97牛牛 | 日本无遮挡大尺度床戏网站 | 国产人妻精品无码av在线 | 在线播放av网址 | 色欲麻豆国产福利精品 | 女同激情久久av久久 | 亚洲日产精品一二三区 | 无码精品黑人一区二区三区 | 欧美亚洲视频一区 | 黄色片免费视频 | 欧美爱爱免费视频 | 日本成人午夜视频 | 国产3p在线播放 | 亚洲五月六月 | 粉嫩av一区二区在线播放免费 | 我不卡午夜 | 日本欧美一本 | 久久久久久久久99精品情浪 | 国产一级一区二区 | 中文字幕一区二区三区久久蜜桃 | 日韩av午夜 | 黄色视屏在线看 | 日韩av在线免费观看 | 中文精品无码中文字幕无码专区 | 久久99国产精品久久99 | 国产裸体视频bbbbb | 成人激情视频网站 | 熟妇高潮喷沈阳45熟妇高潮喷 | 国产在线观看码高清视频 | 男女18禁啪啪无遮挡 | 国产综合激情 | 91欧美日韩国产 | 日韩一区二区在线视频 | 日本大尺度吃奶做爰久久久绯色 | 国产乱码一二三区精品 | 久久久久国产一区二区 | 亚洲一区二区三区无码国产 | 无码人妻久久一区二区三区不卡 | 911亚洲精品 | 天堂一区二区mv在线观看 | 亚洲午夜天堂吃瓜在线 | 少妇边打电话边呻吟在线91 | 久久人人爽人人爽人人片av | 一区二区三区在线免费视频 | 亚洲免费观看视频 | 日本一区二区在线视频 | 国产毛片一区二区精品 | 色综合久久无码五十路人妻 | 手机av免费观看 | 日本三级一区二区三区 | 一级看片免费视频囗交 | 99这里只有精品视频 | 国产全肉乱妇杂乱 | 一级黄色片在线看 | 激情黄色小视频 | 日韩精品一区二区三区免费视频观看 | 国产欧美中文字幕 | 人妻熟妇乱又伦精品视频 | 欧美影片网站推荐 | 亚洲欧美国产精品专区久久 | 国产精品毛片一区二区 | 欧美三级韩国三级日本一级 | 精品日韩在线视频 | 色老二导航 | 波多野结衣美乳人妻hd电影欧美 | 一级片大片 | 亚洲人成网亚洲欧洲无码 | 亚洲欧美日韩在线看 | 日韩欧美视频网站 | 亚洲人高潮女人毛茸茸 | 亚洲色大成网站www国产 | 激情综合一区二区三区 | 日本中文在线 | 国产精品后入内射日本在线观看 | 成人a√| av黄色网 | 国产香蕉在线视频 | 亚洲精品沙发午睡系列 | 黄色精品视频 | 国产精品怕怕怕免费视频 | 欧美日韩亚洲国产精品 | 亚洲aⅴ在线 | 国产亚洲日韩欧美另类第八页 | 少妇与黑人一二三区无码 | 午夜免费福利小电影 | 亚洲精品五月天 | 外国一级片| 国产一区二区黑人欧美xxxx | 久久99操| 日本一级视频 | 无遮无挡爽爽免费毛片 | 欧美性高潮视频 | 卡一卡二在线视频 | www.欧美色图.com| 免费观看性欧美大片无片 | 日韩在线观看免费 | 狠狠色综合7777久夜色撩人 | 婷婷网色偷偷久久久99超碰 | 久久va| 人人妻人人妻人人人人妻 | 天干夜天干天天天爽视频 | 国产精品女优 | 可以看毛片的网站 | 午夜网站在线观看 | 欧美日韩亚| 91精品国产综合久久小美女 | 久久鲁鲁 | 黄网站色视频免费观看 | 91在线精品播放 | 久久夜色精品国产www红杏 | 色噜噜av男人的天堂 | 狠狠干狠狠操视频 | 中文无码精品a∨在线观看不卡 | 亚洲精品国产一区 | 男女午夜影院 | 成人乱人伦精品小说 | 国产无套粉嫩白浆内精在线网站 | 国产精品久久久久久久久久iiiii | 丰满少妇在线观看网站 | 天天做天天爱天天爽综合网 | 欧美区一区二区三 | 亚洲男同志网站 | 日韩成人免费在线观看 | 欧美三级欧美成人高清 | 亚洲色图3p | 久久精品a一国产成人免费网站 | 久久精品无码精品免费专区 | 久久精品亚洲酒店 | 国产激情一区二区三区 | 少妇激情偷人三级 | 亚洲天堂av中文字幕 | 免费在线看a | 三级欧美视频 | 国产尤物av尤物在线看 | 久久亚洲精品成人无码 | 亚洲精品网站在线 | 在线精品亚洲 | 少妇高潮尖叫黑人激情在线 | 一级片在线免费观看视频 | 亚洲国产成人一区二区精品区 | 国产亚洲精品久久久91 | 国产伦精品一区二区三区无广告 | 精品国产乱码久久久久久口爆网站 | 国产乱码精品一区二区 | 成人手机看片 | 日韩欧美在线精品 | 欧美久久久久久久久久久久 | 波多野结衣50连登视频 | 成人久久18免费网站麻豆 | 成人福利一区 | 好吊妞视频在线观看 | 亚洲精品2 | 蜜臀久久99静品久久久久久 | 内射干少妇亚洲69xxx | 大尺度做爰啪啪高潮床戏 | 人妻洗澡被强公日日澡 | 操天天操 | 91免费在线视频 | 亚洲最新中文字幕在线 | 日本九九视频 | 懂色av一二三三区免费 | 一区二区三区波多野结衣 | 国产区一区二区三区 | 中文字幕久久爽aⅴ一区 | 国产精品一区二区三区四区在线观看 | 成人a区 | 国内乱子对白免费在线 | 人成免费在线视频 | 国产精品久久久久久久久久 | 日日噜噜夜夜狠狠久久丁香五月 | 日韩av成人 | 香蕉久久国产av一区二区 | 日韩一卡2卡3卡4卡2021免费观看国色天香 | 日本少妇ⅹxxxxx视频 | 素人在线观看免费视频 | 国产热热| www豆豆成人网com | 欧美另类z0z变态 | 女人黄色特级大片 | 中文字幕在线观看亚洲日韩 | 91尤物国产福利在线观看 | 一级黄色大片免费看 | 香蕉视频在线免费看 | 国精产品一二三区传媒公司 | 国内外成人免费视频 | 亚洲欧美日韩一区在线观看 | 国产精品成人一区二区网站软件 | 中国偷拍毛茸茸肥老熟妇 | 国产极品美女高潮无套小趴菜 | 久久在线视频免费观看 | 欧美日韩国 | 国产91调教 | 精彩动漫 - 91爱爱 | 国产精品高清网站 | 国产午夜精华液 | 在线欧美日韩国产 | 国产色综合天天综合网 | 涩涩99| 国产精品一区二区三区四区五区 | julia一区二区 | 日日噜噜噜夜夜爽爽狠狠片 | 一区视频在线 | 在线看片国产 | 亚洲国产无线乱码在线观看 | 久久久一区二区三区捆绑sm调教 | 永久免费在线看片 | 久久久久久久999 | 亚洲国产天堂一区二区三区 | 全黄一级裸体 | 91精品久久久久久久久中文字幕 | 久久av无码精品人妻糸列 | 欧美久久久久久久久中文字幕 | 在线 | 国产精品99传媒a | 亚洲中文无码永久免 | 人人干超碰 | 黄大色黄女片18第一次 | 美女张开腿黄网站免费 | 毛片无码一区二区三区a片视频 | 国产精品亚洲色图 | 久色99 | 久久综合激激的五月天 | 日批网址| 黄色网址最新 | 无码av动漫精品一区二区免费 | 欧美、另类亚洲日本一区二区 | 特黄特色大片免费播放叫疼 | 国产福利精品一区二区 | 亚洲国产成人精品久久久国产成人一区 | 精品国产百合女同互慰 | 毛片黄色视频 | 国产传媒懂得 | 成人免费看片 | 狠狠躁夜夜躁人人爽天天高潮 | av不卡在线 | 国产粗话肉麻对白 | 午夜精品久久久久久久 | 国产丰满麻豆 | 久久久久人妻精品一区三寸 | 少妇呻吟白浆高潮啪啪69 | 日韩精品久久久免费观看夜色 | 欧美日韩另类一区二区 | 国产黄色www | 久久精品水蜜桃av综合天堂 | 老司机aⅴ在线精品导航 | 国产成人午夜高潮毛片男男爱 | 久久免费少妇高潮久久精品99 | 亚洲人在线观看 | 亚洲日本欧美 | 黄色特级毛片 | 久久一本人碰碰人碰 | 九色在线 | 日本高清视频wwww色 | 日韩黄色一级网站 | 国产人久久人人人人爽 | 巨胸喷奶水www视频网站 | 亚洲精品香蕉 | 国产伦对白刺激精彩露脸 | 91免费看国产 | 少妇人妻大乳在线视频 | 中文在线观看免费视频 | 午夜少妇拍拍视频在线观看 | 大肉大捧一进一出好爽动态图 | aaaaaav| 嫩草影院久久 | 国产成人精品久久亚洲高清不卡 | 国产精品高潮呻吟久久av野狼 | 摸丰满大乳奶水www免费 | 成年美女黄网色视频免费4399 | 台湾绝版午夜裸体写真秀 | 日产一二三四五六七区麻豆 | 国产喷白浆一区二区三区 | 都市激情中文字幕 | 欧美大片va欧美在线播放 | 欧美日本国产一区 | www日日干| 三级久久 | 免费在线观看网址入口 | 桃色成人| 国产日韩欧美成人 | 永久免费av网站 | 亚洲国产成人片在线观看无码 | 色婷婷a| 超碰国产天天做天天爽 | 茄子视频国产在线观看 | 深夜激情网站 | 农村少妇无套内谢粗又长 | 久久久天堂国产精品女人 | 国产欧美一区二区在线观看 | 97精品国产手机 | 精品黄色网 | 精品国产美女福到在线不卡 | 欧美老妇xxx | 激情五月亚洲 | 欧美裸体摔跤xxxx | 成人啪啪178| 国产又粗又猛又爽又黄 | 国产免费观看久久黄av片 | 婷婷国产成人精品视频 | 精品成人av | 国产第一av | 久草在| 久久久精品视频在线观看 | 日韩精品中文字幕无码一区 | 99热在线精品观看 | 很黄的网站在线观看 | 亚洲啪啪网 | 久久躁狠狠躁夜夜av | 在线播放的av | 欧美肥妇毛多水多bbxx | youjizz.com国产| 国产精品无码制服丝袜 | 国产美女特级嫩嫩嫩bbb | 奇米一区二区三区四区久久 | 久久人人爽人人爽人人av东京热 | 国产精品国语对白 | 西川结衣在线观看 | 春色伊人| 成年人网站免费视频 | 天堂网www. | 午夜影视免费 | 各种少妇正面着bbw撒尿视频 | 日本高清xxx| 亚洲国产av无码综合原创国产 | av国产成人 | 日韩欧美卡一卡二卡新区 | 欧美激情视频一区二区三区 | 成人小视频免费看 | 午夜精品久久久久久久99 | 国产精品乱码一区二区视频 | 精品久久久久久亚洲综合网站 | 成人午夜免费福利 | 橘梨纱av一区二区三区在线观看 | 在线播放网址 |