项目所遇知识点
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.属性复制
// 将custHikariDataSourceProperties对象复制到dataSource 并且忽略"driverClassName","exceptionOverrideClassName"属性 BeanUtils.copyProperties(custHikariDataSourceProperties, dataSource, "driverClassName","exceptionOverrideClassName");
7. sql优化
选择合适的列进行索引 使用复合索引(注意索引的顺序也能进一步影响快慢) 选择合适的索引类型:根据查询的特性选择合适的索引类型。常见的索引类型包括B-tree索引、哈希索引、全文索引等。 避免过度索引 使用覆盖索引( COUNT(*) 和 COUNT(单字段)的区别 ) 注意索引的顺序 避免在索引列上使用函数 慢sql查询(如索引在Username上 ...WHERE LENGTH(Username) > 5; 没有...WHERE Username > '_____'; -- 使用5个下划线表示长度为5的字符串 快)
8. ConditionalOnProperty 配置匹配才会加载
@ConditionalOnProperty(prefix = "sync.counters", name = "account", havingValue = "ksp") @Configuration @ComponentScan(basePackages = {"ks.fintech.unicenter.sync.account.ksp"}) public class KspAccountConfigure { }
本文来自博客园,作者:皮军旗,转载请注明原文链接:https://www.cnblogs.com/pijunqi/p/15432592.html