原创 MyBatis在Spring中的事務管理 原

項目中經常遇到MyBatis與Spring的組合開發,並且相應的事務管理交給Spring。今天我這裏記錄一下Spring中Mybatis的事務管理。 先看代碼: spring-context.xml <?xml version="1.0"

原创 關於多線程中鎖的理解 原

在多線程中,鎖是非常重要的一個東西。 在Java語言中,有對象和類之分,因此多線程的鎖也可分爲對象鎖和類鎖。 對象鎖,顧名思義就是使用一個對象作爲鎖在多線程中使用;而類鎖,這個主要是在類級別的方法或者代碼塊上加的鎖,比如說static方法或

原创 關於web項目的冪等性 原

其實這個問題一直存在,只是你作爲開發人員有沒有考慮到的問題。 所謂的冪等性,我的理解就是客戶端的重複提交請求,而後端只處理一次。 有很多博文都提供瞭解決方案,例如:https://www.cnblogs.com/panxuejun/p/85

原创 使用Docker部署oracle數據庫和Tomcat應用的簡單示例 原

一、首先下載鏡像文件(假如你已經下載了oracle和tomcat的鏡像,請轉到後面到段落閱讀) 下載oracle鏡像(根據自己需要下載相應到版本) docker pull alexeiled/docker-oracle-xe-11g

原创 關於線程鎖的另外一個問題 原

多線程之間通過鎖機制解決了共享資源的爭奪,通常我們會使用某個具體的對象作爲鎖,那麼,如果這個鎖的值改變了?線程之間還會保持同步嗎? 舉例代碼: import java.util.Objects; public class Operator

原创 mac下玩docker 原

環境: Mac OS 10.14.1 Homebrew 1.8.1 首先,使用brew安裝docker,爲啥要用brew?好管理唄,當然你可以直接到官網下載docker安裝也沒問題。 brew cask install docker 下載完

原创 利用Redis進行全頁面緩存的簡單Demo 原

使用Redis進行全頁面緩存,如何實現呢?本文使用簡單的思路來實現這個功能。 一、環境介紹 使用的開源框架主要是springmvc、spring-data-redis、redis 開發工具:Intellij IDEA 2017.2.4

原创 一個很有趣的關於線程鎖的問題 原

多線程的鎖是一個很重要的東西,使用好萬事好,使用不好,事事糟糕。下面這個例子,如果你感興趣,可以在文後留言共同探討。 例子代碼: public class ShareBody { public void print(int cou

原创 記錄一下,Mac下無法安裝pyqt5-tools 原

最近想研究一下python的qt,搜了一些資料,需要先安裝pyqt5(這個只是庫文件,編寫界面還是沒有可視化操作),另外可視化界面還需安裝pyqt5-tools,在安裝過程中總是報錯,如下: Collecting pyqt5-tools

原创 Java多線程關鍵字volatile的理解 原

最近在學習Java多線程相關的內容,學到了volatile關鍵字,在以前的面試中也遇到了這個問題。 首先,先來看個例子: public class MyThread extends Thread { volatile public

原创 TypeError: 'module' object is not callable的問題 原

寫慣了Java代碼,再來寫python代碼,也會嘗試去定義package,然而在引入的時候報錯了TypeError: 'module' object is not callable。 什麼原因呢? 例如,我在package中創建了pers

原创 一個有趣的Java問題 原

先來看看源碼: public class TestDemo { public static void main(String[] args) { Integer a = 10; Integer

原创 Zookeeper3.4.10使用Curator 原

在學習使用Curator時,盲目的直接是用了最新版本,代碼完全按照官網寫了,但是運行就是報錯,無奈問了度娘,最終發現是curator使用的版本問題。 搜做到一篇文章(文章出處) 意思就是說,curaotr版本換成低版本的(2.XX)就可以

原创 JetBrains IDEA優化 原

1、優化內存。 網上有很多例子,都是直接去修改IDEA安裝自帶的配置文件。事實上,IDEA給我們提供了內存自定義方法。方法如下: 編輯自定義的VM文件,會在當前用戶的目錄下建立一個vmoptions的一個文件。我這裏設定的內容如下: #

原创 學習Java多線程狀態轉換 原

Java多線程擁有五個狀態:新建、就緒、運行、阻塞、結束。 新建狀態:就是創建線程對象,也就是new一個新的線程,未做其他任何動作,相當於初始化線程; 就緒狀態:如果線程當前狀態爲新建,那麼執行線程的start()方法,就使得線程狀態更