原创 什麼是JS跨域、以及CORS解決方案

一、什麼是JS跨域 1、跨域:在瞭解跨域之前,首先要知道什麼是同源策略(same-origin policy)。簡單來講同源策略就是瀏覽器爲了保證用戶信息的安全,防止惡意的網站竊取數據,禁止不同域之間的JS進行交互。對於瀏覽器而言只要域名

原创 JDK8中接口的變化

JDK8中接口的變化 那麼多學技術的都可以成功,憑什麼我不行 在JDK8之前,接口之中可以定義變量和方法。 變量必須(默認)是public、static、final的,方法必須(默認)是public、abstract的。 由於這些修飾

原创 面試題:手寫一個快速排序

手寫一個快速排序算法 實現對數組  int[] arr = {49, 38, 65, 97, 23, 22, 76, 1, 5, 8, 2, 0, -1, 22};進行排序   基本思想是: 1.先從數列中取出一個數作爲基準數。 2.分區

原创 線程池關閉不合理,導致應用無法正常stop的情況

在上一篇博客中,我使用了線程池進行管理線程,達到線程複用的效果。 詳情參考:線程池+CountDownLatch優化代碼,提高程序執行效率   程序啓動、運行皆無異常,線程池確實對程序中創建的線程進行管理,但是,在我關閉tomcat時,無

原创 Docker入門,看懂這篇文章就夠了

Docker 一、Docker是什麼 Docker是一個容器化平臺,它將應用程序及其所有依賴項以容器的形式打包在一起,以確保應用程序在任何環境(無論是開發環境、測試環境還是生產環境)中無縫運行。 Docker容器,將一個軟件包在一個

原创 Javap 指令集

有時候爲了能理解JVM對程序所做的優化等,需要查看程序的字節碼,因此知道了解一些常見的指令集很重要! 參考鏈接 Javap 指令集

原创 大廠面試題:兩個線程交叉打印,一個打印數字,一個打印小寫字母,結果爲 1A2B3C4D5E6F

前言:這道題主要考察的就是,多線程之間的通信、喚醒、切換問題。 B站上看到馬士兵老師的視頻:這道大廠面試題區分平庸與卓越 部分解法整理如下: LockSupport實現方式 /** * @ClassName: LockSupport

原创 線程池+CountDownLatch優化代碼,提高程序執行效率

在前幾篇博客中,我使用Redis來緩存熱點數據,提高首頁的訪問速度 (參考SSM整合Redis) 發現,相比於每次從數據庫中查詢數據,程序執行速度提高了很多。 今天,我決定對這個需求繼續優化。採用多線程的方式來實現。 先來看一下優化之前的

原创 mybatis中配置useGeneratedKeys="true" keyProperty="id" 的作用

我們有時候在開發中需要向表中插入自增ID,這個時候領域模型如果想要獲取該ID的值,就需要在相應的mapper文件中添加useGeneratedKeys="true" keyProperty="id"。 mapper.xml示例:

原创 SpringTask入門之定時清除緩存數據

在上一篇博客中SSM整合redis中 ,我將redis整合進SSM中,目的是將首頁的熱點數據放入緩存中,以免每次都去數據庫讀取,效率低下。與此同時,這樣可能會導致數據不一致,一段時間以後,緩存中的數據,可能不是熱點數據了。 解決方案:使用

原创 @Autowired和@Resource的區別@Autowired()@Qualifier("baseDao") privateBaseDao baseDao;

相同點 @Resource的作用相當於@Autowired。  @Autowired與@Resource都可以用來裝配bean. 都可以寫在字段上,或寫在setter方法上。 不同點 @Autowired按byType自動注入,而@Res

原创 如何從Linux下載一個文件到本地

需求:將之前上傳到tomcat中的war包下載到本地 如果安裝了xftp之類的跨平臺傳輸工具,可以直接使用xftp傳輸 本文以xshell演示如何使用命令進行下載 步驟: 1、到需要下載文件目錄 pwd pwd  輸出: /op

原创 深入理解ConcurrentModificationException併發修改異常

深入理解ConcurrentModificationException併發修改異常   我是一個雙非二本院校軟件工廠專業的學生,自學Java6個月 接下來一段時間,我將以複習的形式,總結所學知識,同時進行輸出,形成自己的知識體系。 雞湯

原创 一文看懂Java中創建線程的所有方式(繼承Thread,實現Runnable,實現Callable,線程池)

一文看懂Java中創建線程的所有方式 好像有點標題黨的感覺,但是乾貨絕對多,絕對有收穫 本文部分參考周陽老師大廠面試題第二講 覺得有用,點個贊吧 目錄 1、繼承Thread類 2、實現Runnable接口 3、 實現callable接

原创 什麼是緩存穿透、緩存擊穿、緩存雪崩?如何預防?

什麼是緩存穿透、緩存擊穿、緩存雪崩?如何預防?   一、什麼是緩存穿透,如何預防? 緩存穿透是指緩存和數據庫中都沒有的數據,而用戶不斷髮起請求,請求直接打在了數據庫上。      舉個例子: 對於系統A,假設一秒 5000 個請求,結果其