6道tomcat面试题,最后两道难倒我了
??ps-ef|greptomcat查看tomcat的进程ID,记录ID号,假设进程ID为10001??lsof-p10001|wc-l查看当前进程id为10001的文件操作数??使用命令:ulimit-a查看每个用户允许打开的最大文件数启动速度优化删除没用的web应用:因为tomcat启动每次都会部署这些应用。关闭WebSocket、websocket-api.jar和tomc...
探究Java 应用的启动速度优化
classpath包含如上的三个jar包,在加载classcom.foo.Foo时,大部分Classloader实现(包括URLClassloader、tomcat、spring-boot)都选择了最简单的策略(过早的优化是万恶之源):按照jar包出现在磁盘的顺序逐个尝试抽取com/foo/Foo.class这个文件。JAR包使用了zip格式作为存储,每次类加载都需要遍历classpath下的J...
是时候用Java 17了
在Java9和JEP238中引入的多版本JAR功能可能很有用,因为它允许将多个Java版本(包括比Java9更老的版本)的代码打包到一个JAR文件中。例如,创建一个Application类(清单1)和一个Student类(清单2),并将它们放在src/main/java/com/example文件夹中。Student类是一个在Java8上运行...
整理了一份 Docker系统知识,从安装到熟练操作看这篇就够了 | 原力...
(1)dockerhub上面查找tomcat镜像dockersearchtomcat(2)从dockerhub上拉取tomcat镜像到本地dockerpulltomcat(3)dockerimages查看是否有拉取到的tomcatdockerimages(4)使用tomcat镜像创建容器(也叫运行镜像)dockerrun-it-p8080:8080tomcat(5)其他-p#主机端口:docker容器端口-P#随机分配...
一周爆肝上线百万高并发系统!你给我解释解释什么叫牛逼?
原因:存在多版本jar包,导致Java代码使用反射机制动态生成类是不知道使用哪个版本的依赖的类。解决:删掉多余版本jar包。3.缓存未即时更新原因:经排查,是由于实际的key数量可达千万级,导致更新缓存前对要删除的keys的scan扫描效率过低,长达20多秒!解决:修改更新缓存方案,不再使用scan扫描,而是拼凑出所有可能的ke...
阿里问题定位神器 Arthas 的骚操作,定位线上BUG,超给力
这个类从哪个jar包加载的?为什么会报各种类相关的Exception?我改的代码为什么没有执行到?难道是我没commit?分支搞错了?遇到问题无法在线上debug,难道只能通过加日志再重新发布吗?线上遇到某个用户的数据处理有问题,但线上同样无法debug,线下无法重现!
Jboss入门精简篇
在安装JBOSS之前,首先要确定你已经安装了jdk1.3或以上版本,由于JBOSS不像weblogic等其它应用服务器捆绑了JDK,因此JBOSS非要jdk的支持才能运行。然后在httpjboss网站上下载一个jboss的发行版(我下载的是jboss-3.2.6.zip),在本文中我使用的其稳定的发行版JBOSS3.2.6(集成了tomcat4.1),需要附带一句的是...
GitHub 标星 14000+,阿里开源的 SEATA 如何应用到极致?
应用程序通过事务协调器向两个库发起prepare,两个数据库收到消息分别执行本地事务(记录日志),但不提交,如果执行成功则回复yes,否则回复no。事务协调器收到回复,只要有一方回复no则分别向参与者发起回滚事务,参与者开始回滚事务。事务协调器收到回复,全部回复yes,此时向参与者发起提交事务。如果参与者有一方提交事务...