- 博客(12)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 全网最全 spring常用拓展点调用顺序 说明总结图
spring在bean的整个生命周期中留了很多拓展点以供使用者能够获取上下文信息,或者在bean生命周期中的某个节点对bean进行调整,了解这些拓展点,能够更好地了解bean的生命周期
2022-01-11 20:27:12
583
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 看得到的TCP/IP: Wireshark抓包 tcp三次握手四次挥手
最近在温习计算机网络,温习到tcp/ip协议,想抓包实际看一下。mac上的抓包工具其实也不少,像Charless, Proxyman,下载后都试用了一下,感觉都有点不太舒服,胡乱搜索发现Wireshark还有mac版,这不巧了嘛抓包软件:Wireshark抓包网站:taobao.com准备:打开Wireshark,选中需要监听的网络1.首先浏览器地址栏输入 taobao.com,回车,正常的情况下,会打开百度首页。2.查询一下百度服务的ip地址,一般使用nslookup即可PS: 可以看到
2021-10-22 15:33:44
747
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java工作实用编码技巧
注意idea提示的标黄代码,一般都是代表可以优化或者有可能出问题的点,比较好的效果是代码没有任何标黄提示大多数情况下,编码规范是相辅相成的,全部结合起来会有1+1大于2的效果基础集合有关工具类使用的使用一定要看一下文档介绍,不然可能会造成意想不到的效果集合的初始化集合初始化的时候尽可能指定容量;没有值的时候优先返回空集合而不是null;下面以List举例初始化的情况声明空List(下面两种方式都是返回一个空的List,注意返回的是一个不可修改的特殊List实现类)Collecti.
2021-10-22 15:19:19
190
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 池化线程数据传递: TransmittableThreadLocal源码分析
要解决什么问题JDK的InheritableThreadLocal类可以完成父线程到子线程的值传递。但对于使用线程池等会池化复用线程的执行组件的情况,线程由线程池创建好,并且线程是池化起来反复使用的;这时父子线程关系的ThreadLocal值传递已经没有意义,应用需要的实际上是把 任务提交给线程池时的ThreadLocal值传递到 任务执行时。在使用线程池等会池化复用线程的执行组件情况下,提供ThreadLocal值的传递功能关于InheritableThreadLocal放在哪里每个线程内部有这
2021-10-22 15:17:39
664
原创 同一个接口如何针对不同请求返回不同的字段
同一个接口如何针对不同请求返回不同的字段,有助于节省带宽,减少复杂度,避免信息泄露;本文讨论了几种常见的做法,并提供了部分方案的代码示例
2022-01-11 20:11:24
3064
原创 Mybatis是如何读取配置并将指定路径的类转化为BeanDefinition的
将指定路径的类转化为BeanDefinition其实是一个比较常见的操作,在很多开源框架中都有这么一个功能,比如spring,dubbo;这是一个通用的套路,熟悉这个套路,能让你在看一些框架源码的时候轻松许多
2021-10-28 21:13:01
347
原创 IO密集型任务该如何设置线程池线程数
CPU密集CPU密集型的话,一般配置CPU处理器个数+/-1个线程,所谓CPU密集型就是指系统大部分时间是在做程序正常的计算任务,例如数字运算、赋值、分配内存、内存拷贝、循环、查找、排序等,这些处理都需要CPU来完成。IO密集IO密集型的话,是指系统大部分时间在跟I/O交互,而这个时间线程不会占用CPU来处理,即在这个时间范围内,可以由其他线程来使用CPU,因而可以多配置一些线程。(线程处于io等待或则阻塞状态时,不会占用CPU资源)混合型混合型的话,是指两者都占有一定的时间。
2021-10-25 20:01:50
3830
转载 JVM指令集(转)
关于JVM指令集的官方文档下文转载自 https://blog.csdn.net/yyywyr/article/details/16820547JVM指令集(指令码、助记符、功能描述)指令码助记符功能描述0x00nop无操作0x01aconst_null指令格式: aconst_null 功能描述: null进栈。 指令执行前指令执行后栈底… null栈顶 注意:JVM并没有为null指派一个具体的值。0x02iconst_m1int型
2021-10-22 15:37:01
132
原创 个人工作常用linux 命令总结,查问题,查日志超方便
常用linux 命令总结,这个哥们总结的不错下面是我自己经常用到的文本操作vim: 编辑文档grep: 文本过滤awk: 你想取出某一列的数据就可以使用这个less: 可以翻页查看文档head: 取前多少行tail: 取后多少行, tail -f 则会一直跟踪文件系统或硬件状态查看top: 大杂烩,查看系统当前各种状态, cpu各个核负载,内存占用等等,isof :(list open file):说明原文, 是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式
2021-10-22 15:27:32
95
原创 Spring Data JPA查询使用小结
Spring Data JPA查询使用小结JPA常用的查询方式通过方法名构造查询适合简单的单表查询(一般不适合or查询,因为and优先级比较高, 只能findBy1And2Or1And3,这种比较蹩脚的方式)User findByUserId(long userId);@Query注解,适合稍复杂的查询。注意这种情况下不是纯粹的SQL,这里的表达式里的表名要和当前的Entity一致,查询参数也要和实体进行对应起来,是userName而不是user_name。注意,这种情况下不能select
2021-10-22 15:25:10
209
原创 socket和套接字傻傻分不清?socket和套接字概念解析
什么是socketsocket是一个标准库什么是套接字(连接字)假设要创建一个服务,监听在8080端口,首先作为服务端调用socket函数,监听8080端口, 这个时候已经在服务端创建了一个等待连接的套接字,就等待客户端来连接了。然后有一个客户端来连接了,注意连接的时候客户端也要调用socket函数,随机占用一个空闲端口,然后发送消息给服务器的8080端口, 这时客户端也存在一个套接字。服务端接收到请求,创建一个等待连接的套接字副本,把这个副本和客户端的套接字关联起来,这样组成了一个完整的连接(
2021-10-22 15:16:19
370
原创 EasyExcel性能测试和使用代码示例,表头解析,行数读取,解析加密文档
easy excel的使用众所周知,一般官方数据都是会有点水分的;easyExcel官方说 64M内存1分钟内读取75M(46W行25列)的Excel实际测试的时候也还好40M,25W行,这个成绩相当不错基础的类@Datapublic class ExcelRow { @ExcelIgnore private int lineNo;}@Datapublic class ExcelParseResult { private Integer total;
2021-10-22 14:55:32
2222
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人