java
文章平均质量分 92
Carino_U
小猿
展开
-
JAVA8 Stream流之reduce()方法详解
JAVA8 Stream流之reduce()方法详解转载 2022-02-22 17:12:03 · 22603 阅读 · 1 评论 -
Java集合---ConcurrentHashMap原理分析
一、背景:线程不安全的HashMap因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。效率低下的HashTable容器HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTabl...转载 2019-11-28 21:02:50 · 196 阅读 · 0 评论 -
Integer缓存池(IntegerCache)
Integer 缓存是 Java 5 中引入的一个有助于节省内存、提高性能的特性。Integer中有个静态内部类IntegerCache,里面有个cache[],也就是Integer常量池,常量池的大小为一个字节(-128~127)。JDK源码如下(摘自JDK1.8源码):/** * Cache to support the object identity semantics ...转载 2019-10-29 15:16:22 · 417 阅读 · 0 评论 -
maven打包不通过:软件包com.sun.org.apache.xml.internal.security.utils.Base64 不存在
因字节处理中引入了import com.sun.org.apache.xml.internal.security.utils.Base64;而出现的一系列问题。1.首先报错软件包com.sun.org.apache.xml.internal.security.utils.Base64 不存在解决方案:pom.xml中增加<compilerArguments>...原创 2019-10-10 19:05:46 · 1370 阅读 · 1 评论 -
Java对象的序列化和反序列化
一、序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的...转载 2019-05-30 18:30:29 · 165 阅读 · 0 评论 -
【Java并发编程】:LinkedBlockingQueue
前言在前面的文章ArrayBlockingQueue源码分析中,已经对JDK中的BlockingQueue中的做了一个回顾,同时对ArrayBlockingQueue中的核心方法作了说明,而LinkedBlockingQueue作为JDK中BlockingQueue家族系列中一员,由于其作为固定大小线程池(Executors.newFixedThreadPool())底层所使用的阻塞队列,分析它的...原创 2018-04-19 15:22:16 · 432 阅读 · 0 评论 -
【Java并发编程】:ArrayBlockingQueue
前言本文的主要详细分析ArrayBlockingQueue的实现原理,由于该并发集合其底层是使用了java.util.ReentrantLock和java.util.Condition来完成并发控制的,我们可以通过JDK的源代码更好的学习这些并发控制类的使用,同时该类也是所有并发集合中最简单的一个,分析该类的源码也是为之后分析其他并发集合做好基础。1.Queue接口和BlockingQueue接口...原创 2018-04-19 15:20:42 · 314 阅读 · 0 评论 -
instanceof和getClass两种方法的区别
在比较一个类是否和另一个类属于同一个类实例的时候,我们通常可以采用instanceof和getClass两种方法通过两者是否相等来判断,但是两者在判断上面是有差别的,下面从代码中看看区别:[java] view plain copypublic class Test { public static void testInstanceof(Object x) { ...原创 2018-04-17 15:12:23 · 249 阅读 · 0 评论 -
Map的实现
1、Map接口的相关实现类:2、HashMap的底层结构实际上是“链表散列”,即数组和链表的结合体。从上图可以看出,HashMap底层就是一个数组结构(Entry<K,V>[] table),数组中的每一项又是一个链表。源代码如下:[java] view plain copytransient Entry<K,V>[] table; static class Ent...原创 2018-03-30 18:55:07 · 516 阅读 · 0 评论 -
o(1), o(n), o(logn), o(nlogn)
调度算法含义原创 2018-03-19 14:08:51 · 339 阅读 · 0 评论 -
Java后台生成验证码图片
java后台生成验证码原创 2017-12-19 10:02:27 · 1606 阅读 · 0 评论 -
Java transient关键字
javabean中的某些字段不希望被实例化,只做传参用的时候可以用transient关键字修饰。原创 2017-12-19 09:50:53 · 289 阅读 · 1 评论 -
程序猿成长之旅
程序猿成长之旅转载 2017-12-01 15:53:49 · 307 阅读 · 0 评论 -
值传递与引用传递
在学习Java编程语言过程中最容易让你产生误解的问题之一就是 java是值传递还是引用传递。今天就来围绕这个话题揭开迷雾。原创 2016-10-24 15:20:33 · 388 阅读 · 0 评论