1. 10 Jun, 2022 1 commit
    • Zheng Jie's avatar
      [Bug修复](master): 修复定时任务管理存在SQL注入漏洞问题 · 2dc528a1
      Zheng Jie authored
      由于定时任务未对Bean进行过滤,导致攻击者可以从SpringContextHolder获得控制jdbcTemplate类,并使用getDeclaredMethod调用jdbcTemplate的queryForMap函数,从而执行任意sql命令。
      
      修复后定时任务的 Bean 需要使用 @Service 注解定义。
      2dc528a1
  2. 07 Jun, 2022 1 commit
  3. 31 May, 2022 2 commits
  4. 26 May, 2022 4 commits
  5. 24 May, 2022 3 commits
  6. 20 May, 2022 2 commits
  7. 12 Apr, 2022 1 commit
  8. 22 Mar, 2022 1 commit
  9. 18 Mar, 2022 2 commits
  10. 14 Mar, 2022 1 commit
  11. 07 Mar, 2022 1 commit
  12. 04 Mar, 2022 1 commit
  13. 28 Feb, 2022 1 commit
  14. 10 Feb, 2022 1 commit
  15. 27 Jan, 2022 2 commits
  16. 26 Dec, 2021 1 commit
  17. 24 Dec, 2021 2 commits
  18. 23 Dec, 2021 1 commit
  19. 15 Dec, 2021 1 commit
  20. 11 Dec, 2021 1 commit
  21. 10 Dec, 2021 1 commit
  22. 04 Dec, 2021 2 commits
    • Zheng Jie's avatar
      代码优化 · d9d50d35
      Zheng Jie authored
      d9d50d35
    • Night_mare's avatar
      [代码优化] assert 断言可能的问题, 以及 argList 调用方法优化, RedisConfig 的注释与代码不一致问题 (#705) · e6077c66
      Night_mare authored
      * Update LogServiceImpl.java
      
      断言不适合用于参数验证,因为断言可以在JVM中的运行时被禁用,这意味着错误的操作设置将完全消除预期的检查。此外,失败的断言会抛出断言错误,而不是抛出某种类型的异常。抛出错误完全超出了正常程序中预期的捕获/抛出行为的正常范围。使用 if 代替 断言, 并抛出 IllegalArgumentException 更可控
      
      * 代码完善
      
      使用size()测试空性是可行的,但使用isEmpty()可以使代码更可读,性能也更高。任何isEmpty()方法实现的时间复杂度都应该是O(1),而size()的一些实现可以是O(n)。
      
      * Update RedisConfig.java
      
      1. 注释写的是 默认两小时, 但是代码写的是 6 小时, 所以应指定哪一个 ? 
      2. 当没有出现碰撞时, 固定的 3个 kv 对, size 达到 3 个, 如果方法参数不为空, 则会触发 HashMap 扩容, 影响性能
      3 + params.length > (2^2 * 0.75 = 3)
      2. 仍然引用的是 apache 的方法, 为了去除歧义, 应使用全类名指定
      如果方法返回值包含 null, 则加上 @Nullable 注解, 代码更易读
      
      * 添加 Nullable 注解所需导入的包
      
      * 删除不用的包
      
      改用 org.apache.commons.lang3.StringUtils 全类名调用 isBlank() 方法后, 原 import me.zhengjie.utils.StringUtils; 可以删除
      
      * 调用replaceAll() 方法修改为调用 replace() 方法
      
      传给 replaceAll 的参数不是正则表达式, replaceAll 和 replace 效果是一样的, 且 replaceAll 由于会调用 ava.util.regex.Pattern.compile()方法, 导致性能消耗更大
      e6077c66
  23. 27 Nov, 2021 1 commit
  24. 23 Nov, 2021 2 commits
    • Zheng Jie's avatar
      代码优化 · b2672587
      Zheng Jie authored
      b2672587
    • dante's avatar
      Fix cache by future (#652) · 931ecb3b
      dante authored
      * 利用future回调避免并发调用时有多个线程同时去数据库查询,导致消耗额外资源。经过测试在8个线程并发查询时性能提升
      
      * 修复缓存测试时懒加载报错问题
      
      * 调整格式
      931ecb3b
  25. 22 Nov, 2021 1 commit
  26. 16 Nov, 2021 2 commits
  27. 01 Sep, 2021 1 commit