摘要:在結(jié)構(gòu)上引入了頭結(jié)點(diǎn)和尾節(jié)點(diǎn),他們分別指向隊(duì)列的頭和尾,嘗試獲取鎖入隊(duì)服務(wù)教程在它提出十多年后的今天,已經(jīng)成為最重要的應(yīng)用技術(shù)之一。隨著編程經(jīng)驗(yàn)的日積月累,越來越感覺到了解虛擬機(jī)相關(guān)要領(lǐng)的重要性。
JVM 源碼分析之 Jstat 工具原理完全解讀 http://click.aliyun.com/m/8315/
JVM 源碼分析之 Jstat 工具原理完全解讀
http://click.aliyun.com/m/8315/
中生代技術(shù)群分享第四十四期。傳統(tǒng)應(yīng)用使用本地事務(wù)和分布式事務(wù)保證數(shù)據(jù)一致性,但是在微服務(wù)架構(gòu)中數(shù)據(jù)都是服務(wù)私有的,需要通過服務(wù)提供的 api 訪問,分布式事務(wù)不再適用微服務(wù)架構(gòu),傳統(tǒng)分布式事務(wù)不是微服務(wù)中數(shù)據(jù)一致性的最佳選擇。微服務(wù)架構(gòu)中應(yīng)滿足數(shù)據(jù)最終一致性原則。
jsoniter ( json-iterator )是一款快且靈活的 JSON 解析器,同時(shí)提供 Java 和 Go 兩個(gè)版本
微信開發(fā)由于微信服務(wù)器要主動(dòng)發(fā)送消息,所以 Web Server 必須暴露在公網(wǎng)環(huán)境中。
本地開發(fā)經(jīng)常在內(nèi)網(wǎng),雖然有各種 ngrok 等第三方產(chǎn)品,不過要么付費(fèi)使用官方服務(wù)、要么自己搭建服務(wù)麻煩、要么使用通過個(gè)人搭建的服務(wù)不安全,不如直接使用 ssh 實(shí)現(xiàn)內(nèi)網(wǎng)穿透來得簡單。
Java Web 前后端有一個(gè)龐大的生態(tài)系統(tǒng),初入 Java EE 坑的你是否感到一陣迷茫?;蛟S你有太多不懂的名詞,新鮮的概念,那就來入個(gè)門兒吧。
這篇文章對(duì) FluentValidator 做了一個(gè)全面的介紹,從顯示的流式風(fēng)格(Fluent Interface)API 調(diào)用,以及各種豐富多樣的鏈操作方法,再到對(duì) JSR303 – Bean Validation 規(guī)范的集成,最后介紹了高級(jí)點(diǎn)的注解方式驗(yàn)證、支持級(jí)聯(lián)對(duì)象圖和 Spring AOP 的集成。
了解反射機(jī)制,以及 new 一個(gè)實(shí)例的另外一種方法。
在CLH鎖核心思想的影響下,JDK并發(fā)包以CLH鎖作為基礎(chǔ)而設(shè)計(jì),其中主要是考慮到CLH鎖更容易實(shí)現(xiàn)取消與超時(shí)功能。比起原來的CLH鎖已經(jīng)做了很大的改造,主要從兩方面進(jìn)行了改造:節(jié)點(diǎn)的結(jié)構(gòu)與節(jié)點(diǎn)等待機(jī)制。 在結(jié)構(gòu)上引入了頭結(jié)點(diǎn)和尾節(jié)點(diǎn),他們分別指向隊(duì)列的頭和尾,嘗試獲取鎖、入隊(duì)…
在它提出十多年后的今天,REST 已經(jīng)成為最重要的 Web 應(yīng)用技術(shù)之一。隨著所有技術(shù)朝著 API 方向發(fā)展,它的重要性有可能持續(xù)快速地增長。每門主要編程語言現(xiàn)在已經(jīng)包含構(gòu)建 RESTful Web 服務(wù)的框架。同樣地,Web 開發(fā)者和架構(gòu)師對(duì) REST 和 RESTful 服務(wù)有一個(gè)清晰的理解是很重要的。這篇教程解釋了 REST 架構(gòu),然后研究使用它構(gòu)建通用地基于 API 的任務(wù)的細(xì)節(jié)。
看到這個(gè)題目,很多人會(huì)覺得我寫我的 java 代碼,至于類,JVM 愛怎么加載就怎么加載,博主有很長一段時(shí)間也是這么認(rèn)為的。隨著編程經(jīng)驗(yàn)的日積月累,越來越感覺到了解虛擬機(jī)相關(guān)要領(lǐng)的重要性。閑話不多說,老規(guī)矩,先來一段代碼吊吊胃口。
我們先不討論更新緩存和更新數(shù)據(jù)這兩個(gè)事是一個(gè)事務(wù)的事,或是會(huì)有失敗的可能,我們先假設(shè)更新數(shù)據(jù)庫和更新緩存都可以成功的情況(我們先把成功的代碼邏輯先寫對(duì))。
更新緩存的的 Design Pattern 有四種:Cache aside, Read through, Write through, Write behind caching,我們下面一一來看一下這四種 Pattern。
這篇文章講的是如何使用 Guava Cache 構(gòu)建 Java 內(nèi)存基本的緩存,Guava Cache 緩存類似于 ConcurrentMap,但不完全相同。
我們知道,http 協(xié)議都是明文傳輸內(nèi)容,在早期只展示靜態(tài)內(nèi)容時(shí)沒有問題。伴隨著互聯(lián)網(wǎng)的快速發(fā)展,人們對(duì)于網(wǎng)絡(luò)傳輸安全性的要求也越來越高,https 協(xié)議因此出現(xiàn)。如上圖所示,在 https 加密中真正起作用的其實(shí)是 SSL/TLS 協(xié)議。SSL/TLS 協(xié)議作用在 http 協(xié)議之下,對(duì)于上層應(yīng)用來說,原來的發(fā)送接收數(shù)據(jù)流程不變,這就很好地兼容了老的 http 協(xié)議,這也是軟件開發(fā)中分層實(shí)現(xiàn)的體現(xiàn)。
SSL/TLS 握手是為了安全地協(xié)商出一份對(duì)稱加密的秘鑰,這個(gè)過程很有意思,下面我們一起來了解一下。
在之前的章節(jié)中,我們都是假設(shè)程序中只有一條執(zhí)行流,程序從main方法的第一條語句逐條執(zhí)行直到結(jié)束。從本節(jié)開始,我們討論并發(fā),在程序中創(chuàng)建線程來啟動(dòng)多條執(zhí)行流,并發(fā)和線程是一個(gè)復(fù)雜的話題,本節(jié),我們先來討論Java中線程的一些基本概念。 線程表示一條多帶帶的執(zhí)行流,它有自己的程序執(zhí)…
事實(shí)上推送欄已經(jīng)成了廣告欄 Orz
???關(guān)注微信公眾號(hào):【芋艿的后端小屋】有福利: RocketMQ / MyCAT / Sharding-JDBC 所有源碼分析文章列表 RocketMQ / MyCAT / Sharding-JDBC 中文注釋源碼 GitHub 地址 您對(duì)于源碼的疑問每條留言都將得到認(rèn)…
上節(jié),我們初步探討了 Java 并發(fā)包中的任務(wù)執(zhí)行服務(wù),實(shí)際中,任務(wù)執(zhí)行服務(wù)的主要實(shí)現(xiàn)機(jī)制是線程池,本節(jié),我們就來探討線程池。 基本概念 線程池,顧名思義,就是一個(gè)線程的池子,里面有若干線程,它們的目的就是執(zhí)行提交給線程池的任務(wù),執(zhí)行完一個(gè)任務(wù)后不會(huì)退出,而是繼續(xù)等待或執(zhí)行新任務(wù)?!?br>
今天這一篇沒想到會(huì)這么長,后面有一段是寫網(wǎng)絡(luò)模型的,和緩存本身的關(guān)系不大,只是寫到那里就想到了這個(gè)問題,多寫了一些,那一段是我自己的理解,肯定有不對(duì)的地方,歡迎討論拍磚。 前言 前面花了一篇文章說數(shù)據(jù)庫這個(gè)輪子,其實(shí)說得還很淺很淺的,真正的數(shù)據(jù)庫比這復(fù)雜不少,今天我們繼續(xù)輪子系…
今天繼續(xù)談一下業(yè)務(wù)層改造相關(guān)的一個(gè)場景:領(lǐng)取紅包。紅包,是這幾年最火的一類營銷手段,從當(dāng)年微信紅包走紅后,無論是電商還是互金,都開始加入了“紅包”。紅包場景本身并不復(fù)雜,但由于涉及到了資金的轉(zhuǎn)移,就會(huì)引入事務(wù)一致性的問題,而且從我了解到的情況看,很多同學(xué)在處理這塊業(yè)務(wù)的時(shí)候,剛…
本篇文章已授權(quán)微信公眾號(hào) guolin_blog (郭霖)獨(dú)家發(fā)布原文鏈接:模擬服務(wù)器返回?cái)?shù)據(jù) 背景 模擬服務(wù)器返回的數(shù)據(jù),在以下場景具有實(shí)際意義: 和服務(wù)器開發(fā)協(xié)商好開發(fā)接口,但服務(wù)器API尚未部署,想接口定義好就進(jìn)行開發(fā);服務(wù)器已部署,返回的數(shù)據(jù)不能測試到各種情況,希望返回…
基于 Token 的 WEB 后臺(tái)認(rèn)證機(jī)制
這篇文章是作者讀完深入了解 java 虛擬機(jī)的讀書筆記,可以作為學(xué)習(xí) java 虛擬機(jī)的路線。
Json web token 起源
netty 源碼分析之服務(wù)端啟動(dòng)全解析。
你有沒有思考過Spring中的@Autowired注解?通常用于方便依賴注入,而隱藏在這個(gè)過程之后的機(jī)制到底是怎樣,將在本篇中進(jìn)行講述。 @Autowired所具有的功能@Autowired是一個(gè)用來執(zhí)行依賴注入的注解。每當(dāng)一個(gè)Spring管理的bean發(fā)現(xiàn)有這個(gè)注解時(shí)候,它會(huì)…
java io 流重定向標(biāo)準(zhǔn)輸入和輸出
99%的人都理解錯(cuò)了HTTP中GET與POST的區(qū)別
閱讀過 寫一個(gè)高端做圖服務(wù)器 一定很好奇這么高端的做圖服務(wù)器是什么樣子的。
現(xiàn)在代碼出來了,可以一睹芳容。
博主根據(jù)自身的項(xiàng)目經(jīng)驗(yàn),介紹如何對(duì)現(xiàn)有架構(gòu)進(jìn)行調(diào)整,總結(jié)這過程中的相關(guān)技術(shù)選型,以及如何實(shí)施技改,并分享最終取得的非常讓人意外的成果。
高手教你十分鐘寫個(gè) RPC 框架
http://click.aliyun.com/m/8311/
讀寫分離,負(fù)載均衡,DNS 動(dòng)態(tài)解析,CDN, memcached, Redis, 動(dòng)態(tài)擴(kuò)容,你是否曾經(jīng)被這些名詞搞得暈頭轉(zhuǎn)向,然后發(fā)誓要搞清楚這些概念,然后就沒有然后了?;蛟S這篇文章可以讓你下次和程序員聊天時(shí)可以插一兩句話。
閑逛之余,看到一個(gè)不錯(cuò)的downloading動(dòng)效,這個(gè)動(dòng)效用CJJ的話說難度還好,但本人覺得還比較靈動(dòng)、帶感、俏皮、有新意,好了話不多說,咱們先來擼一張高清無碼gif圖: 擼完,咱可以將整個(gè)動(dòng)效簡單劃分為以下流程:1.BeforeProgress(顯示進(jìn)度前);2.InPro…
jsoniter(json-iterator)是一款快且靈活的 JSON 解析器,同時(shí)提供 Java 和 Go 兩個(gè)版本
不知道大家有沒有這樣的感覺,在平時(shí)開發(fā)中,經(jīng)常有很多 dao、service 類中存著很多重復(fù)的代碼,Velocity 提供了模板生成工具,今天我教大家怎么和這些大量的重復(fù)代碼說再見。
性能測試是后臺(tái)服務(wù)測試中的一個(gè)重要環(huán)節(jié)。本文用一個(gè)真實(shí)發(fā)生過的線上事故作為案例,從流程、測試方法、性能關(guān)注點(diǎn)等幾個(gè)方面介紹了性能測試需要關(guān)注的要點(diǎn)。
Tomcat 的用戶一定都使用過其應(yīng)用部署功能,無論是直接拷貝文件到 webapps 目錄,還是修改 server.xml 以目錄的形式部署,或者是增加虛擬主機(jī),指定新的 appBase 等等。
阿里大牛,java 書單
本文深入介紹了 Java 的微服務(wù)開發(fā),包括其定義和一些可選方案,如 Spring Boot、Dropwizard 及其他開源項(xiàng)目。
上節(jié)介紹完了并發(fā),從本節(jié)開始,我們來探討 Java 中的一些動(dòng)態(tài)特性,包括反射、類加載器、注解和動(dòng)態(tài)代理等。利用這些特性,可以以優(yōu)雅的方式實(shí)現(xiàn)一些靈活和通用的功能,經(jīng)常用于各種框架、庫和系統(tǒng)程序中,比如: 在 63 節(jié)介紹的實(shí)用序列化庫 Jackson,利用反射和注解實(shí)現(xiàn)了通用的序列化 /…
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/68064.html
摘要:淺談秒殺系統(tǒng)架構(gòu)設(shè)計(jì)后端掘金秒殺是電子商務(wù)網(wǎng)站常見的一種營銷手段。這兩個(gè)項(xiàng)目白話網(wǎng)站架構(gòu)演進(jìn)后端掘金這是白話系列的文章。 淺談秒殺系統(tǒng)架構(gòu)設(shè)計(jì) - 后端 - 掘金秒殺是電子商務(wù)網(wǎng)站常見的一種營銷手段。 不要整個(gè)系統(tǒng)宕機(jī)。 即使系統(tǒng)故障,也不要將錯(cuò)誤數(shù)據(jù)展示出來。 盡量保持公平公正。 實(shí)現(xiàn)效果 秒殺開始前,搶購按鈕為活動(dòng)未開始。 秒殺開始時(shí),搶購按鈕可以點(diǎn)擊下單。 秒殺結(jié)束后,按鈕按鈕變...
摘要:業(yè)務(wù)具體介紹,本系統(tǒng)是一個(gè)共享圖書的小程序項(xiàng)目,企業(yè)級(jí),創(chuàng)業(yè)項(xiàng)目。具體業(yè)務(wù)流程類似共享自行車,也有設(shè)計(jì)押金月卡季卡等等。以上是單個(gè)頁面的實(shí)現(xiàn)基本文件目錄。其中還涉及微信支付環(huán)節(jié)。 本博客 貓叔的博客,轉(zhuǎn)載請申明出閱讀本文約3分鐘適讀人群:Java后端、Java初級(jí)、小程序前端 本文是兩個(gè)GitHub項(xiàng)目的序章,旨在指導(dǎo)初級(jí)程序員完成一個(gè)企業(yè)級(jí)共享項(xiàng)目的前后端代碼實(shí)踐,豐富自身的實(shí)戰(zhàn)經(jīng)...
摘要:小項(xiàng)目的內(nèi)容基本就是維護(hù)訂單表,訂單狀態(tài),用戶表等,小程序還要解決微信登錄,微信支付等等微信。后臺(tái)管理系統(tǒng)待施工,其實(shí)這部分和小程序差不多,改改直接用,出來往的服務(wù)一扔,就給甲方用了。 引言:最近一直在做一些小的小程序項(xiàng)目,小項(xiàng)目雖然小,但是前后端和管理系統(tǒng)都還是需要的。在甲方極低的預(yù)算下,人工又顯得極其緊張,所以我大概摸索出了一套能用盡量少的代碼,盡量減少單人工作量,又能實(shí)現(xiàn)實(shí)際需求...
摘要:積少成多,最后造成內(nèi)存泄漏。前端內(nèi)存泄漏的影響,都是發(fā)生在客戶機(jī)器上,而且基本上現(xiàn)代瀏覽器也會(huì)做好保護(hù)機(jī)制,一般自行刷新之后都會(huì)解決。但是,一旦后端繪制內(nèi)存泄漏造成宕機(jī)之后,整個(gè)服務(wù)器都會(huì)受影響,危險(xiǎn)性更大,搞不好年終獎(jiǎng)就沒了。 引言 Memory Leak 是最難排查調(diào)試的 Bug 種類之一,因?yàn)閮?nèi)存泄漏是個(gè) undecidable problem,只有開發(fā)者才能明確一塊內(nèi)存是不是需...
摘要:其中經(jīng)歷了入門到放棄系列的火熱,想起了此題目,可直到其熱度褪去依然沒有開寫。再之前的實(shí)習(xí)也是上午面試下午入職的。 這是前幾篇前端面試文章的結(jié)尾,是很多個(gè)月前就該寫下的事情。其中經(jīng)歷了入門到放棄系列的火熱,想起了此題目,可直到其熱度褪去依然沒有開寫。不能再拖了,否則事情估計(jì)都快忘光了。 面試過程 依然是某金融集團(tuán)的外包,這次換了一個(gè)外包公司。首先是電話面試,還是還是些常見的前端問題,自己...
閱讀 4649·2021-09-10 11:22
閱讀 563·2019-08-30 11:17
閱讀 2595·2019-08-30 11:03
閱讀 453·2019-08-29 11:18
閱讀 3483·2019-08-28 17:59
閱讀 3241·2019-08-26 13:40
閱讀 3201·2019-08-26 10:29
閱讀 1172·2019-08-26 10:14