原创 這份github上被14萬人點讚的Java教程太強了

前幾天有個小夥伴加我之後問了下面的這個問題。我看到後是一臉懵逼的狀態,jcombobox?實話說,我已經完全忘了在Java中還有這麼個東西。 在網上一番搜索後,才發現原來它是 swing 中的下拉列表組件。swing 又是什麼呢?swin

原创 使用jwt來保護你的接口服務

以前寫過一篇關於接口服務規範的文章,原文在此,裏面關於安全性問題重點講述了通過appid,appkey,timestamp,nonce以及sign來獲取token,使用token來保障接口服務的安全。今天我們來講述一種更加便捷的方式,使用j

原创 分佈式session的幾種解決方案,你中意哪種?

我發現了一個商城,我還沒有登錄,就可以往購物車中添加商品,加了好幾件後,我準備付款,需要我先去登錄,登錄完之後付款。 現在很多商城,都會要求用戶先去登錄,登錄之後再往購物車中添加商品,這樣用戶、購物車、商品,三個對象之間就有了綁定關係。 而

原创 手擼了一個starter,同事直誇我666~

Spring Boot starter原理 Spring Boot 將常見的開發功能,分成了一個個的starter,這樣我們開發功能的時候只需要引入對應的starter,而不需要去引入一堆依賴了!starter可以理解爲一個依賴組,其主要功

原创 Java中的深淺拷貝問題,你清楚嗎?

一、前言 拷貝這個詞想必大家都很熟悉,在工作中經常需要拷貝一份文件作爲副本。拷貝的好處也很明顯,相較於新建來說,可以節省很大的工作量。在Java中,同樣存在拷貝這個概念,拷貝的意義也是可以節省創建對象的開銷。 Object類中有一個方法cl

原创 爲什麼線程安全的List推薦使用CopyOnWriteArrayList,而不是Vector

注:本系列文章中用到的jdk版本均爲java8 相比很多同學在剛接觸Java集合的時候,線程安全的List用的一定是Vector。但是現在用到的線程安全的List一般都會用CopyOnWriteArrayList,很少有人再去用Vect

原创 從面試角度分析ArrayList源碼

注:本系列文章中用到的jdk版本均爲java8 ArrayList類圖如下: ArrayList的底層是由數組實現的,數組的特點是固定大小,而ArrayList實現了動態擴容。 ArrayList部分變量如下,在下面的分析中會用到這些

原创 從面試角度分析LinkedList源碼

注:本系列文章中用到的jdk版本均爲java8 LinkedList類圖如下: LinkedList底層是由雙向鏈表實現的。鏈表好比火車,每節車廂包含了車廂和連接下一節車廂的連接點。而雙向鏈表的每個節點不僅有指向下一個節點的指針,還有

原创 一遍記住Java常用的八種排序算法

1.直接插入排序 經常碰到這樣一類排序問題:把新的數據插入到已經排好的數據列中。 將第一個數和第二個數排序,然後構成一個有序序列 將第三個數插入進去,構成一個新的有序序列。 對第四個數、第五個數……直到最後一個數,重複第二步。 如

原创 爲什麼你寫的攔截器注入不了 Java bean?

一、如何實現攔截器 在Spring Boot項目中,攔截器經常被用來做登陸驗證,日誌記錄等操作。攔截器是Spring提供的,所以可以將攔截器注成bean,由IOC容器來管理。實現攔截器的方式很簡單,主要由以下兩個步驟: 自定義攔截器類實現

原创 Redis還可以做哪些事?

在上一篇文章中,講到了redis五大基本數據類型的使用場景,除了string,hash,list,set,zset之外,redis還提供了一些其他的數據結構(當然,嚴格意義上也不算數據結構),一起來看看redis還可以做哪些事? 一 Bit

原创 Redis可以做哪些事?

Redis是一種基於鍵值對的NoSQL數據庫,它的值主要由string(字符串),hash(哈希),list(列表),set(集合),zset(有序集合)五種基本數據結構構成,除此之外還支持一些其他的數據結構和算法。key都是由字符串構成的

原创 1024|推薦一個開源免費的Spring Boot教程

2020-1024=996! 今天,星期六,你們是否加班了?我反正加了!早上去公司開了一早上會,中午回家寫下了這篇文章。 今天,我要推薦一個開源免費的Spring Boot項目,就是我最近日更的Spring Boot系列文章——spring

原创 spring-boot-route(二十三)開發微信公衆號

在講微信公衆號開發之前,先來大概瞭解一下微信公衆號。微信公衆號大體上可以分爲服務號和訂閱號,訂閱號和服務號的區別如下: 服務號可以申請微信支付功能。 服務號只能由企業申請,訂閱號可以有企業或個人申請。 訂閱號和服務號每月推送消息次數不同,

原创 spring-boot-route(二十二)實現郵件發送功能

在項目開發中,除了需要短信驗證外,有時候爲了節省 短信費也會使用郵件發送。在Spring項目中發送郵件需要封裝複雜的消息體,不太方便。而在Spring Boot項目中發送郵件就太簡單了,下面一起來看看Spring Boot如何發送郵件。 本