首页 文章 精选 留言 我的

精选列表

搜索[热点技术征文第十期1024程序员节],共10010篇文章
优秀的个人博客,低调大师

昨天1024程序员节,我故意写了个死循环~

导致CPU100%的原因很多,而程序中出现死循环就是原因之一。然而,并不是每个人在工作中都有机会踩中这个坑。我就是其中一个没踩过的。人生似乎有些不完整。 所以,我做了一个很重要的决定:在程序中写一个死循环。看看会发生什么事情。 当然,不是在生产环境。 我搭建了一个实验环境来做实验。只是这个实验环境不仅可以用于这个死循环实验。以下是这个环境的结构图: 还是老样子,使用Vagrant + Virtualbox + Ansible自动化搭环境。 我们会写一个简单的Spring MVC 应用,然后其中一个接口里会有死循环代码: 以下是我自己尝试找出这个死循环的过程。 一、使用top,查看是哪个进程的问题 我请求一次: http://192.168.88.10:9898/web/loop 然后,我打开新窗口,又请求一次 这里,我好奇CPU没有到200%。一直在120%和130%之间。P.S. 我一定是某个知识点不牢固,要不,不会有这个疑问。 二、堆空间 因为不涉及JVM堆空间问题,执行 jstat -gcutil 32593 1s 没看出什么问题。32593为Java进程ID,1s指1秒抽样一次。 三、栈 堆没问题,就看看是哪个线程占用得高。 列出java进程的线程,top -H -p <java 进程pid> 将jvm的栈dump下来 jstack -l <其中一个线程PID> >> stack.log,这里我选3596。 在日志中,找到相应的线程,我们需要从栈日志中找到相应的线程,但由于栈日志中使用的16进制,但是top中的PID又是10进制。所以,需要手工将10进制的PID转成16进制。3596的16进制转是0xe0c 四、小结 从这个解决的方式过程中,我们已经可以看出来一种基本的处理CPU 100%的情况了!希望对大家有所帮助! 欢迎工作一到五年的Java工程师朋友们加入Java填坑之路:860113481 群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

优秀的个人博客,低调大师

1024程序员节这天,我故意写了个死循环~

导致CPU100%的原因很多,而程序中出现死循环就是原因之一。然而,并不是每个人在工作中都有机会踩中这个坑。我就是其中一个没踩过的。人生似乎有些不完整。 所以,我做了一个很重要的决定:在程序中写一个死循环。看看会发生什么事情。 当然,不是在生产环境。 我搭建了一个实验环境来做实验。只是这个实验环境不仅可以用于这个死循环实验。以下是这个环境的结构图: 还是老样子,使用Vagrant + Virtualbox + Ansible自动化搭环境。 我们会写一个简单的Spring MVC 应用,然后其中一个接口里会有死循环代码: 以下是我自己尝试找出这个死循环的过程。 一、使用top,查看是哪个进程的问题 我请求一次: http://192.168.88.10:9898/web/loop 然后,我打开新窗口,又请求一次 这里,我好奇CPU没有到200%。一直在120%和130%之间。P.S. 我一定是某个知识点不牢固,要不,不会有这个疑问。 二、堆空间 因为不涉及JVM堆空间问题,执行 jstat -gcutil 32593 1s 没看出什么问题。32593为Java进程ID,1s指1秒抽样一次。 三、栈 堆没问题,就看看是哪个线程占用得高。 列出java进程的线程,top -H -p <java 进程pid> 将jvm的栈dump下来 jstack -l <其中一个线程PID> >> stack.log,这里我选3596。 在日志中,找到相应的线程,我们需要从栈日志中找到相应的线程,但由于栈日志中使用的16进制,但是top中的PID又是10进制。所以,需要手工将10进制的PID转成16进制。3596的16进制转是0xe0c 四、小结 从这个解决的方式过程中,我们已经可以看出来一种基本的处理CPU 100%的情况了!希望对大家有所帮助! 欢迎工作一到五年的Java工程师朋友们加入Java填坑之路:860113481 群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

优秀的个人博客,低调大师

🔥 1024 程序员节快乐,Solon v3.0.2 庆发!

Solon 框架! Java “新式”应用开发框架。开放原子开源基金会,孵化项目。从零开始构建(非 java-ee 架构),有灵活的接口规范与开放生态。 追求: 更快、更小、更简单 提倡: 克制、简洁、高效、开放、生态 有什么特点? 特点 描述 更高的计算性价比 并发高 300%;内存省 50% 更快的开发效率 代码少;入门快;调试重启快 10 倍 更好的生产与部署体验 打包小 90% 更大的兼容范围 非 java-ee 架构;同时支持 java8 ~ java23,graalvm native image 入门探索视频(用户录制): 最近更新了什么? 添加 solon SerializerManager 及序列化可选注册机制 添加 solon Serializer::mimeType,dataType 可选属性,具有自我描述性 添加 solon AppContext::app() 属性 添加 solon-cloud CloudFileService 添加 getTempUrl(Duration) 方法 调整 solon-boot 的 junit-jupiter 依赖标为 scope=test 调整 solon VarHolderOfParam:getFullName 的显示,原 "@" 改为 "''" 调整 solon mvc 代码独立为 solon-mvc 修复 solon Utils.appFolder() 在 jar in jar 打包时,失效的问题 修复 solon TmplUtil 当模型参数为 null 会出现 "null"(改为用空替代) 修复 solon-boot-smarthttp 适配,在 contentLength(long) 时会精度丢失的问题 优化 solon-data-sqlutils 设计(进一步提搞性能和适用性) 优化 solon-net-httputils 设计 支持快捷序列化 优化 solon-net-stomp 设计 优化 solon-scheduling-simple cron 调度实现 优化 local-solon-cloud-plugin job cron 调度实现 优化 solon-data 事务管理,支持 RoutingDataSource 深度查找 优化 solon-serialization 序列化器的泛型反序列化处理 优化 solon-serialization-jackson LocalDateTime,LocalDate,LocalTime 时间反序列化处理 优化 solon-security-auth 允许 AuthAdapter 直接支持“多套账号体系鉴权”处理(简化了)。AuthAdapterSupplier 标为弃用 cxf-webservices 升为 3.5.9 beetlsql 升为 3.30.14-RELEASE mybatis-flex 升为 1.9.8 hutool 升为 5.8.32 liteflow 升为 2.12.4 snack3 升为 3.2.119 wood 升为 1.3.12 redisx 升为 1.6.7 fastjson2 升为 2.0.53 项目仓库地址? gitee:https://gitee.com/opensolon/solon github:https://github.com/opensolon/solon 官网? https://solon.noear.org

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册