项目所遇知识点

1.hashset中的add()方法添加重复元素

2.比较两个乱序的字符串,排序后是否相同,可以考虑使用ASCII

3.数组.tostring输出是哈希值,Arrays.toString(数组)输出的是字符串

4.list相互转换

List<FileDigestSignResultFinally> fileDigestSignResultFinallies = JSON.parseArray(JSON.toJSONString(successList), FileDigestSignResultFinally.class);

 5.初始化been

      构造方法 > @PostContruct > afterPropertiesSet() > init-method

@Component public class BeanInit implements InitializingBean { private static Logger log = LoggerFactory.getLogger(BeanInit.class); @Autowired private NettyServer nettyServer; public BeanInit() { init2(); } @Override public void afterPropertiesSet() throws Exception { log.info("netty----------------------------------"); init(); } private void init() { /** 另起一个线程器启动netty,主线程继续启动项目 **/ new Thread(){ @Override public void run() { nettyServer.start(); } }.start(); log.info("netty对外服务端已启动..."); } @PostConstruct public void init1() { log.info("通过@PostConstruct注解,实现项目启动时加载缓存..."); } public void init2() { log.info("通过放入bean构造方法,实现项目启动时加载缓存..."); } @Bean(initMethod = "init") public void init3() { log.info("通过配置@bean的init-method属性,实现项目启动时加载缓存..."); } }

 6.属性复制

1
2
3
<div id="mCSB_3" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none;" tabindex="0"><div id="mCSB_3_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y mCS_x_hidden mCS_no_scrollbar_x" style="position: relative; top: 0px; left: 0px; width: 100%;" dir="ltr"><code-pre class="code-pre" id="pre-8fW87D"><code-line class="line-numbers-rows"></code-line>// 将custHikariDataSourceProperties对象复制到dataSource 并且忽略"driverClassName","exceptionOverrideClassName"属性
<code-line class="line-numbers-rows"></code-line> BeanUtils.copyProperties(custHikariDataSourceProperties, dataSource, "driverClassName","exceptionOverrideClassName");
</code-pre></div></div><div id="mCSB_3_scrollbar_vertical" class="mCSB_scrollTools mCSB_3_scrollbar mCS-minimal-dark mCSB_scrollTools_vertical" style="display: none;"><div class="mCSB_draggerContainer"><div id="mCSB_3_dragger_vertical" class="mCSB_dragger" style="position: absolute; min-height: 0px; height: 0px; top: 0px;"><div class="mCSB_dragger_bar" style="line-height: 0px;"></div></div><div class="mCSB_draggerRail"></div></div></div><div id="mCSB_3_scrollbar_horizontal" class="mCSB_scrollTools mCSB_3_scrollbar mCS-minimal-dark mCSB_scrollTools_horizontal" style="display: none;"><div class="mCSB_draggerContainer"><div id="mCSB_3_dragger_horizontal" class="mCSB_dragger" style="position: absolute; min-width: 0px; width: 0px; left: 0px;"><div class="mCSB_dragger_bar"></div></div><div class="mCSB_draggerRail"></div></div></div>

 7. sql优化

1
2
3
4
5
6
7
8
9
<div id="mCSB_4" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none;" tabindex="0"><div id="mCSB_4_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y mCS_x_hidden mCS_no_scrollbar_x" style="position: relative; top: 0px; left: 0px; width: 100%;" dir="ltr"><code-pre class="code-pre" id="pre-JmHdzW"><code-line class="line-numbers-rows"></code-line>选择合适的列进行索引
<code-line class="line-numbers-rows"></code-line>使用复合索引(注意索引的顺序也能进一步影响快慢)
<code-line class="line-numbers-rows"></code-line>选择合适的索引类型:根据查询的特性选择合适的索引类型。常见的索引类型包括B-tree索引、哈希索引、全文索引等。
<code-line class="line-numbers-rows"></code-line>避免过度索引
<code-line class="line-numbers-rows"></code-line>使用覆盖索引( COUNT(*) 和 COUNT(单字段)的区别 )
<code-line class="line-numbers-rows"></code-line>注意索引的顺序
<code-line class="line-numbers-rows"></code-line>避免在索引列上使用函数
<code-line class="line-numbers-rows"></code-line>慢sql查询(如索引在Username上 ...WHERE LENGTH(Username) > 5; 没有...WHERE Username > '_____'; -- 使用5个下划线表示长度为5的字符串 快)
</code-pre></div></div><div id="mCSB_4_scrollbar_vertical" class="mCSB_scrollTools mCSB_4_scrollbar mCS-minimal-dark mCSB_scrollTools_vertical" style="display: none;"><div class="mCSB_draggerContainer"><div id="mCSB_4_dragger_vertical" class="mCSB_dragger" style="position: absolute; min-height: 0px; height: 0px; top: 0px;"><div class="mCSB_dragger_bar" style="line-height: 0px;"></div></div><div class="mCSB_draggerRail"></div></div></div><div id="mCSB_4_scrollbar_horizontal" class="mCSB_scrollTools mCSB_4_scrollbar mCS-minimal-dark mCSB_scrollTools_horizontal" style="display: none;"><div class="mCSB_draggerContainer"><div id="mCSB_4_dragger_horizontal" class="mCSB_dragger" style="position: absolute; min-width: 0px; width: 0px; left: 0px;"><div class="mCSB_dragger_bar"></div></div><div class="mCSB_draggerRail"></div></div></div>

 8. ConditionalOnProperty 配置匹配才会加载

1
2
3
4
5
6
<div id="mCSB_5" class="mCustomScrollBox mCS-minimal-dark mCSB_vertical_horizontal mCSB_outside" style="max-height: none;" tabindex="0"><div id="mCSB_5_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y mCS_x_hidden mCS_no_scrollbar_x" style="position: relative; top: 0px; left: 0px; width: 100%;" dir="ltr"><code-pre class="code-pre" id="pre-GeTiam"><code-line class="line-numbers-rows"></code-line>@ConditionalOnProperty(prefix = "sync.counters", name = "account", havingValue = "ksp")
<code-line class="line-numbers-rows"></code-line>@Configuration
<code-line class="line-numbers-rows"></code-line>@ComponentScan(basePackages = {"ks.fintech.unicenter.sync.account.ksp"})
<code-line class="line-numbers-rows"></code-line>public class KspAccountConfigure {
<code-line class="line-numbers-rows"></code-line>}
</code-pre></div></div><div id="mCSB_5_scrollbar_vertical" class="mCSB_scrollTools mCSB_5_scrollbar mCS-minimal-dark mCSB_scrollTools_vertical" style="display: none;"><div class="mCSB_draggerContainer"><div id="mCSB_5_dragger_vertical" class="mCSB_dragger" style="position: absolute; min-height: 0px; height: 0px; top: 0px;"><div class="mCSB_dragger_bar" style="line-height: 0px;"></div></div><div class="mCSB_draggerRail"></div></div></div><div id="mCSB_5_scrollbar_horizontal" class="mCSB_scrollTools mCSB_5_scrollbar mCS-minimal-dark mCSB_scrollTools_horizontal" style="display: none;"><div class="mCSB_draggerContainer"><div id="mCSB_5_dragger_horizontal" class="mCSB_dragger" style="position: absolute; min-width: 0px; width: 0px; left: 0px;"><div class="mCSB_dragger_bar"></div></div><div class="mCSB_draggerRail"></div></div></div>

  

 


__EOF__

本文作者皮军旗
本文链接https://www.cnblogs.com/pijunqi/p/15432592.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   皮军旗  阅读(55)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示