WebLogic Metaspace OOM 解决案例
WebLogic Metaspace OOM 解决案例
一、前言
估计也只有我这么惨了,都0202年了还在用weblogic这种上古神器。故事要从前段时间说起,至于是多久时间,我也忘记了。
某日,线上发布版本,在weblogic控制台更新的时候,直接卡死无响应。一打开日志一瞧,好家伙,OOM了,还是个metaspace的OOM。
这玩意儿就有点奇怪了,metaspace按道理是存放的类信息,字面量(Literal)、类静态变量(Class Static)、符号引用(Symbols Reference)等相关信息。类相关信息在metaspace里面又分为2块区域,Klass MetaSpace和NoKlass MetaSpace。这就不细讲了,不然扯不完。
也就...
spring-boot2 idea jsp 404 问题探究(tomcat启动流程探究)
一、前言
最近有小朋友在学习spring boot的时候遇到了一个问题,按照教程上操作始终是404.于是就百事不得其解.问我的时候,我也一脸蒙B,毕竟jsp这玩意儿好久都没碰到过了,之前碰jsp的时候还是在ssh的时候.
既然遇到问题就来分析一下呗,趁着最近在看spring的源码.
二、案发现场
ymal:
server:
port: 9090
spring:
mvc:
view:
prefix: /WEB-INF/jsp/
suffix: .jsp
pom:
<dependencies>
<dependency>
<groupId>org.sp...
[断点分析之spring-ioc]-bean属性填充与初始化(九)
一、前言
bean是创建好了,但还需要一些属性填充,初始化等操作.
// 属性填充
populateBean(beanName, mbd, instanceWrapper);
// 初始化bean
exposedObject = initializeBean(beanName, exposedObject, mbd);
二、populateBean
protected void populateBean(String beanName, RootBeanDefinition mbd, @Nullable BeanWrapper bw) {
// 跳过 null bean 赋值
if (bw == null) {
if (mbd.hasProperty...
[断点分析之spring-ioc]-bean的创建(八)
一、前言
经过前面的一顿折腾,终于要到了扯开遮羞布的时候了.
@Test
public void testSpringLoadXml(){
// A
BeanFactory factory = new XmlBeanFactory(new ClassPathResource("com/sjr/test/bean/MyTestBean.xml"));
// B
final MyTestBean testBean = factory.getBean("myTestBean",MyTestBean.class);
final String testStr = testBean.getTestStr();
System.out.println(test...
[断点分析之spring-ioc]-BeanDefinitionHolder注册(七)
一、前言
通过前面大批量的工作,终于要到注册BeanDefinitionHolder这一步了.当然还是通过一下代码作为入口进行分析.
protected void processBeanDefinition(Element ele, BeanDefinitionParserDelegate delegate) {
// 解析xml元素
BeanDefinitionHolder bdHolder = delegate.parseBeanDefinitionElement(ele);
if (bdHolder != null) {
// 装饰bean
bdHolder = delegate.decorateBeanDefinitionIfRequired(e...
[断点分析之spring-ioc]-BeanDefinitionHolder装饰(六)
一、前言
在xml标签解析完之后会产生一个BeanDefinitionHolder对象,紧接着就来谈谈,spring用这个对象来干嘛吧.
//DefaultBeanDefinitionDocumentReader.java
protected void processBeanDefinition(Element ele, BeanDefinitionParserDelegate delegate) {
// 解析xml元素
BeanDefinitionHolder bdHolder = delegate.parseBeanDefinitionElement(ele);
if (bdHolder != null) {
// 装饰
bdHolder = d...
[断点分析之spring-ioc]-bean标签解析(五)
一、前言
分析了import标签、alias标签,顺势引出了bean标签,只不过bean标签逻辑较为复杂没有记录完.
二、从BeanDefinitionParserDelegate开始
// BeanDefinitionParserDelegate
@Nullable
public BeanDefinitionHolder parseBeanDefinitionElement(Element ele) {
return parseBeanDefinitionElement(ele, null);
}
/**
* Parses the supplied {@code <bean>} element. May return {@code null}
...
[断点分析之spring-ioc]-xml标签解析(四)
一、前言
接上文,分析了spring 把 xml 文件读取到内存中,并生成一个document对象,然而离创建bean还比较遥远.在xml中定了bean该如何创建的规则,而spring也是遵循xml中的标签所描述规则来进行创建bean.接下来就是要分析,spring是如何解析这些标签的.
二、分析
还是常规套路,从下面的测试代码开始.
@Test
public void testSpringLoadXml(){
BeanFactory factory = new XmlBeanFactory(new ClassPathResource("com/sjr/test/bean/MyTestBean.xml"));
final MyTestBean testBean...
共计 67 篇文章,9 页。