optional

3分钟看完Java 8——史上最强Java 8新特性总结之第二篇 Stream API

久未见 提交于 2020-11-24 12:37:14
目录 · 概况 · 切片(Slicing) · 映射(Mapping) · 匹配(Matching) · 查找(Finding) · 归约(Reducing) · 排序(Sorting) · 数值流(Numeric streams) · 原始类型流(Primitive stream) · 数值范围(Numeric ranges) · 构建流 · 由值创建流 · 由数组创建流 · 由文件生成流 · 由函数生成流(创建无限流) · collect()高级用法 · 分组(Grouping) · 分区(Partitioning) · 并行流 概况 1. Stream API:以声明性方式处理数据集合,即说明想要完成什么(比如筛选热量低的菜肴)而不是说明如何实现一个操作(利用循环和if条件等控制流语句)。 2. Stream API特点 a) 流水线:很多流操作本身会返回一个流,这样多个操作就可以链接起来,形成一个大的流水线。这让可实现延迟和短路优化。 b) 内部迭代:与使用迭代器显式迭代的集合不同,流的迭代操作是在背后进行的。 3. Stream(流):从支持数据处理操作的源生成的元素序列(A sequence of elements from a source that supports data processing operations)。 a) 元素序列:与集合类似

org.hibernate.LazyInitializationException异常解决办法

别等时光非礼了梦想. 提交于 2020-11-24 03:14:59
org.hibernate.LazyInitializationException异常 failed to lazily initialize a collection...的解决方案 使用hibernate从一方获取多方信息的时候发生 org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.haowei.carmanager.model 这个异常与hibernate加载关联对象的2种方式有关,一个是懒加载方式,一个是立即加载方式. 一. 原先的配置 1. 一方中的多方: @OneToMany(mappedBy = "carFirm",cascade = CascadeType.ALL,fetch = FetchType.LAZY) private Set<CarBrandType> brandTypeSet;//汽车厂商与汽车品牌为一对多的关系 2. 多方中的一方 @ManyToOne(cascade = CascadeType.ALL,optional = false) @JoinColumn(name="brandid",referencedColumnName = "carfirm_id") private CarFirm carFirm

my live PC Thinkpad yoga 12 vPro / Thinkpad S1 yoga / WS860

為{幸葍}努か 提交于 2020-11-23 09:58:02
s https://download.lenovo.com/pccbbs/options/tp_compact_keyboard_1.5.6.0.exe Thinkpad KT-1525 快捷键 Excel 表格左上角 Fn + Ctrl + Win + 左方向箭 表格右上角 Fn + Ctrl + Win + 左方向箭 Notepad++ 行首 Fn + Ctrl + 左方向箭 行尾 Fn + Ctrl + 右方向箭 美行Thinkpad八通道快捷入口 链接: http://shop.lenovo.com/perksoffer/us/en/laptops/thinkpad/?__followRobots=true 打开后,点击continue the session, 然后输入 NJ*PERKSEPP 即可。 注意密码无空格全部大写。 另外Thinkpad各个热门机型快捷进入链接 1、P系列快捷 http://shop.lenovo.com/perksoffer/us/en/laptops/thinkpad/p-series/ 2、T系列快捷 http://shop.lenovo.com/perksoffer/us/en/laptops/thinkpad/t-series/ 3、X系列快捷 http://shop.lenovo.com/perksoffer/us/en

爬虫

喜欢而已 提交于 2020-11-23 09:51:27
requests 简介 Python标准库中提供了:urllib、urllib2、httplib等模块以供Http请求,但是,它的 API 太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。 Requests 是使用 Apache2 Licensed 许可证的 基于Python开发的HTTP 库,其在Python内置模块的基础上进行了高度的封装,从而使得Pythoner进行网络请求时,变得美好了许多,使用Requests可以轻而易举的完成浏览器可有的任何操作。 1、GET请求 1 # 1 、无参数实例 2 3 import requests 4 5 ret = requests. get ( ' https://github.com/timeline.json ' ) 6 7 print ret.url 8 print ret.text 9 10 11 12 # 2 、有参数实例 13 14 import requests 15 16 payload = { ' key1 ' : ' value1 ' , ' key2 ' : ' value2 ' } 17 ret = requests. get ( " http://httpbin.org/get " , params = payload) 18 19 print ret

WordPress函数the_tags获取文章标签使用方法解析

