frp内网穿透教程 frp内网穿透教程一、参考文章二、frp的release版本链接三、注意一、参考文章frp服务端与客服端基本配置内网web服务配置二、frp的release版本链接https://github.com/fatedier/frp/releases三、注意服务端和客户端的frp安装版本必须一致frp的系统架构版本必须和机器一致终端输入arch查看机器系统架构版本mac平台下载darwin版本!!! 先写到这- 详细教程之后慢慢更新...
jdk版本导致的No appropriate protocol问题 项目运行时假如出现No appropriate protocol大概率是使用了某些加密,然后jdk版本不一样导致的javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate) at sun.security.ssl.Handshaker.activate(Handshaker.java:529) at sun.security
Spring 生命周期, 源码分析 Spring BeanSpring Bean的生命周期1.实例化 instantiation2.属性赋值 Populate3.初始化 Initialization4.销毁 Destructionbean销毁的方法是在容器关闭时调用的,详情见ConfigurableApplicationContext.close()主要逻辑都在doCreateBean()方法中,里面涉及三个主要的方法.1.createBeanInstance() 实例化2.populateBean() 属性赋值3.
JUC的成长记录 1.ThreadLocal的理解ThreadLocal的作用:ThreadLocal是为了在多线程环境下访问时能保证各个线程内的对象是独立的。每个线程访问的都只能是自己的对象。ThreadLocal的使用场景:多线程环境下存在对非线程安全对象的并发访问,而且该对象不需要在线程间共享,并且这个对象很多地方都要用到。在线程执行的各处通过这个静态ThreadLocal实例的get()方法取得自己线程保存的那个对象,避免了将这个对象作为参数传递的麻烦。比如Spring中的事务管理类TransactionSy
mysql 高级优化sql语句 1、当需要单表有大量的数据,用到分页时的优化sql 应用场景:分页查询流水表SELECT * FROM test a INNER JOIN (SELECT ID FROM test LIMIT 1500000, 10) b on a.ID = b.ID先通过分页查询聚簇索引的ID,再和原表关联取交集。2、group by 分组函数要使用标识列(主键列)来分组才能命中索引(如果用position表的外键来分组,不会走索引)select * from account a,p...
记录一次项目CPU飙到200%的解决过程 起因是我给某个接口的方法添一个查询数据库的几行代码,如图结果测试在测试环境发现这个接口调不通了,一直超时,并且调用几次后项目宕了。一、查看导致CPU飙升的线程首先需要定位到是服务里的那些线程导致CPU飙升的。具体查找方法:1、在服务器上使用 top 命令发现服务CPU飙到了200 如图2、记录CPU较高的pid 使用top -Hp $pid 可以看到具体是哪个线程占用了CPU很高,记下该线程的id。3、使用 printf '%x' $线程pid 转换为...