长风破浪会有时,直挂云帆济沧海。
今年 9 月初,我从 东信北邮 离职了,届时刚刚工作满一年半。在经济下行的当下,这是一个十分需要勇气的决定,甚至都做好了失业至少半年的心理准备,在这段时间休息、学习和求职。
是否要从一个公司离职,主要评价以下几点,我将其称为 跳槽成本,成本越高,跳槽风险也就越高,更需要深思熟虑。
工作强度是否和薪资待遇匹配,或者与同行的平均薪资比较;
同事关系是否和谐,是否能够成为你学习的榜样;
工作内容是否有价值,持续探索新领域保持技术热情;
领导是否作为,公司文化和发展前景如何。
从以上几点分析,前司显然不是好的归宿,我的跳槽成本无限接近于零。再见,东信北邮...
从杭州回来后,为解决日益增长的服务实例需求,耗费 5 天时间,将局域网服务彻彻底底的重构了一遍。
现局域网涉及以下设备:联通光猫、HS8145V5-华为路由器、3215U-软路由工控机 和 DS218j-群晖NAS。
3215U-软路由工控机工控机安装 EXSi 7(vSphere) 操作系统,EXSi 是 VMware 公司开发的一款承载虚拟机的操作系统级产品,和 VMware 公司开发的另一款桌面应用级产品 Workstation 完美兼容,能够将 Workstation 打包的 VOF 格式文件轻松地上传至服务器并运行在 EXSi 当中。
下载 EXSi 镜像文件,通过 Rufu...
问题详解ThreadLocalMap 底层结构
每个线程 Thread 都维护了自己的 threadLocals 变量,所以在每个线程创建 ThreadLocal 的时候,实际上数据是存在自己线程 Thread 的 threadLocals 变量里面的,别人没办法拿到,从而实现了隔离。
ThreadLocalMap 是由 数组 实现。
ThreadLocalMap 如何解决哈希冲突
解决哈希冲突:开放定址法。
新思路使线程不安全的资源对象线程安全
为每一个对象分配一个线程不安全对象,但会生成大量重复资源对象;
用锁保证某一时刻仅有一个线程可对线程不安全对象操作,但锁会影响性能。
为...
面试回答
请求首先进入 DispatcherServlet,
DispatcherServlet 转发给 HandlerMapping,其匹配对应的 Handler,封装成执行链返回给 DispatcherServlet;
DispatcherServlet 收到执行链,找到对应的 HandlerAdaper 执行,封装成 ModelAndView 对象返回给 DispatcherServlet;
DispatcherServlet 收到 ModelAndView 对象,转交给 ViewResolver 解析,封装成 Model 对象返回给 DispatcherServlet;
Dis...
前言欢迎 ⭐️star 我使用 Java 开发的开源项目 npk-api,提供对《地下城与勇士》(DNF、DFO)游戏资源 NPK 文件基础操作能力。
分析 NPK 数据结构
魔数通常用于判断文件类型,占用 16 字节。在 NPK 文件中,固定值:NeoplePack_Bill\0(最后一字节是 0x00)。
IMG 数量占用 4 字节,用于描述 NPK 文件承载了多少数量的 IMG 文件。
IMG 索引表每个 IMG 文件索引占用 264 字节,包括 4 字节地址偏移、4 字节数据长度和 256 字节加密后的 IMG 文件名。
IMG 文件名加解密加密是将原 IMG 文件名转换为 25...
面试回答
JVM 内存结构主要分 5 块,线程隔离的有程序计数器、虚拟机栈和本地方法栈,线程共享的有方法区和堆。
程序计数器用于记录程序当前执行的位置;虚拟机栈用于保存方法调用关系;本地方法栈用于保存本地方法调用关系,与虚拟机栈类似;方法区用于存放类信息、字段信息、方法信息、常量、静态变量、即时编译器编译后的代码缓存等数据;堆用于存放对象实例。
问题详解JVM 内存结构
程序计数器:程序计数器是一块较小的内存空间,它的作用可以看作是当前线程所执行的字节码的行号指示器,程序计数器记录着某个线程当前执行指令的位置;
虚拟机栈:每调用一个方法都会生成一个新的栈帧,调用方法的过程就是一个压栈...
面试回答
同步阻塞BIO:服务器实现模式为 一个连接一个线程,即客户端有连接请求时服务器就需要启动一个线程进行处理。如果这个连接不做任何事情会造成不必要的线程开销,可以通过线程池机制来改善;
同步非阻塞NIO:服务器实现模式为 一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器 轮询 到某个连接上有IO请求时才启动一个线程进行处理。
异步非阻塞AIO(NIO2):服务器实现模式为 一个有效请求一个线程,即客户端的IO请求都是由操作系统先处理,再 通知 服务器启动线程进行处理。
问题详解名词解释
同步:Java 自己处理 IO 读写;
异步:Java 将 IO ...
问题详解
悲观锁和乐观锁
悲观锁:所以每次操作前都会上锁,其他线程阻塞。在 Java 语言中 synchronized 和 ReentrantLock 等就是典型的悲观锁,还有一些使用了 synchronized 关键字的容器类如 HashTable 等也是悲观锁的应用。适用于读少写多;
乐观锁:乐观锁操作数据时不会上锁,在更新的时候会判断一下在此期间是否有其他线程去更新这个数据。乐观锁可以使用版本号机制和 CAS 算法实现。在 Java 语言中 java.util.concurrent.atomic 包下的原子类就是使用 CAS 乐观锁实现的。适用于读多写少。
独占锁和共享锁
独占锁...
机缘闲来无事,在工位上摸鱼。
从 阿里云瑶池数据库 微信公众号随手刷到一则 免费报名|7月22日杭州城市行,解锁Apache Doris高效实时数据分析密码! 的消息推文。既然 Apache 的活动都开到了家门口,没有不参加的理由,爽快的报了名。我肯定不会告诉你们,我连 Doris 是什么、怎么用都不知道。
赴会杭州的夏季十分炎热,太阳毒辣的挂在天上。与我一行参会的还有我女友,她当天上午还要参加 华为2012实验室 举办的校招宣讲会。
Doris 线下会在 杭州电魂大厦 举办,于下午 14:00 开始。实际主办方是 SelectDB,是一家从事 Doris 开源和商业化的公司。参会人员...
结论先说结论,如果你的电脑出现以下症状:
开机一分钟左右硬盘占用率100%,鼠标拖动缓慢甚至无法移动。
Win10蓝屏,并且恢复进度始终为零,只能强制重启电脑。包括但不限于以下蓝屏代码:
critical process died
system service expection
critical service failed
解决方案很可能是由硬盘掉盘引起的故障,有以下两种方案可选:
将硬盘拆下,使用酒精擦拭硬盘“金手指”,然后装回去(可以考虑换一个插槽)。
直接更换硬盘。
我的经历最近一段时间,我的笔记本蓝屏是越来越频繁,令人恼火。根据蓝屏代码查询相关资料,也没一个靠谱的...