原创 mysql添加一列到指定位置

語法:alter table 表 add 新增字段 varchar(50) default null comment ‘註釋’ after 要加在那個字段的後面 比如: alter table order add TAX_FEE

原创 POI生成excel文件以及預覽文件功能

邏輯如下,先得到一個list,然後遍歷list的詳情放到對應的excel表中,我這裏生成的是xlsx文件。如果是xls文件代碼會稍微不同,暫時不貼出了,測試例子如下 //生成excel文件 public static Stri

原创 ibatis-generator

ibatis-generator是個神器,支持自動生成xml文件,dao,model等,一般都滿足日常的crud需求 執行這個方法就可以生成了。 然後把相應的代碼複製到項目中去,即可使用 生成有一個xxxExample的文

原创 input框輸入實時觸發

有時候需要校驗input框的值,比如說郵箱電話之類的正則校驗,onblur事件是失去焦點的時候才觸發,不夠實時,input事件是馬上觸發,比如下面這種情況,如果輸入中文的話,這個時候不應該觸發的,但是實際上已經校驗了5次了,也太靈

原创 淺談java GC的幾種算法

最近在看<<深入理解java虛擬機>>這本書,對垃圾收集算法這部分內容做個筆記整理下。 java的運行時數據區如下,其實就是堆,棧,方法區,其中棧又分爲虛擬機棧,本地方法棧,程序計數器,並且棧是屬於線程私有,堆跟方法區是線程共享的

原创 分享個時間插件datetimepicker

使用方法如下,html裏面加上日期輸入框,需要引入jquery跟bootstrap的相關js,大概代碼如下 <form class="form"> <div class="floor date-floor clearfi

原创 ibatis批量插入數據庫

在大批量插入數據庫的時候,如果用for循環一條條插入效率肯定會異常底下,本文介紹ibatis批量插入是如何做的,我這裏使用多線程進行分批插入,一批插入一萬條,實際插入交給子線程處理,這樣可以節省前端等待時間。在dao層定義個線程池

原创 js帶預覽功能上傳圖片

一般上傳文件使用的是type="file"類型, 看到的效果大概就是這樣的 如果要實現預覽上傳的圖片功能,先要在div中開闢一個存放預覽圖片的地方,如下面的preview空間, <form id="

原创 Mysql原子性,持久性實現原理

事務的特性是原子性(Atomicity),一致性(Consistency),隔離性(Isolation),持久性(Durability),簡稱ACID,本文主要是說原子性和持久性。 1.redo log mysql爲了提升性能不會

原创 重學JVM之垃圾收集器

如下圖展示的是垃圾收集器的作用範圍是屬於新生代還是老年代,如果兩個垃圾收集器之間存在連線,則說明他們之間可以配合使用。 Serial 是一種單線程收集器 優點:簡單高效,擁有很高的單線程收集效率 缺點:收集過程需要暫停所有線程,

原创 重學JVM之棧結構

整個運行時數據區如下,其中堆跟方法區是線程共享的,虛擬機棧,本地方法棧,程序計數器是線程私有的。虛擬機棧隨着線程的創建而創建,每一個線程都有一個虛擬機棧。 每一個被線程執行的方法,稱爲該棧的棧幀,即每個方法對應一個棧幀。調用一個

原创 重學JVM之總結

我們知道,java文件經過編譯後轉換爲class文件,然後經過類加載子系統加載到jvm中執行,這個過程如下圖所示: class文件結構 編譯過程就是把java文件變爲class文件的過程,用javac命令就可以,比如下面一段簡單

原创 重學JVM之class文件結構

先準備一個簡單的java文件 public class Person { private String name = "jack"; private int age; private final doubl

原创 重學JVM之類加載機制

java文件編譯成class文件之後,必須要放到java虛擬機才能執行,類的整個生命週期如下 第一步我們是進行加載,加載是由類加載器進行加載的,也就是說把clss文件變成字節流,然後放到虛擬機的一個過程,其中方法區放的是類信息,

原创 HashMap1.8插入元素、擴容部分源碼分析以及線程不安全的原因

先看幾個關鍵的屬性 //默認數組初始化長度爲16 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //最大長度 static final int MAXIMUM_CAPAC