99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

Java Swing股票交易模擬系統(tǒng):從數(shù)據(jù)結構選型到撮合引擎設計

Java Swing股票交易模擬系統(tǒng):從數(shù)據(jù)結構選型到撮合引擎設計 簡介這是基于Java Swing開發(fā)的股票交易模擬系統(tǒng)課程設計資源包面向需要完成數(shù)據(jù)結構課程設計、Java實訓或畢業(yè)設計的本科/高職學生。系統(tǒng)采用面向對象與MVC分層思想綜合運用數(shù)據(jù)庫存儲技術、鏈表與隊列數(shù)據(jù)結構、JFreechart開源圖表庫以及新浪股票行情接口實現(xiàn)行情揭示、賬戶管理、模擬買賣、走勢圖繪制、技術指標與策略分析等完整功能同時以隨機數(shù)模擬實時數(shù)據(jù)便于脫離真實行情環(huán)境獨立運行調試。資源包共187個文件約10.79MB包含54個Java源碼、20個依賴jar包、87個編譯后的class文件以及PPT答辯演示文稿、數(shù)據(jù)庫配置腳本、界面截圖和設計說明文檔代碼分層清晰可直接導入主流IDE學習與二次開發(fā)。已有758人學習下載適合用來掌握Swing圖形界面設計、數(shù)據(jù)庫連接、隨機數(shù)仿真、事件驅動編程等核心技能也可作為課程設計報告與答辯PPT的參考素材。1. Java Swing 股票交易模擬系統(tǒng)這個課程設計包真正值得花時間的部分每年數(shù)據(jù)結構課設都有人拿到類似「Java Swing 股票交易模擬系統(tǒng)源碼數(shù)據(jù)庫ppt」的壓縮包第一反應是裝上跑通、截圖交差。但這類 java 課程設計案例源碼遍地都是真正拉開分數(shù)差距的不是界面多好看而是你能不能把訂單排隊、行情緩存、持倉映射、賬戶并發(fā)扣款這些業(yè)務場景和數(shù)據(jù)結構課上的堆、隊列、哈希表、平衡樹逐一對上號。題目里帶著「數(shù)據(jù)結構」三個字評分點基本落在選型和復雜度上。這篇文章我會從整體設計拆到數(shù)據(jù)庫建表再講清楚撮合、行情刷新和線程安全怎么落地最后給你一套答辯前能直接用的驗證方法和避坑順序。2. 先搭框架再看代碼四層架構與每層該選什么數(shù)據(jù)結構2.1 依賴方向決定改代碼的位置UI、服務、數(shù)據(jù)三層為什么要物理拆開很多課設包的原始代碼是「一個 MainFrame 包天下」JTable 的渲染、行情生成循環(huán)、下單邏輯全塞在一個類里甚至監(jiān)聽器里直接寫 SQL。這種寫法不是不能跑而是你一旦被問到「某個功能改了會不會影響另一個功能」根本答不清楚依賴關系。我一般會先把代碼按四層拆開按下面的包結構落com.course.stock ├── view # JFrame、JTable、監(jiān)聽器只做展示和輸入收集 ├── service # 賬戶、撮合引擎、行情生成業(yè)務規(guī)則都在這里 ├── dao # JDBC 數(shù)據(jù)訪問負責落庫和查詢 └── domain # User、TradeOrder、DealRecord、Position 等實體依賴方向是單向的view 調 serviceservice 調 daodomain 是公共數(shù)據(jù)載體。service 層絕對不 import javax.swingdao 層也絕對不出現(xiàn)業(yè)務判斷。這樣分完之后你在答辯時可以說「UI 層的登錄按鈕只負責把用戶名密碼交給 service 去校驗數(shù)據(jù)庫連接方式換成連接池UI 層不需要改動」。這句話比功能演示更能證明你理解了分層。一個額外收益是調試成本下降。比如行情價格異常先看 service 層的生成邏輯不用在監(jiān)聽器里翻幾千行找數(shù)據(jù)到底從哪來的。對于課設這種「交付時可能被抽查代碼」的場景類之間職責清晰比代碼寫得花哨重要得多。2.2 訂單簿用優(yōu)先隊列而不是普通 List撮合復雜度差了一個量級股票模擬系統(tǒng)里最核心的數(shù)據(jù)結構是訂單簿。買盤按價格從高到低排隊賣盤按價格從低到高排隊同價按時間先后排隊。這個「按優(yōu)先級出隊」的語義天然是堆的活。用 ArrayList 存訂單每次撮合都要線性掃描找最優(yōu)價用 PriorityQueueJava 的優(yōu)先隊列底層是二叉堆插入和取最值都是 O(log n)。一次撮合要取買家最高價和賣家最低價各一次n 筆訂單下整體復雜度從 O(n2) 降到 O(n log n)。這個對比放在答辯里就是實打實的加分點。// 買盤價格高者優(yōu)先同價先到先得 QueueOrder buyOrders new PriorityQueue( (o1, o2) - o2.getPrice().compareTo(o1.getPrice()) ! 0 ? o2.getPrice().compareTo(o1.getPrice()) : o1.getTime().compareTo(o2.getTime()) ); // 賣盤價格低者優(yōu)先同價先到先得 QueueOrder sellOrders new PriorityQueue( (o1, o2) - o1.getPrice().compareTo(o2.getPrice()) ! 0 ? o1.getPrice().compareTo(o2.getPrice()) : o1.getTime().compareTo(o2.getTime()) );這里有兩個細節(jié)值得在代碼注釋里寫清楚。第一價格比較用 BigDecimal 的 compareTo 而不是 equals原因是 equals 還比較精度1.0 和 1.00 會被判為不同但它們在訂單簿里必須是一個價位。第二時間戳字段建議直接存 long 型的 System.currentTimeMillis()不需要在隊列里存 Date 對象做比較排序更快落庫時再轉 DATETIME。隊列初始化后撮合循環(huán)就很簡潔同時看兩個隊頭能成交就處理剩余量不能成交就退出。這個邏輯放到第 4 章展開這里先記住一個原則——PriorityQueue 只在內存里維護訂單順序訂單本身的持久化還在數(shù)據(jù)庫兩者不沖突。2.3 行情環(huán)存、持倉映射與自選列表三種典型數(shù)據(jù)結構的使用位置訂單簿之外還有三處數(shù)據(jù)結構選型容易在答辯時被追問。第一是行情快照。實時價格要被表格、K 線圖、持倉盈虧同時讀取用 ConcurrentHashMapString, Stock 存代碼到行情對象的映射讀多寫少比用 Hashtable 鎖整個表要合理。更新行情時只 put 單只股票其他股票的讀操作不會受阻塞。第二是 K 線滑動窗口。只保留最近 N 根分鐘 K 線新數(shù)據(jù)進來把最老的擠掉用數(shù)組實現(xiàn)的環(huán)形緩沖最合適。public class RingBuffer { private final double[] data; private int head; private int size; public RingBuffer(int capacity) { this.data new double[capacity]; } public void add(double value) { data[(head size) % data.length] value; if (size data.length) { head (head 1) % data.length; // 滿了就覆蓋最老的一格 } else { size; } } public double avg() { double sum 0; for (int i 0; i size; i) { sum data[(head i) % data.length]; } return size 0 ? 0 : sum / size; } }用它算最近 N 分鐘的均價復雜度是 O(1)不需要每次重新遍歷整個歷史表。如果把「均價高于實時價提示風險」做成一個小標簽放在界面里這一處設計足夠支撐一個追問「你這里為什么不用 LinkedList」答案就是數(shù)組索引定位 O(1)、GC 壓力小且容量固定。第三是持倉映射。默認用 HashMapString, Position 以股票代碼為鍵取持倉 O(1)。但如果自選股面板需要按漲跌幅排序展示不要在 HashMap 上強行排序而是排序時把 entrySet 拉出來丟進臨時列表用 Collections.sort。原因是持倉數(shù)量通常是個位數(shù)到幾十個數(shù)量級排序成本可忽略沒必要為了排序引入一個始終維護有序性的 TreeMap 把寫操作拖慢。3. 數(shù)據(jù)庫表設計與 JDBC 落地把行情、訂單、持倉變成可對賬的賬3.1 建表腳本六張表和它們的字段語義模擬交易系統(tǒng)再怎么簡化「用戶、賬戶、股票、委托、成交、K 線」這六類數(shù)據(jù)一樣都不能少。賬戶和用戶拆開是為了以后擴展「一個用戶多個模擬賬戶」留余地。委托表和成交表拆開是因為一筆委托可能被拆成多筆成交這是真實撮合語義。CREATE TABLE t_user ( id BIGINT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) UNIQUE NOT NULL, password VARCHAR(64) NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE t_account ( id BIGINT PRIMARY KEY AUTO_INCREMENT, user_id BIGINT NOT NULL, available_balance DECIMAL(18,2) DEFAULT 1000000.00, frozen_balance DECIMAL(18,2) DEFAULT 0.00, CONSTRAINT fk_account_user FOREIGN KEY (user_id) REFERENCES t_user(id) ); CREATE TABLE t_stock ( code VARCHAR(10) PRIMARY KEY, name VARCHAR(20) NOT NULL, last_price DECIMAL(10,2) NOT NULL, updated_at DATETIME ); CREATE TABLE t_trade_order ( id BIGINT PRIMARY KEY AUTO_INCREMENT, user_id BIGINT NOT NULL, stock_code VARCHAR(10) NOT NULL, side TINYINT NOT NULL COMMENT 1買 2賣, price DECIMAL(10,2) NOT NULL, quantity INT NOT NULL, status TINYINT NOT NULL COMMENT 0未成交 1部分成交 2全部成交 3已撤單, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE t_deal_record ( id BIGINT PRIMARY KEY AUTO_INCREMENT, order_id BIGINT NOT NULL, stock_code VARCHAR(10) NOT NULL, deal_price DECIMAL(10,2) NOT NULL, deal_quantity INT NOT NULL, deal_amount DECIMAL(18,2) NOT NULL, deal_time DATETIME DEFAULT CURRENT_TIMESTAMP );DECIMAL(18,2) 是故意選的。模擬盤初始資金 100 萬單股價格按 10200 元算買一萬股剛好 200 萬DECIMAL(18,2) 足夠覆蓋且不會出現(xiàn) double 那種 0.10.2 不等于 0.3 的精度問題。t_trade_order 要建索引在 (user_id, status) 上因為「查我的未成交委托」是最頻繁的查詢。t_deal_record 的 order_id 保留是為了演示時點開一筆委托能看到它被拆成了幾次成交。K 線表按分鐘落庫就夠了字段是 stock_code、kline_time、open、high、low、close、volume聯(lián)合主鍵 (stock_code, kline_time)。這筆數(shù)據(jù)不用實時寫每 N 秒由內存里的環(huán)形緩沖聚合一次再批插入避免高頻行情把數(shù)據(jù)庫拖垮。3.2 JDBC 工具類、事務提交與連接參數(shù)先能跑再談優(yōu)化課設階段不需要上數(shù)據(jù)庫連接池一個簡單的 JDBC 工具類足夠。但連接參數(shù)里有兩個坑必須提前避開MySQL 8 的驅動類名是 com.mysql.cj.jdbc.Driver不再是 com.mysql.jdbc.DriverserverTimezone 必須顯式指定否則會拋時區(qū)異常。public class DbUtil { private static final String URL jdbc:mysql://localhost:3306/stock_sim ?useSSLfalseserverTimezoneAsia/ShanghaicharacterEncodingutf8; private static final String USER root; private static final String PASSWORD 123456; static { try { Class.forName(com.mysql.cj.jdbc.Driver); } catch (ClassNotFoundException e) { throw new ExceptionInInitializerError(e); } } public static Connection getConnection() throws SQLException { return DriverManager.getConnection(URL, USER, PASSWORD); } public static void close(Connection conn, Statement st, ResultSet rs) { if (rs ! null) try { rs.close(); } catch (SQLException ignored) {} if (st ! null) try { st.close(); } catch (SQLException ignored) {} if (conn ! null) try { conn.close(); } catch (SQLException ignored) {} } }寫入操作一定要手動控制事務。最典型的場景是「買入成交」涉及三張表成交記錄插入、賬戶余額扣減、訂單狀態(tài)更新。任何一個失敗賬就對不上了。Connection conn DbUtil.getConnection(); try { conn.setAutoCommit(false); // 1. 扣減賬戶余額 // 2. 更新訂單狀態(tài)為全部成交 // 3. 插入成交記錄 conn.commit(); } catch (SQLException e) { conn.rollback(); throw e; } finally { conn.setAutoCommit(true); DbUtil.close(conn, null, null); }連接池的話題可以在答辯時提一句「生產環(huán)境會用連接池管理連接課設里為了讓你看清鏈路所以用 DriverManager」。但前提是你在配置文件里留了 db.properties 而不是把用戶名密碼寫死在常量類里。常見的做法是 Properties.load 讀取這里就不再貼完整代碼知道這個方向即可。3.3 拿到 zip 后從導入到第一條記錄落庫的完整路徑壓縮包解壓后先用一小時做環(huán)境核對而不是直接雙擊運行腳本。我見過的翻車大半發(fā)生在「IDEA 里 Run 起來報 ClassNotFoundException」或者「表結構對不上」。按下面順序操作用 Navicat 或命令行執(zhí)行建庫腳本庫名用 stock_sim核對 SQL 腳本里的 CREATE DATABASE 語句是否包含字符集設置打開 db.properties把 jdbc.url、username、password 改為本機實際值在 IDEA 中打開項目確認 Project SDK 是 1.8 或更高Language level 與編譯版本一致在 Project Structure 的 Libraries 里把 mysql-connector-java 的 jar 包加進來確認它出現(xiàn)在最終 artifact 里找到帶 main 方法的入口類通常是 LoginFrame 或 MainFrame先跑一次跑通后做一次冒煙驗證注冊一個用戶、查看初始資金是否為 100 萬、下買入單、去數(shù)據(jù)庫查 t_trade_order 是否多了一行。這條鏈路通了后面所有演示環(huán)節(jié)才談得上。4. 核心交易邏輯實現(xiàn)撮合、行情刷新與線程安全4.1 撮合引擎價格優(yōu)先、時間優(yōu)先的完整成交流程撮合引擎是整個系統(tǒng)里最有講頭的一段代碼。它的輸入是兩個優(yōu)先隊列——買盤隊列和賣盤隊列循環(huán)邏輯一句話概括買一價格 賣一價格就能成交成交量取兩者剩余量的較小值成交價取賣一價成交后把剩余量放回原隊列繼續(xù)比對。public ListDeal match(QueueOrder buys, QueueOrder sells) { ListDeal deals new ArrayList(); while (!buys.isEmpty() !sells.isEmpty()) { Order buy buys.peek(); Order sell sells.peek(); if (buy.getPrice().compareTo(sell.getPrice()) 0) { break; // 買方最高價夠不到賣方最低價 } int quantity Math.min(buy.getRemaining(), sell.getRemaining()); Deal deal new Deal(); deal.setBuyOrderId(buy.getId()); deal.setSellOrderId(sell.getId()); deal.setStockCode(buy.getStockCode()); deal.setPrice(sell.getPrice()); // 成交價按賣一價 deal.setQuantity(quantity); deals.add(deal); buy.setRemaining(buy.getRemaining() - quantity); sell.setRemaining(sell.getRemaining() - quantity); if (buy.getRemaining() 0) buys.poll(); if (sell.getRemaining() 0) sells.poll(); // 沒成交完的訂單留在隊里下一輪繼續(xù)比較 } return deals; }成交價按賣一價而不是買一價這是模擬盤常用的簡化規(guī)則真實交易所的撮合中間價規(guī)則更復雜。你在答辯時主動說出「我這個模型做了簡化真實場景要考慮中間價和最小變動價位」比等評委來問要主動得多。要注意的是這里的 peek 不會移除訂單只有剩余量歸零才 poll。如果買單一筆很大可能連續(xù)吃掉好幾檔賣單每吃一檔就產生一條 Deal 記錄正好對應數(shù)據(jù)庫里 t_deal_record 的一行。將這次循環(huán)產生的 List 批量入庫不要一條條 commit。4.2 行情生成與界面回顯SwingWorker 把價格刷新的結果送回 EDT行情數(shù)據(jù)在模擬系統(tǒng)里通常是一個后臺線程循環(huán)更新。這里最容易犯的錯誤是直接在守護線程里調用 table.setValueAt——Swing 組件不是線程安全的任何 UI 操作必須在事件分發(fā)線程EDT上執(zhí)行。直接別處改 UI 的后果是界面偶發(fā)閃爍、半刷新甚至直接拋異常。class PriceFeedWorker extends SwingWorkerVoid, PriceTick { private final Random random new Random(); Override protected Void doInBackground() throws Exception { while (!isCancelled()) { Thread.sleep(1000); ListStock stocks stockDao.findAll(); ListPriceTick ticks new ArrayList(); for (Stock s : stocks) { double change (random.nextDouble() - 0.5) * 2 * 0.02; BigDecimal newPrice s.getLastPrice() .multiply(BigDecimal.valueOf(1 change)) .setScale(2, RoundingMode.HALF_UP); PriceTick tick new PriceTick(s.getCode(), newPrice); ticks.add(tick); latestPrices.put(s.getCode(), newPrice); } publish(ticks.toArray(new PriceTick[0])); } return null; } Override protected void process(ListPriceTick chunks) { // 此方法一定運行在 EDT 上可以安全更新表格 for (PriceTick tick : chunks) { stockTableModel.updatePrice(tick.getCode(), tick.getPrice()); } } }SwingWorker 的 publish/process 機制就是設計出來解決這個問題的。doInBackground 在后臺線程跑循環(huán)process 匯總后切回 EDT 批量更新界面。注意 setScale(2, RoundingMode.HALF_UP) 保證價格只保留兩位小數(shù)。還有一點我踩過坑后臺線程里每秒查一次全表股票雖然不是大問題但明顯浪費。更合理的做法是啟動時把股票列表加載進內存的 ConcurrentHashMap后臺線程只更新內存對象定時任務再批量把快照寫回數(shù)據(jù)庫。數(shù)據(jù)庫是模擬系統(tǒng)的「存檔」不是行情數(shù)據(jù)的實時通道。4.3 賬戶與持倉的并發(fā)控制synchronized 鎖在哪個對象上模擬盤允許同時開啟多個窗口下單或者一個窗口里連續(xù)快速點擊買入。如果賬戶扣款和持倉變更不清理并發(fā)「余額扣了但持倉沒到賬」「賣出數(shù)量超過持倉」這些問題就會冒出來。這其實是 java 面試八股文里經典的并發(fā)問題換了個皮膚。public synchronized TradeResult buy(Order order, Account account) { BigDecimal cost order.getPrice().multiply(BigDecimal.valueOf(order.getQuantity())); if (account.getAvailableBalance().compareTo(cost) 0) { return TradeResult.fail(可用余額不足需要 cost 實際 account.getAvailableBalance()); } account.setAvailableBalance(account.getAvailableBalance().subtract(cost)); Position position positions.get(order.getStockCode()); if (position null) { position new Position(order.getStockCode(), BigDecimal.ZERO, BigDecimal.ZERO); positions.put(order.getStockCode(), position); } position.setQuantity(position.getQuantity() order.getQuantity()); position.setCostAmount(position.getCostAmount().add(cost)); return TradeResult.ok(); }把整個買入動作鎖在方法上聽著粗暴但在單機模擬盤這個場景下是正確的取舍。課設系統(tǒng)沒有微服務沒有分布式業(yè)務都在一個 JVM 里方法級鎖足夠保證賬戶余額和持倉的一致性。如果你用鎖對象注意別鎖字符串常量兩個不同的 key 如果值相同會互相同步造成無意義的等待。余額不足的校驗一定要放在扣款之前并且校驗和扣款必須處于同一把鎖下。先校驗再放鎖再扣款中間另一個線程插進來余額就被透支了。這個「檢查和動作之間要有原子性」的結論值得在答辯論證時反復強調。5. 翻車點避坑與排查五個常見問題的現(xiàn)象、原因和解決順序5.1 界面卡死登錄按鈕點下去整個窗口白屏現(xiàn)象點擊登錄后 JFrame 無響應轉圈或者白屏過幾秒恢復嚴重時直接 NotResponding。原因登錄按鈕的監(jiān)聽器里直接執(zhí)行了數(shù)據(jù)庫查詢而鼠標事件回調運行在 EDT 上一條慢 SQL 或網(wǎng)絡抖動就把界面線程堵住了。數(shù)據(jù)量一大這個卡頓就越明顯。解決所有可能耗時超過幾十毫秒的操作丟進 SwingWorker 或普通線程結果回來后再用 SwingUtilities.invokeLater 或 worker 的 process 刷新界面。登錄按鈕里只做「啟動登錄任務」這一個動作不要在里面查庫。把這條寫好評委的「你的界面為什么流暢」就有答案了。5.2 連不上數(shù)據(jù)庫ClassNotFoundException 或 CommunicationsException現(xiàn)象點登錄立刻報錯控制臺出現(xiàn) java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver或者 Communications link failure。原因前者是驅動 jar 沒被正確打進運行環(huán)境后者八成是 MySQL 版本和 URL 參數(shù)不匹配。MySQL 5.7 用 com.mysql.jdbc.Driver 還能過MySQL 8 必須用 com.mysql.cj.jdbc.Driver 且 URL 里加 serverTimezone。解決先確認用的驅動 jar 版本。IDE 里添加完 Library 后去 Artifacts 里勾選 include in project build很多 IDEA 項目里 Library 存在但打包時沒帶上。連接參數(shù)統(tǒng)一走 db.properties排查時只需要改一個文件不要在代碼里到處找硬編碼的 URL。5.3 賣出金額和買入成本對不上賬持倉成本越算越亂現(xiàn)象演示買入 100 股、賣出 100 股后賬戶總資產不等于初始資金差額正好是買入賣出的某個百分比。原因用 double 存價格和金額累加多次后精度丟失。比如 19.99 元的價格在 double 里實際是 19.989999999999998乘上股數(shù)放大后誤差變成幾毛錢再經過幾筆交易就完全對不上。解決價格、金額、余額全部用 BigDecimal構造時用字符串構造器 new BigDecimal(19.99)不要用 new BigDecimal(19.99)。JDBC 讀取 DECIMAL 字段時用 getBigDecimal 拿到就是 BigDecimal不要轉成 double 再轉回來。這是所有對賬問題的根源。5.4 注冊成功后列表不刷新偶爾空指針現(xiàn)象新用戶注冊完成頁面上的用戶列表沒有新數(shù)據(jù)點擊某些行還會報 NullPointerException。原因注冊成功后的數(shù)據(jù)加載仍然執(zhí)行在舊邏輯里拿的是注冊前的列表引用或者界面刷新和后臺數(shù)據(jù)加載的時序不對窗口還沒完成初始化數(shù)據(jù)觸達 UI 時表格模型還是 null。解決數(shù)據(jù)變更后統(tǒng)一走「重新查詢→構建新的 TableModel→setModel 刷新」這一條路徑。空指針排查時先打印堆??词悄膫€對象為 null八成是領域對象沒有初始化例如 new ArrayList() 沒賦值就 add。不要在 getter 里返回 null集合屬性在聲明處直接初始化。5.5 快速雙擊下單持倉出現(xiàn)負數(shù)現(xiàn)象快速點擊買入按鈕明明余額足夠買 100 股最終持倉變成 -20 股或者余額變負數(shù)。原因兩次點擊事件都在余額校驗完成前進入了扣款邏輯或者賣出時沒有檢查當前持倉量。數(shù)據(jù)庫層面沒有約束程序層面也沒有加鎖負庫存就出現(xiàn)了。解決下單入口加 synchronized 見 4.3 的寫法賣出在下單前先查 position.getQuantity()不足直接拒絕。另外可以在 t_account 表加 CHECK (available_balance 0)MySQL 8.0.16 以后會強制生效作為最后一層防線。程序鎖加數(shù)據(jù)庫約束雙層保護演示時再怎么點都不怕。6. 答辯前只練這三件事數(shù)據(jù)驗證、演示節(jié)奏與加分說辭答辯演示前我會先跑一遍對賬 SQL確認賬是平的。賬不平的模擬盤演示出去功能再多也圓不回來。對賬思路不復雜用戶的「當前可用余額 各持倉市值 所有成交扣費」應該等于初始資金。SQL 寫成這樣SELECT u.username, a.available_balance, SUM(p.quantity * s.last_price) AS market_value, a.available_balance SUM(p.quantity * s.last_price) AS total_assets FROM t_user u JOIN t_account a ON u.id a.user_id LEFT JOIN t_position p ON p.user_id u.id LEFT JOIN t_stock s ON s.code p.stock_code GROUP BY u.id;如果每個用戶的 total_assets 都等于初始資金說明撮合、扣款、持倉更新是一致的。這條 SQL 跑通你演示時心里有底。演示節(jié)奏我習慣控制在十分鐘第一分鐘界面行情刷新動起來讓評委看到價格在每秒跳動中間五分鐘做一筆完整買入和一筆賣出強調撮合隊列的價格優(yōu)先和時間優(yōu)先最后兩分鐘打開數(shù)據(jù)庫對著 t_trade_order 和 t_deal_record 展示買賣數(shù)據(jù)是怎么落庫的。這比反復切窗口講功能更能體現(xiàn)數(shù)據(jù)結構課程的訓練痕跡。加分說辭記得準備兩個。一是撮合隊列為什么用堆而不用數(shù)組線性掃描答「ArrayDeque 和 List 得 O(n) 掃描PriorityQueue 插入和取最值 O(log n)」二是 ConcurrentHashMap 和 Hashtable 的差別答「鎖粒度不同前者鎖桶后者鎖整表」。這類問題就是常見的 java 基礎面試題變體提前背熟被追問不慌。我自己的習慣是正式演示前至少完整過三遍流程中間故意制造一次「余額不足」的失敗彈窗證明異常路徑也處理了。這一手比單純展示順利路徑更讓評委相信系統(tǒng)是你自己寫的。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
成人久久天天x资源站| caop在线| www99热| 97人人超| 亚洲永久四色| 成人综合视频在线| 色五月婷婷五月天激情综合| 99激情视频热| 六月色色| A片一曲| 国产av天天插天天操天天爽| 婷婷91| 色五月综合在线| 色狠狠狠干| 99热久97| 欧美超级视频97| 九九在线热九九在线热99热| 午夜丁香综合婷婷| 久久婷婷激情五月天一区二区| 91色呦哟| 五月丁香综合啪啪啪啪啪| 99热国产国产| 综合天天综合| 99热这里都是精品| 99日韩网站| 亚洲va日| 五月婷婷六月丁香激情深爱| 色五月之第四色| 日韩一级网站| 久草狼人| 97热这里精品在线视频| 四川BBB搡BBB搡多人乱亂| 六月婷婷亚洲| 亚洲丁香五月综合| 亚洲成人另类| 九热免费视频| 99热老网站| 色色色色区| 操日本99| 97人妻人人| 日韩精品视频中文字幕| 日韩久久成人| 在线成人国产| 91大屁股精品| 五月天婷婷在线AN| 色婷婷五月综合在线| 99re这里| 欧洲综合视频| 婷婷五月影院| 大香蕉在九| 人妻22p| 色色综合网站| 婷婷激情五月天7| 天堂爱啪啪| 久久久日韩特色特黄AAAA| 精品久热| 色亭亭九月| 亚洲三A| 97干在线视频| 天堂va久久久噜噜噜久久Va| 久久艹99| 婷久看人爽| 天天日日人| 另类专区在线观看| 襙逼网| 婷婷五月天社区| 9色在线| 综合网亚洲| 第四色五月天| 九九一区| 97色色色| 色五月天视频| 婷婷综合网站| 91碰免费视频| 色色色色欧洲| 婷婷开心久久| 九九在线精点品| 亚洲免费看片| 色五月欧美| 97AV在线视频| 五月天婷网| 久色资源| 成 人片 黄 色 大 片| 九九九激情综合| 天堂在线婷婷| www.色婷婷。com| 婷婷五月天a| 在线综合网| 国产精品爽爽久久久久久| 国产又粗又大又爽又黄| 伊人狠狠丁香婷婷综合尤物| 大香蕉伊人久久| 九九热99热| 强壮公让我夜夜高潮A片视频| 五月丁香六月片| www.99免费视频| 五月婷婷婷综合网| 九九亚洲视频| 国产人妻人伦精品一区二区| 中文字幕在线免费| 激情五月,激情综合网| 久久精品99久久久久久| 男人的天堂99| 久久五月婷婷开心网| 六月丁香激情| 思思国产99| 伊人久热91| 五月天婷婷基地综合网| 五月丁香无码| 99re在线播放| 天天做天天爱高潮片| 激情五月婷婷老师| 丁香五月激动深爱欧美| 影音先锋按摩| 色热久| av在线播放网站| 久久99精品久久久久子伦| 五月婷婷久久开心网| 丁香六月欧美| 99久热在线精品99re6热| 国产操碰| 大香蕉中文| 狠狠干最新地址| 99啪在线| 婷综合六月| 538在线精品| 婷婷五月综合色拍| www.五月天婷婷| 97超级碰人人| 五月丁香激情六月| 射婷婷中文字幕| 99热在线爱| 123草逼网| 亚洲偷| 国产精品久久99| 欧洲色色| 五月丁香免费视频| 欧洲色色| 久久亚洲精品成人无码网站导航| 五月天综合网| 国产寻花在线| 日韩久久成人| 超碰免费99| 激情四射网| 婷婷五月天电影网| 婷婷深爱网| 色色色在线免费视频| 噜噜干日本| 欧美成综合在线观看| 日韩99色| 亚洲性爱干干| 一本道在线电影| 亚洲一个色| 色婷婷19| 免费成人va| 国产亚洲在线观看| 亚洲99激情| 丁香五月Av| 丁香五月天网站| 色色婷| 综合AV在线| 亚洲激情综| 国产av影片| 99re热在线视频观看| 五月婷免费视频| 亚洲色另类| 日本97在线| 99九九综合久久九九| 一逼色综合| 亚洲五月六丁香激情| 99 色色吧| 久久婷婷六月综合| 99色色爰| 情婷婷五月天在线| www.婷婷.com| 日韩婷婷五月天| 97狠狠色| 国产99久久久国产精品免费看| 大地资源色婷婷视频在线 | 婷婷天堂视频| 涩五月婷婷| 91人人爽狠狠狠| 五月婷婷七月丁香| 在线观看国产高清视频免费网站 | 精品99爱免费视频在线观看| 玖玖婷婷视频| 亚洲熟妇AV乱码在线观看| 久9综合| 91操操| 天天透天天摸天天舔| YW无码| 久热69| 99这里只有精品视频免费| 99热.com| 天天干天天操天天爽| 婷婷中文综合网| 99九九热视频免费| 国产乱人偷精品人妻A片| 欧美综合五月丁香六月婷| 婷婷综合网| 大地9中文在线观看免费高清| 五月婷婷国产| 人妻综合网| 婷婷色狠狠| 五月丁香好婷婷A片网| 91久久久久久| 丁香五月天激情免费在线观看AV777| 91AV婷婷| 1囯产午夜仑鲁鲁| 97干97色| 亚洲精品99| 日本在线视频手机播放五月婷| 永久天堂日本| 91色情播放| 无码少妇高潮喷水A片免费| 亚洲XX网| 九九精彩久久| 69精品人妻不卡视频| 婷婷五月丁香欧洲| 天天拍夜夜撸 | 男女啪啪视频久 9| 26UUU亚洲欧美| 五月天社区狠狠| 九色91美女| 91大屁股在线| 婷婷五月天性色| 夜夜撸天天操| 91成人品| 丁香五月综合激情啪啪| 狠狠干在线| 亚洲狠狠狠色婷婷综合激情久久久| 六月婷婷九月丁香| 97极品在线| 操碰色一区就去操| 思思久久99热只有频精品66| 九九热最新| 欧美日韩成人在线网站| 久久婷婷五月天| 五月婷婷狠狠干| 婷婷香蕉香| 人人操人人妻| 色婷婷五月天激情在线播放| 97色婷| 97艹| 伊人九九综合| 男人的天堂五月丁香| 五月丁香久久激情综合| 日本久碰| 中文在线成人| 五月婷婷久久大香蕉| 亚洲欧洲小视频9| 国内精品99| 天天草女人| 免费看欧美成人A片无码| 久久538| 九九五月天| 99色干| www.yw色| 日日杆天天| 香蕉久久国产AV一区二区| 久久伦乱| 欧美激情综合| 五月久久综合| 97婷婷久久丁香| 97超碰色| 婷婷五月色色| 在线va网站| 激情六月丁香综合| 色婷婷五月天不卡| 婷婷成人综合五月| 99爽视频| 色爱综合网| 日日干夜夜干| 色婷婷丁香女女| yirenjiqingshiping| 丁香婷婷激情四射五月| 婷婷五月丁香花综合| 久久久久久99精品无码| 超碰99在线观看| 色老久久| 99激情网| 激情九月婷婷| 在线91日韩| 91干| 婷婷五月综合啪| 五月婷婷干| 色婷婷综合网站| 婷婷丁香五月综合网上| 久久九九爽| 久久9久| 色婷婷丁香五月| 婷婷综合五月| 色狠狠综合| 亚洲精品另类| 密黄站| 色五月婷激情| 久久综合人妻| 超碰在线资源| 99热免费精品热久久66| 97色色在线视频| 色婷婷五月综合在线| 激情图片五月天| 7EzOBIhNq85TO| 婷婷第一页| 丁香九月综合| 狠狠爱婷婷丁香| 996精品热视频| 99黄色性生活| 婷婷丁香人妻天天爽| 99热最新| 六月婷基地| 男人天堂亚洲综合| 99操碰| 婷婷五月丁香四射| 色色婷五月天| 亚洲九区| 99人人干人人| 日本五月天婷婷丁香| 五月天大香蕉| 久久久中文| 五月天成人小说网| 中文字幕视频色婷婷| 精品99在线| 五月婷深深爱激情网| 91人人操.COM| 97资源碰碰在线| 五月天色五月天| 亚洲中文av| 超碰免费人人肏| 成人短视频在线| 五月婷婷开心丁香| 91热er| 丁香六月婷婷综合| 另类图片五月天激情| av五月丁香| 九九精品系列| 综合99久久天天综合| 五月噜噜| 日韩专区五月天婷婷丁香| 99精品激情| 成人短视频在线免费观看| 免费三级黄色| 婷婷五月激情在线| 淫五月停停| 婷婷久久婷婷色五月| 九艹在线| 另类精品视频在线观看| 在线观看免费狠狠色丁香香综合| 99色视| 色五婷婷| 天堂网色婷婷| 婷婷五月丁香色综合| 97久操| 六月丁香婷婷六月激情综合| wwww.9免费视频| 丁香六月天婷婷开心综合| 这里有精品| 婷婷色播婷婷| www.狠狠操| 色婷婷五月天亚洲| 国产欧美日韩综合精品一区二区| 亚洲色婷婷网站| 免费看欧美成人A片无码| 激情综合网丁香| 337p大胆噜噜噜噜噜91Av| 97精品在线| 久久在这里99| 欧日韩AV| 琪琪布丁香社区激情五月天| 色小说五月天| 婷婷无码视频| 蜜桃人妻无码AV天堂三区| 五月天伊人av| 玖玖婷婷免费| 五月婷婷成人| 五月天激情综合首页| 婷婷久热| 久久xxxx| 国产肥白大熟妇BBBB视频 | 中文字幕人成乱码在线观看| 亚洲成人免费在线| 国产亚洲色婷婷久久99精品91| 五月香婷婷| 色五月aV| 丁香五月婷婷综合激情啪啪啪啪啪啪啪 | 日韩狠狠色婷婷| 超碰婷婷色| 天天操夜夜橾| 这里只有精品免费在线视频| 9精品久久999| 超碰在线免费9| 九九精品在线视频观看| 超碰操日| 五月婷亚洲精品AV天堂| 麻豆123区| 色播五月丁香综合| 色999五月色| 五月花丁香婷婷| 色欲婷婷五月天丁香| 91九色国产| 丁香五月天婷婷久久| 99热在线播放精品| 99热这里只有精| 亚洲综合色棒| 99视频在线精品| 丁香五月自拍| 26UUU欧美| ss99热| 婷婷久久五月天中文字幕在线观看| 精品成人久久久久久久_一二三四视| 亭亭丁香aV| 极品五月天| 色狠狠色| 婷婷色导航| av在线超清中文| 丁香五月天婷婷大香蕉| 精品色色| 久久婷婷激情| 五月天婷婷激情综合| 欧美天天爽| 欧美啪啪网| 激情五月天综合网| 五月天综合久久| 五月婷婷啪啪网| 丁香五月综合| 在线观看亚洲AV| 婷婷中文字幕| 97操在线视频| 9999久久久久| 五月天婷婷AV| 色婷婷五月天视频在线| 亚洲十月婷婷综合| 99rewww| 五月丁香婷婷激情影院欧美| 成人va在线| 色99视频| 婷婷五月成年人| 激情五月天网| 色久九| 五月天久久综合婷婷丁香| 婷婷五月天最新综合你懂的 | 久热精品免费视频4| 五月天天天色| 黄色AV日韩| www.夜夜操.com| 婷婷丁香五月六月激情| 五月婷庭丁香在线| 丁香五月宝贝激情网| 色999亚洲人成色| 97干婷婷| 色情婷婷。| 操婷婷久久| 日韩不卡123| 综合色在线| 激情丁香五月激情婷婷| 婷婷五月天丁香激情| 九九精品大香蕉| 专区无日本视频高清8| 色99网站| 中文字幕在线免费观看视频| 五月天成人综合| 日日综合网| www.狠狠| 久久久中文| 五月婷婷六月激情| 国产成人精品亚洲线观看| 五月婷婷六月激情| 婷婷丁香社区| 婷婷影视久久| 欧美啪啪网| 深爱五月激情五月| 色五月婷婷婷婷| 五月五丁香婷婷| 婷婷丁香五月久久| 五月婷婷六月奇米网丁香| 色婷婷AV五月天| 天天拍久久| 天插天啪天啪天啪| 五月婷婷av| 日韩aaaaa| 亚洲熟妇无码乱子AV电影| 精品人妻在线| 免费看欧美成人A片无码 | 九九热视频精品2| 思思热国产视频| 在线国产精品色| 岛国资源网| 久久人妻高清中文| 五月婷婷偷拍| 极品人妻VIDEOSSS人妻| 婷婷五月另类网站| 99热综合网| 一区二区中文字幕| 亚洲激情综合免费| 噜噜噜狠狠色综合| 天堂在线伊久| 色综合久久天天综合网| 色视五月天婷婷| 五月开心激情| 亚洲综合激情五月久久| 三日本无码| 狠狠第四色| 六月综和久久| 天天综合网在线| 五月婷婷天| 97人妻超级碰碰碰碰碰| 欧美精品99| 色五月婷婷大| 五月丁香激情综合网| 天堂伊人干| 97色97干| 人妻精品久久久久久久| 久久五月婷| 五月婷婷黄色网址| 天天情天天狠天天透| 天天色官网| 五月婷婷综合激情| 五月亭亭色| 久久亚洲婷婷综合色五月| 色综合色综合网| 久热99| 色天使色综合| 亚洲视频在线观看99| 激情综合网五月| 中文字幕永久在线| 99精品一二三四视频| 五月欧美色色五月| 婷婷五月大| 丁香五月花| 999精品乱码77777| 91wwmm导航| 色五月人妻| 九月婷婷在线观看| 国产丁香五月天婷婷| 在线观看亚洲视频影院| 五月天激情日色在线| 开心五月激情| 成人在线日韩| 色一情一乱一乱一区91| 国产成人亚洲综合A∨婷婷| 亚洲免费看片| 日韩操人| 啪啪激情综合| www.综合久久.com| 99精品亚洲| AV成人在线网站| 丁香女人五月天| 婷婷在线操| 五月丁香久久网| 97人妻碰碰碰久| 另类亚洲视频| 日韩视频99| av网址在线播放| 天天更新天天亚洲| 丁香五月天堂网| 激情五月综合| 色五月丁香网| 这里只有精品视频222| 99riAV国产精品视频| 久久久精品99| av在线免费网站| 婷婷综合偷拍| 97五月天| 国产精品操| 九九视屏| 99啪啪视频| 久9久9热久热| 婷婷综合五月| 久久久人妻| 丁香婷婷综合精品六月初| 婷婷久久综合久| 五月婷成人| 日本丁香五月| 最新五月天婷婷影| 日韩精品呦呦va| 操人妻视频91| 超碰猛烈的性猛交| 成人看片网站| 日本狠狠爽| 亚洲乱码日产精品BD在线观看| 亚洲性爱99| 91|疯狂丨高潮丨对白| 去干网最新版本亚洲版| 日本在线观看aaa 99| 亚洲热视频在线| 热久69| 丁香五月婷婷亚洲色图| 丁香五月天堂网| 91精品久久久久久77777| 五月开心六月婷婷在线播放网站| 91妻人人爽人人看片| 久久精品亚洲热| 六月婷婷青青青视频| 99玖玖免费视频| 色婷婷色99国产综合精品| 开心五月深爱五月| 99久久免费精品| 色婷久九| 开心五月色婷婷综合开心网| 狠狠做深爱婷婷久久综合一区| 《久久综合九色综合97婷婷| 五月丁香黄色视频| 丁香五月激情性色郤| 综合久久六月| 天天插天天插| 思思热久久阴99| 五月亚洲| jiujiu热在线视频| 99@久久@99精品视频| 99热这里只有精| 99久久精彩视频。| 婷婷五月天大香蕉在线视频观看| 超碰激情网| 很操日本7| www.9797国产| 成人无码精品1区2区3区免费看| 色婷婷五月天天天干天天操天天爽| 九九综合九色欧美狠狠| 综合五月丁香久久| 狠狠色五月| 777久久综合视频| 97婷婷五月丁香| 97九色| 五月丁香婷婷伊人| 激情五月综合色| 五月婷婷先锋| 狠狠操狠狠爱| 爆乳熟妇一区二区三区爆乳| 天天日天天干天天插天天射| 婷婷和五月天| 久久婷婷人人| www.婷婷久久五月天| 日日爱678| 啄木鸟丝袜美女福利视频| 久久人人九九| 伦乱人妻| 成人无码精品1区2区3区免费看| 66色在线日韩| 热99这里只有精品视频| 99re思思热在线视频| 久久婷综合网| 99在线看片| 五月天激情网图片| 亚洲色频| 五月婷在线观看| 一级黄色尤物综合视频手机在线观看| 五月天色婷婷视频| 狠狠88综合久久久久噜噜噜| 色丁香五月天| 国产精品视频| 97婷婷在线| 五六月婷婷久久| 国产69久久久欧美黑人A片| 五月婷婷激情久久| 97丁香婷婷| 丁香五月先锋| 色色99| 婷婷欧美激情| 99热这里只有是亚洲国产| 天天婷婷操| 五月婷婷开心亚洲无| 欧美久久婷婷| 91黄址| 人人妻人人澡| 色99日韩| 久久久网站| 九九色影院| 超碰9| AV在线大香蕉| 九九五月天| 9九色首页| 久久婷婷的综合色丁香五月| 九月婷婷人人操人人舔人人爱| 日99网站| 久久久精品免费啪啪国| 99天堂在线观看免费视频| 日韩久久成人| 久久婷五月影院| 啪啪色激情五月天| 99久久新视频| 色吧五月婷婷| 精a品a视a频| 深爱五月激情综合| 婷婷五月丁香婷婷| 婷婷五月天色综合| 色无码| 婷婷色情网| 五月婷婷之综合激情| 人人草人人舔| 久爱综合| 五月婷婷导航| 噜噜噜噜婷婷五月天| 亚洲人人96@| 五月丁香久久久| 91精品综合久久久久久五月丁香 | 伊人婷婷五月天| 婷婷五月天网| 99热爆在线| 玖玖爱导航| 日韩婷婷| 五月婷婷视频ab| 天天做天天爱天天爽综合网| 婷婷精品免费久久| 99免费超碰在线| 超碰97色| 天天玩夜夜操天天爽| 怡红院院久久| 亚洲人成色A777777在线观看| 久久亚洲婷婷| 碰碰碰97国产| 久久婷婷五月综合色奶水99啪| 婷婷免费精品视频 | WWW.桔色成人.COM| 狠狠操天天干| 97婷婷狠狠久久综合9色| 九九热这里只有精品5| VA婷婷亚洲| 99热在线观看精品| 五月婷婷视频| 99色综合网| 色婷婷五月天综合网| 97碰| 久操乱| 久久五月丁香| 六月色播| 欧类av怡春院| 婷婷天堂综合| AAAA网站| 成人国产欧美大片一区| 五月丁香婷婷色色色| 伊人婷婷激情| 97人人射| 天天操五月天| Jh7Uf088VHafNm| 婷婷六月色开| 婷婷激情四射五月天| 六月激情婷婷综合| 超碰免费成人| 99热精品网| 五月色婷婷AV| 99热这里只有精品中文字幕| 成人网站高清无码| 亚洲成人乱码av网站| 婷婷色导航| 十区av| 色人妻五月| 91超级碰碰碰| 五月天大香蕉| www.久久综合| 人妻中文av| 婷婷五月丁香伊人网| 日韩视频99| 激情中文在线| 日日杆天天| 色情一区二区播放| 黄网在线免费| 日韩婷婷五月天| 日韩中文字幕| 九九综合网色全集| 97色五月丁香婷婷| 丁香五月深爱五月婷婷| 狠狠搞狠狠操| 九色婷婷| 97色婷| 六月婷婷香蕉| 天天爽天天操| 欧美三级级99久久| 婷婷五月天中文字幕| 婷色影院| 九九九九九九九热| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 色五月色综合| 亚洲偷| 激情五月婷婷在线区| 在线只有精品| 丁香婷婷激情五月| 少妇高潮呻吟A片免费看软件| 五月天激情小说婷婷| 精品久久99码| 5月婷婷综合| 六月丁香婷婷网| 欧美操人| 亚洲综合激情五月久久| 9999久久久久| 97在线99| 大伊久久| 天堂二区| 开心激情婷婷| 好看的国产精品| 另类视频在线| 久久亚洲婷婷综合色五月| 97色色婷婷| 五月色丁香成人| .青娱乐天天操B| 开心五月深爱五月丁香五月激情五月| 狠狠爱婷婷五月天| 婷婷久久五月天| 日本色天堂| 五月丁香| www.狠狠操.com| 激情5月婷婷| www.国产色| 97久人人| av九九| 这里只有九九精品| www.激情五月天.con| 9999三级片| 六月丁香激情综合网| 无码少妇高潮喷水A片免费| 丁香五月婷婷色| …亚洲黄色在线播放日韩、av中文a…| 九热精品| 深爱网深爱综合网| 一起草日本| 四虎成人精品永久免费AV九九| 欧美日韩成人| 五月婷婷综合在线亚洲视频| 五月天婷婷丁香基地在线观看| 狼人久草| 五月丁小婷婷激情四射| 久久Xx| 天天色天天干天天插| 欧美日韩一区二区三区四区| 久久久激情视频| 先锋资源996| 超碰成人AV| 色色五月丁香| 免费在线观看欧美激情xx小视频| 五月丁香婷婷综合| 婷婷色资源| 五月婷在线观看| 五月丁香六月婷婷综合伊人| 操日视频| 六月丁花香啪啪激情欧美| 五月婷婷丁香大陆免费| 激情综合激情五月| 午夜爱爱网站| 激情五月婷婷综合网| 亚洲区视频| 欧美草久久五月天91| 99久久99久久综合| 久久九九99.www| 久热九九| 色婷婷狠| 丁香五月婷婷激情蜜桃| 婷婷在线观看五月天在线视频| 丁香五月久久社区| 亚洲国产精品VA在线看黑人| 91狠狠综合网| 激情伊人五月天| 天天干天天日日| 91九色国产| 日本全黄一级999| 中文中文在线| 色情婷婷五月天| 综合亚洲色色| www久热com| 婷色五月| 1024婷婷综合久久五月天| 久久综合五月天激情小说网站| 26uuu欧美日本| 综合网啪| 婷婷五月激情五月激情| 天天噪夜夜爽| 五月天激情综合首页| 丁香五婷婷| 亚洲第二AV| 五月伊人91| 成人精品一区日本无码网 | 26uuu国产色| 日本色99| 九九大香视频| 综合玖玖偷拍| 狠狠色丁香久久综合婷婷亚洲成人福利 | 成人AV播放| 欧美性生交XXXXX无码小说| 婷婷亚洲天堂| 九九热九九| www.久久久久久久| 成人在线日韩欧美| 色婷婷六月| 欧美丁香婷婷五月天| 色婷婷视频综合| 天天日天天日天天搞| 色婷婷五月综合在线| 日日夜夜青青草| 激情五月综合免费| 天天草狠狠擦| 俺五月| 能看的av片| 婷婷五月天激情视频| 天天摸日日舔狠狠添婷婷婷| www.五月婷婷久久.com| 日日射天天射| 婷婷五月天另类网站| 色操b| 婷婷丁香色情五月天| 亚洲另类噜噜| 激情综合网五月激情网| 正宗黄色毛片| 婷婷五月婷婷| 色综合伊人网| 99亚洲精品视频在线观看| 深爱激情五月天| 狠狠操狠狠| 超碰在线人妻| 日韩丰满少妇无码内射| 日韩成人精品中文字幕电影| 亚洲av另类在线观看| 中文字幕高清av| 欧美VA视频| 人人摸人人操人人爽| 91碰碰| 男人天堂伊人五月丁香| 五月花婷婷最新| 综合激情网激情五月。| 久久天天| 26uuu| 午夜69成人做爰视频| 五月激情婷婷偷拍| www.91在线观看| 五月天六月丁香| 99精品久久久久久久婷婷久久| 播四月婷婷六月丁香| 日韩综合天堂| 少妇被躁爽到高潮无码文| 91九色超碰| 黄色一级影片| Xx色综合| 看久久性爱视频| 欧美影院婷婷| 三级片AAA久久久AAA久久久AAA| 婷婷六久久| 亚洲综合视频在线| 色色aⅤ網| 五月婷婷综合网| 伊人99热| 五月婷天堂视频| 六月色婷婷色| 女人天堂 AV| 五月婷婷综合激情| 九久九精品| 超碰人人艹| 午夜电影网VA内射| 九九精品自拍| 丁香伍月婷电影全集| A在线观看| 很操日本7| 9久久婷婷国产综合精品性色| 国产成人片| 偷拍九九五月丁香婷婷| 96人人操人人操人人| 综合久久99| 无码AV免费精品一区二区三区 | 色婷婷88| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 99热这里全是精品| 丁香婷婷五月激情四射网| 伊九九三级区| 五月丁香免费看| 性做久久久久久久免费看| 香蕉伊人综合| 亚洲婷婷激情888精品久| 色播婷婷五月天| 精品婷婷丁香五| 99热这里只有精品国产免费| 中文在线成人| 2015在线中文字幕| 热99精品视频观看| 亚洲免费99| 婷婷激情综合色五月久久91| 日本www五月婷婷| 日本久久高清| 99热在线观看99| 99.色| 成人av免费观看| 99色中文| 狠狠色综合网| 4399无码视频二区| 色婷婷五月天激情在线播放| 综合色色婷婷| www.9797国产| 五月天久久网站| 成人网在线观看视频| 欧美五月丁香啪啪响视频| 97深爱伊人综合| xx综合网| 五月香六月婷| 国色天香成人网| 天天日天天舔天天摸| 另类图片激情五月| 97超级操操| 五月丁香亚洲婷婷| 男人大jjc女人免费视频| www.精品99| 99免费在线视频| 天天爽在线视频| 色综合色综合网| 国产五月天婷婷| 婷婷五月天亚洲五码| 玖玖综合玖玖| 综合激情站| 另类图片五月激情| 五月婷婷丁香在线| 婷综合六月| 久久国产色| 日韩天堂久久| 色久丁香五| 色欲婷婷五月天丁香| 五月天色不卡| 欧美网站视频4399| 97干综合网| 大香蕉久热| 99碰超| 开心五月六月婷婷| 色啪网| 天天肏天天插| 色婷婷呢狠禁久禁| 思思久热6| 欧美色色日韩| 大香蕉久久婷婷精品综合| 99亚洲精美视频在线观看| 婷婷五月综激情| 五月丁香婷婷啪啪| 黄网在线播放| 丁香综合伊人AV| 噢美99| 婷婷婷婷婷开心无码播放| 大香蕉人人人| 久久xx| 国产裸舞福利资源在线视频| 欧美性生交XXXXX无码小说| 开心五月婷| 一起草aV| 九九99精品| 狠狠五月天婷婷| 色操综合| 五月天婷婷AV| 人人干人人干骚美女| 国产露脸150部国语对白| 亚洲天码视频www蛋播视频| 六月色激情| 精品人妻伦一二三区久| 五月丁婷婷| 超碰在线观看成人视| 亚洲丁香花色| 五月天四色房丁香| 色婷婷AⅤ| 俺去也婷婷| 嫩草AV久久伊人妇女超级a| 91天堂网综合| 日韩无码成人电影| 亚洲欧州色情在线观看| www、丁香五月天| 狠狠综合网| 色色日本| WWW色综合| 精品国产a| 色婷婷视频在线| 九九热精品视频九九| www一起操| 日本熟妇乱妇熟色A片蜜桃 | 婷婷性色| 婷婷五月亚洲激情| 99在线一区| 丁香六月五月天| 91大屁股| 婷婷久久精品| 国产无套精品一区二区| 婷婷六月综合激情| 亚州成人综合在线| 丁香五月婷婷基地| 狠狠操狠狠干综合| 婷婷五月天激情网| WWW色色色COM| 国产精品色色| 激情丁香五月| 五月婷婷深爱六月| 在线播放成人网站| 97伦色婷婷| 激情五月天网| 色色色激情网| 日日撸夜夜操| 午夜丁香婷婷| 伊人五月人妻精品| 操操啪| 69人妻人人澡人人爽久久| 国外亚洲成AV人片在线观看| 97狠狠色| 婷婷五月天第三页| 秋霞电影理论| 五月天日日操夜夜操 | 五月天久久激情| 少妇人妻人伦A片| 啪啪激情网| 噜噜噜噜综合在线| 五月丁香色婷婷熟女| 天天婷婷综合| 五月丁香无码| 婷婷五月天大香蕉| 超碰在线免费观看3 9| 这里只有精品视频| 婷婷在线免费| 91肏| 五月天婷婷丁香| 人人摸人人干人人做| 五月天成人伊人| 婷婷五月天激情四射五月天激情| 青青草轻轻操| www.五月天色色色| 婷婷久久婷婷色五月| 五月停停大香蕉| 久久99国产综合精品免费| 99爱视频免费| 91操操| 97人人干人人操| 五月丁香六月色| 亚洲综合另类| 开心激情婷婷| site:pnnrt.com| 五月亚洲| 99精在线| 能直接看的av网站| 真实亲子乱子伦高清在线观看| 丁香六月亚洲综合| 天天干天天叉| 五月激情丁香| 五月婷婷丁香狠狠撸久久| 色性日本| 26uuuuuuuu国产| 丁香婷婷五月基地| 九九精品视频在线观看| www.色五月.com| 婷婷五月天激情网站| 婷婷色基地| 99爱在线免费视频| 超碰人人干| 五月婷精品| www.99色| 在线播放成人网站| 欧美丰满熟妇BBB久久久| 亚洲视频在线观看| 婷婷丁香综合网| 日韩不卡123| 久久精彩视频99| 99热第一页| 色丁香五月| 99久久99久久综合| 婷婷五月天网| 丁香五月综合| 河北真实伦对白精彩脏话| 婷婷五月丁香青青草在线| 91成人看| 色婷久九| 天天日天天插天天操| 中文不卡av| 色深爱五月| 天天操夜夜操| 九九综合色| 中文字幕日产A片在线看| 综合欧美五月婷婷| 久久一级免费黄色片| 97综合色片| 色八月婷婷| 日本成人噜噜| 久久综合影院| 99热官网| 色五月综合激情网| 久久婷婷亚洲无码一起| 色丁香久久| 甈吧vv| 婷婷狠狠操| 99视频内射三四| 九九综合九| 五月天婷婷爱| 色五月婷婷成人视频| 婷婷噜噜| 婷婷99狠狠| 五月丁小婷婷激情四射| 亚洲乱码w在线观看| 99热99ai| 第四色首页| 很很干天天干| av操B网站| 中文字幕婷婷| 婷婷深爱五月丁香网| 99热亚洲| 超碰日韩成人| 五月婷婷中文字幕| 六月丁香婷婷尤物| 91精品国产99久久久久久天美| 色婷婷激情| 热99久| 亚洲天堂AAA| 久久色天堂| www.wuyuetian啪啪| 99久久婷| 丁香五月五婷| 丁香婷婷色五月激情综合| 丁香六月激情国产| 伊人大香五月天| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 五月天婷婷在线播放免费| 久久多色| 婷婷综合玖玖五月| 五月丁了香蕉综合| 日本色色网站| 丁香五月综合狠狠| 天天综合网、天天综合色| 九九热在线99| 国产精品A成V人在线播放| 色狠狠色综合久久久绯色AⅤ影视| 巴基斯坦粉嫰无码视频| 97久久视频| 亚洲4区国产欧美| 亚洲99在线视频| 99无码精品| 成人电影在线免费试看| 99热无码| 久九男女天堂| 丁香六月婷婷一区| 久久 婷婷 五月天| 4399精品一区二区| 天天插夜夜爽| 六月丁香网| 成人婷99最新| 婷婷五月婷婷| 久草婷| 五月天婷婷在线观看| 98色花堂98t.R| 色J香五月天| 五月天综合在线网| 狠狠操天天操| 夜夜骑夜夜操| 亚洲av成人在线| 操逼六区| 超碰伊人碰婷婷五月| 丁香五月综合在线视频| 91无码色色| 97激情五月天| 五月婷婷激情综合| 久久永久网址| 99re这里| 婷婷久久综合| 久草婷婷| 色色婷| 99热精品在线| 91日本在线观看| 91精品久久久久久| 婷婷伊人久久| 任你爽视频| 色色吧综合| 日日.c| 五月丁香六月激情综合网| 久热超碰| 五月天激情综合在线| 色播五月婷婷| 婷丁香久综合| 超碰91在线| 亚洲俩性性爱图片久久第六页| 草榴成人影片| 婷婷色五月激情强奸四射| 可以看的av| 色欲一区二区三区精品A片| 婷婷久久在线| 婷婷丁香五月av|