- 博客(30)
- 收藏
- 关注
原创 java8——Optinal类
Optional介绍我们知道 Java 8 增加了一些很有用的 API, 其中一个就是 Optional. 如果对它不稍假探索, 只是轻描淡写的认为它可以优雅的解决 NullPointException 的问题, 于是代码就开始这么写了Optional<User> user = ……if (user.isPresent()) {return user.getOrders()...
2018-03-06 15:52:53
1182
原创 java8——并行数据处理与性能
前言在Java7之前,并行处理数据集合非常麻烦。第一,你得明确地把包含数据的数据结构分若干子部分;第二,你要给每个字部分分配一个独立的线程。第三,你需要在恰当的时候对它们进行同步来避免不希望出现的竞争条件,等待所有线程完成,最后把这些部分结果合并起来。Java7引入了一个叫做分支/合并的框架,让这些操作更稳定、更不易出错。在Java8中,你可以通过Stream接口如何让你不用太费力气就能对数据集执行
2018-03-06 11:09:41
3024
原创 java8——收集器
收集器collect() 接收一个类型为 Collector 的参数,这个参数决定了如何把流中的元素聚合到其它数据结构中。Collectors 类包含了大量常用收集器的工厂方法,toList() 和 toSet() 就是其中最常见的两个,除了它们还有很多收集器,用来对数据进行对复杂的转换。
2018-03-06 09:55:53
817
原创 java8——流
背景自从lambda表达式成为Java语言的一部分之后,Java集合(Collections)API就面临着大幅变化。而 JSR 355(规定了 Java lambda 表达式的标准)的正式启用更是使得 Java 集合 API 变的过时不堪。尽管我们可以从头实现一个新的集合框架(比如“Collection II”),但取代现有的集合框架是一项非常艰难的工作,因为集合接口渗透了 Java 生态系统的每
2018-03-01 23:40:22
404
原创 java8——函数式接口
函数式接口什么是函数式接口? 函数式接口,@FunctionalInterface,简称FI,简单的说,FI就是指仅含有一个抽象方法的接口,以@Functionalnterface标注,这里的抽象方法指的是该接口自己特有的抽象方法,而不包含它从其上级继承过来的抽象方法,例如:@FunctionalInterfacepublic interface ApplePredicate ...
2018-03-01 11:05:26
705
1
原创 java8——Lamdba介绍
Lamdba介绍Lambda表达式可以理解为简洁地表示可传递的匿名函数的一种方式:它没有名称,但是它有参数列表、函数主体、返回类型,可能还有一个可以抛出的异常列表。匿名——我们说匿名,是因为它不像普通的方法那样有一个明确的名称:写得少儿想得多!函数——我们说它是函数,是因为Lamdba函数不像方法那样属于某个特定的类。但和方法一样,Lamdba有参数列表、函数主体、返回类型,还可能有可...
2018-02-28 15:56:33
378
原创 Java8——初探函数式接口
这里我们来以筛选苹果举例,如何逐步优化代码,实现函数式编程。 首先,我们的第一个方案可能是下面这样的:public static List<Apple> filterGreenApples(List<Apple> inventory) { List<Apple> result = new ArrayList<Apple>(); fo...
2018-02-28 14:37:59
163
原创 为什么要关心Java8
本章主要简单讲解为何我们需要关注Java 8在Java 8中,第一个编程概念是流处理(stream),流时一系列数据项,一次只生成一项。程序可以从输入流中一个一个读取数据项,然后以同样的方式将数据项写入输出流。一个程序的输出流可能是另外一个程序的输入流。Java 8在java.util.stream中添加了一个Stream API;用行为参数化把代码传递给方法,这是在Java 8中提出的一...
2018-02-28 12:29:18
279
原创 spring boot 整合redis
1.简介spring boot提供了spring-data-redis库来整合redis的操作,并通过简单的配置信息实现与redis的整合。2.准备工作安装redis缓存数据库,安装可视化工具,推荐使用:rdm。3.redis简介REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使
2018-02-13 11:31:36
6979
原创 spring boot中的cache使用
1.缓存介绍1.1缓存简介缓存:缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。为什么使用缓存?究其原因就是缓存的读写速度远快与磁盘,从减轻I/O开销和加快运行速度方便都有很好的效果。那么我们缓存什么?哪些经常读取而又不经常修改的数据,那些数据量较大又很少修改的数据。缓存策略三要素:缓存命中
2018-02-04 21:52:20
14943
2
原创 aop 介绍以及在spring boot中的使用
一、什么是aop?AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是Spring框架中的一个重要内容,它通过对既有程序定义一个切入点,然后在其前后甚至异常处切入不同的执行内容。
2018-01-03 23:09:56
799
转载 Spring:源码解读Spring IOC原理
一、什么是Ioc/DI?IoC 容器:最主要是完成了完成对象的创建和依赖的管理注入等等。先从我们自己设计这样一个视角来考虑: 所谓控制反转,就是把原先我们代码里面需要实现的对象创建、依赖的代码,反转给容器来帮忙实现。那么必然的我们需要创建一个容器,同时需要一种描述来让容器知道需要创建的对象与对象的关系。这个描述最具体表现就是我们可配置的文件。
2018-01-02 14:03:50
866
1
原创 JPA的使用总结
上一篇博客已经介绍了JPA的基本使用,这里我们就来学习一下如何在JPA中使用复杂的查询方法。1.查询在实际的开发中我们需要用到分页、删选、多表查询等查询的时候就需要特殊的方法或者自定义SQL1.1分页查询分页查询在实际使用中非常普遍了,spring data jpa已经帮我们实现了分页的功能,在查询的方法中,需要传入参数Pageable。从源码中我们不能发现,JpaRepository继承了Pag
2017-12-19 16:36:31
4129
原创 spring boot 中使用 jpa以及jpa介绍
最近在项目中使用了一下jpa,发现还是挺好用的。这里就来讲一下jpa以及在spring boot中的使用。 在这里我们先来了解一下jpa。1.什么是jpa呢?JPA顾名思义就是Java Persistence API的意思,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。2.jpa具有什么优势?2.1标准化JPA 是 JCP 组织发布的 Java
2017-12-13 10:34:24
285997
27
原创 spring boot 整合quartz并进行jdbc持久化
本篇主要介绍如何整合spring boot 与quartz以及如何进行jdbc持久化
2017-11-26 22:46:07
4009
原创 Quartz 学习总结
Quartz是什么?Quartz是一个开源的任务调度框架。基于定时、定期的策略来执行任务是它的核心功能,比如x年x月的每个星期五上午8点到9点,每隔10分钟执行1次。Quartz有3个核心要素:调度器(Scheduler)、任务(Job)、触发器(Trigger)。Quartz完全使用Java开发,可以集成到各种规模的应用程序中。它能够承载成千上万的任务调度,并且支持集群。
2017-11-25 16:44:51
1345
原创 spring boot整合Jersey时无法访问静态资源路径解决办法
最近在采用SpringBoot集成Jersey来构建Restful服务时,遇到无法访问静态资源的问题。经过排查发现是Jersey的ApplicationPath默认为”/”,这样一来就会拦截所有的请求而导致无法访问静态资源。
2017-11-06 21:50:32
2771
原创 linux之crontab
一.cron 简介在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为“crontab”,是“cron table”的简写。
2017-10-30 16:59:13
686
原创 spring boot——logback基本配置
1. spring boot日志基本了解spring boot内部使用了Commons Logging来记录日志,同样也保留了外部接口集成其他的日志框架,如:Java-Util-Logging,log4j,slf4j以及这次要讲到的logback。想要使用其他的日志框架就必须先得配置,默认情况下会使用logback日志框架1.1 配置控制台日志的debug级别默认情况下控制台是不会输出debug级别
2017-10-24 18:51:14
4254
原创 spring boot 拦截器之WebMvcConfigurerAdapter
上一篇我们讲到了拦截器,我们也简单的讲解到了WebMvcConfigurerAdapter这个拦截器。本篇我们来对WebMvcConfigurerAdapter稍稍的扩展讲解一下。
2017-10-23 23:29:40
21438
3
原创 spring boot 拦截器
紧接着上一篇,我们来了解一下spring boot 中的拦截器。实现自定义拦截器只需要3步: 1、创建我们自己的拦截器类并实现 HandlerInterceptor 接口。 2、创建一个Java类继承WebMvcConfigurerAdapter,并重写 addInterceptors 方法。 3、实例化我们自定义的拦截器,然后将对像手动添加到拦截器链中(在addInterceptors
2017-10-12 20:47:35
1324
原创 spring boot-servlet、filter、listener
今天我们就来学习一下在spring boot中如何使用自定义的servlet、filter、listener。
2017-10-11 17:08:03
615
原创 servlet、filter、listener、interceptor之间的区别和联系
写这篇博客主要是为了巩固一下自己的基础,工作了之后一直接触的都是框架上的使用以及业务上的了解,逐渐的把一共重要的基础知识点给遗漏了,在这里就先整理对比一下servlet、filter、listener、interceptor之间的区别和联系。
2017-10-10 20:01:32
951
原创 python多进程变成学习之multiprocessing
Python解释器有一个全局解释器锁(PIL—— Global Interpreter Lock),导致每个phthon进程中最多同时运行一个线程,因此Python多线程程序并不能改善程序性能,不能体现多核系统的优势。什么是全局解释器锁GIL?
2017-10-10 15:08:47
11053
原创 spring boot 整合 Jersey
什么是Jersey?在这里先对Jersey不了解的同学介绍一下什么是Jersey,Jersey RESTful Web Service是一个开源产品级框架,它支持JAX-RS API并且实现了JAX-RS(JSR-311 & JSR-339) 规范(这两个规范就靠大家自行了解)下面讲解一下如何spring boot 如何整合Jersey。
2017-10-08 23:57:13
521
原创 spring boot 开启声明事物
在上一篇博主降到了,spring boot如何整合mybatis,今天我们就来讲一下spring boot,如何添加声明试事物管理。 简单的介绍一下事物:一.什么是事务 通俗的理解,事务是一组原子操作单元,要么全部执行成功,要么撤销不执行。 因此事务的结束只有有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所以操作。 二.事
2017-09-27 23:48:47
627
原创 spring boot 整合 mybatis
大家好,又到了学习的时间了,今天就来讲一下spring boot如何整合mybatis吧!什么是mybatis?这里引用中文官网的简介介绍一下:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 PO
2017-09-25 21:16:01
2648
原创 spring boot配置文件
spring boot采纳了建立生产就绪Spring应用程序的观点。spring boot自动配置自带了很多配置类。默认会启动自带的配置,即使你没有在配置文件中配置任何属性也会正常运行。但是通常,默认的配置无法满足我们自己的需求,这时候我们就需要在配置文件中微调我们的配置属性。在这里我们举一个简单的例子,spring boot 在启动的时候会有一副“画”,如果你想要禁用这个Banner,就可以在
2017-09-23 15:25:54
450
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人