三.高效Java 8编程 第8章 重构.测试和调试 Java 8的新特性也可以帮助提升代码的可读性:      使用Java 8,你可以减少冗长的代码,让代码更易于理解      通过方法引用和Stream API,你的代码会变得更直观 介绍三种简单的重构,利用Lambda表达式.方法引用以及Stream改善程序代码的可读性:      重构代码,用Lambda表达式取代匿名类      用方法引用重构Lambda表达式      用Stream API重构命令式的数据处理 增加代码的…
https://www.lilu.org.cn/https://www.lilu.org.cn/ 第十二章:新的日期时间API 在Java 8之前,我们常用的日期时间API是java.util.Date和java.util.Calendar这两个类. 如果我们要构建一个指定年月日的日期时间对象,比如2019-9-2,使用java.util.Date类的构造方法Date(int year, int month, int date),传入的年份year参数必须是年份2019减去1900,即传入119…
本书的主要内容如下:  如何使用Java 8新增的强大特性  如何编写能有效利用多核架构的程序  重构.测试和调试  怎样高效地应用函数式编程 目录: 第一部分 基础知识 第1 章 为什么要关心Java 8 2  第2 章 通过行为参数化传递代码 20  第3 章 Lambda 表达式 34 第二部分 函数式数据处理  第4 章 引入流 68  第5 章 使用流 82  第6 章 用流收集数据 111  第7 章 并行数据处理与性能 141 第三部分 高效Java 8编程  第8 章 重构.测试…
二.函数式数据处理 第4章 引入流 流是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现). 示例: import static java.util.Comparator.comparing; import static java.util.stream.Collectors.toList; //为了利用多核架构并行执行这段代码换成.parallelStream() List<String> lowCaloricDishesName = m…
四.超越Java 8 第13章 函数式的思考 下面是这一章中你应该掌握的关键概念.      从长远看,减少共享的可变数据结构能帮助你降低维护和调试程序的代价.      函数式编程支持无副作用的方法和声明式编程.      函数式方法可以由它的输入参数及输出结果进行判断.      如果一个函数使用相同的参数值调用,总是返回相同的结果,那么它是引用透明的.采用递归可以取得迭代式的结构,比如while循环.      相对于Java语言中传统的递归,"尾递"可能是一种更好的…
好记性不如烂笔头,整理一些个人觉得比较重要的东西. 一.基础知识 第1章 为什么要关心Java 8 Java 8提供了一个新的API(称为"流", Stream),它支持许多处理数据的并行操作,其思路 和在数据库查询语言中的思路类似--用更高级的方式表达想要的东西,而由"实现"(在这里 是Streams库)来选择最佳低级执行机制. Java 8中加入Streams可以看作把另外两项扩充加入Java 8的直接原因: (1).把代码传递给方法的简洁方式(方法引用. La…
<Java并发编程实战>读书笔记一 -- 简介 并发的历史 并发的历史,也是人类利用有限的资源去提高生产效率的一个的例子. 设想现在有台计算机,这台计算机具有以下的资源: 单核CPU一个 内存 磁盘 打印机 就跟下图所示: 一台简要的计算机 很久以前(也没多久,几十年前),计算机只能跑一个程序(可以回想下初学51时候的点灯程序).这个时候程序是非常的自由的,因为他可以占用整个计算机的所有的资源.如下所示: 点灯程序占用了所有的资源 往往有些程序很贱,明明占用着很多的资源,但是却不好好利用,上图…
<Apache Kafka 实战>读书笔记-认识Apache Kafka 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.kafka概要设计 kafka在设计初衷就是为了解决互联网公司的超级大量级数据的实时传输.为了实现这个目标,kafka在设计之初就需要考虑以下四个方面: 第一:吞吐量/延迟 第二:消息持久化  第三:负载均衡和故障转移 第四:伸缩性 1>.吞吐量/延时介绍 我们先打个比方:若kafka处理一条消息需要花费2ms,那么计算得到的吞吐量不会超过500…
<Go并发编程实战>读书笔记-初识Go语言 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在讲解怎样用Go语言之前,我们先介绍Go语言的特性,基础概念和标准命令. 一.语言特性 我们可以用几个关键词或短语来概括Go语言的主要特性. 1>.开放源代码 这显示来Go作者开放的态度以及营造语言生态的决心.顺便说一句,Go本事就是用Go语言编写的. 2>.静态类型和编译类型 在Go中,每个变量或常量都必须在声明时指定类型,且不可改变.另外,程序必须通过编译生成归档文件或…
<Apache kafka实战>读书笔记-kafka集群监控工具 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如官网所述,Kafka使用基于yammer metrics的监控指标体系来统计broker端和clinets端的各种监控指标(metric).说到yammer metrics,其官网过出了这样的一句话: yammer metrics是一个java库,它使得你能够对生产环境代码所做之事具有无与伦比的洞察力. 当然,虽然该项目已经进化到3.x版本,但即使最新版本的ka…
<Go并发编程实战>读书笔记-语法概览 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客我们会快速浏览一下Go的语法,内容涉及基本构成要素(比如标识符,关键字,子面量,操作符等)和基本类型(比如bool,byte,rune,int,string等),高级类型(比如数组,切片,字典,接口,结构体等)和流程控制语句(if,switch,for,defer等). 一.基本构成要素 Go的语言符号又称为词法元素,共包括5类内容,即标识符(identifier),关键字(key…
<Apache Kafka实战>读书笔记-调优Kafka集群 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.确定调优目标 1>.常见的非功能性要求 一.性能(performance) 最重要的非功能性需求之一.大多数生产环境对集群性能都有着严格的要求.不同的系统对于性能有着不同的诉求.比如对数据库系统来说,最重要的性能是请求的响应时间(response time).用户总是希望一条查询或更新操作的整体响应时间越短越好:而对kafak而言,性能一般指的是吞吐量和延时…
<Apache kafka实战>读书笔记-管理Kafka集群安全之ACL篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家能看到这篇博客的小伙伴,估计你对kafka已经有了深入对一步了解了,因为现在的你已经不考虑如何部署kafka以及调优了,而是考虑到kafka安全的问题.其实,在很多企业中,很少有人考虑到kafka的安全,小到几十人的小型互联网公司,达到某些云平台的云服务(我这里就不说是哪家云公司了),他们默认都是不会给kafka配置相关安全策略的,而是要求用户自…
Verilog HDL常用建模方式——<Verilog与数字ASIC设计基础>读书笔记(四) Verilog HDL的基本功能之一是描述可综合的硬件逻辑电路.所谓综合(Synthesis)是指将Verilog HDL程序.原理图等设计输入翻译成由与门(and).或门(or).非门(not)等基本逻辑单元组成的门级连接,并根据设计目标和要求对门级逻辑连接进行优化,得到优化的门级网表文件. Verilog HDL主要有三种建模方式: 4.1结构级建模 结构级建模包括门级建模和分层建模两种情况.门级…
1. Set  - 元组的集合,在 Set 中的元组用逗号分开,Set 以花括号括起来,例如: { ([Product].[Category].[Accessories]), ([Product].[Category].[Bikes]), ([Product].[Category].[Clothing]), ([Product].[Category].[Components]) } 从这个例子中可以看到Set的几个特点: 一个Set 中可以包含一个或者多个 Tuple 元组 在 Set 中的每一…
本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接: http://blog.csdn.net/cartzhang/article/details/45029841 作者:cartzhang 说明:本帖内容同时在GALAXIX的Kinect区发表.<Kinect应用开发实战>读书笔记 此书内容针对SDK版本为1.5版本,跟后来版本之前有微小的差别. <Kinect应用开发实战>读书笔记 对于初学来说,本书很不错,讲述了挺多的基础和细节. 非常感谢本书作者.…
搜狐视频的屌丝男士第二季大结局了,惊现波多野老师,怀揣着无比鸡冻的心情啊,可惜随着剧情的推进发展,并没有出现期待中的屌丝奇遇,大鹏还是没敢冲破尺度的界线.想百度些种子吧,又不想让电脑留下污点证据,要知道大洋彼岸有个棱镜计划,只好作罢.不如看看书吧,书中自有颜如玉. 开始本次读书笔记前,先扯两个哲学观点,提高下境界.第一个就是<Data-Intensive Text Processing with mapReduce>读书笔记前言中谈到的,大数据产生了大价值,对应的思想很简单:量变导致了质变.第…
上一章说道委托是创建线程安全类的一个最有效策略,只需让现有的线程安全的类管理所有的状态即可.那么这章便说的是怎么利用java平台类库的并发基础构建模块呢? 5.1 同步容器类 包括Vector和Hashtable,此外还包括在JDK1.2中添加的一些功能相似的类,这些同步的封装器类由Collections.synchronizedXxx等工厂方法创建的.这些类实现线程安全的方式是:将他们的状态封装起来,并对每个共有方法都进行同步,使得每次只能有一个线程能访问容器的状态. 关于java中的Vect…
很长一段时间关注在Java Web开发的方向上,提及到Jave Web开发就绕不开Spring全家桶系列,使用面向百度,谷歌的编程方法能够完成大部分的工作.但是这种不系统的了解总觉得自己的知识有所欠缺.所以有了系统了解Spring的想法,了解了Spring,才能够更好的学习Spring全家桶系列,Spring的书籍也是琳琅满目,当然也可以阅读Spring官方的reference,相信那个才是最好的材料,但是鉴于英语的阅读速度有限.所以就挑选了这本<精通Spring 4.X企业应用开发实战>.这…
![img](https://mmbiz.qpic.cn/mmbiz_jpg/1flHOHZw6RtPu3BNx3zps1JhSmPICRw7QgeOmxOfTbCT3RLgIo4qRpn6xL4qgtVjqP16y34gsicxroR8n5IXv2g/640?tp=webp&wxfrom=5&wx_lazy=1&wx_co=1) ### 前提 <深入理解 Java 内存模型>程晓明著,该书在以前看过一遍,现在学的东西越多,感觉那块越重要,于是又再细看一遍,于是便有了下…
转:https://mp.weixin.qq.com/s/2hA6u4hLEPWlTPdD-XB-bg 前提 <深入理解 Java 内存模型>程晓明著,该书在以前看过一遍,现在学的东西越多,感觉那块越重要,于是又再细看一遍,于是便有了下面的读书笔记总结.全书页数虽不多,内容讲得挺深的.细看的话,也是挺花时间的,看完收获绝对挺大的.也建议 Java 开发者都去看看.里面主要有 Java 内存模型的基础.重排序.顺序一致性.Volatile 关键字.锁.final.本文参考书中内容. 基础 并发编…
发现自己有很多读书笔记了,但是一直都是自己闷头背,没有输出,突然想起还有博客圆这么个好平台给我留着位置,可不能荒废了. 此文读的书是<Jvava并发编程的艺术>,方腾飞等著,非常经典的一本书,本笔记是一边复习笔记,一边对照书本上的勾画重点,互相补充得来. 一.并发编程的目的与挑战 并发编程的目的只有一个:更充分的利用好计算资源,让程序运行的更快更有效率 请把这个目的牢记在心,因为,并不是启动更多的线程就能让程序最大限度的并发执行的,因为配合,甚至管理更多的线程本身也是有开销的.所以至少来说,利…
粗略看完<Java Concurrency in Practice>这部书,确实是多线程/并发编程的一本好书.里面对各种并发的技术解释得比较透彻,虽然是面向Java的,但很多概念在其他语言的并发编程中,也可以用到.因此,开始写下其读书笔记,归纳总结. 闲话少说,从第十章开始,先上思维导图: 本章的重点,是死锁以及死锁的分析和避免方法. 10.1.1 锁的顺序产生死锁: public class WorkerThread implements Runnable{ private LeftRigh…
一 本书概述 自动化测试篇:Android应用可以使用Java语言配合SDK,也可以使用HTML5技术,还可以用C/C++语言配合NDK技术编写,本书中涵盖了针对这三种技术编写的应用所采用的测试技术. 调试技术篇:通用的调试技术,还设计性能,Android内部实现 本书配套资源:https://github.com/shiyimin/androidtestdebug 二 自动化测试篇 2.1 第15章 调试多线程和HTML5应用 读书笔记,待续...…
事实上在第三章,就已经有了连接器的样子了,只是那仅仅是一个学习工具,在这一章我们会開始分析tomcat4里面的默认连接器. 连接器 Tomcat连接器必须满足下面几个要求 1 实现org.apache.cataline.Connector接口 2 负责创建实现了org.apache.cataline.Request接口的request对象 3 负责创建实现了org.apache.cataline.Response接口的response对象 这里默认的连接器的原理非常easy,就是等待http请求…
第1章 Java体系结构介绍 Java技术核心:Java虚拟机 Java:安全(先天防bug的设计.内存).健壮.平台无关.网络无关(底层结构上,对象序列化和RMI为分布式系统中各个部分共享对象提供了基础) 1.3 体系机构 Java体系结构中的四个技术: Java程序设计语言 Java class文件格式 Java应用编程接口API Java虚拟机 Java虚拟机和Java API一起组成了Java平台 1.3.1 Java虚拟机 Java面向网络的核心是Java虚拟机:平台无关性.安全性和网…
通过Spring提供的JPA Hibernate实现,进行快速CRUD操作的一个栗子~. 视图用到了SpringBoot推荐的thymeleaf来解析,数据库使用的Mysql,代码详细我会贴在下面文章中,请大家参考借鉴. 一.数据库表结构 CREATE TABLE `spring_jpa_test_table` ( `id` ) NOT NULL AUTO_INCREMENT, `message` TEXT NULL, INDEX `id` (`id`) ) ENGINE=InnoDB ; 二.…
文章提纲 全书总评 读书笔记 C1.初识神经网络 C2.神经网络是如何学习的 C3.有监督学习(运用感知机) C4.无监督学习(自组织映射) Rreferences(参考文献) 全书总评 书本印刷质量:5星.纸张很白,印刷清楚,文字排版合适,基本没有排版过程中引入的错误,阅读不累眼睛. 著作编写质量:3星.入门书,看完后可能会对神经网络有个基本概念,但是也可能就只有个基本概念.基本概念描述还是清楚的,还给出了比较好的参考资料.几个例子讲的很浅,好处就是提供了代码,如果有开发方向的需要可以参考.深…
MQ的好处: 1.业务上接口(系统扩展性变强) 2.性能提升(同步变异步,效率提高,还方便做负载均衡) 3.技术兼容(可以连接各种不同语言的系统,作为粘合剂) 读书笔记: 1.消息队列的应用场景:系统集成.其它方案是,通过写数据库,定时轮询来读取数据 2.信道(channel)的好处是:可以减少TCP连接的成本,在同一个TCP连接里,建立多条信道,既保证了私密性,又不会给操作系统的TCP栈造成额外负担 3.接收消息的2种订阅命令: 1)basic.consume:自动接收 2)basic.get…
java1.7和java8的jvm存在差异,本文先按照<深入理解java虚拟机>的讲解内容总结,并将java8的改变作为附录放在文末 一丶运行时数据区域 ​ 图:java虚拟机运行时数据区 1.程序计数器 概念与作用: 一块较小的内存空间,可以看作时当前线程执行字节码的行号指示器,字节码解释器通过控制改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖程序计数器完成. 线程私有的 为什么要设计成线程私有的: jav…