随笔分类 - Java基础
摘要:第四章 并行化Stream流 关注公众号( CoderBuff )回复“ stream ”获取《Java8 Stream编码实战》PDF完整版。 《Java8 Stream编码实战》的代码全部在 "https://github.com/yu linfeng/BlogRepositories/tree
阅读全文
摘要:第三章 Stream流 关注公众号( CoderBuff )回复“ stream ”获取《Java8 Stream编码实战》PDF完整版。 《Java8 Stream编码实战》的代码全部在 "https://github.com/yu linfeng/BlogRepositories/tree/ma
阅读全文
摘要:第一章 认识Java8以及函数式编程 关注公众号( CoderBuff )回复“ stream ”获取《Java8 Stream编码实战》PDF完整版。 《Java8 Stream编码实战》的代码全部在https://github.com/yu linfeng/BlogRepositories/tr
阅读全文
摘要:关注公众号( CoderBuff )回复“ stream ”获取《Java8 Stream编码实战》PDF完整版。 距离Java 8发布已经过去了7、8年的时间,Java 14也刚刚发布。Java 8中关于函数式编程和新增的Stream流API至今饱受“争议”。 如果你不曾使用Stream流,那么当
阅读全文
摘要:关注公众号( CoderBuff )回复“ stream ”获取《Java8 Stream编码实战》PDF完整版。 JDK8提供的Stream虽然好用,Lambda虽然简洁,但一定不能 滥用 ,我举一个实际遇到的例子(已做脱敏处理): 试问谁能看得懂?难道是没有换行格式化? 换行格式化后,前面的流操
阅读全文
摘要:当我第一次在项目代码中看到Stream流的时候,心里不由得骂了一句“傻X”炫什么技。当我开始尝试在代码中使用Stream时,不由得感叹真香。 记得以前有朋友聊天说,他在代码中用了Lambda表达式结果CodeReview的时候老大让它改了。我在“第三章 Stream流”写了,“ 简洁的后果就是,代
阅读全文
摘要:相关链接: 《synchronized锁住的是谁?》 我们知道synchronized是重量级锁,我们知道synchronized锁住的是一个对象上的Monitor对象,我们也知道synchronized用于同步代码块时会执行monitorenter和monitorexit等。 上面几个问题仅仅是校
阅读全文
摘要:本文代码仓库:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/sync 先来一道校招级并发编程笔试题 题目:利用5个线程并发执行,num数字累计计数到10000,并打印。 这道校招级的并发编程面试题,题目
阅读全文
摘要:俗话说,对于程序员来讲,每年都应该出去面试一下,看看自己的技术能力在外面处于什么水平。程序员在一个公司一个环境一个业务干得太久,很容易丧失学习的动力,获得的仅仅是从新手到熟手。当然,我相信在各行各业均是如此。但是,恰好,计算机的技术层出不穷,每年都有新的框架新的技术出现,甚至会要求程序员在一个项目中
阅读全文
摘要:jdk1.8.0_144 本文阅读最好先了解HashMap底层,可前往《Java集合中的HashMap类》。 LinkedHashMap由于它的插入有序特性,也是一种比较常用的Map集合。它继承了HashMap,很多方法都直接复用了父类HashMap的方法。本文将探讨LinkedHashMap的内部
阅读全文
摘要:jdk1.8.0_144 HashMap作为最常用集合之一,继承自AbstractMap。JDK8的HashMap实现与JDK7不同,新增了红黑树作为底层数据结构,结构变得复杂,效率变得更高。为满足自身需要,也重新实现了很多AbstractMap中的方法。本文会围绕HashMap,详细探讨HashM
阅读全文
摘要:jdk1.8.0_144 AbstractMap抽象类实现了一些简单且通用的方法,本身并不难。但在这个抽象类中有两个方法非常值得关注,keySet和values方法源码的实现可以说是教科书式的典范。 抽象类通常作为一种骨架实现,为各自子类实现公共的方法。上一篇我们讲解了Map接口,此篇对Abstra
阅读全文
摘要:jdk1.8.0_144 Map是Java三种集合中的一种位于java.util包中,Map作为一个接口存在定义了这种数据结构的一些基础操作,它的最终实现类有很多:HashMap、TreeMap、SortedMap等等,这些最终的子类大多有一个共同的抽象父类AbstractMap。在Abstract
阅读全文
摘要:jdk1.8.0_144 一知半解写代码, 集合排序用个啥。 抄起键盘胡乱打, 似懂非懂最可怕。 Comparable与Comparator都是用于集合的排序,对于大多数人来说Comparator可能略微比Comparable要熟悉一点,类似下面这几句代码的使用频率应该是最高的。 这是一段对集合排序
阅读全文
摘要:JDK8已经发布快4年的时间了,现在来谈它的新特性显得略微的有点“不合时宜”。尽管JDK8已不再“新”,但它的重要特性之一——Lambda表达式依然是不被大部分开发者所熟练运用,甚至不被开发者所熟知。 国内的开发环境大家都知道,有各种的老项目,有各种各样的发布风险,让公司以及项目组对新的技术往往望而
阅读全文
摘要:jdk1.8.0_144 Object类作为Java中的顶级类,位于java.lang包中。所有的类直接或者间接都继承自它。所以Object类中的方法在所有类中都可以直接调用。在深入介绍它的API时,先插一句它和泛型之间的关系。 在JDK1.5之前是没有泛型的,集合能够装下任意的类型,这就导致了一个
阅读全文
摘要:在上篇《Java IO(2)阻塞式输入输出(BIO)》的末尾谈到了什么是阻塞式输入输出,通过Socket编程对其有了大致了解。现在再重新回顾梳理一下,对于只有一个“客户端”和一个“服务器端”来讲,服务器端需要阻塞式接收客户端的请求,这里的阻塞式表示服务器端的应用代码会被挂起直到客户端有请求过来,在高
阅读全文
摘要:在上文中《Java IO(1)基础知识——字节与字符》了解到了什么是字节和字符,主要是为了对Java IO中有关字节流和字符流有一个更好的了解。 本文所述的输出输出指的是Java中传统的IO,也就是阻塞式输入输出(Blocking I/O, BIO),在JDK1.4之后出现了新的输入输出API——N
阅读全文
摘要:在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进行传递。数据的格式通常有2种:1、xml;2、JSON。通常来说都是使用JSON来传递数据。本文正是介绍在Java中JSON与对象之间互相转换时遇到的几个问题以及相关的建议。 首先明确对于JSON有两个
阅读全文
摘要:正所谓怕什么来什么,这是知名的“墨菲定律”。Java基础涵盖各个方面,敢说Java基础扎实的人不是刚毕业的学生,就是工作N年的程序员。工作N年的程序员甚至也不敢人人都说Java基础扎实,甚至精通,往往只是“无他唯熟尔”——熟手而已。 IO这块我确实怕,它不难,只有两个方面:输入/输出。但你说它用得多
阅读全文