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

面試官:說說你項目有什么亮點?

開發 項目管理
在當前嚴峻的就業形勢下,項目如果沒什么亮點,可能連面試的機會都沒有,但實際工作中,大部分人所做的事就是 CRUD(增刪改查),那怎么才能即很好的體現我們的技術實力?又不會被面試官識破呢?

在當前嚴峻的就業形勢下,項目如果沒什么亮點,可能連面試的機會都沒有,但實際工作中,大部分人所做的事就是 CRUD(增刪改查),那怎么才能即很好的體現我們的技術實力?又不會被面試官識破呢?

所以,今天我這個給大家提供一些通用的項目亮點,你學會之后可以應用到自己的項目中,這樣這個棘手的問題就可以搞定了。因為內容比較長,所以咱們就分為上、下兩篇來寫。不過大家記得:先點贊再觀看,以后再看找的見哦。

亮點1:并發編程+任務編排

1.1 并發編程

并發編程通常用在處理大量數據或者執行多個獨立任務時,可以創建多個線程來并行處理,以提高效率和響應速度。

并發編程常見案例:例如 BI(Business Intelligence,商業智能系統)系統,一種集成了數據倉庫、查詢報表、數據分析、數據挖掘、數據可視化等多種功能的軟件工具,用于幫助企業從大量數據中提取有價值的商業信息,以支持決策制定。BI 系統通常需要從多個(微服務)數據源并行導入大量數據,這樣我們就可以利用多線程同時導入數據,這樣可以顯著減少總的導入時間。

多線程具體實現:在 Spring Boot 中定義全局線程池,實現代碼如下:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;

import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ThreadPoolExecutor;

@Configuration
publicclass ThreadPoolConfig {
    @Bean
    public ThreadPoolTaskExecutor taskExecutor() {
        ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor();
        taskExecutor.setCorePoolSize(5);
        taskExecutor.setMaxPoolSize(10);
        taskExecutor.setQueueCapacity(100000); // 任務隊列:10w
        taskExecutor.setThreadNamePrefix("my-threadpool-");
        // 自定義拒絕策略【1.記錄錯誤信息。2.通知消息系統,發送告警信息】
        taskExecutor.setRejectedExecutionHandler(new RejectedExecutionHandler() {
            @Override
            public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
                // 1.記錄錯誤信息
                // 2.通知消息系統,發送告警信息
            }
        });
        taskExecutor.initialize();
        return taskExecutor;
    }
}

多線程使用代碼示例:

@Resource
private ThreadPoolTaskExecutor taskExecutor;

1.2 任務編排

任務編排常見案例和具體實現:以上 BI 系統再抽取多個數據源之后,需要對數據進行整合、處理和入庫,在這種場景下就需要使用 CompletableFuture 來進行任務編排。

任務編排具體實現:使用 CompletableFuture,它是 JDK 8 提供的線程編排工具,它的常用方法有以下幾個:

圖片圖片

例如,我們現在實現一個這樣的場景:

圖片圖片

      任務描述:任務一執行完之后執行任務二,任務三和任務一和任務二一起執行,所有任務都有返回值,等任務二和任務三執行完成之后,再執行任務四,它的實現代碼如下:

