自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

只有变秃 才能变强

书写是对思维的缓存

  • 博客(14)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 java8之----Optional取代null

java8之—-Optional取代null小结:null在历史上被引入到程序设计语言中,目的是为了表示变量值的缺失.Java 8中引入了一个新的类 java.util.Optional ,对存在或缺失的变量值进行建模。你可以使用静态工厂 Optional.empty(), Optional.of(),Optional.ofNullable 创建Optional对象.Optional类支持多

2017-11-24 14:29:43 440

原创 java8实战八:java8----默认方法

默认方法传统上,Java程序的接口是将相关方法按照约定组合到一起的方式。实现接口的类必须为接 口中定义的每个方法提供一个实现,或者从父类中继承它的实现。但是,一旦类库的设计者需要更新接口,向其中加入新的方法,这种方式就会出现问题。现实的情况是:现存的实体类往往不在接口设计者的控制范围之内,这些实体类为了适配新的接口约定也需要进行修改。通过前面的介绍我们知道,java8在现存的API接口上引入了很多

2017-11-24 14:28:55 1350

原创 java8实战六:并行流

并行流在java7之前,处理并行数据非常麻烦. 第一:你得明确的把包含的数据结构分成若干子部分. 第二:你要给每个子部分分配独立的线程. 第三:你需要在恰当的时候对他们进行同步,来避免不希望出现的竞争条件,等待所有线程完成,最后把这些结果合并起来.在前面的文章中,我们介绍了 Stream接口,让你可以很方便的处理它的元素,可以调用ParallelStream 方法把集合转换成并行流.并行流就是

2017-11-24 14:26:00 976

原创 java8实战五:用流收集数据

用流收集数据我们已经在前面两篇文章中用过 collect 终端操作了,当时主要是用来把 Stream 中所有的 元素结合成一个 List 。在本章中,你会发现 collect 是一个归约操作,就像 reduce 一样可以接 受各种做法作为参数,将流中的元素累积成一个汇总结果。具体的做法是通过定义新的 Collector 接口来定义的,因此区分 Collection 、 Collector 和

2017-11-24 14:22:36 721

原创 java8实战四:使用流--Stream

使用流在本章中,你将会看到许多Stream API支持的许多操作.这些操作能让你快速完成许多复杂的查询.如筛选、切片、映射、查找、匹配和归约。 接下来,我们会看到一些特殊的流:数值流,来自文件和数组等多种来源的流,最后是无限流.1 筛选和切片在本节中,我们来看看如何选择流中的元素:用谓词筛选,筛选出各不相同的元素,忽略流 中的头几个元素,或将流截短至指定长度。1.1 用谓词筛选filter()方

2017-11-24 14:18:45 6674 3

原创 java8实战三:函数式数据处理--流

函数式数据处理(一)–流引入流集合是Java中使用最多的API。要是没有集合,还能做什么呢?几乎每个Java应用程序都会制 造和处理集合。集合对于很多编程任务来说都是非常基本的:它们可以让你把数据分组并加以处 理。很多业务逻辑都涉及类似于数据库的操作,比如对几道菜按照类别进行分组 (比如全素 菜肴),或查找出最贵的菜。你自己用迭代器重新实现过这些操作多少遍?大部分数据库 都允许你声明式地指

2017-11-24 14:13:22 924

原创 java8实战二:Lambda 表达式

Lambda 表达式前片文章讲到,使用匿名类来表示不同的行为并不令人满意:代码十分啰嗦,这会影响程序 员在实践中使用行为参数化的积极性。在本章中,我们会教给你Java 8中解决这个问题的新工 具——Lambda表达式。它可以让你很简洁地表示一个行为或传递代码。现在你可以把Lambda 表达式看作匿名功能,它基本上就是没有声明名称的方法,但和匿名类一样,

2017-11-24 14:09:55 722

原创 java8实战一:通过行为参数化传递代码

通过行为参数化传递代码 如何对你的代码加以改进,从而更灵活地适应不断变化的需求?行为参数化就是可以帮你处理频繁变更的需求的一种软件开发模式.一言以蔽之,它意味 着拿出一个代码块,把它准备好却不去执行它。这个代码块以后可以被你程序的其他部分调用, 这意味着你可以推迟这块代码的执行。例如,你可以将代码块作为参数传递给另一个方法,稍后 再去执行它。这样,这个方法的行为就基于那块代码被参数化了。

2017-11-24 13:59:32 1540

原创 分支/合并框架详解

分支/合并框架详解分支框架的目的是以递归的方式将可以并行的任务拆分成更小的任务,然后将每个子任务的结果合并起来生成整体结果.它是 ExecutorService 接口的一个实现,他把子任务分配给线程池(ForkJoinPool)中的线程.使用 RecursiveTask要把任务提交到池,必须创建 RecursiveTask 的一个子类,其中V是并行化任务产生的结果类型,RecursiveTask类源

2017-11-18 15:30:48 1426

原创 idea导入maven项目并配置在tomcat中运行

idea导入maven项目并配置在tomcat中运行

2017-11-06 08:48:32 11401

原创 Springboot 外置配置详解

Springboot 外置配置 源码地址:https://github.com/itguang/springbootLearn/tree/master/springboot_07 spring Boot 自动配置的bean提供了300多个用于微调的属性.当调整设置时,只需要在环境变量,Java系统属性,JNDI,命令行参数,属性文件进行配置 就好了.举例:假设我们想要禁止启动spri

2017-11-04 14:39:11 2528

原创 Spring Boot定时器

Spring Boot定时器 源码地址: https://github.com/itguang/springbootLearn/tree/master/springboot_09在我们的项目开发过程中,经常需要定时任务来帮助我们来做一些内容,springboot默认已经帮我们实行了,只需要添加相应的注解就可以实现开启定时器在启动类上面加上@EnableScheduling即可开启定时@Spr

2017-11-04 14:36:40 560

原创 Springboot整合reidis详解

springBoot集成redis的key,value序列化的相关问题使用redis操作key-value数据Spring Data Redis 包含了多个模版实现,用来完成Redis数据库的数据存储功能但是为了创建spring data redis的模版,我们首先要有一个redis的链接工厂.1.连接到redisredis链接工厂会生成到redis数据库服务器的链接.spring data red

2017-11-03 14:37:48 1398

原创 springboot 整合redis部署出现 redis.clients.jedis.HostAndPort - cant resolve localhost address错误

springboot 整合redis部署出现 redis.clients.jedis.HostAndPort - cant resolve localhost address错误redis.clients.jedis.HostAndPort - cant resolve localhost address 解决方案:http://www.leftso.com/blog/248.htmlJava

2017-11-03 14:21:58 20702 2

javaSE课件

世上最适合java初学者的资料,这是PPT,要视频的私聊我

2015-08-31

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除