色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

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

Java Swing股票交易模擬系統(tǒng):從數(shù)據(jù)結(jié)構(gòu)選型到撮合引擎設(shè)計 簡介這是基于Java Swing開發(fā)的股票交易模擬系統(tǒng)課程設(shè)計資源包面向需要完成數(shù)據(jù)結(jié)構(gòu)課程設(shè)計、Java實訓(xùn)或畢業(yè)設(shè)計的本科/高職學(xué)生。系統(tǒng)采用面向?qū)ο笈cMVC分層思想綜合運用數(shù)據(jù)庫存儲技術(shù)、鏈表與隊列數(shù)據(jù)結(jié)構(gòu)、JFreechart開源圖表庫以及新浪股票行情接口實現(xiàn)行情揭示、賬戶管理、模擬買賣、走勢圖繪制、技術(shù)指標與策略分析等完整功能同時以隨機數(shù)模擬實時數(shù)據(jù)便于脫離真實行情環(huán)境獨立運行調(diào)試。資源包共187個文件約10.79MB包含54個Java源碼、20個依賴jar包、87個編譯后的class文件以及PPT答辯演示文稿、數(shù)據(jù)庫配置腳本、界面截圖和設(shè)計說明文檔代碼分層清晰可直接導(dǎo)入主流IDE學(xué)習(xí)與二次開發(fā)。已有758人學(xué)習(xí)下載適合用來掌握Swing圖形界面設(shè)計、數(shù)據(jù)庫連接、隨機數(shù)仿真、事件驅(qū)動編程等核心技能也可作為課程設(shè)計報告與答辯PPT的參考素材。1. Java Swing 股票交易模擬系統(tǒng)這個課程設(shè)計包真正值得花時間的部分每年數(shù)據(jù)結(jié)構(gòu)課設(shè)都有人拿到類似「Java Swing 股票交易模擬系統(tǒng)源碼數(shù)據(jù)庫ppt」的壓縮包第一反應(yīng)是裝上跑通、截圖交差。但這類 java 課程設(shè)計案例源碼遍地都是真正拉開分數(shù)差距的不是界面多好看而是你能不能把訂單排隊、行情緩存、持倉映射、賬戶并發(fā)扣款這些業(yè)務(wù)場景和數(shù)據(jù)結(jié)構(gòu)課上的堆、隊列、哈希表、平衡樹逐一對上號。題目里帶著「數(shù)據(jù)結(jié)構(gòu)」三個字評分點基本落在選型和復(fù)雜度上。這篇文章我會從整體設(shè)計拆到數(shù)據(jù)庫建表再講清楚撮合、行情刷新和線程安全怎么落地最后給你一套答辯前能直接用的驗證方法和避坑順序。2. 先搭框架再看代碼四層架構(gòu)與每層該選什么數(shù)據(jù)結(jié)構(gòu)2.1 依賴方向決定改代碼的位置UI、服務(wù)、數(shù)據(jù)三層為什么要物理拆開很多課設(shè)包的原始代碼是「一個 MainFrame 包天下」JTable 的渲染、行情生成循環(huán)、下單邏輯全塞在一個類里甚至監(jiān)聽器里直接寫 SQL。這種寫法不是不能跑而是你一旦被問到「某個功能改了會不會影響另一個功能」根本答不清楚依賴關(guān)系。我一般會先把代碼按四層拆開按下面的包結(jié)構(gòu)落com.course.stock ├── view # JFrame、JTable、監(jiān)聽器只做展示和輸入收集 ├── service # 賬戶、撮合引擎、行情生成業(yè)務(wù)規(guī)則都在這里 ├── dao # JDBC 數(shù)據(jù)訪問負責(zé)落庫和查詢 └── domain # User、TradeOrder、DealRecord、Position 等實體依賴方向是單向的view 調(diào) serviceservice 調(diào) daodomain 是公共數(shù)據(jù)載體。service 層絕對不 import javax.swingdao 層也絕對不出現(xiàn)業(yè)務(wù)判斷。這樣分完之后你在答辯時可以說「UI 層的登錄按鈕只負責(zé)把用戶名密碼交給 service 去校驗數(shù)據(jù)庫連接方式換成連接池UI 層不需要改動」。這句話比功能演示更能證明你理解了分層。一個額外收益是調(diào)試成本下降。比如行情價格異常先看 service 層的生成邏輯不用在監(jiān)聽器里翻幾千行找數(shù)據(jù)到底從哪來的。對于課設(shè)這種「交付時可能被抽查代碼」的場景類之間職責(zé)清晰比代碼寫得花哨重要得多。2.2 訂單簿用優(yōu)先隊列而不是普通 List撮合復(fù)雜度差了一個量級股票模擬系統(tǒng)里最核心的數(shù)據(jù)結(jié)構(gòu)是訂單簿。買盤按價格從高到低排隊賣盤按價格從低到高排隊同價按時間先后排隊。這個「按優(yōu)先級出隊」的語義天然是堆的活。用 ArrayList 存訂單每次撮合都要線性掃描找最優(yōu)價用 PriorityQueueJava 的優(yōu)先隊列底層是二叉堆插入和取最值都是 O(log n)。一次撮合要取買家最高價和賣家最低價各一次n 筆訂單下整體復(fù)雜度從 O(n2) 降到 O(n log n)。這個對比放在答辯里就是實打?qū)嵉募臃贮c。// 買盤價格高者優(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 對象做比較排序更快落庫時再轉(zhuǎn) DATETIME。隊列初始化后撮合循環(huán)就很簡潔同時看兩個隊頭能成交就處理剩余量不能成交就退出。這個邏輯放到第 4 章展開這里先記住一個原則——PriorityQueue 只在內(nèi)存里維護訂單順序訂單本身的持久化還在數(shù)據(jù)庫兩者不沖突。2.3 行情環(huán)存、持倉映射與自選列表三種典型數(shù)據(jù)結(jié)構(gòu)的使用位置訂單簿之外還有三處數(shù)據(jù)結(jié)構(gòu)選型容易在答辯時被追問。第一是行情快照。實時價格要被表格、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 分鐘的均價復(fù)雜度是 O(1)不需要每次重新遍歷整個歷史表。如果把「均價高于實時價提示風(fēng)險」做成一個小標簽放在界面里這一處設(shè)計足夠支撐一個追問「你這里為什么不用 LinkedList」答案就是數(shù)組索引定位 O(1)、GC 壓力小且容量固定。第三是持倉映射。默認用 HashMapString, Position 以股票代碼為鍵取持倉 O(1)。但如果自選股面板需要按漲跌幅排序展示不要在 HashMap 上強行排序而是排序時把 entrySet 拉出來丟進臨時列表用 Collections.sort。原因是持倉數(shù)量通常是個位數(shù)到幾十個數(shù)量級排序成本可忽略沒必要為了排序引入一個始終維護有序性的 TreeMap 把寫操作拖慢。3. 數(shù)據(jù)庫表設(shè)計與 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 秒由內(nèi)存里的環(huán)形緩沖聚合一次再批插入避免高頻行情把數(shù)據(jù)庫拖垮。3.2 JDBC 工具類、事務(wù)提交與連接參數(shù)先能跑再談優(yōu)化課設(shè)階段不需要上數(shù)據(jù)庫連接池一個簡單的 JDBC 工具類足夠。但連接參數(shù)里有兩個坑必須提前避開MySQL 8 的驅(qū)動類名是 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) {} } }寫入操作一定要手動控制事務(wù)。最典型的場景是「買入成交」涉及三張表成交記錄插入、賬戶余額扣減、訂單狀態(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); }連接池的話題可以在答辯時提一句「生產(chǎn)環(huán)境會用連接池管理連接課設(shè)里為了讓你看清鏈路所以用 DriverManager」。但前提是你在配置文件里留了 db.properties 而不是把用戶名密碼寫死在常量類里。常見的做法是 Properties.load 讀取這里就不再貼完整代碼知道這個方向即可。3.3 拿到 zip 后從導(dǎo)入到第一條記錄落庫的完整路徑壓縮包解壓后先用一小時做環(huán)境核對而不是直接雙擊運行腳本。我見過的翻車大半發(fā)生在「IDEA 里 Run 起來報 ClassNotFoundException」或者「表結(jié)構(gòu)對不上」。按下面順序操作用 Navicat 或命令行執(zhí)行建庫腳本庫名用 stock_sim核對 SQL 腳本里的 CREATE DATABASE 語句是否包含字符集設(shè)置打開 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ī)則更復(fù)雜。你在答辯時主動說出「我這個模型做了簡化真實場景要考慮中間價和最小變動價位」比等評委來問要主動得多。要注意的是這里的 peek 不會移除訂單只有剩余量歸零才 poll。如果買單一筆很大可能連續(xù)吃掉好幾檔賣單每吃一檔就產(chǎn)生一條 Deal 記錄正好對應(yīng)數(shù)據(jù)庫里 t_deal_record 的一行。將這次循環(huán)產(chǎn)生的 List 批量入庫不要一條條 commit。4.2 行情生成與界面回顯SwingWorker 把價格刷新的結(jié)果送回 EDT行情數(shù)據(jù)在模擬系統(tǒng)里通常是一個后臺線程循環(huán)更新。這里最容易犯的錯誤是直接在守護線程里調(diào)用 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 機制就是設(shè)計出來解決這個問題的。doInBackground 在后臺線程跑循環(huán)process 匯總后切回 EDT 批量更新界面。注意 setScale(2, RoundingMode.HALF_UP) 保證價格只保留兩位小數(shù)。還有一點我踩過坑后臺線程里每秒查一次全表股票雖然不是大問題但明顯浪費。更合理的做法是啟動時把股票列表加載進內(nèi)存的 ConcurrentHashMap后臺線程只更新內(nèi)存對象定時任務(wù)再批量把快照寫回數(shù)據(jù)庫。數(shù)據(jù)庫是模擬系統(tǒng)的「存檔」不是行情數(shù)據(jù)的實時通道。4.3 賬戶與持倉的并發(fā)控制synchronized 鎖在哪個對象上模擬盤允許同時開啟多個窗口下單或者一個窗口里連續(xù)快速點擊買入。如果賬戶扣款和持倉變更不清理并發(fā)「余額扣了但持倉沒到賬」「賣出數(shù)量超過持倉」這些問題就會冒出來。這其實是 java 面試八股文里經(jīng)典的并發(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(); }把整個買入動作鎖在方法上聽著粗暴但在單機模擬盤這個場景下是正確的取舍。課設(shè)系統(tǒng)沒有微服務(wù)沒有分布式業(yè)務(wù)都在一個 JVM 里方法級鎖足夠保證賬戶余額和持倉的一致性。如果你用鎖對象注意別鎖字符串常量兩個不同的 key 如果值相同會互相同步造成無意義的等待。余額不足的校驗一定要放在扣款之前并且校驗和扣款必須處于同一把鎖下。先校驗再放鎖再扣款中間另一個線程插進來余額就被透支了。這個「檢查和動作之間要有原子性」的結(jié)論值得在答辯論證時反復(fù)強調(diào)。5. 翻車點避坑與排查五個常見問題的現(xiàn)象、原因和解決順序5.1 界面卡死登錄按鈕點下去整個窗口白屏現(xiàn)象點擊登錄后 JFrame 無響應(yīng)轉(zhuǎn)圈或者白屏過幾秒恢復(fù)嚴重時直接 NotResponding。原因登錄按鈕的監(jiān)聽器里直接執(zhí)行了數(shù)據(jù)庫查詢而鼠標事件回調(diào)運行在 EDT 上一條慢 SQL 或網(wǎng)絡(luò)抖動就把界面線程堵住了。數(shù)據(jù)量一大這個卡頓就越明顯。解決所有可能耗時超過幾十毫秒的操作丟進 SwingWorker 或普通線程結(jié)果回來后再用 SwingUtilities.invokeLater 或 worker 的 process 刷新界面。登錄按鈕里只做「啟動登錄任務(wù)」這一個動作不要在里面查庫。把這條寫好評委的「你的界面為什么流暢」就有答案了。5.2 連不上數(shù)據(jù)庫ClassNotFoundException 或 CommunicationsException現(xiàn)象點登錄立刻報錯控制臺出現(xiàn) java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver或者 Communications link failure。原因前者是驅(qū)動 jar 沒被正確打進運行環(huán)境后者八成是 MySQL 版本和 URL 參數(shù)不匹配。MySQL 5.7 用 com.mysql.jdbc.Driver 還能過MySQL 8 必須用 com.mysql.cj.jdbc.Driver 且 URL 里加 serverTimezone。解決先確認用的驅(qū)動 jar 版本。IDE 里添加完 Library 后去 Artifacts 里勾選 include in project build很多 IDEA 項目里 Library 存在但打包時沒帶上。連接參數(shù)統(tǒng)一走 db.properties排查時只需要改一個文件不要在代碼里到處找硬編碼的 URL。5.3 賣出金額和買入成本對不上賬持倉成本越算越亂現(xiàn)象演示買入 100 股、賣出 100 股后賬戶總資產(chǎn)不等于初始資金差額正好是買入賣出的某個百分比。原因用 double 存價格和金額累加多次后精度丟失。比如 19.99 元的價格在 double 里實際是 19.989999999999998乘上股數(shù)放大后誤差變成幾毛錢再經(jīng)過幾筆交易就完全對不上。解決價格、金額、余額全部用 BigDecimal構(gòu)造時用字符串構(gòu)造器 new BigDecimal(19.99)不要用 new BigDecimal(19.99)。JDBC 讀取 DECIMAL 字段時用 getBigDecimal 拿到就是 BigDecimal不要轉(zhuǎn)成 double 再轉(zhuǎn)回來。這是所有對賬問題的根源。5.4 注冊成功后列表不刷新偶爾空指針現(xiàn)象新用戶注冊完成頁面上的用戶列表沒有新數(shù)據(jù)點擊某些行還會報 NullPointerException。原因注冊成功后的數(shù)據(jù)加載仍然執(zhí)行在舊邏輯里拿的是注冊前的列表引用或者界面刷新和后臺數(shù)據(jù)加載的時序不對窗口還沒完成初始化數(shù)據(jù)觸達 UI 時表格模型還是 null。解決數(shù)據(jù)變更后統(tǒng)一走「重新查詢→構(gòu)建新的 TableModel→setModel 刷新」這一條路徑??罩羔樑挪闀r先打印堆棧看是哪個對象為 null八成是領(lǐng)域?qū)ο鬀]有初始化例如 new ArrayList() 沒賦值就 add。不要在 getter 里返回 null集合屬性在聲明處直接初始化。5.5 快速雙擊下單持倉出現(xiàn)負數(shù)現(xiàn)象快速點擊買入按鈕明明余額足夠買 100 股最終持倉變成 -20 股或者余額變負數(shù)。原因兩次點擊事件都在余額校驗完成前進入了扣款邏輯或者賣出時沒有檢查當前持倉量。數(shù)據(jù)庫層面沒有約束程序?qū)用嬉矝]有加鎖負庫存就出現(xiàn)了。解決下單入口加 synchronized 見 4.3 的寫法賣出在下單前先查 position.getQuantity()不足直接拒絕。另外可以在 t_account 表加 CHECK (available_balance 0)MySQL 8.0.16 以后會強制生效作為最后一層防線。程序鎖加數(shù)據(jù)庫約束雙層保護演示時再怎么點都不怕。6. 答辯前只練這三件事數(shù)據(jù)驗證、演示節(jié)奏與加分說辭答辯演示前我會先跑一遍對賬 SQL確認賬是平的。賬不平的模擬盤演示出去功能再多也圓不回來。對賬思路不復(fù)雜用戶的「當前可用余額 各持倉市值 所有成交扣費」應(yīng)該等于初始資金。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é)奏我習(xí)慣控制在十分鐘第一分鐘界面行情刷新動起來讓評委看到價格在每秒跳動中間五分鐘做一筆完整買入和一筆賣出強調(diào)撮合隊列的價格優(yōu)先和時間優(yōu)先最后兩分鐘打開數(shù)據(jù)庫對著 t_trade_order 和 t_deal_record 展示買賣數(shù)據(jù)是怎么落庫的。這比反復(fù)切窗口講功能更能體現(xiàn)數(shù)據(jù)結(jié)構(gòu)課程的訓(xùn)練痕跡。加分說辭記得準備兩個。一是撮合隊列為什么用堆而不用數(shù)組線性掃描答「ArrayDeque 和 List 得 O(n) 掃描PriorityQueue 插入和取最值 O(log n)」二是 ConcurrentHashMap 和 Hashtable 的差別答「鎖粒度不同前者鎖桶后者鎖整表」。這類問題就是常見的 java 基礎(chǔ)面試題變體提前背熟被追問不慌。我自己的習(xí)慣是正式演示前至少完整過三遍流程中間故意制造一次「余額不足」的失敗彈窗證明異常路徑也處理了。這一手比單純展示順利路徑更讓評委相信系統(tǒng)是你自己寫的。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 欧美人妻一区| 欧美亚男人的天堂| 奶水 人妻 哺乳 在线| 99这里只有精品国产| 亚洲激情网一二三四区| 91天美免费| 中文字幕国产| 亚洲精品国产AV天美传媒| 玖玖爱影院| 欧美极度丰满熟妇hd| 韩国女主播青草在线| 啊啊啊网站| 99热在线观看| 国产精品内射婷婷一级二| 超碰人人干| 亚洲熟妇综合久久久久久| 激情五月综合开心五月| 色九月综合| 伊人网高清| 丁香九月 婷婷| 五月婷婷AV| 欧美激情在线观看视频| 裸体美女国产免费久久久网站| 亚热日本熟女| 亚洲二区精品在线观看| 97视频新免费| 牛牛aV| 男人的天堂2000| 日韩 欧美 视频 在线 一区| 亚洲资源网| 久久久久久亚洲中文| 97硬碰| 五十路六十路七十路熟婆| 日韩天美| 国产精品午夜福利亚洲综合网| 欧美在线色图| 日韩免费看在线黄色片| 中文一区在线日| 无码精品久久久天天影视| 欧州激情视频在线一区二区| 久热香蕉精品在线视频| 97国产精选| www.99视频| 男人的天堂1024| 精品超碰中文在线| 国产成久久综合片| 欧美国产成人在线| a级理论午夜日本| 久艹99| 亚洲图片偷拍视频区| 精品免费囯产一区二区三区| 成人影 天天操 亚洲| 亚洲伊人久久综合97| 欲色影视综合吧| 日韩欧美aⅴ综合网站发布| 色妇91| 亚洲综合成人网| 超碰99在线| 天天弄欧美| 欧美性爱无码一区二区三区| 日韩AV无码中文一区二区| 国产精品91一样| 亚洲色阁| 精品v1区| 国产人妻天天干精品| 一区二区视频在看| 天天澡天天爽日日av| 久久亚洲AV无码专区国产精品| 91亚洲黄色网| 午夜毛片高清免费不卡| A V少妇特黄三级| 影音先锋每日最新资源在线观看| 四虎在线观看网站| 暖暖精品二区三区观看| 久久久久久久亚洲Av无码| 熟妇人妻精品一区二区| 另类老少妇| 天堂精品在线| 91碰超| 色淫网站优优视频| 热久久无毒不卡| 99视频只有精品| 国产一区二区三区免费视频在性观看| 久久久性少妇| 日欧毛片久久| 午夜人妻精品综合在线| 日韩精品在线观看网站| 人妻二区| 久久岛国| 91亚洲黄色网| 99热国产| 男人干美女| 99在线精品观看99| 色婷婷一区二区三区久久午夜成人不| 亚洲欧美国产日本一区二区三区| 日本操逼视频在线| 精品国产乱码久久久| 国产美脚女优尤物在线观看| 天天插天天操| 最近的最新的中文字幕视频| 国产精品久久久久久照片| 久久伊人影院| 青久操| 东京热激情视频一二三区| 日本日逼高清| 美女裸体无遮挡永久免费观看网站 | 欧美一区二区观看在线| 久久久久久综合久久伊人蜜月| 91夜夜蜜桃臀1区2区3区| 国产99 中文字幕日韩小视频| 亚洲日韩视频二区| 黑人美精品 A片| 综合97| 人妖欧美一区二区| 欧美一区二区三区成人性生活| 五月丁香婷婷综合| 激情五月天丁香| 久久久久久国产精品免费网站| 老司机午夜精品视频| 成人性交免费视屏| 抽插亚洲无码| 成人线上超碰| 精品一区二区三区麻豆| 男人的天堂1024| 99rre在线精品99re8| 精品综合久久久久久97| 91精品操美女| 旡码电影特区| 国产成人资源| 俺去也婷婷| 蜜乳av一区二区三区| 久草新免费| caopeng97人妻| 亚洲国产日韩欧美熟妇在线| www.婷婷| 伊人AAA| 亚洲天堂人妻熟妇视频| 亚洲毛片一级带毛片基地| 精品国产91av一区二区三区| 欧美日韩国产高清在线一二三区| 四虎影视永久在线免费| 亚洲αv一区二区三区| 人人操人人插人人摸人人干| 男人a天堂手机在线版| 日韩欧美中文日韩欧美色| 狠狠色狠狠色狠狠五月| 国产中文字幕曰本毛片| 不卡啪啪视频| 欧洲熟妇xxXx欧美老妇裸体| 欧美日韩成人| 天天添天天干电影| 亚洲棕合电彰| 青青欧美| 亚洲精品少妇| 狠狠久久手机视频精品| 被男人吃奶很爽的毛片| 26uuu性物| 无套内射人妻在线播放| 爽 好舒服 无码刺激久久| 亚洲AV永久无码一区仙野| 国产高清无码一区二区三区四区皇冠| 素人美腿视频网站| 亚洲色悠悠久久88| 91天堂丝袜美腿| 日韩三级视频一区二区三区| 亚洲五月丁香花狠狠干一区二区三区| 九九热免费国产视频婷婷伊人五月| 91大胆欧美| 欧美最婬乱婬爆婬性视频 | 日本三级R| 色噜噜狠狠色综无码久久合欧美| 久久99精品九九久久久婷婷| 超碰美女97| 欧美日韩国产成人高清| 欧美日韩国内不卡| 国产亚洲美日韩Aⅴ中文字幕无码成人| 激情国产乱伦Av| 99热只有这里有精品| 欧美夜夜狠| 欧美在线l亚洲| 欧美性Fer办公室秘书| 国语少妇精| 欧美中文字幕日韩在线| 人妻99p| 69AV女优男人的天堂| 久久久久久久久久久久久久久久9| 日韩有码回春沙龙第一页| 国内伊人久久久久久网站视频| 欧美精品三级黄片| 欧美一级AAAAAAA| 天久久久噜噜噜久久国产精品爽爽 | 久久精品店| 日本三级中国三级99人妇网站| 天天做天天爱天天爽AV| 97超级久久| 大香蕉黄色一级片免费看| 日韩性爱高清免费视频| 动漫av中文| 久久色精品视频在线| 国产成人手机视频激情| 抽查国产福利主播| 中文字幕视频在线观看| 一区二区精品日韩欧美在线观看 | 成人av免费观看| 污到发麻的视频 国产| 亭亭在线资源| 天天搞在线综合网| 日韩中文字幕熟妇人妻| 大学生美女口爆| 十八禁的黄污污免费网站| 欧美大香蕉卡久久| 97鸡把在线视频| 激情 欧美 亚洲 小说| 中文字幕精品一区二区精品| 欧美日日人人天天| 亚洲无码?第一页| 日韩精彩免费| 日韩 女同 综合| 久久久久久九九九九| 日韩欧美中文| 男人亚洲91首页在线| 欧美少妇高潮久久91| 超碰97人妻| 色婷婷影视| 国产精品一区二区麻豆| 免费又黄又裸乳的视频| 黄资源| 激情婷婷丁香网| 亚洲精品天堂久久A∨51成人漫| 高清不卡国产| 国产综合日韩伦理| 97亚洲国产影视| 96一区二区| 日韩乱插| 亚洲精品黄码久久久久| 综合一区中亚洲国产成人综合精品| 91久久国产综合精品| 91精品人妻偷情| 欧美综合站| 欧美在线 亚洲| 岛国免费黄色网址| 性色av一区二区| av天堂精品久久| 亚洲第一页欧美| 2019天天干| 国产精品久久久三级无码| 香蕉免费一区二区三区不读| 国产精品久久久久久高清无码免费看 | 97视频在线观看高清资源| 九九九九九九视频免费| 激激五月| 91AV入口| 男人的天堂.com| 日韩日本欧美在线观看| 打av高清| 欧美福利视频啊啊啊啊| 麻豆性爱视频在线播放| 国产久久成人| 伊人久大| JULIA一区二区三区在线播放| 亚洲综合在线91| 天天干少妇| 亚洲天堂男人天堂| 999岛国大片| 欧美自拍网| 亚洲精品99| 国产精品久久久啊| 久久骚少妇| 国产A v无码专区| 日本黄色天堂| 爽爽淫人网| 97免费在线视频| 欧美天天综| 欧美欧美啪啪视频| 成人熟女区| 大香蕉免费乱伦视频| 夜夜嗨TV| 日韩性爱电影一区| 国产乱伦视频污| 天堂麻豆天美| 亚洲中文字母在线播放| 超碰97欧美| 国产精品制服丝袜中文字幕日韩一区二区三区 | 欧美性爱一内片一区二区三区| 亚洲精品一区二区精品| 丰满熟女人妻一区二区三五十一路| 欧美色婷婷| 好涩综合| a片亚洲一本通视频| 黄网色一区二区三区四区精品| 少妇的嫩逼图片| 亚洲 中文 女同| 国产精品网址| 日本Suv精品一区二区| 色好看av| 久9视频| 98人妻精品一区二区色欲| 久操视频免费观看| 日本 欧美 国产一区| 国产综合色精品在线观看| 夜精品久无码| 日本肏逼视频在线观看| 99re超碰| 欧美爱国产综合、| 久久偷拍人| 久99视频| www.大香| 亚洲精品一区二区精华| 亚洲色图日韩丝袜制服一区二区五月在线| 久久久久9久久久久| 日本国产成人亚洲精品无码| 国产精品久久久久久高清无码免费看| 久射吧| 97免费视频网| 亚洲av夫妻操穴网| 久久久久国产一区二| 国内亚洲高清无码| 91操熟女视频| 亚洲日韩东京热一区| 欧美色偷拍| 免费久久精品麻豆一区二区av| 97超碰人人操人人操| 四季av一区二区凹凸精品小说| 日本天天操| 亚洲人妻中文高清| 亚洲天堂男人天堂网| 精品视频久久区| 天天综合精品| 手机看片1025| 日韩国产乱子伦App| 啊啊啊啊啊啊啊啊在线观看| 啊啊啊啊无码| 大肉棒导航| 天天综合91在线| 亚洲中文一区二区三区视频| 91精品女厕偷拍视频| 成人国产视频在线观看| 在线不欧美| 韩日欧亚a级| 97精品久久久久中文字幕| 九九久久综合| 能在线播放的国产三级| 影音先锋每日最新资源在线观看 | 日韩精品色呦呦| 国产一级高清免费观看| 色综91| 91亚洲电影| 密臀视频三区免费网站| 日逼97| 日本色日夜干| 精品亚洲| 日本欧美中文字幕| 日韩精品中文字幕人妻| TS人妖另类精品视频系列| 蜜臀一区二区三区在线| 久久78| 人妻性爱一区二区| 麻花豆传媒剧国产MV出差| 啪啪啪精品| ji熟女.com| 被男人吃奶很爽的毛片| 人人看人人爰人人操| 国产精品激情久久久久久久| 久久久九九网站| 国产精品激情久久久久久久| 欧美十八禁网站| 成人乱码一区二区三少妇| 国产一区二区av综合| 国产美女mm131爽爽爽爽| 乱论91| 婷婷色中文字幕| 99热婷婷| 一本久道久久综合狠狠爱| 天天色综合图片| 热天堂一区二区| 韩国久久97| 日韩欧美成人大香蕉| 伊人久久大香线综合无码| 亚热日本熟女| 欧美—性—交—色| 色逼综合| 91精品亚洲内射孕妇| 亚洲成人免费中文字幕| www.狠狠操| 九九视品黄色| 伊人亚洲综合| 久久久亚洲| 国产精品久久久久久久久久梁医生| 国产精品自拍xxxx| 色噜噜婷婷| 97中文字幕色| 骚鸭AV| 女人天堂av在线播放| 青青伊人这里只有精品| 人妻少妇久久久| 日日黄色三级网站| 麻豆精品三区视频| 东北女人操逼| 强奸乱伦中文字幕AV| 久久精彩免费视频| 欧美少妇性乱| 色色九区| AV无码久久久精品| 欧洲Au麻豆| 欧美在线干| 国产无码精品无码| www.婷婷| 另类专区加勒比| 亚洲综合影院| 亚洲色图第四色| 蜜臀久久99精品久久久久电影| 五十路熟女工口 | 精品一二三区久久AAA片| 九九热九九热| 婷婷久久久精品| 国产二区三区免费视频| 性色av婷婷久久一区二区点复制| 久久久网一区| 九九九九热| 亚洲av无码成人精品国产| 亚洲狼狼干综合1| 啊啊啊啊嗯嗯在线久久久| 99在线免费公开视频| 色综合五月天| 2000亚洲男人天堂| 日韩欧美大片免费高清啪啪| 色婷婷五月天| 精品免费成人久久| 日韩欧美一级特黄大片| 九九九综合精品| 欧美人妻制服| 国产福利第一视频| 老司机午夜精品福利视频一区二区 | 久久超碰日韩精品| 大香蕉五月天| 精品女同一区| 日本操BAV| 99操| 成年人三级黄色片视频| 人人爱夜夜爱| 肉动漫无遮挡h在线观看| 私色综合网| 精品少妇一区二区三区| 日韩,欧美,中文在线| 伊人久久大香线综合无码| 欧美操人视频| 一区二区 日韩 欧美 国产 传媒| 免费视频一二三区| 69精品在线| 色综合天天爱去电影网| 一起草av| 熟妇人妻精品一区二区| 人妻少妇av在线观看| 日本 情色 1区2区3区| 亚洲 另类 丝袜 自拍 动漫| 日韩激情啪啪啪| 亚洲美女 晚间男人天堂| 2023天天操夜夜操| 欧美久久婷婷| 成人性爱视频在线看| 在线情色电影 91大 | 久久国产精品91| 婷婷激情四射| 小草三级久久观看| 另类图片欧美激情综合| 欧美 传媒 麻豆 日韩 偷拍| 黄色香蕉视频网站一区| 最新精品久久蜜桃| 日日操丁香五月天| 九九九不卡| 99久久婷婷| 丁香九月婷婷| 精品十三区| 人人看欧美性爱| 69丨亚洲丨精品丨入口免费播放| 色色色色网站| 亚洲少妇在线观看| 精久久久91| 精品人妻一区二区三区四区| 丁香五月天婷婷姐| 亚洲欧洲日本精品中文a∨| 97超碰巨乳| 日韩成人精品视频自拍| 日韩综合97p| 97爱免费插| 18禁看网站一区| 金典av| 91天堂色男人的天堂| 中文字幕黄色一起草| 婷婷五月天激情小说| 91中文字幕| 天天享受天天看| 在线国产一区二区av| 亚州欧美另类| 久久久久亚洲精品| 欧美性爱在线无码| 搡老女人老91妇女老熟女| 亚州中文字幕超碰97| 啊啊啊啊,啊啊好多水| 最新加勒比丝袜在线| 日韩有码 一区二区三区| 大香蕉色欲AV| 无码91| 国产女人高潮嗷嗷嗷叫小说| 国产精品不卡少妇白| 欧洲射精91| 91精品国产麻豆国产自产在| 天天日天天干天天操| 国产亚洲日本| 国产农村妇女一区二区| 一区二区三区探花在线观看| 国产精品香蕉| 亚洲色图第四色| 久久综合18p| 国产精品久久久久久久黄无码| 亚洲欧美洲综合| 亚洲色9| 五月婷色| 五月婷网站| 翔田千里AV无码秘 三区| 精品制服美女中文一区二区三区| 老熟女91av| 日本中文字幕在线视频| 亚洲无码成人精品| 91美女在线观看| 欧美激情黑人| 欧美色日| 中文乱码99| 99∨VTV| 人妻 中文 日韩| 国产嫩草精品A88AV| 日韩,欧美,中文在线| 试看福利| 99热精品在线在线| 天天操人人操骚逼网站| 国模限制级电影| 啊啊啊操死我| 999国产精品999久久久久久| 无码男人天堂| 欧美激情 日韩精品| 久99| 激情五月综合| 日韩人妻中文视频| 综合五月婷婷亚洲一区| 婷婷色色五月天福利| 97精品一区二区三区免费| 久久久久久免费电影| 青青草啪啪网| 91美女在线看| 欧美内射少妇| 日韩超碰精品综合| 国产人妻精品久久久一区二区三区| 精品久热| 中文久久久| 亚洲女优有码无码高清| 久久九九热| 操曰本熟女| 欧美色日| 欧美78| 日本九九久久99| 亚洲少妇在线影音| 99re69综合| 精品十三区| 中文字幕亚洲欧美在线不卡| 中文字幕av久久爽Av| 中文伊人大香蕉视频| 国产超碰国产97| 大香蕉操久久| 欧美制服网站美腿丝袜| 91亚洲不卡一区| 亚洲美乱| 美日韩一卡二卡三卡免费人妻精品| 男人的天堂啪啪啪啪啪蜜桃不卡| 欧美九9 9 9| 婷婷五月天激情小说| 国产精品无码在线| 色五月激情综合网| 亚洲天堂久久| 97资源超碰| 中文字幕天天天天天| 97色论| 大香网伊人久久综合网eew| 鲁鲁色综合网| 熟妇人妻一区二区三区| 好吊色一区| 色娱乐色呦呦夜夜夜夜av| 精品一国2| 淫穴高潮色图| 亚州性9| av黄图片在线观看| 91精品亚洲内射孕妇| 91午夜无码| 九九性爱网| 色五月婷婷网| 欧美页片| 亚洲精品白丝| 美女91AV| 无码不卡八戒| 亚洲一区日韩| 久久本道| 丝袜亚洲91| 久久99九九九九6666免费观看软件| 天天综合欧美| 强奸乱伦AV网站| 国产色精品午夜大片| 色色99| 亚洲人在线| 国产超碰97| 在线97视频| 老司机老司机午夜影院| 天天日天天插| 久久久久无码一妻区| 欧美精品一二三| 无码人妻一区二区三区色欲aⅴ | 啊啊啊 在线观看| 偷拍在线观看视频| 欧美写真视频一区| 国产亚洲精品激情| 夂久色| 日夜干射色啊| 综合色欧美| 国产精品久久久久久照片| 黄网在线播放| 久久大陆| 97香蕉网| 色婷婷亚洲婷婷| 激情露脸爱| 欧美96在线|欧| 中国一级特黄大片护士| 插日本熟女视频| 99热精品青草在线 | 久草午夜| 天天躁日日躁XXXXYY| 国产精品国产自产拍高清AV| 超碰欧美97资源| 国产又黄又粗的视频| 亚洲九区| 老司机午夜福利视频一区二区| 蜜臀久久99精品久久久久久婷婷 | 国产精品久久久九九九| 国产97视频| 狠狠激情综合狠狠操中文字幕| 国产夜夜操| 国产精品操| 熟女人妻一区二区三区| 亚州高清色综合| 亚洲天堂男人| 夜夜爽77777| 97精品网站| 麻豆国产视频精品观看| 亚洲色图加勒比| 91精品人妻一区二区三区蜜臀| 国产精品久久久久久片| 久久男人网| 国产毛片片精品天天看视频| 精品色色| 亚州欧美在线| 看日韩操逼| 九九九九97| 丁香六月激情| 狼天天狼天天大香蕉| 人妻91少妇| 操逼逼无码| 亚洲女人毛茸茸91| 超碰在线第一页| 波多野结衣一级视频| 日韩女优中文字幕| 亚洲色图一区二区三区| 艹我哪美一区无码| 欧美AB在线| 久久思思热| 91欧美色| 很很干很很操| 国产女人视频三四五区| 色五月婷婷网| 人妻 欧美亚洲| 最新日韩黄片| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场| 国产麻豆福利av在线播放| 欧美亚洲AN| 亚洲精品无码成人久久久99| 在线黄色污污网站| 福利伊人玖玖国产| 欧美综合777| 青青草天天亲夜夜操网| 老鸭窝成人| 99无码| 国产女人视频三四五区| 超碰 另类 欧美| 国产精品麻豆成人av| 99超碰色| av毛片aaaaa免费看| 搡老女人老妇女老妇老熟女怎么读| 伊人热综合| 亚洲欧美性生活| 青娱乐国产精品| 欧美高潮| 狠狠操狠狠| 激情小说在线视频| 青青色综合| 日本东京热加勒比久久| 国产深喉| 亚洲 综合 欧美| 欧美大香蕉久| 久污| 嗯嗯啊啊视频在线看| 老熟女91| 小骚逼被操的爽不爽| 麻豆啪啪啪视频| 国产极品馒头逼| 97色论| 一区二区三区精品久久| 草草草视频| 欧美操逼视频二区| 欧美熟女操屄| 日日骚AV| 亚洲的天堂网| 乱精品一区字幕二区| 男女啊啊啊啊啊| 天天射影院| 欧美与日韩97| 欧美午夜视频精品久久| 亚洲精品人体| 丰满精品人妻少妇久久字幕| 蜜乳av首页| 亚洲影院成人| 欧美女同在线| 偷窥自拍亚洲色图| 强奸乱伦日韩AV| 男人久久天堂| 久久视频,这里只有精品 | 欧美伊人久久综合网| 国产97/欧美| 99自拍B亚洲| 爱av免费| av网站国产主播在线| 日韩二区三四区五区六区在线看| 狠狠狠狠狠狠| 嗯啊抽插大香蕉网页| 久区视频| 久久久久久久久久久久久久久久9| 国产精品国产拍高清AV| 97欧美日韩| 色综合99999| 婷婷99狠狠躁天天躁| 曰韩操B| 欧洲色综合| 欧美色日本| 成人福利视频网| 亚洲影院无码在线| 性感美女91影视| 啊操爽品善一区二区三区| 亚洲无码99| 很很热性爱视频| 我要去看2个日本美女.com曹逼| 91天天爽| 在线亚洲精品久久久| 青青草日本无码| 午夜国产成人福利视频| 天天干天天燥| 一区二区中文| 亚洲男人天堂手机版| 男人精品天堂一区| 安徽熟妇视频| 丝袜六区| 天天日天天舔天天喷天天射| a v网站在线播放| 中国熟妇| 蜜桃臀AV在线| 伊蕉97蜜桃97狠狠综合干| 蜜色网色哟哟| 福利在线黄片| 欧美一区二区福利在线| 极品美女嘿咻| 大屁股熟女一区二区三区| 欧美伦乱爱| 色哟哟-国产专区| 人妻久热在线| 成人五月香网在线| www.婷婷| www久久久| 91日本在线观看| 国产精品香蕉热久久新品| 亚洲色色探花| 久久精品国产99精品亚洲蜜...| a片自拍直播视频| av天堂电影网| 日本一区不卡| 蜜臀久久99精品久久久久久婷婷| 97欧美资源| 久久九九热| 999久久芭蕾| 中文字幕一品色图| 国内外毛片在线观看| 久久是精品| 欧美日韩国产精品久久色婷婷| 欧美日韩人妻婷婷一区| 囯产精品强| 免费亚洲国产精品久久一区| 欧亚揄拍偷拍精品视频| 日本顶级天天操狠狠操夜夜操中文字幕| 性色av一区二区| 97干天天| 成熟熟女国产精品一区二区| 中文字幕女同在线| 91国精产品| 加勒比av网| 97鸡把在线视频| 青草一区二区| 色综合av综合久久| 国产91亚洲精品一区二区三区| 啪啪啪精品| 家庭乱伦国产| 久久久无码av精| 亚洲AV无码国产精品久久久久| 丰满的三级少妇欧美久久久| 香蕉久久国产AV一区二区| 婷婷伊人綜合中文字幕| 插入综合网| 成人短视频在线观看| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 91观看 国产白丝| 91色图| 国产精品不卡一区二区三区av| 高潮毛片无遮挡高清免费| 377p欧洲日本亚洲大胆| 99视频自拍| 久久久久精| 天美传媒AV国产在线| 锕锕好爽 死我在线观看| 日本大香蕉综合网红本杳社区| 国产精品一区二区三区免费视频| 三男一女不戴套的A片| 欧美 精品国产制服第一页| 波多野结衣被操50分钟免费视频| 青娱乐福利99| 久久社区一区二区三区| 色九月婷婷| 亚洲天堂另类美腿| 久久99深爱久久99精品| 中国91AV| 国产日韩色综合| 国产激情在线| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 亚洲男人的天堂一区二区| 麻豆人妻少妇在线免费观看| 97视频在线视频| 草草草草视频| 人妻啪| 开心婷婷五月| 亚洲淫乱骚妇AV| 亚州欧美在线| 欧洲亚洲国产综合在线| 操逼日韩无码 | 一二三区视频在线观看| 午夜福利国产欧美日韩夜夜| 精品伊人久久久大香线蕉小说| 淮穴色AV| 97jingpin| 久久久久久9| 日韩av影片在线观看| 天天综合网国产| 中文字幕第95页| 色综合91好| 女人喷水视频在线观看| 高树玛利亚无码流出| 激情文学亚洲| 美国精品国产精品| 丁香五月av| 91处女在线视频| 91色色网站| 99日韩| 天堂伊人久久| 中文乱码字字幕在线第5页| 国产成人bd在线观看| 96精品久久久久中文字幕| 97精品一区二区视频在线观看| 成人av在线播放| 97天天爽| 91亚洲丝袜熟女| 午夜AV人气不卡| 久久秀这里有精品| 欧美亚州综合网图片| 天天摸夜夜添无码小视频| 国产伦精品一区二区三区视频女| 亚洲色图自拍| 最新av中文字幕高清| AV九九| 夜夜做夜夜爽精品视频| 国产精品ww久久| 亚洲丝袜色| 五月天日日操夜夜操| 黄色区免费观看中文字幕| 中文字幕乱碼在线| 男人精品区| 91碰碰碰| 人妻少妇精品无码专区二区密桃 | 浪人综合网| 啊啊啊好舒服好爽啊啊啊视频| 亚洲综合在线第一页| 国产一级αv免费看片| 大乔未久88一区| 最新av中文字幕高清| 国产精品小视频一区二区三区| 激情综合 婷婷五月 红杏| 成人免费福利网站国产| 色九九九综合| a片 xxxx受爽视频| 亚洲色图91欧美日韩| 亚洲成人ab| 99热网站| 美女高潮国产高清| 亚洲色诱惑| 国产2.3.4区| 国产自产一区视频在线| 久神马| 国产综合永久精品日韩鬼片| 五月开心久久AV官网| 国产最新小视频在线播放下载 | 国产亚洲色停停久久99精品91| 欧美精品人妻视频| 欧美色涩| 亚洲乱色视频一区、二区在线| 大学生美女口爆| 色香阁在线| 99久久无码| 欧美亚综合色图| 九九九精品成人免费视频小说| 操操啪| 蜜臀网 一区| 亚洲情色91| 人妻一区二区三区四区视频| 精品国产91内射久久| 第45页一区二区| 另类小说综合网| 久久综合久久综合人久久夜精品| 国产91亚洲精品一区二区三区| 日本九九久久99播| 日韩av免费一级电影| 亚洲天堂人人妻| 在线欧美69V免费观看视频| 91网站18+| 亚洲欧美国产日本一区二区三区| 婷婷激情四射| 天天爽夜夜操| 九九九免费视频| 欧美中字二区| 国产操逼逼网| 欧美姓爱综合网| oumeisetu综合| 91东京热男人的天堂| 色悠久久久av| 伊人久久艹| 久久亚洲AV无码白度| 99久久综合| 色久桃花影院在线观看| 欧美色爱综合| 91丨国产丨白浆| 中文字幕一区二区三区高清| 国产丝袜高跟美女av免费观看| 伊人婷婷五月天| 搡老女人老熟女91| 噜噜噜亚洲精品| 亚洲熟女中文字幕在线| 青娱乐淫乱1314| 91欧美性| 九九性视频| 日本操逼视频不卡直接放| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 久久宗合97| 欧美亚洲国内自拍| 在线综合 亚洲 欧美中文字幕| 干b在线性社区| 九九探花视频在线观看| 蜜臀久久久99久久久久 | 国产精品高潮久久AV| 久久精品日韩| 熟妇女伦乱视频| 白 大 人妻 区 在线| 国产福利精品最新在线| 97色伦97色伦国产欧美| 女上位精品在线| 日本天堂网| 超碰在线观看av不卡| 蜜臀99久| 色天欧美| 麻豆天美国美国产| 国产女性无套 免费观看| 九九九999久久久网站| 老女人老91妇女老热女| 野狼激情网| 无码高清专| 伊人一级免费黄片| 神马久久久久久久久| 青青操少妇| 丁香五月综合| 岛国网址国产 | 夜夜草我| 日韩有码中文字幕女同性恋 | 欧美综合网| 中文在线视频| 伊人精品视频| 久久草草欧美精品| 97国产高清视频在线观看| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 黄片视频观看| 九一国产精品| 嗯~啊~快点 死我视频| 亚洲日韩久久精品一区| 日本有码久久| 2018色综合天天操| 国产精品无码av在线| 成人精品无码| 九九九精品美女| 9999久久久久| 好看的久久不射无码影视影院| 亚洲情色婷婷五月天| a在线观看| 免费综合亚洲中文| 老熟女搡BBBB搡BBBB视频| 日本视频在线中文字幕| 欧美美女视频| 超碰这里有精品| 亚州综合AⅤ| 久久欧美1卡2卡3| 久久精精区一区二区一蜜桃一区二区| 亚洲 自拍偷拍 欧美| 精品无码欧美三级| 中文字幕精品探花视频| 久操国产在线| 天天干18禁| 亚洲熟女人妻中文字幕一区二区 | 久久超碰97| 久久精品超碰| 午夜操一视频一区| 男人天堂综合| 今日头条成人一区二区三区四虎精品 | 一级特级aaaa毛片免费观看| 不卡av在线中文字幕| 欧美成人性爱视频在线播放| 一区二区三区视频| 啊啊啊在线看| 亚洲极品| 一本一道久久综合久久| 久久噜噜噜精品国产亚洲综合| 极品色电影院| 色哟哟精品1精品2| 亚洲丝袜99| 蜜乳av一区二区三区| 日韩精品人妻中文字幕久久久| 熟妇亚洲一区二区三区| 97超久碰| 久久內射| 走光一区92下载| 大但人体久久久久| 欧美精品不卡一二三四在线91| 精品白丝一区| 98福利在线视频| 男人天堂网手机版婷婷| 97资源站国产精品| 午夜啊啊| 精品999999| 被操高清无码视频| 亚洲 中文字幕 精品| 日韩免费看在线黄色片| 素人一区二区三区日韩| 91c色| 超碰人人在线| 熟女精品一区二区三区| 一区二区三区网站日日骚| 91色图片| 欧美中文狠| 欧美精品亚洲精品日韩传电影| 91在线一起| 又大又大又大又粗爽高潮观看| 2018天天日天天日| 都市久久精品激情亚洲| 精品中文字幕一区二区l - 百度| 久久黄色视频一区二区三区| 国产AV无码AV| 五月丁香六月激情| 丰满人妻一区二区三区在线| baiduhicn.com。| 偷拍亚洲情色| 亚洲一区二区AV| 青青免费在线视频一区 | 国产无马视频| 亚洲激情久久| 水野优香在线观看| 国产一级久久久| 在线电影亚洲色图| 久久粉色| 51久久夜色精品国产麻豆| 日本午夜久久电影| 97爱免费插| 裸体1区| 少妇天堂| 精品无码一区二区三区| 91操人| 婷婷五月天伊人| 91丝袜激情在线| 欧美日韩亚洲少妇寂寞影院正在播放 | 久久久青青草| 1769国内精品视频| 成人免费不卡在线视频| 欧美日韩国产中文精品字幕自在自线,| 伊人伊人LD| 91蜜臀人妻中文字幕在线| www.av家庭乱伦| 熟女这里只有精品6| 日本中文字幕在线视频 | 97香蕉网| 无码抄逼网| 美女在线H91| 亚洲精品蜜桃久久久| 国产丝袜欧美在线视频| 国产AV超爽| 97玖玖超碰| 啊啊啊骚| 2017人人操,人人摸| 五月婷在线| 高清不卡 中文 人妻| 97亚洲精品| 蜜乳av首页| 91欧美丨精品丨入口| 9Ⅰ超碰| 天堂中文日本在线观看| 免費人妻夜夜爽天天爽爽一区| 日本不卡免费二区| 最新国内自拍av免费| 91 手机在线播放 绯色| 美女网站黄页| 女欧美一区二三区| 九九亚洲| 99re6国产精品99re| 人人贴人人摸| 亚洲美女精品| 99在线精品观看视频中文| 国产精品无码久久久久2025| 天天操天天射青青草| 偷拍亚洲视频一区二区三区四区| 日韩中文字幕精品一区在线| www.99视频| 色偷综合| 天堂а√在线最新版在线| 欧美在线视频99| 四虎在线观看网站| 国产Av超碰| 日韩AV片| 91在线丝袜| 乱欲一区二区| 清清草影| 激情小说图片亚洲首页| 神马视频久久久久久| 欧美精品黑人猛交高潮| 国产九月婷婷| 麻豆AV短剧| 日韩一级性爱无码| 午夜久久一区二区无码中出|