7 unix21

尚未进行身份认证

暂无相关描述

等级
博文 254
排名 4k+

Java字节码研究

本文在本人2个博客https://blog.csdn.net/21aspnet和https://blog.csdn.net/unix21unix21同步发布1.String和常连池先上代码:publicclassTestApp{publicstaticvoidmain(String[]args){Strings1=...

2019-03-05 18:49:39

Java字节码instrument研究

MyAgent项目<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocatio...

2018-08-21 15:54:36

JVM虚拟机参数配置官方文档

JDK8 https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.htmlJDK7 https://docs.oracle.com/javase/7/docs/technotes/tools/solaris/java.html官方博客 https://blogs.oracle.com/poonam/==============...

2018-04-08 11:23:51

Linux kernel futex.c的bug导致JVM不可用

JVM死锁导致线程不可用,然后会瞬间起N个线程,当然也是不可用的,因为需要的对象死锁,然后耗尽文件句柄导致外部TCP无法建议拒绝服务,jstack之后就会恢复。解决办法:替换中间件类库,比如httpclient的。原因大致是:某个switch分支缺少memorybarrier的正确处理,导致外部应用如JVM的lock被错误锁住;一般jstack连后就恢复。https://github.com/...

2018-04-08 09:54:01

Java堆外内存泄露分析

查看堆内存占用正常,jvm垃圾回收也没有异常。而top出来显示java占用内存是几个G,那么可能想到了是堆外内存泄漏。需要安装google-perftools工具进行分析1.先安装g++不然编译会报错:g++:commandnotfound#yum-yinstallgccgcc-c++----2.安装libunwind不建议版本>0.99据说有问题,

2018-01-25 14:18:29

线上java问题排查

0.jps这个输出java进程pid#jps查看java的线程#top-Hp25448如图25757这个线程比较耗时,看看他在做什么注意需要折算出线程pid的16进制值,然后jstack。可以打印更多信息#jstackpid|grep-A20649d参考:JVM调优之jstack找出最耗cpu的线程并定位代码

2018-01-18 11:24:38

用“逐步排除”的方法定位Java服务线上“系统性”故障

说明:原文地址已经不可访问,其他地方有转载,不过很多丢失图片,所以,找到一处有图的重新配好图。用“逐步排除”的方法定位Java服务线上“系统性”故障Postedon 2014/08/25李斯宁(高级测试开发工程师)一、摘要由于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(

2018-01-05 14:12:34

Java常用命令及Java Dump

线程Dump,包含所有线程的运行状态。纯文本格式。堆Dump,包含线程Dump,幵包含所有堆对象的状态。二进制格式。JavaDump方法1.使用Java虚拟机制作Dump指示虚拟机在发生内存不足错误时,自动生成堆Dump-XX:+HeapDumpOnOutOfMemoryError2.使用图形化工具制作Dump使用JDK(1.6)自带的工具:JavaVi

2017-12-20 14:19:59

Java的SPI机制

Dubbo等框架使用到必须掌握。packageorg.hadoop.java;publicinterfaceIService{publicStringsayHello();publicStringgetScheme();}packageorg.hadoop.java;publicclassHDFSServiceimpleme

2017-03-27 20:45:34

匿名内部类和传接口

匿名内部类也就是没有名字的内部类正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口参考:http://www.cnblogs.com/nerxious/archive/2013/01/25/2876489.htmlpublicinterfaceMyInterface{public

2017-03-27 17:45:40

编程经验

1.变量下面多处使用那么不应该直接在第一处修改需要另一个变量或者开一个函数StringTypeCode=(String)md.get("TypeCode");if(!StaticUtil.XXXs.contains(TypeCode+"_")){continue;

2017-02-06 11:06:45

SpringBoot使用笔记

其实也是参考官方的:http://spring.io/guides/gs/rest-service/SpringBoot并不神秘,其最大的好处是可以帮你省略引用一堆jar包,需要神秘jar它自动帮你引用,集成tomcat,集成配置等待好处太多,总之就是更方便开发而已。还是自己体验下比较好。1.建立java应用程序起一个Maven的java应用程序,注意不要再起Web

2017-01-01 14:20:15

Tomcat定时任务

原文:The load-on-startup element indicates that this servlet should be loaded (instantiated and have its init() called) on the startup of the web applicatio

2016-12-15 13:13:18

String和常量池

Strings1="abc";//放在常量池中Strings2="abc";//从常量池中查找Strings3=newString("abc");//new放在堆中Strings4=newString("abc");Strings5=s1.intern();String

2016-12-02 13:15:17

JVM内存溢出的几种情形

java虚拟机规范定义了两种异常与栈空间有关:StackOverflowError和OutOfMemoryError线程计算过程中栈深度>最大可用栈深度抛出StackOverflowError如果栈可以动态扩展,如果扩展过程中没有足够内存空间支持会抛出OutOfMemoryError-Xss设置栈大小,栈大小决定了函数调用的可达深度publicclassTest

2016-12-02 11:09:22

MySQL常用性能分析方法-profile,explain,索引

1.查版本号无论做什么都要确认版本号,不同的版本号下会有各种差异。>Select version();2.执行状态分析显示哪些线程正在运行>showprocesslist;下面是完整的信息

2016-10-26 13:49:46

事务隔离机制原理分析以及是否可以防止订单超卖

事务的隔离机制是指:ReadUncommitted(读取未提交内容)ReadCommitted(读取提交内容)RepeatableRead(可重读)Serializable(可串行化)具体的解释最经典的MySQL书《高性能MySQL(第3版)》以及有了就不在其他地方再引用了:隔离机制的比较其实也有人喜欢用锁来控制并发,书中还提到了“隐式”和

2016-10-18 20:35:04

Spring源码分析【8】-分布式环境SpringSecurity保持用户会话

1.SpringSecurity的权限控制流程是这样的:用户登录,基础信息UserInfo存在SpringSecurity的ThreadLocal里。下面是contextHolder对象:finalclassThreadLocalSecurityContextHolderStrategyimplements SecurityContextHolderStrat

2016-10-14 17:49:19

Java飞行记录器 JRockit Flight Recorder JFR诊断JVM的历史性能和操作

需要展开子树,复制堆栈跟踪,就可以查看到代码调用链,看到自己的业务代码,从而定位到最耗时的代码位置:

2016-10-13 10:47:42

Map和List静态初始化

publicfinalstaticMapServerIPMap=newHashMap(){{put("redis","127.0.0.1");put("solr","127.0.0.1");}};publicfinalstaticListComIPList=

2016-10-13 10:20:24
奖章
    暂无奖章