![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java解惑
文章平均质量分 59
Java基础知识中的一些疑难点
鲲鹏之上
这个作者很懒,什么都没留下…
展开
-
jdk1.8之函数式接口
jdk1.8 函数式编程之Function , Consumer, Supplier, Predicate原创 2023-01-10 10:48:42 · 1215 阅读 · 1 评论 -
JVM - 类加载机制
类加载子系统在 JVM 中的位置 首先我们来从宏观的角度看看,类加载机制在整个Java虚拟机中处于一个什么位置,先来一张JVM的组成结构图: 类加载子系统是数据JVM 的上层建筑,只有将类从class二进制流加载到内存中,并校验准备解析通过才能正式的被Java 虚拟机所使用。 虚拟机把类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成虚拟机直接使用的Java类型,这...原创 2019-12-01 15:37:30 · 142 阅读 · 0 评论 -
ArrayList源码解析(一)
首先来看一下ArrayList的继承体系: ArrayList继承自AbstractList,实现了 List, Cloneable, Serializable, RandomAccess接口。这一点从源码上也可以看到public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAcce原创 2017-08-01 11:05:59 · 256 阅读 · 0 评论 -
ArrayList源码解析(二)
在末尾添加一个元素add( E e )public boolean add(E e) { ensureCapacityInternal(size + 1);//确保内部容量够用,必要的话进行扩容。否则elementData[size]将会数组越界 elementData[size++] = e;//相当于elementData[size] = e; size++;先赋原创 2017-08-03 16:37:57 · 279 阅读 · 0 评论 -
LinkedList源码解析(一)
一下分析皆以jdk1.8为准。 首先我们来看一下LinkedList的继承结构类图:原创 2017-08-07 11:11:53 · 224 阅读 · 0 评论 -
ArrayList源码解析(三)
迭代器对象:Iterator() public Iterator<E> iterator() { return new Itr(); } /** * An optimized version of AbstractList.Itr */ private class Itr implements Iterator<E> { in原创 2017-08-04 15:03:06 · 213 阅读 · 0 评论 -
为什么Collection不从Clone和Serializable接口继承
Collection表示一个集合,包含了一组对象。如何存储和维护这些对象是由具体实现来决定的。因为集合的具体形式多种多样,例如list允许重复,set则不允许。而克隆(clone)和序列化(serializable)只对于具体的实体,对象有意义,你不能说去把一个接口,抽象类克隆,序列化甚至反序列化。所以具体的collection实现类是否可以克隆,是否可以序列化应该由其自身决定,而不能由其超类强行赋原创 2017-07-31 18:32:49 · 4749 阅读 · 0 评论 -
Java集合体系
详细图 JavaSE5新增添加了: Queue接口及其实现类PriorityQueue和各种风格的BlockQueue。 ConcurrentMap接口及其实现类ConcurrentHashMap。它们都是用于多线程机制。 CopyOnWriteArrayList和CopyOnWriteArraySet。它们都是用于多线程机制。 EnumSet和EnumMap。专门为enum使用而设计的S原创 2017-07-31 14:21:47 · 212 阅读 · 0 评论 -
JSON.toJSONString中序列化空字符串遇到的坑
https://www.cnblogs.com/wang-meng/p/33d93b7f748ba3cf5bd06a80f886f238.html转载 2021-03-02 17:23:29 · 834 阅读 · 0 评论 -
alibaba fastJson把javaBean转化为JSON对象时值为null的属性忽略问题
问题 当 JavaeBean 中某个属性值为 null 时,转换为 JSONObject 对象或者 json 字符串时,该属性值被忽略。 如何让不管值是否为 null,转化后该属性还存在,只是值为 null。 情况演示 class St { private String sid; private String sname; private String ssex; ...原创 2019-05-22 22:51:00 · 15633 阅读 · 1 评论 -
Java 内部类(1): 基本语法
可以将一个类的定义放在另一个类的内部,这就是内部类。内部类的表面意义一目了然,不过内部类的实现语法还是稍显繁琐。内部类的分类:内部类主要分为:普通内部类,匿名内部类,局部内部类,嵌套内部类(静态内部类)。 普通内部类 public class Outer{ class Inner{ private String name; pu原创 2017-07-05 17:48:33 · 462 阅读 · 0 评论 -
Arrays.asList(T...a)的使用问题
我们经常会使用Arrays.asList来初始化一个列表List。例如List<String> list = Arrays.asList("123","234"); 或者 List<String> list = Arrays.<String>asList("123",234");不过这里存在一个容易忽视的问题,Arrays.asList返回的是一个底层为大小固定的数组所构成的ArrayList。底层原创 2017-07-14 17:03:46 · 1223 阅读 · 0 评论 -
接口和抽象类
理论就不讲了,说一下接口和抽象类语法上需要注意的地方。抽象类:如果一个类中包含一个或多个抽象方法,那么该类必须被限定为抽象类。 抽象类不可实例化 抽象类必须用abstract修饰,也可用public表明可访问范围。如果不加public,默认就是同一包范围可访问。不可以用protected、private修饰。 抽象类可以有成员变量、成员方法。甚至是静态成员、静态方法。静态成员、方法属于该抽象类。 a原创 2017-07-11 22:57:01 · 229 阅读 · 0 评论 -
Java内部类(4):为什么方法传递给匿名内部类或局部内部类的参数必须是final的
首先举一个匿名内部类的例子:class Outer{ public Inner getInner(String name){ return new Inner(){ //name = name+" ";编译错误,这里用来示例 public void printf(){ System.out.pri原创 2017-07-11 10:32:57 · 1519 阅读 · 0 评论 -
Java内部类(2): 用法和回调
为什么需要内部类一般来说,内部类继承自某个类或实现了某个接口,内部类代码操作创建它的外部类的对象,可以说,内部类提供了某种进入外部类的窗口,而且内部类自己本身实现了有效的代码隐藏。 内部类必须要回答的一个问题是:如果只是需要一个接口的引用,为什么外部类不直接实现接口呢。答案是:如果这能满足需求,就应该这么做!那么内部类实现一个接口于外部类实现这个接口有什么区别呢?答案是:后者并不总能享受接口带来的原创 2017-07-10 16:25:33 · 442 阅读 · 0 评论 -
JSP转译成Servlet详细过程
很多人都会认为JSP的执行性能会和Servlet相差很多,其实执行性能上的差别只在第一次的执行。因为JSP在执行第一次后,会被编译成Servlet的类文件,即.class,当再重复调用执行时,就直接执行第一次所产生的Servlet,而不再重新把JSP编译成Servelt。 因此,除了第一次的编译会花较久的时间之外,之后JSP和Servlet的执行速度就几乎相同了。Web容器处理JSP文件请求的执原创 2015-01-05 17:56:41 · 619 阅读 · 0 评论