摘要:错误信息 Caused by: org.apache.catalina.LifecycleException: A child container failed during start at org.apache.catalina.core.ContainerBase.startInternal(
阅读全文
随笔分类 - java
摘要:错误信息 Caused by: org.apache.catalina.LifecycleException: A child container failed during start at org.apache.catalina.core.ContainerBase.startInternal(
阅读全文
摘要:转载 Caused by: java.lang.UnsupportedOperationException 解决方案 博客分类: Java 转载 Caused by: java.lang.UnsupportedOperationException 解决方案 Java 背景: 今天在跑一个UnitTe
阅读全文
摘要:有时候用Integer代表int类型的时候经常会判断是否相等,最习惯的写法就是aa==bb这种,然而发现这样存在很大的问题,先看下面两个场景场景A:Integer aa=100;Integer bb=100;System.out.println(aa==bb);System.out.println(
阅读全文
摘要:背景:使用countDownLatch,10个线程计算结果,最后通过主线程来汇总结果; 有个spring scheduler的程序,运行一段时间后,不运行了,查看日志发现CountDownLatch无法归零,导致整个主线程Hang在那里,此时如果调用其外部接口还能响应: 怀疑是不是死锁了? 查一下j
阅读全文
摘要:跑个任务,跑着跑着就不运行了,查看GC如下,居然Old区无法回收,fullGC的次数大量增加 后来在启动任务中加了打印GC的日志,参数如下 收集到的信息如下,GC无法回收空间 [Full GC [PSYoungGen: 1244672K->1243884K(2013184K)] [ParOldGen
阅读全文
摘要:原文出处:http://blog.csdn.net/jiankunking/article/details/52143504 概述 主要从几个方面来讲解动态代理: 1.什么是代理? 2.动态代理类 3.怎么使用动态代理? 4.动态代理如何实现? 5.结论 什么是代理? 代理是常用的设计模式,主要用途
阅读全文
摘要:之前看到一个面试题,静态工厂方法有什么优缺点,这个表示说不上来。。。 惭愧 所以单独开一篇介绍下静态工厂方法的特点,先看代码实现。这里举例了一个静态工厂方法的实现 先看一下有什么缺点: 1.static的静态工厂方法和普通的静态方法没什么明显区别; 2.在继承Fruit的时候,必须将Fruit的构造
阅读全文
摘要:JDK1.8新增的功能 JDK1.8新增的功能 字符流和字节流的区别,使用场景,相关类 字符流和字节流的区别,使用场景,相关类 那是用字符流好还是字节流好? 当然是字节流,所有文件在硬盘或文件都是以字节流方式进行的,而字符只有在内存中是。 线程安全的概念,实现线程安全的几种方法 线程安全的概念,实现
阅读全文
摘要:最近招聘经常会问到别人i++和++i的区别,于是这里来总结一下,当然除了那个大家都知道的先加后加的区别; 在性能上的区别 1.i++,会创建一个tmp值来保存i值,所有会额外带来开销,而++i不会。当然这个性能区别不会特别明显,基本上可以忽略。 原子性比较 1.i++和++i是否都具有原子性? 答案
阅读全文
摘要:定义 注解通过 @interface 关键字进行定义。 应用 创建一个类 Test,然后在类定义的地方加上 @TestAnnotation 就可以用 TestAnnotation 注解这个类了。 你可以简单理解为将 TestAnnotation 这张标签贴到 Test 这个类上面。 不过,要想注解能
阅读全文
摘要:先看一段代码的输出 结果为true。 为什么? 这里两个List均用到泛型,而泛型在编译的时候通过类型擦除已经没有了类型一说。所有两个class是相等的。 泛型是什么? 泛型一种较为准确的说法就是为了参数化类型,或者说可以将类型当做参数传递给一个类或者方法。 怎么理解参数化? 假设 Cache 能够
阅读全文
摘要:面试过程中会经常问到的一些问题: 一.fullGC的触发条件有哪些? 1、调用System.gc()方法 2、老年代内存空间不足 3、永久代内存空间不足 4、统计得到MinorGC晋升到老年代的平均内存大小大于老年代的剩余空间;也就是在MinorGC时会做检测,如果超过,则立即进行fullGC。 5
阅读全文
摘要:通常面试如果说会java,这个问题一般必问,如果能从堆内存划分、回答到垃圾回收器、再到GC监控,这样就比较满意了 JVM进行GC的时候会停止应用程序的执行,除了GC线程外,其他线程都处于等待状态,所以GC的优化很多时候就是尽量减少停顿时间。 说到Java垃圾回收,先有必要介绍一下java的内存结构,
阅读全文
摘要:Java中的class.forName和classLoader都可以用来对类的加载。 class.forName除了把类加载到JVM中,还会对类进行解释,执行类的static代码块; classLoader只是把类加载到JVM中,只有在调用newInstance的时候才会去执行static代码块;
阅读全文
摘要:在其他博客看到过这种关于初始化顺序的文章,仔细一想,自己还真的不太清楚具体的顺序是什么样的,搞段代码测试一下: class B extends A ,然后A类也就是父类里面有静态代码块,普通代码块,静态方法,静态成员变量,普通成员变量,普通方法。 在子类中,执行main方法,new LoaderOr
阅读全文
摘要:1.最底层可以配置的是MySQL自带的query cache, 2.mybatis的一级缓存,默认情况下都处于开启状态,只能使用自带的PerpetualCache,无法配置第三方缓存 3.mybatis的二级缓存,可以配置开关状态,默认使用自带的PerpetualCache,但功能比较弱,能够配置第
阅读全文
摘要:类加载器的作用不仅仅是实现类的加载,它还与类的的“相等”判定有关,关系着Java“相等”判定方法的返回结果,只有在满足如下三个类“相等”判定条件,才能判定两个类相等。 1、两个类来自同一个Class文件 2、两个类是由同一个虚拟机加载 3、两个类是由同一个类加载器加载 JVM类加载器 启动类加载器(
阅读全文
摘要:1、什么是类加载?什么时候进行类加载? 2、什么是类初始化?什么时候进行类初始化? 3、什么时候会为变量分配内存? 4、什么时候会为变量赋默认初值?什么时候会为变量赋程序设定的初值? 5、类加载器是什么? 6、如何编写一个自定义的类加载器? 首先,在代码编译后,就会生成JVM(Java虚拟机)能够识
阅读全文
摘要:之前总结过HashMap的原理,同时对源码进行了阅读,不过是针对JDK1.7的版本,同样针对1.8的版本也来做一遍记录 1.HashMap1.8针对1.7的修改点有哪些? JJDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等,其中最重要的一个优化就是桶中的元素不
阅读全文
摘要:之所以分两篇文章记录,因为之前一直看的1.7的源码,而且网上很多的都是关于1.7的,今天在1.8上打开源码一看,居然懵了。 没想到1.8的实现变化这么大。所有特地拿一篇文章来记录下。 本章只介绍1.7的情况 1.HashMap存储结构 哈希表是由数组+链表组成的,一个长度为16的数组中,每个元素存储
阅读全文
|