
java8/9/11
文章平均质量分 53
菠萝科技
"Java并没有衰落.而是刚刚开始"
展开
-
java8:lambda级联表达式(Cascading)或柯里化(Currying)原理简化详解
lambda :级联表达式(Cascading lambdas)或柯里化(Currying)。柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。这个技术由 Christopher Strachey 以逻辑学家 Haskell Curry 命名的,尽管它是 Moses Schnfinkel 和 Gottlob Frege 发明的。举个简单的例子:Function<Integer, Predi.原创 2021-07-29 21:03:21 · 911 阅读 · 0 评论 -
巧用map的computeIfAbsent统计次数
1 //map中的key对应的value值为null,则该key对应value值为new AtomicInteger()且自增加1,key已经存在,value值直接自增1Map<String,AtomicInteger> map=Maps.newHashMap() list.forEach( str-> map.computeIfAbsent(str, k -> new AtomicInteger()).incrementAndGet());2 如果不用...原创 2021-07-27 22:08:52 · 608 阅读 · 0 评论 -
Java 代码精简之道
前言古语有云:道为术之灵,术为道之体;以道统术,以术得道。其中:“道”指“规律、道理、理论”,“术”指“方法、技巧、技术”。意思是:“道”是“术”的灵魂,“术”是“道”的肉体;可以用“道”来统管“术”,也可以从“术”中获得“道”。在拜读大佬“孤尽”的文章《Code Review是苦涩但有意思的修行》时,感受最深的一句话就是:“优质的代码一定是少即是多的精兵原则”,这就是大佬的代码精简之“道”。工匠追求“术”到极致,其实就是在寻“道”,且离悟“道”...转载 2021-07-27 21:33:31 · 384 阅读 · 0 评论 -
java链式编程/级联式编程
链式编程,也叫级联式编程,调用对象的函数时返回一个this对象指向对象本身,达到链式效果,可以级联调用。链式编程: 通过高阶函数以点为连接将多个函数连接在一起完成参数传递和复杂的操作!通俗的说是通过点号(.)链接在一起成为一句代码。链式编程的优点是:编程性强、可读性强、代码简洁。举例:StringBuilder builder = new StringBuilder(96);builder.append("select id, name from ") .append(T_USE..原创 2021-07-27 21:06:34 · 3575 阅读 · 0 评论 -
concurrentHashmap 中 computerIfAbsent 方法的bug
1为了保证原子性,对相同 key 进行修改时,可能造成线程阻塞。(详细参见:MyBatis 3.5.X 在 JDK8 中的性能问题)The entire method invocation is performed atomically, so the function is applied at most once per key. Some attempted update operations on this map by other threads may be blocked while.原创 2021-04-27 08:01:57 · 1508 阅读 · 0 评论 -
JDK14来了:9大重磅特性解读
作者:阿飞的博客转载自:https://www.jianshu.com/p/0364ba3d4750JEP 305: Pattern Matching for instanceof (Preview)JEP 358: Helpful NullPointerExceptionsJEP 361: Switch Expressions (Standard)JEP 345: NUMA-A...转载 2020-01-29 17:34:07 · 2551 阅读 · 0 评论 -
java8:lambda表达式之Stream原理深度解析
本文为转载 原文链接:http://www.cnblogs.com/Dorae/p/7779246.htmlauthor:Author:Dorae Date:2017年11月2日19:10:39这篇博客内容还未看,内容正确与否,请自行判断。上一篇文章中简要介绍了Java8的函数式编程,而在Java8中另外一个比较大且非常重要的改动就是Stream。在这篇文章中,将会...原创 2019-11-30 14:51:33 · 1162 阅读 · 0 评论 -
java8:lambda中collect接口案例及原理详解,官方文档解读
本文简要介绍toList,toMap等会简要介绍,主要是介绍collect的"底层",及如何触类旁通。lambda偏具体实现:https://blog.youkuaiyun.com/wabiaozia/article/details/103324562lambda偏底层原理:Lambda 底层实现分析1 案例中使用到的实体类Employee见java8的lambda中的map...原创 2019-11-30 17:49:23 · 6475 阅读 · 2 评论 -
java8的lambda中的map相关操作:基础及注意事项图文详解UnsupportedOperationException
下篇:java8的lambda中collect操作进阶1 实体类1.1Employee 见文末1.2LambdaTest代码 见文末2 list转为map细节讲解:2.1返回值map的key和value分别是什么map的key和value如上图所示。2.2入参x y如何理解首先,lambda表达式语法: 参数 -> 具体的实现。然后看...原创 2019-11-30 10:49:05 · 5007 阅读 · 0 评论 -
java8:封装lambda泛型工具类之list转为map
0 接之前姊妹篇1 java8的lambda中的map的合并https://blog.youkuaiyun.com/wabiaozia/article/details/842621952 最简单入门:java8的lambda中的map相关操作:基础及注意事项图文详解https://blog.youkuaiyun.com/wabiaozia/article/details/1033217521 ...原创 2019-06-24 00:25:50 · 3603 阅读 · 1 评论 -
垃圾回收器PS MarkSweep和serial old使用算法异同
[讨论] 关于GC参数的问题ParallelScavenge(PS)的young collector就如其名字所示,是并行的拷贝式收集器。本来这个young collector就是“Parallel Scavenge”所指,但因为它不兼容原本的分代式GC框架,为了凸显出它是不同的,所以它的young collector带上了PS前缀,全名变成PS Scavenge。对应的,它的old colle...原创 2019-04-20 20:16:33 · 14729 阅读 · 1 评论 -
浅析Java的线程调度策略
原文链接:https://www.jianshu.com/p/3f6b26ee51ce作者:杨兴强原文来源:开点工作室(ID:kaidiancs)一.从一个例子开始看着Java线程执行起来的那种任性和随意,我们不免会问:是谁在主导Java线程的执行?它按照什么样的策略来调度Java线程?本文将带着这样的问题,探讨Java线程的调度机制。程序的问题还是先从代码说起吧,下面是一个广泛...转载 2019-03-13 23:52:34 · 4015 阅读 · 3 评论 -
网上关于「阿里P7程序员、资深架构师不知 jvm、红黑树」一事的争议
原文链接:https://www.zhihu.com/question/2976473301---------------默认排序winter发言仅代表个人观点157 人赞同了该回答需要知道,所谓面试题,没有任何价值,面试是一个不对等的过程,如果是毫无章法的随机“出题”,那么两个人互相面试不过将会是常态。 正常的面试官不会拿“xx问题会不会”来评价候选人。...原创 2018-12-01 21:17:15 · 1787 阅读 · 2 评论 -
java8的lambda中的map相关操作
0 入门篇1 史上最简单入门:java8的lambda中的map相关操作:基础及注意事项图文详解2 java8的lambda中collect接口案例及原理详解,官方文档解读1 以下是正文本文为转载,原文链接:https://blog.youkuaiyun.com/w605283073/article/details/829871571. 介绍本入门教程将介绍Ja...转载 2018-11-19 23:40:22 · 42130 阅读 · 1 评论 -
Java 8 Stream的性能到底如何?
原文链接:Java 8 Stream的性能到底如何Java 8提供的流的基于Lambda表达式的函数式的操作写法让人感觉很爽,笔者也一直用的很开心,直到看到了Java8 Lambda表达式和流操作如何让你的代码变慢5倍,笔者当时是震惊的,我读书少,你不要骗我。瞬间我似乎为我的Server Application速度慢找到了一个很好地锅,不过这个跟书上讲的不一样啊。于是笔者追本溯源,最后找到了始...翻译 2018-08-27 22:09:38 · 2474 阅读 · 1 评论