import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
publicclass CompletableFutureExample {
    public static void main(String[] args) {
        // 任務一:返回 "Task 1 result"
        CompletableFuture<String> task1 = CompletableFuture.supplyAsync(() -> {
            try {
                // 模擬耗時操作
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
                thrownew RuntimeException(e);
            }
            return"Task 1 result";
        });
        // 任務二:依賴任務一,返回 "Task 2 result" + 任務一的結果
        CompletableFuture<String> task2 = task1.handle((result1, throwable) -> {
            try {
                // 模擬耗時操作
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
                thrownew RuntimeException(e);
            }
            return"Task 2 result " + result1;
        });
        // 任務三:和任務一、任務二并行執行,返回 "Task 3 result"
        CompletableFuture<String> task3 = CompletableFuture.supplyAsync(() -> {
            try {
                // 模擬耗時操作
                Thread.sleep(800); // 任務三可能比任務二先完成
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
                thrownew RuntimeException(e);
            }
            return"Task 3 result";
        });
        // 任務四:依賴任務二和任務三,等待它們都完成后執行,返回 "Task 4 result" + 任務二和任務三的結果
        CompletableFuture<String> task4 = CompletableFuture.allOf(task2, task3).handle((res, throwable) -> {
            try {
                // 這里不需要顯式等待,因為 allOf 已經保證了它們完成
                return"Task 4 result with " + task2.get() + " and " + task3.get();
            } catch (InterruptedException | ExecutionException e) {
                thrownew RuntimeException(e);
            }
        });
        // 獲取任務四的結果并打印
        String finalResult = task4.join();
        System.out.println(finalResult);
    }
}

亮點2:多級緩存

定義:多級緩存是指在系統中設置多個層次的緩存,每個層次的緩存具有不同的特性,它們協同工作來滿足系統對數據訪問速度和存儲容量等多方面的需求。

圖片圖片

使用多級緩存可以從離用戶請求最近的地方優先獲取緩存信息,從而保證了更高的查詢效率,多級緩存包括以下這些:

  • 分布式緩存:例如,Redis、MemCached 等。
  • 本地緩存:例如,Caffeine、Google Guava Cache、Spring Cache、Ehcache 等。
  • Nginx 緩存:在 Nginx 中配置并開啟緩存功能。
  • CDN 緩存:是一種通過在離用戶更近的位置存儲數據副本,以提供更快速、高效地內容交付的技術。CDN緩存使用分布式網絡和邊緣節點來緩存和分發靜態和動態內容,以減少用戶請求的響應時間和帶寬消耗。
  • 瀏覽器緩存:它的實現主要依靠 HTTP 協議中的緩存機制,當瀏覽器第一次請求一個資源時,服務器會將該資源的相關緩存規則(如 Cache-Control、Expires 等)一同返回給客戶端,瀏覽器會根據這些規則來判斷是否需要緩存該資源以及該資源的有效期。

亮點3:緩存和數據庫一致性問題解決

項目中使用緩存時會有 4 大經典的問題(雪崩、穿透、擊穿、數據一致性),其中一個就是【緩存和數據庫一致性問題】,所以在實際工作中解決了這個經典問題,也是一大亮點。

緩存和數據庫一致性問題的常見解決方案有兩個:

  1. 使用延遲雙刪+MQ
  2. Canal 監聽 MySQL Binlog 保證數據一致性:Canal 監聽 binlog,再將數據庫更新到 MQ(如 Kafka)中,再通過監聽消息更新 Redis 緩存,Canal 執行流程如下:

圖片圖片

亮點4:自定義注解解決冪等性問題

使用了自定義注解實現了一些通用功能,例如,使用自定義注解實現冪等性處理、使用自定義注解實現了統一數據權限的驗證等。

亮點5:分庫分表技術

如項目中使用了分庫分表技術增加數據庫的并發處理性能,典型的技術實現有 MyCat 和 ShardingSphere。

分庫分表技術介紹

首先來說,“分庫分表”不是一個技術,而是多個技術實現:

  1. 分庫
  1. 垂直分庫
  2. 水平分庫
  1. 分表
  2. 垂直分表
  3. 水平分表

① 垂直分庫

垂直分庫是按照業務將不同的表拆分到不同的數據庫中。例如,在一個電商數據庫中的用戶表和訂單表分別存放到不同的數據庫中,如下圖所示:

圖片圖片

② 水平分庫

水平分庫是將數據按照一定的規則(如用戶 ID 取模、哈希等)分布到不同的數據庫中。比如,根據用戶 ID 對 10 取模,將用戶數據分布到 10 個不同的數據庫中,每個數據庫都保存著完整的數據表結構,如下圖所示:

圖片圖片

③ 垂直分表

分表:

圖片圖片

