Java基础
芹菜不好吃啊
这个作者很懒,什么都没留下…
展开
-
Java集合框架中的modCount字段与ConcurrentModificationException
在并发环境下使用Java的集合框架,比如ArrayList、HashMap时,有时候会报ConcurrentModificationException。那么这个异常到底是怎么产生的呢?我们以ArrayList为例来说明这个问题。1、我们在ArrayList中搜索ConcurrentModificationException,会看到下面的代码:final void checkForComodification() { if (modCount != expectedModCount) .原创 2020-07-25 23:00:19 · 241 阅读 · 0 评论 -
Java数据结构之Stack的简单实现
Stack是一种数据结构,主要功能包括存放数据、取数据、删除栈中的元素等,下面分别用数组和链表结构实现Stack1、Stack接口public interface MyStack<E> { /** * 向栈顶插入元素 * @param e */ void push(E e); /** * 获取栈顶元素 * @return 栈顶元素 */ E peek(); /** * 获原创 2020-07-25 14:49:47 · 190 阅读 · 0 评论 -
Jackson序列化导致npe问题
一、问题描述 在使用jackson进行序列化时,报npe。最终定位到原因:有一个public方法是is开头的,该方法里调用的对象为null,导致序列化的时候出现npe。二、问题复现1、创建Tpp类public class Tpp implements Serializable { private String tppName; private TppSrc reqSrc; public String getTppName() { retur..原创 2020-07-25 13:23:54 · 594 阅读 · 0 评论 -
Java注解分析与使用
1.Java Annotation概述:Annotation是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用Annotation,我们可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充的信息。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。 Annotation提供了一条为程序设置元数据的方法,从某些方面来看,Annotation就像修饰符一样被使用,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明,这些信息被存储在..原创 2020-07-12 22:50:33 · 64 阅读 · 0 评论 -
Java动态代理和cglib代理
一.Java动态代理 动态代理的本质是,生成目标类的一个代理类,在实际调用中,调用的是代理类中的方法。具体实例:1、接口public interface Hello { void say();}2、实现类public class HelloService implements Hello { @Override public void say() { System.out.println("你好啊Java"); }}...原创 2020-07-08 23:21:43 · 123 阅读 · 0 评论 -
Comparable和Comparator比较
Comparable和Comparator都是一个比较器接口,都能用于比较两个对象。根据接口的名称可知,实现Comparable的类将具备比较的能力;实现Comparator的类本身就是一个比较器。1.比较器抽象方法public interface Comparable<T> { public int compareTo(T o);}public interface Comparator<T> { int compare(T o1, T...原创 2020-07-07 21:18:41 · 111 阅读 · 0 评论 -
HashSet去重原理
HashSet中的元素是不重复的,那么是何如做好这点呢?下面就结合源码来看这个问题(源码基于JDK1.8)。1、HashSet.add()方法public boolean add(E e) { return map.put(e, PRESENT)==null;} HashSet中的数据存储在一个Map中,其提供的操作也是依赖这个map来实现的。 add方法只是调用map的put方法来添加元素,并没有什么过滤逻辑。因此去重逻辑应该在map的put方法中。2、H...原创 2020-07-05 21:59:54 · 1923 阅读 · 0 评论