- 博客(7)
- 收藏
- 关注
原创 frp内网穿透教程
frp内网穿透教程一、参考文章二、frp的release版本链接三、注意一、参考文章frp服务端与客服端基本配置内网web服务配置二、frp的release版本链接https://github.com/fatedier/frp/releases三、注意服务端和客户端的frp安装版本必须一致frp的系统架构版本必须和机器一致终端输入arch查看机器系统架构版本mac平台下载darwin版本!!! 先写到这- 详细教程之后慢慢更新...
2021-09-26 15:38:27
676
原创 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
2021-09-07 10:45:32
1325
原创 Spring 生命周期, 源码分析
Spring BeanSpring Bean的生命周期1.实例化 instantiation2.属性赋值 Populate3.初始化 Initialization4.销毁 Destructionbean销毁的方法是在容器关闭时调用的,详情见ConfigurableApplicationContext.close()主要逻辑都在doCreateBean()方法中,里面涉及三个主要的方法.1.createBeanInstance() 实例化2.populateBean() 属性赋值3.
2021-07-22 23:21:51
229
原创 mysql关于索引底层结构
mysql底层用的是B+树,为什么不用红黑树或者二叉树或者hash? 二叉树:不能作为递增列表的索引结构,比如表的主键ID 红黑树:底层是二叉树,
2020-08-24 10:04:01
217
原创 JUC的成长记录
1.ThreadLocal的理解ThreadLocal的作用:ThreadLocal是为了在多线程环境下访问时能保证各个线程内的对象是独立的。每个线程访问的都只能是自己的对象。ThreadLocal的使用场景:多线程环境下存在对非线程安全对象的并发访问,而且该对象不需要在线程间共享,并且这个对象很多地方都要用到。在线程执行的各处通过这个静态ThreadLocal实例的get()方法取得自己线程保存的那个对象,避免了将这个对象作为参数传递的麻烦。比如Spring中的事务管理类TransactionSy
2020-08-20 01:00:29
158
原创 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...
2020-08-03 16:06:22
191
原创 记录一次项目CPU飙到200%的解决过程
起因是我给某个接口的方法添一个查询数据库的几行代码,如图结果测试在测试环境发现这个接口调不通了,一直超时,并且调用几次后项目宕了。一、查看导致CPU飙升的线程首先需要定位到是服务里的那些线程导致CPU飙升的。具体查找方法:1、在服务器上使用 top 命令发现服务CPU飙到了200 如图2、记录CPU较高的pid 使用top -Hp $pid 可以看到具体是哪个线程占用了CPU很高,记下该线程的id。3、使用 printf '%x' $线程pid 转换为...
2020-06-16 02:11:42
1598
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人