垂直分表:垂直分表是將一張表按照列的相關性拆分成多張表。例如,將一個包含大量字段的用戶表,拆分為用戶基本信息表和用戶擴展信息表,如下圖所示:

圖片圖片

④ 水平分表

水平分表是將一張表的數據按照行進行拆分。例如按照用戶 ID 的范圍或者哈希值將數據拆分到不同的表中。

圖片圖片

在實際業務中,各種分庫分表技術可以混合使用。

MyCat VS Sharding Sphere

分庫分表的主流實現技術有以下兩種:

  1. MyCat
  2. Apache Sharding Sphere

Sharding Sphere 相比于 MyCat 來說,它的優勢是:

  1. 功能更多:除了讀寫分離和分庫分表之外,還提供了數據加密、流量質量、數據遷移等功能。
  2. 社區更活躍度和生態更好:Sharding Sphere 擁有活躍的社區和豐富的文檔,生態系統較為完善,有更多的用戶和開發者參與。
  3. 靈活性和擴展性:Sharding Sphere 靈活性更高,擴展性也更好,它可以方便地與其他技術集成,這方便 MyCat 支持的比較有限。

亮點6:項目中使用多種設計模式

例如以下這些設計模式:

  1. 責任鏈模式:在請求進入后端項目之后,會經過多個責任鏈攔截器(或過濾器),先鑒權、黑白名單效驗、參數效驗、敏感詞過濾等操作之后,才能進行后續的訪問和操作。
  2. 策略模式:支付功能會根據用戶不同的選擇,使用對應的支付代碼實現支付功能。
  3. 模版方法模式:支付功能實現上,首先在接口中定義支付的基本流程,而具體的支付方式(如信用卡支付、三方平臺支付等)則由子類實現。
  4. 裝飾器模式:在不更改原功能的基礎上,添加新的功能。例如,項目中方法的統計,不更改原來的方法執行,在方法執行前后添加了執行統計記錄功能。
  5. 代理模式:日志代理功能的實現,在執行目標對象的方法前后記錄日志,用于監控和調試。
  6. 生產者消費者模式:使用 MQ 實現生產者和消費者模式,處理異步任務。
  7. 建造者模式:實現類對象的創建和初始化。
  8. 單例模式:項目中的數據源、線程池等都使用了單例模式保證了資源的高效使用。

小結

因為亮點內容比較長,所以咱們就分為上、下兩篇來寫,各位老鐵點贊、收藏先。

責任編輯:武曉燕 來源: 磊哥和Java
相關推薦

2024-07-26 08:10:10

2023-12-13 13:31:00

useEffect對象瀏覽器

2021-08-09 07:47:40

Git面試版本

2021-11-25 10:18:42

RESTfulJava互聯網

2020-12-01 08:47:36

Java異常開發

2020-06-12 15:50:56

options前端服務器

2021-08-03 07:51:43

React項目面試

2024-09-09 08:30:56

代碼

2021-08-11 08:53:23

Git命令面試

2024-05-30 08:04:20

Netty核心組件架構

2021-09-27 06:50:04

非線性數據

2024-08-22 10:39:50

@Async注解代理

2024-03-05 10:33:39

AOPSpring編程

2021-09-26 10:57:16

集合操作場景

2023-12-19 09:24:22

LinuxBIOSUEFI

2020-08-17 07:40:19

消息隊列

2021-04-19 18:56:58

大數字符串運算

2021-08-02 08:34:20

React性能優化

2021-06-02 09:42:29

Node. js全局對象

2021-05-27 05:37:10

HTTP請求頭瀏覽器
點贊
收藏

51CTO技術棧公眾號

