Category · page 4 of 8

技术

76 posts · All categories

技术4 min read中文

IO模型

一般来说一次IO操作包含两个步骤 - 内核准备数据 - 数据从内核拷贝到用户进程 常见的IO模型主要有以下几种 - 阻塞IO - 非阻塞IO - 多路复用IO - 信号驱动IO - 异步IO

技术1 min read中文

ConcurrentHashMap源码解读-算法部分

tableSizeFor 该算法相当奇妙,目的是输入一个数字c,然后返回离它最近的且值大于它的2的n次幂,例如输入7,返回8,输入123,返回128。 首先定义一个变量n为c-1,至于为什么为c-1,之后会说到。 我们输入c=13来带入计算一下 这里我们可以回头看上面的第一步,n = c-1,如果不执行c-1的话,我们…

技术1 min read中文

spring事务(1)

Spring中的事务,主要有以下几个参数 - value:事务名称 - transactionManager:事务管理器 - propagation:传播行为 - isolation:隔离级别 - timeout:超时时间,如果在超时时间内事务没有提交,则事务就会被终止(此处会有坑) - readOnly:是否只读事务…

技术2 min read中文

记一次数据库问题排查

案发现场 在任务开始的时候,状态为INIT,然后需要等待定时器去取状态为INIT的任务,修改状态然后执行。但是在下午开始,突然发现INIT的任务一直处于INIT的状态,而定时器却是5s轮询一次,没有头绪,只能继续等,刚好当时在做别的事情,就没有在意。 吃过饭之后,看了下错误日志,看到了下面的内容 通过输出,能够发现错误…

技术1 min read中文

Nginx伪装流量

之前使用的nginx伪装流量,后来发现是有问题的,很快就被封了。 之前的思路是,机器保留443端口,然后使用ssr去链接跳板机的443端口,如果是ssr协议,就转发到本地的ssr服务,如果是http请求,就返回对应的页面。 这么做存在一个漏洞,所有经过443端口的流量都会被探测到,如果检测到ssr的特征,就会直接导致机…

技术1 min read中文

java线程池源码解读

java中提供的线程池基本都是继承自ExecutorService,可以通过Executors来创建线程池。 java中提供了以下几种线程池, - newCachedThreadPool - newFixedThreadPool - newSingleThreadExecutor - newScheduledThrea…

技术1 min read中文

mvn Unable to find main class

mvn 出现Unable to find main class 因为我的项目采用的是多模块,子模块都是继承的parent的pom属性,而我其中的几个子模块作为公共类,是没有入口函数的,所以在没有入口函数的pom文件里面,不要放build的相关配置。