
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
虚拟线程是 JDK 21+ 正式提供的轻量级用户态线程,由 JVM 调度,不直接绑定 OS 线程。◦ 内核线程:OS 管理,重量级,数量有限。◦ 平台线程:绑定内核线程,Java 传统线程。每个线程对应操作系统的真实线程,创建成本高,占用内存大◦ 虚拟线程:依附平台线程。很小、动态扩容,不绑定 OS 线程,调度在用户态,资源消耗极低,所以能轻松创建百万• 传统平台线程:线程一阻塞,内核线程直接被占
没有银弹。常量IN输在列表长度和两次查询的一致性;原生IN子查询输在优化器黑盒;EXISTS输在外层全表扫和索引依赖;JOIN输在数据膨胀和驱动表选择。选哪个取决于数据量级、索引设计和业务容忍度,底线是:绝对不用原生IN子查询,其他三种按场景选,但必须先用EXPLAIN看执行计划。
根据 @SpringBootApplication 中的设置,加载应用的配置文件(如 application.properties 或 application.yml),系统变量,命令行参数,将其转化为配置属性(最终封装成configureableEnvironment ),这一步就是把配置全准备好。3)启动应用上下文:启动 ApplicationContext,加载配置类,componentSc
实现原理:获取锁成功后,开启一个后台定时任务,默认每隔 lock过期时间/3 (默认30s锁,10s执行一次),给锁重置过期时长;Synchronized是基于操作系统内核的阻塞锁,虚拟线程被它阻塞时,载体线程会被占用无法复用,丧失虚拟线程轻量调度优势;- 底层实现:Redis的Hash结构,key=锁名称,field=线程唯一标识,value=重入次数;Redis主从异步复制,主节点加锁成功后宕
你不用关心底层 CPU 是 x86 还是 ARM,也不用管内存屏障具体插在哪,只要遵循 JMM 的规范(比如加个volatile或synchronized ),JMM 就会帮你抹平硬件差异,保证并发安全。不同架构的CPU在缓存,重排序,内存模型上会有巨大的物理差异,如果程序员直接用汇编或C/C++写并发代码,换一台电脑可能就会出现诡异的Bug。Spring 的兜底:底层复杂的反射机制、CGLIB
启动ZooKeeper报错,--main class information unavailable找了很多办法,都是说因为非正常关机引起的,删除zoo.cfg中dataDir指定目录下的文件就可以了。但是我屡试多遍,就是不行。再看了一篇博客,据说可以看一下ZooKeeper的日志文件,我看了一下,报错信息是java.io.IOException: No snapshot found, but .
hadoop学习中遇到的问题:hadoop拒绝连接hadoop安装好之后,在本地浏览器输入地址http://192.168.29.134:9870,提示拒绝连接。在网上找了很多相关资料,有很多原因导致,一个是防火墙没关闭,一个是namenode没有启动起来,一个是因为namenode启动后journalnode还没有启动,还有就是namenode和datanode的clusterID不一致、没有.
问题公司的表被清空了,重新恢复的时候导致中文的字段乱码了。想要把乱码的字段修改回来,想到了回闪,出问题的时间之前的数据。然后通过回闪的数据去更新现在乱码的字段具体实现数据表:personidnamecreate_time1灏忛緳濂?2018-01-13 09:00:002?1y2018-01-03 09:00:001.回闪select id,name,create_time from person
公司项目有遇到这个问题,调用别人的接口。真是神tm Internal Error。这个问题百度都查不到。我可能是历史上唯一出现这个问题的女纸。其实一般遇到这个问题,Internal Error内部错误,就是服务端那边接收你的参数,然后判断你的参数,不给通过,但是具体什么原因也没告诉你。【解决办法】对方给的示例代码中的参数写死的,运行没问题的,到项目上跑起来就报错了。于是我拿写死的参数和项目发送的参







