原创 大數據開發:sqoop和hive

大數據開發:sqoop和hive Hadoop生態系統包含了用於協助Hadoop的不同的子項目(工具)模塊,如Sqoop, Pig 和 Hive。 Sqoop: 它是用來在HDFS和RDBMS之間來回導入和導出數據。 Hive:

原创 一種excel導出文件的方式

1.設置好表頭,並且在表頭區域指定好表的數據範圍(用批註的方式寫入函數,通過函數來進行指定) 2.設置好表的第一行替換數據,指明map的key值,list的遍歷對象,例如xxx.a,xxx.b中的xxx。並在列中指定最後一列的數據

原创 使用阿里巴巴的代碼規約進行代碼規範化

離線下載規約包 idea上進行插件安裝 重啓idea 使用規約進行代碼掃描 好處就是支持中文,方便強大

原创 對象的定位和訪問

對象的定位和訪問 reference,有兩種主要的方式1.是句柄。reference_句柄池_對象的實例數據指針和對象的類型數據指針2.直接指針。reference_對象實例數據數據(實例數據中有類型的指針),sun是用這種,優點

原创 正則表達式匹配任意字符的寫法

原來正則表達式中的".“代表的是除換行以外的任意字符,如果要真正代表任意字符,需要把換行符也加進去,但是經過測試”[.\n]“不生效,可以使用”\s\S"代表,即所有空字符+所有非空字符。 注:爲了適用於java程序,上述表達式已

原创 一種大文件異步下載的方式

在導出excel等場景中,可能文件很大。用戶不可能一直等待。 這個時候,可以用後臺記錄下用戶的請求參數到數據庫。 數據庫執行定時任務,組裝出用戶所需文件,通過郵件發送給用戶來實現。

原创 編寫複雜SQL的一些感想

編寫複雜SQL,不會一步到位的.是會通過多步的子查詢,每一步加工出一部分數據,然後這部分數據再和其他SQL進行組合,多次嵌套加工,最後才能得到我們所要的結果. 這個過程,很類似於我們編寫JAVA代碼,複雜的邏輯,是通過一步步互相獨

原创 分析請求的鏈路上的所有節點

最近遇到了一個問題. 客戶端發起的請求參數,到了應用程序,卻有些參數改變了. 由此分析客戶端發起請求,經過了哪些節點,可能是有些節點對請求入參做了處理. 分析過程 客戶端->ngix->網關->應用A->應用B->最終應用等. 最

原创 tomat啓動成功-但是應用沒有啓動成功

核心: 這種情況要查看所有的tomcat的日誌,才能定位問題.可能是tomcat報錯了之類的. 最近在部署一個系統的時候,tomat已經啓動成功了,但是通了瀏覽器訪問應用總是報錯404. 在本機和遠程telnet tomcat的

原创 記一次防止SQL注入引起的生產問題

記一次防止SQL注入引起的生產問題 最近在生產系統上遇到了一個問題. 在前後端代碼都沒有修改的情況下,某個用@RequestBody ADTO接受請求參數的接口,突然報錯了 錯誤信息大概是說,入參xxxupdateXXX,在 AD

原创 Servlet爲什麼要3.0(異步)

在Servlet 3.0之前,Servlet採用Thread-Per-Request的方式處理請求。 即每一次Http請求都由某一個線程從頭到尾負責處理。 如果一個請求需要進行IO操作,比如訪問數據庫、調用第三方服務接口等,那麼其

原创 java用命令行的方式啓動jar包

格式 java -jar [jar包的路徑] [--參數名稱鍵值對] 例如 java -jar springcloud_eureka.jar --spring.profiles.active=peer1 java -jar sp

原创 MyBatis的緩存

MyBatis 一級緩存是sqlsession級別的緩存 MyBatis 的一級緩存存在於 SqlSession 的生命週期中,在同一個 SqlSession 中查詢 時, MyBatis 會把執行的方法和參數通過算法生成緩存的鍵

原创 SQL儘量合併成一個,減少查詢次數

在某些業務場景中,需要先查詢a數據,根據數據是否滿足條件,再用a去查b,b去查c。 這樣就會有多次查詢要執行。 可以考慮大部分都是滿足的場景中,直接聯合查詢,一次查出ABC數據,然後進行判斷。

原创 使用fastjson的問題

1.如果你的key對應的value是null,那麼jsonobject.tojsonstring的時候,這個key會被去掉。 2.如果對象中很多的值相同,那麼就會顯示爲$ref,避免Stack Overflow。 要避免有開關。