假装没事ソ 提交于 2020-11-23 05:42:01
  我们知道wordpress有一个the_tags函数可以获取到文章设置的所有标签,并按照你想要的形式输出。在文章页面输出标签有助于内链布局,提升SEO效果。在模板中显示标签名并链接到该标签中,如果当前页中无标签就不显示,这个函数 必须使用在WordPress主循环中 。就是能获取到全局变量post的地方,一般用于文章页与文章列表页。   the_tags函数位于wp-includes/category-template.php文件中: /** * Retrieve the tags for a post. * * @since 2.3.0 * * @param string $before Optional. Before list. * @param string $sep Optional. Separate items using this. * @param string $after Optional. After list. */ function the_tags( $before = null, $sep = ', ', $after = '' ) { if ( null === $before ) $before = __('Tags: '); $the_tags = get_the_tag_list( $before, $sep, $after ); if

Redis深度历险读书笔记

筅森魡賤 提交于 2020-11-22 15:01:24
一、基础结构 redis字符串:扩容,在1M内扩容都是加倍,超过就是1M,最大长度512M 整数的范围:signed long 的最大最小值,超过了这个值,Redis 会报错 hash:渐进式 rehash 会在 rehash 的同时,保留新旧两个 hash结构,查询时会同时查询两个 hash 结 构,然后在后续的定时任务中以及 hash 操作指令中,循序渐进地将旧 hash 的内容一点点迁移到 新的 hash 结构中 set 结构可以用来存储活动中奖的用户ID,因为有去重功能,可以保证同一个用户不会中奖两次 zset 可以用来存粉丝列表,value 值是粉丝的用户 ID,score 是关注时间。我们可以对粉丝列表按 关注时间进行排序 容器型数据结构,如果容器里元素没有了,那么立即删除元素,释放内存 二、架构 哨兵模式 启动哨兵:Sentinel端口:26379,返回主从redis地址,监控主从节点是否正常,客观,主观下线节点 辅助 codis:redis集群中间件 中间代理:将key做hash运算,划分1024个槽位 缺点:不支持事务,rename无法正确操作 集群模式Cluster 相对于 Codis 的不同,它是去中心化的,如图所示,该集群有三个 Redis 节点组成,每个节点负 责整个集群的一部分数据,每个节点负责的数据多少可能不一样。这三个节点相互连接组成一个对 等的集群

Java Optional 解决空指针异常总结(java 8 功能)

主宰稳场 提交于 2020-11-21 10:16:53
1、概述 Java8的版本,新增了Optional和[Lambda]表达式,Optional主要用于作为返回类型(主要解决的问题是臭名昭著的空指针异常(NullPointerException)),并将其与流(或返回可选的方法)相结合以构建连贯API。 但是,有些情况可以被认为是陷阱,因为它们会降低代码的质量,甚至导致意想不到的错误。总结以下26个例子,以避免这些陷阱。 2、 目 录 [第1项:决不将Null分配给可选变量] [第2项:调用Optional.get()之前,确保Optional具有值] [第3项:当不存在任何值时,通过Optional.orElse()方法设置/返回已经构造的默认对象] [第4项:不存在任何值时,通过Optional.orElseGet()方法设置/返回不存在的默认对象] [第5项:当不存在任何值时,自Java 10起通过orElseThrow()抛出java.util.NoSuchElementException异常] [第6项:当不存在任何值时,通过orElseThrow(Supplier <?extended X> exceptionSupplier)引发显式异常] [第7项:当你有可选的并且需要空引用时,请使用orElse(null)] [第8项:使用可选(如果存在)。如果不存在,则什么也不做。这是Optional.ifPresent(

OpenSelfSup: Open-MMLab自监督表征学习代码库

拥有回忆 提交于 2020-11-20 07:08:27
本文转载自知乎,已获作者 授权转载。 https://zhuanlan.zhihu.com/p/148782886 前言 自监督的表征学习领域近几个月来获得了显著的突破,特别是随着Rotation Prediction, DeepCluster, MoCo, SimCLR等简单有效的方法的诞生,大有超越有监督表征学习的趋势。 然而,相信做这个领域的研究者都深有感触: 1)自监督任务复杂而多样,不同方法各有各的专用训练代码,难以结合、复用和改进; 2)评价方案不统一,不同的方法难以在公平环境下对比; 3)动辄百万千万的训练数据量,训练效率是个大问题。 针对这些问题,我们(香港中文大学多媒体实验室和南洋理工大学)开源了一套统一的自监督学习代码库:OpenSelfSup, 链接如下: https://github.com/open-mmlab/OpenSelfSup OpenSelfSup 统一的代码框架和模块化设计 OpenSelfSup使用PyTorch实现,支持基于分类、重建、聚类、memory bank、contrastive learning的多种自监督学习框架, 目前收录了Relative Location, Rotation Prediction, DeepCluster, OnlineDeepCluster, NPID, MoCo, SimCLR

Optional

故事扮演 提交于 2020-11-17 14:09:47
https://www.cnblogs.com/zhangboyu/p/7580262.html 来源: oschina 链接: https://my.oschina.net/u/3847203/blog/4720764

【JAVA各版本特性】JAVA 1.0

荒凉一梦 提交于 2020-11-16 00:22:56
make JDK Version 1.0 1996-01-23 Oak(橡树) 初代版本,伟大的一个里程碑,但是是纯解释运行,使用外挂JIT,性能比较差,运行速度慢。 JDK Version 1.1 1997-02-19 JDBC(Java DataBase Connectivity); 支持内部类; RMI(Remote Method Invocation) ; 反射; Java Bean; JDK Version 1.2 1998-12-08 Playground(操场) 集合框架; JIT(Just In Time)编译器; 对打包的Java文件进行数字签名; JFC(Java Foundation Classes), 包括Swing 1.0, 拖放和Java2D类库; Java插件; JDBC中引入可滚动结果集,BLOB,CLOB,批量更新和用户自定义类型; Applet中添加声音支持. JDK Version 1.3 2000-05-08 Kestrel(红隼) Java Sound API; jar文件索引; 对Java的各个方面都做了大量优化和增强; JDK Version 1.4 2002-02-13 Merlin(隼) XML处理; Java打印服务; Logging API; Java Web Start; JDBC 3.0 API; 断言;