- 博客(10)
- 收藏
- 关注
原创 多线程高并发总结(一)
日常开发中,我们面对的大多是多线程高并发的场景,多线程的知识点也变得尤为重要。所以这一节我们对多线程的基本知识点做一个全面复习。 一、什么是线程,进程和线程的区别? 进程是资源分配的基本单位,是正在运行的一个程序,一个进程包括很多线程; 线程是cup执行和调度的基本单位,是程序中的一条执行路径; 二、线程如何创建?线程池有哪些?其中的参数有哪些?拒绝策略有哪些?线程池中任务的执行过程? 线程的创建方式有四种; 1、继承Thread 2、实现Runnable接口 3、实现Callable接口 4、创建线程池
2020-08-23 22:54:25
301
原创 关于对Java集合类的一些总结(三)
Map接口下的实现类主要有HashMap、HashTable、ConcurrentHashMap、TreeMap 一、HashMap 底层数据结构是数组+链表/红黑树,HashMap的主干是Node数组(JDK1.8之前是Entry),数组是HashMap的主体,链表是为了解决哈希冲突的。 transient Node<K,V>[] table; Node是HashMap的一个静态内部类,Node节点中包括key的hash值、key和value值,链表中指向下一个Node节点的指针。 sta
2020-08-19 18:58:35
155
原创 关于对Java集合类的一些总结(二)
上一节对List接口下的ArrayList和LinkedList实现类的底层数据结构、扩容机制、线程安全简要做了一个分析,这一节我们来看一下Set接口下的实现类 一、Set接口下主要有两个实现类,分别是HashSet和TreeSet 1、HashSet的底层是HashMap private transient HashMap<E,Object> map; // Dummy value to associate with an Object in the backing Map
2020-08-18 22:48:42
175
原创 关于对Java集合类的一些总结(一)
Java集合类主要分为Collection和Map两大接口,下面将对每个实现类做简要概述 一、List接口下有两个实现类,分别是ArrayList和LinkList 1、ArrayList底层的数据结构是Object[ ]数组 transient Object[] elementData; 当创建一个没有指定初始大小的ArrayList时,默认会创建一个长度为0的数组 private static final Object[] EMPTY_ELEMENTDATA = {}; ... public Ar
2020-08-18 16:53:13
139
原创 type=None, status=999解决办法
踩坑 今天在做一个SpringBoot的一个小demo时遇到一个很头疼的问题,在向浏览器返回名为/error自定义错误页面时一直失败,效果如下: Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Thu Jul 30 19:21:40 CST 2020 There was an unexpected error (type=None
2020-07-30 19:25:50
6800
7
原创 Java中String类为什么是final类型?
String是我们平时开发中最常用的类之一,它的底层是char[ ]数组(JDK 1.9 之后是Byte[ ]数组),可是你知道它为什么是final类型的吗? private final char value[]; 1、安全 在多线程的场景下,多个线程对String进行读操作时,不会发生线程安全问题,而String是final类型的,具有不可变性,所以不能对String进行写操作,此时线程也是安全的。 String s = new String
2020-07-17 16:22:33
2546
转载 为什么说ArrayList是线程不安全的?
一.概述 对于ArrayList,相信大家并不陌生。这个类是我们平时接触得最多的一个列表集合类。 面试时相信面试官首先就会问到关于它的知识。一个经常被问到的问题就...
2020-07-12 17:55:57
247
原创 JVM中对象的内存分配
我们一般认为方法区保存类型信息,常量,静态变量,即时编译器编译后的代码缓存 JDK1.6中静态变量保存在永久代中。 JDK1.7,逐渐“去永久代”化,字符串常量池和静态变量保存在堆中。 JDK1.8,去除永久代,转而由元空间实现方法区,元空间是非堆(non-heap),占用本地内存,类型信息、字段、方法、常量等保存在元空间,字符串常量池和静态变量依然保存在堆中。 ...
2020-07-07 16:35:45
110
原创 maven clean踩坑记录
今天在做一个ssm项目时,一直报c3p0-0.9.1.2 NewProxyPreparedStatement.isClosed()Z is abstract!错误,于是在网上找到了解决办法,升级c3p0的jar包 <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</
2020-06-23 15:24:39
492
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