原创 類型轉換導致索引失效

這件事兒的起因說起來挺有意思的,數據庫有一張記錄用戶基礎信息的大表暫時叫做user_info表吧,某一天QA同學來找我查問題,我問了用的哪個賬號測試的,QA同學說告訴你手機號行麼,我說可以,然後順手寫下了這樣的SQL: selec

原创 麻省理工學院公開課:算法導論 觀後感 —— 性能是一種貨幣

作爲程序員,性能兩個字一直圍繞着大家的工作和學習,各種技術推陳出新,各種思想不斷涌現幾乎都是爲了性能,因爲人類本質就有着對速度的追求,所以最火爆的體育項目是足球,籃球而不是圍棋。代碼是人寫的,自然也不例外,同樣一個功能我的耗時比你短,那我

原创 MySQL解除死鎖的簡單辦法

今天本來有一個比較小的開發任務,在數據庫某個表中增加一個字段,並在對應的調用接口中添加相應字段的返回值即可,但是卻小小的踩了個坑,也學了一些關於mysql的知識。 首先開發過程本身沒難度,但是我在往數據庫表添加字段的時候遇到了一些問題,速

原创 ArrayList和LinkedList優缺點對比,和你背的一樣嗎?

假如今天你去面試了,面試官問你,arraylist和linkedlist有什麼特點?我相信基本準備過或者說學習過的人應該都對答如流吧,底層實現,數據結構,數組,鏈表,查找效率,增刪效率等等,這些基本上搜索引擎可以隨便找到,而且基本

原创 致一個平凡的開始

       其實從很久以前就開始想寫博客了,最開始的理由很簡單,只是覺得作爲一名技術人員,如果能擁有自己的博客是一件逼格很高的事情,後來無論是爲了解決工作和學習中的問題,或者是爲了突擊面試知識點,都經常會搜索到一些博客,寫的好的博客在看

原创 tomcat端口號被佔用

這個問題自從我上大學第一天嘗試着弄tomcat就出現過,出現的原因多種多樣,有時候重啓一下tomcat都會出現,有時是因爲我強制關閉ide了,總之理由千奇百怪,今天終於想起來在此記錄一下解決辦法,而不是每次都去百度了。 1.修改配置文件裏

原创 JAVA基礎——HashMap之何爲hash

Map所有人都不會陌生,在工作和學習中算是最常見的幾種數據結構之一了,其中比較常用的應該說就是HashMap了。HashMap可以說是面試常客,幾乎所有的面試官都會向你詢問有關HashMap的問題,不過不知道大家有沒有仔細問過自己一個問題

原创 RabbitMQ官方入門教程中文版(java)第二部分 工作隊列

工作隊列 在第一篇入門教程中我們寫了一個簡單程序通過命名隊列的方式發送和接收消息,在這篇教程中,我們將學習創建一個工作隊列(work queue),用於發送耗時的任務給多個工作者(worker)。 工作隊列(或者叫任務隊列,task qu

原创 RabbitMQ官方入門教程中文版(java)第三部分 發佈/訂閱

發佈/訂閱(Publish/Subscribe) 在上一篇教程中,我們學習了創建工作隊列。這種情況假定工作隊列中的每一個任務只會被分配給一個工作者(worker)。在這篇教程中,我們要做的事情完全相反——我們會把消息發送給多個消費者。這種

原创 數據庫自增id竟然被我用完了

業務背景 事情的起因是這樣的…幾個月前做過一個統計類型的job,上線之後小修小補了幾次一直運行的很平穩,就是有一個缺點:慢。起初我一直以爲是因爲數據量過大導致的,每天早上六點準時開跑,一般要到下午一兩點才能跑完,其實現在想想這麼長

原创 RabbitMQ官方入門教程中文版(java)第一部分 Hello World

RabbitMQ是一種消息中間件:簡單來說,它可以負責接收和發送消息。你可以把RabbitMQ想象成是一個郵局:當你想寄一封信的時候你會把信放進郵箱裏,因爲你確信郵遞員會幫你把這封信送到收件人的手中。在這個比喻中,RabbitMQ扮演的就