张恒 发布的文章

什么是PT刷流?PT刷流实际上就是普通的PT下载和做种,但它利用了服务器连接性强、带宽大的特点,在种子刚刚发布时,就立刻下载文件,然后向其他客户端分发内容,从而获得大量上传。在种子热度下降后或者在出现新种且磁盘空间不足时,停止做种,删除文件。

- 阅读剩余部分 -

前言

学习java并发始终绕不开CAS(CompareAndSet),但如果只从java的角度来学习、理解CAS,又会觉得了解的不够深入。笔者从CPU发展史和Java发展史的角度深入探索了CAS的前世今生,希望能给读者带来更多的信息输入。

- 阅读剩余部分 -

迁移背景

2023年2月份,笔者曾经使用ESXi虚拟化平台自组了一个NAS,并且称之为最终养老方案。如今,一年时间过去了,它的确称可以之为养老方案,稳得一匹。期间只因为CPU散热风扇异响,才停机处理过一次,其余时间均正常运行,使得笔者有限的时间能够用在欣赏影片之上。

可现在为什么又要迁移PVE呢?笔者总结了几个因素。第一点,博通收购VMware后,ESXi发展规划从买断制变成了订阅制,这意味着ESXi的可玩性将大打折扣;第二点,笔者之前安装的ESXi版本是7,它不支持Realtek家的RTL8125B 2.5G网卡,但刚好家里有备用的PCIE网卡,所以就将就着用了。大家如果是螃蟹RTL8125B网卡,则建议直接用ESXi 6.7版本,这也意味着被锁在6.7版本上;第三点,ESXi的性能监控对于家用来说,着实有些差强人意。ESXi只支持一个小时的性能监控,超过一个小时则需要安装专门的监控系统;第四点,PVE是基于Debian系统的虚拟化平台,这意味着宿主机有更多的操控性。

- 阅读剩余部分 -

记得很早之前,java开发为了支持文件上传,需要引入其他依赖,做一些复杂的配置,才能实现文件上传。具体来说,有两种方式,一种是在HttpFilter上做文章,引入一个HttpFilter,在HttpFilter中判断请求中是不是上传文件,如果是上传文件的请求,就用MultipartHttpServletRequest包装原始HttpServletRequest,并透传到下游,这个类内部会解析文件,下游只需要用instanceof判断HttpServletRequest是不是MultipartHttpServletRequest,如果是的话,强转后调用相关方法即可获取文件;在引入springmvc后,spring将这个逻辑包装到了DispatcherServlet中,只需要在spring中配置MultipartResolver实例Bean,DispatcherServlet就会做这个包装,甚至可以在入参中定义MultipartFile参数,spring就会把文件映射到入参中。

而从 servlet 规范3.0 开始,HttpServletRequest接口本身就要求支持文件获取,也就是说凡是支持servlet规范3.0的产品,都应该内部支持文件解析获取。顺便查了一下,servlet3.0规范在2009年11月份就定稿了,tomcat 也在 7.0版本上支持了servlet3.0,这个时间是2011年3月份,也就是说2011年后,不需要引入其他依赖、额外配置就能实现文件解析获取。

- 阅读剩余部分 -

最近淘来一台惠普800G1,闲来无事,尝试安装ESXI 7.0,安装一路顺利,果然是商业软件。不过许可证的确是个问题,网上搜到的6.x的许可证没法用在7.x上,于是专门找了一些ESXI 7.x的许可证。大家自取~

- 阅读剩余部分 -