猿创征文 第二季| #「笔耕不辍」--生命不息,写作不止#
Arrays.asList 多個對象拼接成list
Arrays.asList
多個對象拼接成list
https://blog.csdn.net/kzadmxz/article/details/80394351
有優點也有缺點
無數if else優化
1、
(null == templateId ? SaasConstant.DEFAULT_TEMPLATE_ID
: templateId)
2、map key–>getNameByKey
3、枚舉 也可配合2使用
4 switch (shopStatusEnum) {
case …
代碼提交規范
https://blog.csdn.net/qq_31211181/article/details/109129533
json格式轉換器
https://www.json.cn/
mybatis for 循環查詢輸出
select * form user where name in <foreach collection="searchNameForList" item="item" index="index" open="(" separator="," close=")">#{item} </foreach>為什么有些人覺得源碼好難看懂
T ? Object等往往為了通用性
還有調用底層源碼的方法 這些干擾了我們的視覺
把所有的邏輯轉換為數學問題都不是問題
CRUD是最基本的要求
CRUD是最基本的要求,不少出現可以直接封裝的類,應學習更為復雜的業務,并且使得代碼更嚴謹
mq消息隊列定義
MQ(Message Queue)消息隊列,是基礎數據結構中“先進先出”的一種數據結構。一般用來解決應用解耦,異步消息,流量削峰等問題,實現高性能,高可用,可伸縮和最終一致性架構。
消息隊列中間件是分布式系統中重要的組件,主要解決應用解耦,異步消息,流量削鋒等問題,實現高性能,高可用,可伸縮和最終一致性架構。
Java版題庫
https://blog.csdn.net/weiwei121451070/article/details/81742418
Java使用DigestUtils.sha1hex()方法生成SHA-1摘要
https://www.nhooo.com/note/qa5faz.html
mysql時間格式化%Y與%y_MySQL日期格式化 DATE_FORMAT() 函數
微服務學習
https://blog.csdn.net/fsgsggd/article/details/88018461
接口-導出全部
@SysLog("用戶明細導出Excel") @ApiOperation("用戶明細導出Excel") @PostMapping("/userDetail/export") public BaseResponse<List<EventLogUser>> userDetailExport(@RequestBody EventPageReq req) {req.setSize(-1);BaseResponse<LegoPage<EventLogUser>> baseResponse = this.userDetail(req);return BaseResponse.ok(baseResponse.getData().getData()); }導出全部
postman寫get請求
1、{id}、{code}
直接代替
2、id?=…
用最左邊的params
中途加入一個東西到大功能中,最好拋出異常,以免因為錯誤而影響整個功能的問題
阿里移動app推送文檔及限制
https://help.aliyun.com/document_detail/92832.html
使用 Android 廠商通道的限制 :
Arrays.asList的作用
https://www.jianshu.com/p/90e36c672c6a
在小數據量時,for循環效率高,大數據量時addAll方法效率高: 所以通常企業開發集合list,map 比for應用的多,廣泛
在小數據量時,for循環效率高,大數據量時addAll方法效率高:
所以通常企業開發集合list,map
比for應用的多,廣泛
垃圾數據過濾
SELECT *FROM user_customer_service_recordWHERE staff_id > 0AND staff_id IS NOT NULLAND staff_id != ''AND staff_name != '-1'AND staff_name IS NOT NULLAND staff_name != ''GROUP BY staff_idORDER BY gmt_create DESC通過sql過濾一些垃圾數據,staff_id有時產生去0或者-1
繼承List接口的那些方法
繼承Collection接口的那些方法
https://www.cnblogs.com/xiaostudy/p/9502409.html
繼承List接口的那些方法
https://www.cnblogs.com/xiaostudy/p/9503199.html
steam函數常用的方法
steam函數常用的方法
https://blog.csdn.net/gejiangbo222/article/details/106083202
補充:Collectors.toList()用來結束Stream流。
// TODO注釋高亮顯示
如何判斷Map中的key或value是什么類型
對于某些從泛型(比如:Map<K, V>)中繼承過來的數據,K可能是String、Integer、等等。如果需要map.get(key),得先確保key的類型跟map的K匹配。
取值注意
Map<Long, Long> topMap = new HashMap<>();
//注意map取值,如果存入的是Long類型,取值也必須是long類型的key,如果是String取到的值是null
System.out.println(“**************topMap.get(courseId)=” + topMap.get(courseId));
對于key類型和value類型的判斷,大概的思路:通過paramsMap.entrySet()獲取集合的key和value值,存在變量中;
多去思考,怎么實現邏輯
1、多去思考,怎么實現邏輯
你要做什么業務
從開始
到最后需要什么值,什么結果
2、考慮問題要全面些,包括但不限于使用場景,可能出現的漏洞或bug
對影響我們業務或重新邏輯的error和warn必須重視,只有少量warn可以忽視
3、邏輯出現漏洞往往是思路不清晰
4、注意代碼的規范
idea軟件本身報錯,看idea日志
idea軟件本身報錯,看idea日志
idea好卡,經常要重啟
idea好卡,經常要重啟
經常在加載中,反射功能受到影響
打開項目慢
等等影響效率
晚上解決一下
不管是部署到測試環境,還是正式環境 出現錯誤了 先查看日志
不管是部署到測試環境,還是正式環境
出現錯誤了
先查看日志
java8 stream().map().collect()用法
java8 stream().map().collect()用法
本文未轉載,以下為原文的全部內容
有一個集合:
List users = getList(); //從數據庫查詢的用戶集合
現在想獲取User的身份證號碼;在后續的邏輯處理中要用;
常用的方法我們大家都知道,用for循環,
List idcards=new ArrayList();//定義一個集合來裝身份證號碼
for(int i=0;i<users.size();i++){
idcards.add(users.get(i).getIdcard());
}
這種方法要寫好幾行代碼,有沒有簡單點的,有,java8 API能一行搞定:
List idcards= users.stream().map(User::getIdcard).collect(Collectors.toList())
解釋下一這行代碼:
users:一個實體類的集合,類型為List
User:實體類
getIdcard:實體類中的get方法,為獲取User的idcard
stream()優點
無存儲。stream不是一種數據結構,它只是某種數據源的一個視圖,數據源可以是一個數組,Java容器或I/O channel等。
為函數式編程而生。對stream的任何修改都不會修改背后的數據源,比如對stream執行過濾操作并不會刪除被過濾的元素,而是會產生一個不包含被過濾元素的新stream。
惰式執行。stream上的操作并不會立即執行,只有等到用戶真正需要結果的時候才會執行。
可消費性。stream只能被“消費”一次,一旦遍歷過就會失效,就像容器的迭代器那樣,想要再次遍歷必須重新生成。
stream().map()方法的使用示例:
再看幾個例子:數組字母小寫變大寫
List list= Arrays.asList(“a”, “b”, “c”, “d”);
List collect =list.stream().map(String::toUpperCase).collect(Collectors.toList());
System.out.println(collect); //[A, B, C, D]
數組所有元素,按某種規律計算:
List num = Arrays.asList(1,2,3,4,5);
List collect1 = num.stream().map(n -> n * 2).collect(Collectors.toList());
System.out.println(collect1); //[2, 4, 6, 8, 10]
會員體系思考
https://www.cnblogs.com/jurendage/p/11315351.html
業務代碼習慣
業務代碼習慣
進行for循環前一定要判斷,不要讓null的數據或集合進行for循環
對傳入的值打印日志,方法的入參和出參也要考慮打印出來。已確定值傳進來與否
執行某些對象操作,如何都為空,則不進行操作
intellij idea中快速抽取方法
intellij idea中快速抽取方法、
對于優化代碼超級好用
https://blog.csdn.net/fanrenxiang/article/details/79585456
Lambda表達式入門
https://blog.csdn.net/qq_41907991/article/details/83241454
Oracle版的limit
rownum
Oracle不支持使用limit
用where rownum <= 20 來查詢限制條件
Java循環優化
java for循環如何優化_java for循環及其優化
現實開發中避免不了for循環,盡量使用集合
https://blog.csdn.net/weixin_29300241/article/details/114873793
java.sql.SQLSyntaxErrorException: ORA-00904: “WM_CONCAT“: 標識符無效
https://blog.csdn.net/luoww1/article/details/89227688
版本問題
insertSelective 的用法
int insert(T record);
int insertSelective(T record);
insertSelective 對應的 SQL 語句加入了 NULL 檢驗,只會插入數據不為 null 的字段,而 insert會插入所有字段,會插入 null 數據。
也就意味著如果定義了表 default 字段,使用 insert 還是會插入 null 而忽略 default
insertSelective 當字段為 null 時會用 default 自動填充
總結
以上是生活随笔為你收集整理的猿创征文 第二季| #「笔耕不辍」--生命不息,写作不止#的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 速卖通+奇门+聚石塔+官方场景/自定义场
- 下一篇: Python制作关键字云+情感分析图