自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 JVM元数据空间增长分析

上一篇已经分析了(https://mp.csdn.net/postedit/102959321)JVM除了HEAP还有哪些内存占用,也进行了一部分的参数调优,但是并没有根本解决这个问题 ,只是发生内存占满的时间变长了一些。上章的策略:1.减少xss占用 2.减少不必要的线程占用(主要集中在es线程,参数transport.netty.worker_count)使用jcmd命令已经发现jv...

2019-12-16 18:25:03 1359

原创 JVM内存分析,除了堆内存还有哪些?

问题场景:某个应用服务器(2C4G),xms xmx配置3G,内存占用远远超过3G,硬件服务器报警内存占用经常超过95%,(内存一直占用,可能导致java应用 crash),由于处于双十一敏感时期,所以需要追根究底。(后xmx改为2G,后面图均是2G的配置)怀疑点1:是否有内存泄漏?1.观察JVM回收详情,无异常(类似于jvisualvm)2.利用jmap下载堆内存文件,使用MAT、j...

2019-11-07 18:06:31 754

原创 Young GC 500ms到50ms的优化

问题描述:在进行双十一备战的过程中,发现JVMyoung GC的频次很高,同时一次Young Gc的耗时在500ms左右,FullGC的在1-2天触发一次JVM原配置:-XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=85 -XX:+UseCMSInitiatingOccupancyOnly -Dcom.sun.manage...

2019-11-06 11:17:24 720

原创 面试-java进阶(1)

内存模型happen-before安全攻击SQL注入、操作系统指令攻击、XML攻击、XSS攻击Mysql事务隔离级别以及乐观锁、悲观锁Read uncommited、read commited 、repeatable read、serializable mvcc悲观锁:一般是针对于数据强制加锁乐观锁:是通过时间戳或者版本号来更新判断...

2019-03-01 14:47:53 142

原创 面试-java基础(6)

java线程池类加载过程,以及双亲委派加载----链接(验证--准备--解析)----初始化双亲委派:当一个加载器加载一个类时,会先看一下父加载器是否可以加载,如果可以,则优先父类加载,避免重复加载常见的类加载器(Bootstrap\Application\ext)常用的jvm监控工具和命令Jconsole、VisualVM、jstat、jmap、jhat、jstackS...

2019-02-28 15:12:04 84

原创 面试-java基础(5)

ReentrantLock和Synchornized区别Synchornized是java内建的同步机制,java1.5之前是java唯一的同步机制,可以作用于方法或者代码块,非公平锁ReentrantLock是可重入锁,使用lock()\unlock()方法进行锁定,解锁,还提供啦一些类似公平锁的实现,提供公平锁和非公平锁两种实现。Synchornized在java1.6之前是基于操作...

2019-02-22 15:17:17 94

原创 面试-java基础(4)

如何保证集合容器的并发安全以及concurrentHashMap如何实现高效的并发java提供不同层面的并发容器,包括传统的类似HashTable\Vector等安全容器,也提供啦Collections工具类的同步包装器,基本是通过Synchornized来实现的粗粒度线程安全,另外一部分是并发包提供的并发容器,类似于ConcurrentHashMap、ArrayBlockingQueue、Co...

2019-02-20 15:49:45 128

原创 面试-java基础(3)

反射机制以及动态代理的理解反射机制是java语言的一项基础能力,赋予程序运行是自省的能力,可以直接操作类或者对象,获取类定义或者直接执行相应的方法。动态代理是一种方便运行是动态构建代理、动态处理代理方法的机制,常见的动态代理 jdk自带的动态代理、cglib、javaassistint和integer区别,integer缓存范围int是java中的原始数据类型,Integer是int对...

2019-02-18 19:25:39 133

原创 面试-java基础(2)

强引用、软引用、弱引用、幻象引用区别不同的引用类型表示不同的可达性以及对于垃圾回收的影响String StringBuffer StringBuilder区别String 是java基础类型,典型的immutable类,final class,不可修改,因此对于String类型的拼接拆解都会生成新的类StringBuffer是基于System.charcopy数组的String类,...

2019-02-15 18:19:42 111

原创 面试-JAVA基础篇(1)

谈一谈对于java平台的理解 Exception和Error区别Finally final finalize区别final  用来修饰类、方法、变量,不可继承,不可重写,不可改变finally 是 try-catch-finally语法块,标记重要方法必须执行finalize表示对象在垃圾回收器收集之前,执行的处理逻辑,不推荐使用...

2019-02-15 14:36:49 146

原创 JVM调优

JVM基础 运行期环境代表Java平台,我们开发的程序都是.java文件,然后通过编译器编译为.class字节码文件,最后字节码被类装载器载入,进入到Java虚拟机就会被Java解释器解释执行。 JVM包括方法区,堆,Java栈,程序计数器,和本地方法栈五部分组成。 每个JVM实例都有一个方法区和一个堆,运行于JVM的所有线程都共享这些区域,当虚拟机装载类文件的时候,它解析类文件信息,并存

2016-06-29 17:02:03 312

原创 JAVA学习笔记(三)-并发编程 Callable Future CompleableFuture

Runnable 是一个接口,里面只声明了一个方法run();返回值为void所以无法拿到执行完的结果。只能通过共享变量或者线程通信来搞定。//函数式接口注解@FunctionalInterfacepublic interface Runnable { public abstract void run();}Callable同样也只是一个接口,只声明了一个方法call(),可以看出来

2016-06-16 10:39:28 3788

原创 JAVA 学习笔记(二)-注解

Java注解相当于一种标记,在程序中加了注解等于为程序打上一个标记,javac编译器,开发工具或者其他程序可以用反射来了解你的类以及各种元素有没有这样的标记,有则进行相应的处理,标记可以加在 包,类,字段,方法,方法的参数以及局部变量。 注解关键字: @interface//简单的注解定义public @interface MyAnnotation {}@Retention 元注解,表示需要在

2016-06-15 15:57:14 260

原创 JAVA 8-学习笔记(一)

1.接口默认方法java8 允许我们给一个接口添加一个非抽象方法的实现,使用关键字 defalut即可。public interface IJDK8Test { default void sys(){ System.out.println("接口方法默认实现"); }}.2.函数式接口函数式接口是指包含一个抽象方法的接口, 添加@FunctionalInterf

2016-06-14 10:51:02 246

原创 Spring源码学习笔记(四)-Aop获取增强、切点

获取增强共两步,第一步获取所有增强(findCandidateAdvisors()),第二步寻找适合该Bean的增强(findAdvisorsThatCanApply)。 在上一章中,//获取增强 Object[] specificInterceptors = getAdvicesAndAdvisorsForBean(bean.getClass(), beanName, null)

2016-06-08 14:13:10 1145

原创 Spring源码学习笔记(三)AOP实现

Spring-AOP入口 <!-- 激活自动代理功能 --> <aop:aspectj-autoproxy />这一段代码,是实现AOP的具体入口,发现不是bean标签则会使用不同的类进行解析,http\://www.springframework.org/schema/aop=org.springframeworl.aop.config.AopNamespaceHandler在XML的

2016-06-07 15:50:29 844

原创 Spring源码学习笔记(二)-AOP基础简介

概论 AOP(Aspect-Oriented Programming)面向切面编程。 OOP(Object-Oriented Programmin) 面向对象编程。 以AOP设计初衷来看,就是将系统分为 方面(Aspect)和关注点(Concern),这样让我们更多的精力放在业务逻辑核心点,而一些修饰的东西交给AOP实现。实现原理 在编译期修改源代码,运行期字节码加载前修改字节码或者

2016-06-01 10:09:58 395 1

原创 Spring源码学习笔记(一)

Spring整体架构:spring是一个分层架构,分为以下模块: Core Container Core 模块 主要是spring框架使用的基础工具类。spring-core.jar Beans模块 主要包括读取配置、Factory、IOC、DI等相关类。spring-beans.jar Context模块 框架的访问入口。spring-context.jar

2016-05-24 17:57:16 741

solr-4.7.chm

solr-4.7.1帮助文档说明,API相关描述

2015-05-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除