如何吃透一個java專案?
專案經驗對於java開發者來說是一個非常重要的積累,尤其在面試的時候如果對專案理解不夠透徹,面試官犀利的問題會讓你懷疑人生,今天小千就來給大家介紹一下如何真正瞭解一個java專案。
第一,掌握必備的技術棧
一個Java專案,型別不同,要求的技術棧也不同,這取決於專案的業務場景,例如傳統的OA專案、企業CRM專案等與網際網路場景下的分散式專案差別就非常大,那對於初入行的小夥伴來說,該如何選擇研究的專案呢,威哥給個建議合,找個網際網路電商型別的專案,然後仔細下手,因為這符合當前的主流專案型別,並且技術棧含量較高,最主要的是你可以學到更多技術點,那一個電商型別的專案,都要包含哪些主流的技術棧呢,這裡整理了一個圖,分享給你:
第二,專案業務理解
有了技術棧知識的儲備,其實還不能獨立完成企業真實專案,我們都知道,每一個專案一定是有業務場景的,我們來舉個電商專案中的例子,來一起分析一下其中的業務流程。
訂單的整體業務流程: 使用者下單後,訂單中心鎖定庫存,讀取使用者資訊及等級;獲取商品資訊,包含sku、價格、數量;風控中心同時開始檢測使用者資訊及裝置購買頻次;促銷活動中心對商品是否參加活動、使用者是否有優惠券、參與拼團、秒殺;支付模組根據促銷、商品、使用者模組資料,計算出準確的訂單金額,調出支付方式;庫存減,拆解訂單,拆解訂單,根據商品所屬供應商、規格所在倉庫、收貨地址、重量合理拆分到具體倉庫高效發貨;倉庫收到訂單,列印發貨單,減庫存,發貨;物流配送中心給出物流配送資料;使用者確認收貨;財務計算訂單流失,訂單發票;在訂單的不同階段退換貨,申請售後,售後根據條件是否透過(下文訂單的逆向狀態,有詳解訂單在正向流通中,發起的逆向退換貨、退款操作);透過後,重新推送到訂單中心,在訂單處理模組需要對原庫存釋放,產生新的訂單,或在原訂單某件商品上取消且備註新增商品且備註。
所以,專案中每個業務模組的流程,邏輯流轉,都是程式設計師必須瞭解的,記住威哥說的,確保業務的正常執行流轉,是程式邏輯編寫的關鍵,因為這裡面會有實現邏輯的很多坑需要你去解決,而解決這個樣的坑多了,你得到的才是真正的經驗,才能說有經驗處理類似專案的類似功能,從而才能提高開發效率,這是專案leader喜歡的員工,幹活快。
第三,專案難點與解決方案
在一個專案中,必然會出現相關的難點需要去攻克,你說沒有難點?怎麼可能,那就製造難點,為什麼這麼說,這是體現你技術價值的地方啊,還是舉個例子,還是電商專案中的秒殺解決方案,不同的專案由於併發量不同,解決方案是有很大區別的。
秒殺一般會帶來2個問題: 1、高併發。2、超賣
如何解決?
架構:擴容、業務分離、資料分離 產品:下單按鈕控制、秒殺答題削峰、簡化頁面設計 前端:限流(反作弊)、靜態化以及頁面快取 後端:記憶體資料庫 ,訊息佇列、程式計數器、分散式鎖
當你真的吃透一個專案之後就會發現其他的專案也能輕鬆搞定了。最後歡迎大家關注小千,小千會繼續分享更多Java知識的。
本文來自千鋒教育,轉載請註明出處。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2787513/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 怎麼吃透一個java專案?Java
- 關於一個java專案呼叫另一個java專案的心得Java
- 如何使用eclipse軟體建立一個Java專案?EclipseJava
- 如何搭建一個vue專案Vue
- 如何接手一個新專案
- IDEA如何在一個專案空間下管理多個專案?Idea
- 如何打包部署一個tomcat專案Tomcat
- 如何建立一個完美的 Python 專案Python
- 如何快速建立一個爬蟲專案爬蟲
- 如何初始化一個typescript專案TypeScript
- 如何完成一個優秀的專案
- 如何建立一個Maven專案(eclipse版本)MavenEclipse
- Java專案如何統一日誌管理Java
- 一個練習專案,好玩的bbs-javaJava
- 我如何用Django開發一個專案Django
- 如何清晰地描述一個專案架構架構
- 如何將一個本地專案推到github上Github
- 如何去參與一個開源專案
- 搭建一個專案
- 如何在Linux安裝Python+JDK+Mysql+Tomcat+Django以及簡單的跑一個java web專案和一個簡單的Django專案LinuxPythonJDKMySqlTomcatDjangoJavaWeb
- java怎麼匯入專案?java已有專案如何匯入eclipse?JavaEclipse
- 專案管理小結(如何做好一個百萬級專案甚至千萬級別的專案)專案管理
- 一個外行如何快速融入node專案開發
- 如何打造一個上千Star的Github專案Github
- 如何找到並快速上手一個開源專案
- SAP freelancer如何找到一個不苦逼的專案?
- 如何建立一個Solidity智慧合約專案? - OliverSolid
- 如何5分鐘跑起來一個完整專案?
- 如何將一個Java檔案編譯成classJava編譯
- 如何在github同一個倉庫上傳多個專案Github
- 如何將一個spring專案重構成spring-boot專案(僅後臺)Springboot
- Java專案Docker化改造(一)JavaDocker
- 搭建一個SSM專案SSM
- 第一個SpringBoot專案Spring Boot
- 開始一個專案
- 第一個activity專案
- Ubuntu如何刪除Dash中的某一個專案Ubuntu
- 如何發起並運營一個開源專案