关闭
当前搜索:

深度解读Java8-归约器Collector

Java8提供的Stream API,将对数据流的所有操作,仅用三个步骤概括全了-过滤、转化、归约。其中,过滤、转化还比较容易理解,但是归约就是一个非常高级的抽象接口了,这篇博客从一个简单的累加例子出发,管中窥豹,带你彻底理解归约器。 何谓归约 归约,就是对中间操作(过滤,转换等)的结果进行收集归一化的步骤,当然也可以对归约结果进行再归约,这就是归约的嵌套了。中间操作不消耗流,归约会消...
阅读(23) 评论(0)

深度解读Java8-lambda表达式之方法引用

先看个例子 import java.util.ArrayList; import java.util.Arrays; import static java.util.Comparator.comparing; import java.util.Comparator; import java.util.List; import java.util.function.Function; impor...
阅读(50) 评论(1)

浏览器跨域详解-很多人没有提到的坑

背景 最近公司组织了一场网络攻防演练,CSRF(跨站请求伪造攻击),XSS(跨站脚本攻击),SQL注入,cookie拦截修改,各种高大上的名词。最近专注于后台业务,前端知识都变得很模糊,在页面的提示下算是踉踉跄跄做完了。但做完还是一脸懵逼,为什么会存在这些漏洞?这些漏洞的根源在哪里?应对策略是什么?我想把他们全整个明白,特别是CSRF这东西,真的是神奇,就搜了几篇博客,看完又做亲自实验了一下,发...
阅读(60) 评论(0)

Java过滤器链原理解析

在很多Java Web项目中我们会在web.xml中配置一些过滤器来拦截请求,比如下面解决乱码的编码过滤器: encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /...
阅读(70) 评论(0)

https与SSL协议详解及Java实现免证书访问https服务代码

https与SSL协议详解及Java实现免证书访问https服务代码 tomcat提供https服务接口方法...
阅读(454) 评论(0)

Spring报Context namespace element 'component-scan'... are only available on JDK 1.5 and higher解决问题

最近项目中用到了alibaba开源的分布式服务框架dubbo,与Spring整合的时候,启动报如下错误: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [annotation.xml];...
阅读(91) 评论(0)

Java多线程任务超时结束的5种实现方法

在用Java编写并发程序时,往往会碰到某个线程因计算量大或因阻塞而一直处于无响应的情况,我们可能会等的不耐烦(也可能是不想让它占用太多资源)想及时终止掉它,那就需要用到任务超时结束的技巧了。在刚接触到多线程时,我本以为API会提供这样一个多线程类:Thread(Runnable r, long timeout) ,第二个参数用来设置超时时间,可事实并非如此。因为这样的类不具有通用性,面向对象设计语言...
阅读(1230) 评论(0)

Spring AOP详解& AspectJ表达式

近期项目中用到了Spring AOP,开一篇文章记录我爬过的坑。不知道其他初次接触Spring AOP框架的同学有没有感同身受,Spring AOP中最大的障碍莫过于写AspectJ表达式,稍有不慎便可能出现如下错误。 1.Pointcut is not well-formed: expecting ‘)’ at character position 71 execution(* com.won...
阅读(160) 评论(0)

Java枚举中嵌套枚举用例

最近项目中需要在枚举类中定义枚举常量的子枚举,翻了一下编程思想,顺手写了一个枚举中嵌套枚举的小demo,供各位码友参考。public enum TestEnum { LOW(Type.Common.class), HIGH(Type.Customized.class); //枚举常量必须写在最前面,否则会报错 interface Type{ //使用interface...
阅读(659) 评论(0)

XML基础知识及四种解析方法

1. XML是什么 XML 指可扩展标记语言(EXtensible Markup Language) XML 被设计用来结构化、存储以及传输信息。 XML 的设计宗旨是传输数据,而非显示数据,HTML被设计来显示数据,二者不可相互替代 XML 标签没有被预定义。您需要自行定义标签。 XML 没什么特别的。它仅仅是...
阅读(285) 评论(0)

scala系列知识点总结(函数高级篇)

这一篇是单独讲函数的高级特性,因为scala的精髓就是函数式编程,而函数式编程的精髓就在于他的高级特性。话不多说,直奔主题。 1. 匿名函数 匿名函数可以说是高级特性的基础,很多奇技淫巧都构建在他的基础之上。匿名函数即lambda表达式,基于数学中的λ演算得名(这里面有更深奥的数学理论,有兴趣可以去研究一下)。匿名函数的书写形式如下: (x:Int) => {x+1} 也可以用一个...
阅读(153) 评论(0)

scala系列知识点总结(变量与普通函数)

写在前面:scala是一种函数式编程&完全的面向对象语言(百度“函数式编程”更精彩),它是与指令式编程语言相对应的,前者强调函数的计算比指令的执行重要(事实上指令不能达到完全的面向对象,也会产生很多冗余的代码)。它最大的特点在于函数式编程思想。在scala里面,一切都是对象,函数被当做一等公民对待,可以像基本数据类型一样自由的使用。当然scala还有其他很多有趣的特性,包括使用换行作为结束符(当然...
阅读(178) 评论(0)

Java集合中使用泛型参数及泛型上下限的问题

集合中使用泛型限定:? extends Super(或? super Child),这种集合是只读的,因为“表达式右边永远是一个确定的值”...
阅读(279) 评论(0)

Linux下Java开发环境搭建

最近刚开始玩Linux,搞开发搭建环境是第一步,于是总结了这篇Linux下Java开发环境搭建的博客,记录一下我爬过的坑。 一.JDK的下载 jdk8官方下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 其他各种低版本:http://www.oracle.com/t...
阅读(330) 评论(0)

Java多线程任务超时结束的5种实现方法

在用Java编写并发程序时,往往会碰到某个线程因计算量大或因阻塞而一直处于无响应的情况,我们可能会等的不耐烦(也可能是不想让它占用太多资源)想及时终止掉它,那就需要用到任务超时结束的技巧了。在刚接触到多线程时,我本以为API会提供这样一个多线程类:Thread(Runnable r, long timeout) ,第二个参数用来设置超时时间,可事实并非如此。因为这样的类不具有通用性,面向对象设计语...
阅读(4464) 评论(0)
    个人资料
    • 访问:8101次
    • 积分:233
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条