项目地址:https://github.com/yxkong/agent 目前已实现对线程池、jvm的监控; 主要是在线程池创建时,对线程池进行增强,将线程池强引用到bootstrap-load-client-0.1.jar中的ThreadPoolMonitorData里。 使用此包的前提是线程池是固定资源,启动后不会销毁,如果动态创建线程池并销毁,需要调用shutdown或者shutdowNow,这块已实现对对强引用的解除,否则因为这块强引用导致资源无法释放,没法被gc回收 bootstrap-load…

2021/04/21 0条评论 891点热度 2人点赞 阅读全文

5ycode 被管理耽误的架构师。工作、学习过程中的知识总结与分享,jvm,多线程,架构设计,经验分享等。 28篇原创内容 公众号 读了Java线程池实现原理及其在美团业务中的实践 后,我就想一个问题,如果让我去做这个线程池的监控,我该怎么做? 要对线程池进行监控,首先得明白,我们监控线程池的目的是什么? 监控是为了防患于未然,防止生产事故的发生。或者能在未发生时就进行入状态。 出问题线程池的现象: 线程池异步处理,消费速度过慢,导致任务积压,响应过慢,或者队列有限,导致提交被拒绝; 使用线程池做并行请求…

2021/04/20 0条评论 876点热度 0人点赞 阅读全文

效果如图 第一页和最后一页时上一页/下一页禁用 java逻辑代码 public class TBPager extends TagSupport { private static final long serialVersionUID = -8341120465173736955L; //当前页 private Integer pageNo; //共多少页 private In…

2014/12/14 1条评论 2969点热度 0人点赞 阅读全文

/**  * 通用附件上传和初始化方法  * */ $(function() { /*新增页面图片上传代码初始化*/ /** 1)在新增业务添加addPageUpload容器  *  2)上传图片时页面没有对应业务的数据,先给附件生产一个临时的uuid  *  3)保存业务单据后,需要将附件的临时id,更新为业务单据的id  */ if($("#addPageUpload&qu…

2014/08/02 0条评论 2324点热度 0人点赞 阅读全文

昨天写的java json字符串转map集合递归嵌套这篇博文,只是某个功能中的一小部门. 这个功能就根据json串配置的校验指标,去校验对应的列表数据中的必填项是否完整,不完整就在当前页面提示用户,去完善数据.当某条记录不完善的时候,会将不完善的那条数据的背景色置为红色,如图: 校验分为两类,一类是dom加载完以后校验当前页出现的id,一类是全局的校验.   后台处理代码 //将前台的json串转成map集合         …

2013/06/21 0条评论 2358点热度 0人点赞 阅读全文

二十九:application中都保存了什么东西?    1,登录用户的user对象       当前用户的一般属性,不包含关联的集合属性(为了减少session的存储量)       计算出来的用户的权限总和long[] rightSum;       当用户登录时,验证通过以后计算出来的该用户的权限,     * 如果想让用户权限的实时跟随者改变,只要在管理修改该用户的权限的时候,我…

2013/06/19 0条评论 1839点热度 0人点赞 阅读全文

二十八:权限设计  在用户登录的时候需要读取出用户的权限,并将用户的权限位和权限码放入到session中,  使用spring的applicationListener监听器,在服务器启动的时候就将所有的权限放入到application中 /** * 事件监听器 */ @SuppressWarnings("rawtypes") @Component public class IniRightListener implements ApplicationListener,ServletContext…

2013/06/19 0条评论 1958点热度 0人点赞 阅读全文

二十四:权限设计相关    *  每个权限的标识码都是1<<n,如果接受权限码的是int类型,只能1<<31次,如果是long类型的话,最多只能1<<62   这样的缺陷就限制了权限的数量了,   1==0001<<1=0010   1==0001&0010=0   &是相乘   1|2  0001 | 0010  =3  |是相加  …

2013/06/19 0条评论 1706点热度 0人点赞 阅读全文

十七: 当使用拦截器,给拦截器注入参数的时候   <param name="拦截器名.可以set的属性的命(去对应的拦截器中找set方法)"></param>   动态指定action的input的值在action中定义一个属性inputpage   在配置文件中的input指定${inputAction}   执行到哪个拦截器没有通过这个拦截器的验证,那么就只能走到这个拦截器,不进入action的方法,就直接返回input或者拦截…

2013/06/19 0条评论 1786点热度 0人点赞 阅读全文

八:使用泛型化的BaseAction产生的问题 import java.lang.reflect.ParameterizedType; import cn.survey.exception.ActionException; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; import com.opensymphony.xwork2.Preparable; /** * 模型驱动只在进入a…

2013/06/19 0条评论 1869点热度 0人点赞 阅读全文