小任班长 发布的文章

IntelliJ IDEA 2019.2.4 发布了。此次发行版增加了一个选项,用于选择编译器如何对待专用注释处理器路径:作为普通类路径(ordinary classpath)或包含打包到 JPMS-aware jar 中的注释处理器类的模块路径(module-path)。对于 module-path 选项,请转到 File Settings Build, Execution, Deployment Compiler Annotation Processors,指定处理器路径,并选择使用 --processor-module-path 编译器选项(对于 Java 9 及更高版本):
IDEA-220430

其他重要更新包括:

改进的“安全写入”模式,原始文件权限保持不变 IDEA-152607
修复了 JavaFX Scene Builder 集成 IDEA-209562
修复了启用 Gradle 并行执行的调试问题 IDEA-207748
解决了 IDE 更新中的 jbr/bin/java 访问被拒绝错误(Access Denied error) IDEA-215497
JBR 11 已更新为 1.0.4+10-b304.77:

修复了 macOS Catalina 上的开放项目 JBR-1721
修复了 macOS Catalina 上文本字段中的字体渲染 JBR-1863
发布公告:https://blog.jetbrains.com/idea/2019/10/intellij-idea-2019-2-4-is-out/

360 前端静态资源库

https://cdn.baomitu.com/
360加速服务
360 前端静态资源库是由奇舞团支持并维护的开源项目免费 CDN 服务,支持 HTTPS 和 HTTP/2,囊括上千个前端资源库和 Google 字体库。
本站静态资源库数据均同步于 cdnjs,如发现版本更新不及时或未收录,欢迎向 cdnjs 提交 PR。

BootCDN

http://www.bootcdn.cn/
稳定、快速、免费的前端开源项目 CDN 加速服务
BootCDN开源免费cdn服务

去重复示例如下

  • 根据学生的ID属性去重,保留不重复的学生集合

    List<Student> list = Students.stream().collect( collectingAndThen(toCollection(() ->
    new TreeSet<>(comparingLong(Student::getId))), ArrayList::new));

java1.8 stream()list操作用法

扩展,什么是流

Stream 不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版本的 Iterator。原始版本的 Iterator,用户只能显式地一个一个遍历元素并对其执行某些操作;高级版本的 Stream,用户只要给出需要对其包含的元素执行什么操作,比如 “过滤掉长度大于 10 的字符串”、“获取每个字符串的首字母”等,Stream 会隐式地在内部进行遍历,做出相应的数据转换。

Stream 就如同一个迭代器(Iterator),单向,不可往复,数据只能遍历一次,遍历过一次后即用尽了,就好比流水从面前流过,一去不复返。

而和迭代器又不同的是,Stream 可以并行化操作,迭代器只能命令式地、串行化操作。顾名思义,当使用串行方式去遍历时,每个 item 读完后再读下一个 item。而使用并行去遍历时,数据会被分成多个段,其中每一个都在不同的线程中处理,然后将结果一起输出。

org.springframework.web.util.HtmlUtils 可以实现HTML标签及转义字符之间的转换。

示例代码:


String s = HtmlUtils.htmlEscape("<div>hello world</div><p>&nbsp;</p>");  
System.out.println(s);  
String s2 = HtmlUtils.htmlUnescape(s);  
System.out.println(s2);  

转义后如图所示:
HTML编码转义输出如图所示

json对象直接作为参数在地址栏中会被阶段,在转发到其它应用中无法直接打开,当然将对象的各个属性分开拼接也可以传参,但是稍微麻烦,最简单的方法是通过Base64编码方式传参。

用JS进行Base64编码、解码

从IE10+浏览器开始,所有浏览器就原生提供了Base64编码、解码方法,不仅可以用于浏览器环境,Service Worker环境也可以使用。
方法名就是 atob 和 btoa ,具体语法如下:

window.btoa('hello world') // 编码"aGVsbG8gd29ybGQ="
window.atob("aGVsbG8gd29ybGQ=") // 解码"hello world"

使用开源的base64 js类库

https://links.jianshu.com/go?to=https://github.com/dankogai/js-base64
开源的base64.js ,使用很简单,浏览器引入该JS文件,然后Base64编码这样:

Base64.encode('hello world'); // 编码"aGVsbG8gd29ybGQ="
解码就调用 decode方法,如下:
Base64.decode("aGVsbG8gd29ybGQ="); // 解码'hello world'
免责声明
本博客部分内容来自于互联网,不代表作者的观点和立场,如若侵犯到您的权益,请联系[email protected]。我们会在24小时内进行删除。