【转】深入理解Java 8 Lambda (一)

admin 发布于 [2017-03-21 23:12:00.0] lambda java8

关于 本文介绍了 Java SE 8 中新引入的 lambda 语言特性以及这些特性背后的设计思想。这些特性包括: lambda 表达式(又被成为“闭包”或“匿名方法”) 方法引用和构造方法引用 扩展的目标类型和类型推导 接口中的默认方法和静态方法 背景 Java 是一门面向对象编程语言。面向对象编程语言和函数式编程语言中的基本元素(Basic Values)都可以动态封装程序行为:面向对象编程语言使用带有方法的对象封装行为,函数式编程语言使用函数封装行为。但这个相同点并不明显,因为Java 对象往往比较“重量级”:实例化一个类型往往会涉及不同的类,并需要初始化类里的字段和方法。 不过有些 J...

启用idea java8 lambda 环境配置

admin 发布于 [2017-03-19 08:56:32.0] lambda java8 idea

在使用idea下编写lambda表达式的时候,发现IDE报如下错误:lambda expressions are not supported at this language level,经过一番摆弄,终于把环境配置好了,具体解决办法如下: 设置当前模块语言级别: 操作链路:File -->Project Structure... -->Project ,在打开的对话窗口中: 将Project SDK配置项设置为:java8 sdk (根据idea java8 sdk具体名字配置) 将Project Language Level配置项设置为:8 - Lamdas, type annotatio...

maven eclipse常用插件配置

admin 发布于 [2016-11-20 10:47:23.0] eclipse maven

添加source folder 用于非标准maven 目录结构场景下,比如要将"/src/java/dev"这种目录设置为源文件目录.插件配置如下: org.codehaus.mojo build-helper-maven-plugin 1.4 add-source genera...

MAC下安装gollum

admin 发布于 [2016-05-29 20:42:02.0] mac gollum wiki

gollum 是一个基于markdown和git的wiki系统的构造工具,可以方便的使用gollum来构建自己的wiki. 在mac下的安装步骤如下: 设置gem sources ➜ ~ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/ https://ruby.taobao.org/ added to sources https://rubygems.org/ removed from sources 使用brew安装相关依赖 ➜ ~ brew install icu4c ==> Down...

angularjs源码分析之:angularjs执行流程

admin 发布于 [2016-04-16 11:02:59.0] angularjs

    本文转自博客园,原文地址点我。     angularjs用了快一个月了,最难的不是代码本身,而是学会怎么用angular的思路思考问题。其中涉及到很多概念,比如:directive,controller,service,compile,link,scope,isolate scope,双向绑定,mvvm等。最近准备把这些都慢慢搞懂,分析源码并贴到博客园,如有分析不对的地方,还望各位包容并指正。 angularjs源码分析之:angularjs执行流程 先上个大图,有个大概印象,注:angularjs的版本为:1.2.1,通过bower install angularjs安装的。   ...

iTerm2动态修改编码支持不同的编码

admin 发布于 [2016-03-19 16:52:05.0] iterm GBK

本文以GBK为例,展示如何在使用mac的时候 不需要手工编辑ITERM Profile中session配置,通过脚本方式自动切换编码。  1.添加iTerm Profile配置 打开 iTerm > Preference > Profiles ,添加一个新都Profile,命名为GBK,在右侧选项卡Terminal中更改编码格式: 设置中文编码 2.创建可执行脚本         将以下脚本内容保存为不带格式文件: gbkrun #!/bin/bash # 使用GBK Profile echo -e "\033]50;SetProfile=GBK\a" # 环境编码切换为GBK exp...

MAC Yosemite 下的端口映射

admin 发布于 [2016-03-05 09:04:41.0] 端口转发 mac 端口映射 Port Forwarding OSX ipfw pf

   MAC上非root用户不允许使用80之类的端口,对于习惯了使用80端口的人来说,这是件挺痛苦的事情,但装个apache、nginx感觉又有些重,所以想使用类似于iptables之类的防火墙工具做下端口转发。    网上搜索了下,都说用ipfw来配置端口映射,但那是在OSX 10.9及之前的版本,在优胜美地之后,MAC移除了IPFW,所以在Yosemite及更新的版本中需要通过PF进行配置。知道通过什么工具配置了,接下来的操作就简单了。我把我的配置方式记录如下,供有需要的人参考。     编辑 /etc/pf.conf 文件,添加以下内容 rdr-anchor "local80" loa...

mac 环境下配置eclipse使用的JDK版本

admin 发布于 [2016-01-28 23:05:46.0] eclipse JDK mac

    在WINDOWS环境下,可以指定ECLIPSE启动使用的JDK版本,在MAC环境下配置方式也类似:同样可以在eclipse.ini文件中以-vm的方式指定。如果你刚使用MAC不久,遇到高版本eclipse不支持低版本JDK的总是,可以安装高版本的JDK,然后在eclipse.ini文件中指定这个版本。具体做法如下:    1,执行 ls -ltr /Library/Java/JavaVirtualMachines 命令查看本地所有的JDK版本及路径信息。     2,在eclisep.ini文件中添加以下配置内容指定JDK版本: -vm /Library/Java/JavaVirtu...

mac下为eclipse安装jdk6 源代码

admin 发布于 [2016-01-23 21:58:27.0] eclipse 源码 JDK mac

        mac 下jdk1.6为APPLE自已维护的安装包,在默认的安装包里并没有附带源码信息,需要开发人员去苹果开发者网站下载并安装。下载网址为:https://developer.apple.com/downloads/index.action   。使用apple id登录后,在下载资源列表页面里查询到JAVA相关的信息并选择合适的版本安装。 我下载的地址如下: http://adcdownload.apple.com/Developer_Tools/java_for_os_x_2013005_developer_package/java_for_os_x_2013005_dp_...

Java SPI机制简介

admin 发布于 [2015-10-31 11:41:57.0] java spi

SPI 简介 SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制。 目前有不少框架用它来做服务的扩展发现, 简单来说,它就是一种动态替换发现的机制, 举个例子来说, 有个接口,想运行时动态的给它添加实现,你只需要添加一个实现, 而后,把新加的实现,描述给JDK知道就行啦(通过改一个文本文件即可) 公司内部,目前Dubbo框架就基于SPI机制提供扩展功能。 简单示例 通过一个简单例子来说明SPI是如何使用的。 首先通过一张图来看看,用SPI需要遵循哪些规范,因为spi毕竟是JDK的一种标准。  我们首先需要一个目录,META-INF\s...