![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 92
丁Allen
软件开发 个人网站http://dingym.cn/lasdym
展开
-
java 启动进程的方式
java执行本地命令的相关内容原创 2022-10-29 16:56:06 · 2449 阅读 · 0 评论 -
arthas启动-服务端启动流程
从前面介绍的arthas启动-agent初始化一文中我们看到了AgentBootstrap#bind函数,该函数的实现就是使用反射创建一个ArthasBootstrap对象。传入关键信息Instrumentation,以及启动参数。 我们就关注下ArthasBootstrap的实现。启动参数中有http-port和telnet-port参数,我们基本可以猜到arthas启动过程中会根据启动参数启动一个http server和telnet server,通过客户端与arthas启动的服务端之间进行交互。在目原创 2021-07-03 17:50:45 · 1796 阅读 · 1 评论 -
arthas启动-attach流程
arthas启动-attach流程上一篇文档写到arthas启动的两种方式, 无论通过执行java -jar arthas-boot.jar 或者执行./as.sh 最终的效果都是会执行java -jar arthas-core.jar的逻辑, 本文我们着重看看启动arthas-core的逻辑实现。 本文的理解需要对java agent技术有一定的了解,有需要的请自行google查询一下。大家应该都知道,启动java -jar xx.jar 不指定mainclass的时候取的是jar包中的META-原创 2021-05-31 20:59:41 · 1461 阅读 · 0 评论 -
arthas系列-arthas介绍
目录arthas简介arthas的使用使用注意点常用命令后续规划arthas简介提到arthas就不得不提一下arthas的前身greys, 我最早研究查看的版本就是这个版本。在github的README中可以看到如下几句话: 线上系统为何经常出错? 数据库为何屡遭黑手? 业务调用为何频频失败? 连环异常堆栈案,究竟是哪次调用所为? 数百台服务器意外雪崩背后又隐藏着什么?是软件的扭曲还是硬件的沦丧? 当时看到上述的几句话让我对这个原创 2021-04-12 19:34:39 · 755 阅读 · 0 评论 -
tomcat如何处理文件上传的
上周同事有个需求,有个web页面支持升级的逻辑的,但升级包的大小比较大(接近2G)。 由此引申出来上传前需要判断磁盘是否足够的问题。此时就产生了如下几个问题tomcat如何处理文件上传的是否使用磁盘文件,猜测必然使用磁盘文件,不然文件大时内存不足的。那么磁盘文件是如何创建,如何删除,系统异常重启后是否会删除?文件上传协议协议基础查看rfc文档(http://www.faqs.org/rfcs/rfc1867.html),该文档描述了带文件的form表单提交的要求。该提案对HTML进行了两项更改原创 2020-12-06 17:53:15 · 1313 阅读 · 0 评论 -
记一次类加载问题
事件来源项目版本第一轮交付测试后测试同学反馈,用户编辑的功能出错,报异常。 该功能在当前版本中没有需求进行调整, 我抓紧去测试环境上看了下日志,发现日志中有如下内容:异常日志挺明显的,实体Bean的代理类强转为Proxy失败。心中大体上锁定了下范围,必然是类加载的问题,在java中是否一个两个类是否是同一个类,必要的前提是classloader需要是同一个,在之前的tomcat了解中,掌握大tomcat针对每个一个webapps目录下的项目会使用一个专门的classloader进行类加载。为了证实是否原创 2020-11-14 17:23:13 · 295 阅读 · 1 评论 -
JAVA 泛型之类型擦除
书写本文原因书写本文的原因,由于在项目中看到了类似如下逻辑的代码出现这样的逻辑原因,数据库使用的是postgresql, 对应字段为jsonb,字段中有对应key的value为另外一表的主键的列表。 此字段对应java的map类型(列表值较小时起始对应的是Integer类型)。大多数为了方便直接强转List<Long>。 起初以为强转会出问题,写了测试代码,发现此写法能正常...原创 2018-08-27 20:17:17 · 1517 阅读 · 0 评论