91jq激情在线观看| 中日韩在线观看视频| 第四色中文综合网| 亚洲一二三四在线观看| 国产伦精品一区二区三区照片 | www视频在线观看免费| 日欧美一区二区| 日韩中文字幕在线精品| 中文字幕在线视频一区二区三区| h视频在线免费观看| 成人黄页毛片网站| 国产91在线播放九色快色| 成人无码av片在线观看| 免费一级欧美在线大片| 亚洲综合在线五月| 欧美精品欧美精品| 一级黄色片网站| 欧美天天在线| 亚洲视频一区二区| 亚洲18在线看污www麻豆| 色婷婷av在线| 日本一区二区三区在线观看| 成人福利在线视频| 香蕉视频一区二区| 日本久久精品| 67194成人在线观看| 国产美女主播在线播放| 台湾av在线二三区观看| 美国三级日本三级久久99| 欧美大片免费看| 丁香激情五月少妇| xxxx日韩| 欧美日韩在线不卡| 国产主播自拍av| 在线观看免费版| 成人免费毛片高清视频| 国产精品视频午夜| 日本免费一二三区| 97视频精品| 日韩精品视频在线观看网址| 五月婷婷六月合| аⅴ资源天堂资源库在线| 久久精品欧美日韩精品| 91在线播放视频| 狠狠躁夜夜躁人人爽视频| 国产精品99免费看| 综合网中文字幕| 亚洲国产欧美日韩在线| 日本成人片在线| 午夜精品久久久久| 亚洲一区影院| 青青草视频在线免费观看| 国产一区二区电影| 国产精品一区二区三区久久| 国产午夜福利片| 99久久99久久精品国产片桃花 | 中文字幕亚洲情99在线| 一级做a爰片毛片| 日本在线视频一区二区三区| 欧美日免费三级在线| 久久久久久久久久久久久国产精品| 欧美人与动牲性行为| 自拍偷拍亚洲激情| 亚洲综合欧美日韩| 黄色片网站免费在线观看| 国产一区二区福利视频| 成人激情黄色网| 亚洲综合久久网| 在线亚洲国产精品网站| 国模吧一区二区| 99视频只有精品| 欧美国产高清| 最近2019中文免费高清视频观看www99 | 国产精品福利视频| 精品乱子伦一区二区| 久久91精品国产91久久小草| 国产日韩欧美视频| 日韩欧美一级大片| 免费成人在线观看视频| 国产精品久久久久久久一区探花| 黄瓜视频在线免费观看| 久久综合狠狠| 国产精品视频区| 欧美精品一二三四区| 91久久视频| 91国内精品久久| 日韩xxxxxxxxx| 乱人伦精品视频在线观看| 久久乐国产精品| 国产情侣在线视频| 亚洲午夜极品| 5252色成人免费视频| caoporn国产| 三级一区在线视频先锋| 国产精品视频大全| 国产精品视频a| 国产成人免费视频网站| 国产精品一区视频网站| 色呦呦中文字幕| 91麻豆视频网站| 日本高清久久一区二区三区| 在线国产91| 亚洲一区二区三区四区中文字幕| 国产婷婷一区二区三区| 波多野结衣在线高清| 欧美日韩激情网| 最近中文字幕一区二区| 久久av影院| 日韩欧美在线123| 国产免费中文字幕| 国产乱人伦丫前精品视频| 亚洲国模精品一区| 亚洲AV无码成人精品区明星换面| 国产精品久久久久无码av| 欧美成人午夜视频| 全部毛片永久免费看| 老司机精品久久| 91精品久久久久久久久久久久久 | 日本午夜在线| av亚洲产国偷v产偷v自拍| 国产一区二区免费电影| 成年人在线观看| 一区二区免费看| 国产 日韩 亚洲 欧美| 亚洲精品国产嫩草在线观看| 欧美丰满高潮xxxx喷水动漫| 国产中文字幕一区二区| 日韩理论在线| 91精品91久久久久久| 精品不卡一区二区| 成人一级片网址| 亚洲成人一区二区三区| 高潮在线视频| 欧美精品 日韩| 性久久久久久久久久| 欧美日韩精品| 国产自摸综合网| 国产在线观看免费| 亚洲综合色在线| 日本肉体xxxx裸体xxx免费| 欧美色图婷婷| 欧美人与性动交a欧美精品| 无码免费一区二区三区| 国产一区二区三区四区五区美女| 欧美亚洲爱爱另类综合| av超碰免费在线| 欧美性猛交视频| 国产高潮视频在线观看| 中文字幕人成人乱码| 668精品在线视频| 亚洲免费一级片| 1024亚洲合集| 午夜久久久精品| 欧美一区2区| 日本欧美爱爱爱| 午夜视频在线播放| 亚洲成a天堂v人片| 高清一区在线观看| 国产精品一国产精品| 欧美在线亚洲在线| www.xxx国产| 亚洲一区二区三区四区不卡| 欧美日韩一区二区区| 综合亚洲视频| 97超碰最新| 亚洲图区一区| 欧美岛国在线观看| 久久精品这里只有精品| 国产不卡视频在线观看| 国产欧美123| 一区二区三区四区精品视频 | 国产激情久久久久| 日夜干在线视频| 欧美日韩在线另类| 亚洲黄色网址大全| 久久se精品一区二区| 正在播放精油久久| 伊人久久大香| 久久久久999| www日本高清| 亚洲国产日产av| 最近日本中文字幕| 久久久久久亚洲精品杨幂换脸| 精品国产aⅴ麻豆| 日日夜夜天天综合| 综合久久五月天| 99久久国产热无码精品免费| 亚洲一区在线播放| 欧美在线一级片| 天堂一区二区在线| 日本欧美色综合网站免费| 2020国产精品小视频| 欧美精品一区二区三区国产精品| www国产一区| 欧美日韩午夜激情| 免费看黄色三级| 国产综合色产在线精品 | 亚洲第一伊人| 精品免费国产| 97欧美成人| 欧美精品日韩三级| 四虎在线免费看| 欧美日韩国产一级片| 日本a在线观看| 国产日韩欧美精品在线| 最新av免费在线观看| 狠狠噜噜久久| 日韩视频在线播放| 91亚洲无吗| 136fldh精品导航福利| avtt亚洲| 精品国产不卡一区二区三区| 超碰在线观看91| 一区二区三区日韩在线观看| 精品少妇一区二区三区免费观| 裸体在线国模精品偷拍| a天堂资源在线观看| 99久久九九| 久久av一区二区三区亚洲| 九七电影院97理论片久久tvb| 久久免费观看视频| 爱久久·www| 亚洲国产精品一区二区久| 中文字幕观看在线| 亚洲二区在线观看| 日本a级片视频| 国产精品久久久久三级| 污污免费在线观看| 精品一区二区三区免费观看| 国产a级一级片| 欧美不卡在线| 最新中文字幕久久| 精品国产一区二区三区久久久樱花| 99国产超薄肉色丝袜交足的后果 | 久久国产亚洲| 久久66热这里只有精品| 日本精品在线播放| 国产精品视频最多的网站| 性欧美18xxxhd| 欧美多人乱p欧美4p久久| 久久精品蜜桃| 亚洲乱码国产乱码精品精| www日本在线| 欧美精品自拍偷拍| 中国黄色一级视频| 日本久久一区二区| www.国产高清| 色欧美乱欧美15图片| 日韩成人av毛片| 亚洲一区二区三区四区的| 青青草偷拍视频| 自拍偷自拍亚洲精品播放| 日本欧美一区二区三区不卡视频| 国产欧美日韩精品一区| 中文字幕免费在线播放| 成人美女视频在线看| 亚洲成a人无码| 国产精品18久久久久久久久久久久| 污污网站免费观看| 久久99国产乱子伦精品免费| 亚洲怡红院在线| 久久se精品一区精品二区| 白嫩少妇丰满一区二区| 久久久久国产一区二区| 乱子伦视频在线看| 老司机久久99久久精品播放免费| 各处沟厕大尺度偷拍女厕嘘嘘| 亚洲天天综合| 国产不卡一区二区视频| 一区二区三区福利| 日本日本19xxxⅹhd乱影响| 国产欧美在线| 青青在线视频免费| 天堂成人国产精品一区| 九色porny自拍| 国产一区二区女| 可以看的av网址| 成人aa视频在线观看| 亚洲综合自拍网| 成人精品亚洲人成在线| 国产精品久久久免费观看| 久久青草国产手机看片福利盒子| 法国空姐电影在线观看| 欧美国产精品一区二区三区| 成人精品一二三区| 中文字幕一区二区三区在线观看| 97精品在线播放| 亚洲欧美日韩中文字幕一区二区三区| 天天鲁一鲁摸一摸爽一爽| 亚洲精品中文在线观看| 久久无码精品丰满人妻| 精品久久中文字幕久久av| 中文在线字幕av| 制服.丝袜.亚洲.另类.中文 | 久久99久久精品欧美| 国产成人精品综合久久久久99 | 中文字幕人成人乱码| 日韩黄色片在线| 视频一区欧美日韩| 婷婷激情5月天| av一区二区三区| 少妇太紧太爽又黄又硬又爽小说| 一个色在线综合| 日本熟女一区二区| 欧美日韩高清一区| 成人免费视频国产| 国产一区二区三区中文| 在线播放免费av| 日本91av在线播放| 久久久91麻豆精品国产一区| 蜜桃成人免费视频| 五月天综合网站| 少妇无码av无码专区在线观看| 日本不卡一区二区| 下面一进一出好爽视频| 日本一区二区成人在线| 精品午夜福利在线观看| 欧美三级日韩三级| 天堂网在线观看视频| 日韩视频免费中文字幕| zzzwww在线看片免费| 国产色视频一区| 日韩电影不卡一区| 激情图片qvod| 国产精品日本欧美一区二区三区| 亚洲欧美手机在线| 国产亚洲福利社区一区| 久久99久久98精品免观看软件| 欧美亚洲一区三区| 亚洲第一成人av| 日韩在线精品一区| 欧美gay视频| 国产原创精品| 欧美在线二区| a在线观看免费视频| 久久日韩粉嫩一区二区三区| 免费在线观看黄视频| 欧美精品亚洲二区| seseavlu视频在线| 国产精品高潮呻吟视频| 日韩系列在线| 中文精品无码中文字幕无码专区| 麻豆国产精品官网| 成年人免费观看视频网站| 欧美香蕉大胸在线视频观看| 男人天堂网在线视频| 中文字幕亚洲欧美在线| 五月激情久久| 欧美一区1区三区3区公司| 石原莉奈一区二区三区在线观看 | 中文字幕狠狠干| 一个色在线综合| 欧性猛交ⅹxxx乱大交| 欧美日韩福利电影| 免费欧美网站| 99热这里只有精品免费| 国产精品原创巨作av| 五月天激情丁香| 欧美一区二区三区系列电影| 麻豆av免费在线观看| 国产999在线观看| re久久精品视频| 国内自拍视频一区| 国产午夜精品久久久久久免费视| 欧美激情黑白配| 亚洲欧美成人在线| 久久毛片亚洲| 日韩三级电影网站| 麻豆一区二区99久久久久| 成人涩涩小片视频日本| 欧美一卡2卡三卡4卡5免费| av香蕉成人| 99久久久精品免费观看国产| 婷婷伊人综合| 成人免费看片载| 午夜在线成人av| 偷拍自拍在线| 国产精品91久久| 手机在线电影一区| 污免费在线观看| 亚洲大片一区二区三区| 日韩av成人| 日本国产高清不卡| 99精品视频精品精品视频| 亚洲第一区第二区第三区| 亚洲精品国产无天堂网2021 | 51国偷自产一区二区三区| 亚洲性视频h| www.久久国产| 欧美电影影音先锋| 国产天堂在线播放视频| 免费日韩av电影| 捆绑调教一区二区三区| 欧美黑人一级片| 亚洲欧美另类中文字幕| 日韩久久一区| 日韩亚洲欧美视频| 亚洲国产岛国毛片在线| 亚洲精品97久久中文字幕无码| 欧美重口另类videos人妖|