Daily-Notes-June

20190603

  • 函数式编程 一切皆是表达式。
  • 命令式编程 是 告诉程序怎么做
    函数式编程 是 告诉程序做什么
    防止又臭又长的代码:Optional.of(user).map(User::getAddress).map(Address::getCountry).map(Country::getIsoCode).orElse(null);
  • https://segmentfault.com/a/1190000018936877?utm_source=tag-newest

20190604

  • 遇到jdbc.UncategorizedSQLException-Size Overflow
    • show variables like ‘%max_allowed_packet%’ 得知阈值是4M,猜想可能是批量更新操作的数据包太大
    • 解决方法是设置set global max_allowed_packet = 210241024*10,但万一后续数据包超过此值呢?
    • 所以在批量更新处理中增加分页

有必要时多层catch异常

20190606

  • Operand should contain * column 可能是where条件里没有用and隔开而是用了“,”,切记!!

20190612

  • 如何保证三个多个线程按顺序执行?原来的思考是设置线程的优先级,但线程的执行时抢占策略,优先级高的只是有更多的可能性抢占资源而已。真正能保证线程有序执行的是调用线程的join();
  • rateLimiter.acquire()完成大流量限流处理;
  • Retrofit 结合RxJava实现异步

20190613

  • Springboot用更优雅的方式发HTTP请求(RestTemplate详解)

20190617

  • subList 前面闭区间后面开区间 引发的“血案”。

20190618

  • ThreadLocal->ThreadLocalMap->Entry[] 层次的理解
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章