- 博客(7)
- 收藏
- 关注
原创 java 8 新特性功能和用法介绍03---CompletableFuture基本用法介绍
Java8 CompletableFuturejava 8 新增CompletableFuture类简化异步编程的复杂性,提供函数式编程的能力,并且可以通过回调的方式处理计算结果。同时解决了传统异步编程Future模式的缺点,对于异步执行结果,只能通过等待get操作以及轮询isDone去判断Future是否完成,是非常耗费CPU资源。而CompletableFuture弥补了Future模式的缺点,在异步的任务完成后,需要用其结果继续操作时,无需等待。可以直接通过thenAccept、thenAppl
2020-11-27 11:11:29
443
1
原创 java 8 新特性功能和用法介绍02---Java Stream API
Java Stream APIStream 是java 8最重要的亮点,它跟java.io包中inputStream和outStream是不同的概念。 它是对集合对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作,或者大批量数据操作。Stream API 借助于同样新出现的 Lambda 表达式,极大的提高编程效率和程序可读性。同时它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势,使用 fork/join 并行方式来拆分任务和加速处理过程。通常编写并行代码很
2020-11-09 14:29:27
270
2
原创 java 8 新特性功能和用法介绍01
java 8 新特性功能和用法介绍本篇分几个章节介绍java8 新特性以及每个特性实际使用场景和注意事项java8新特性:lambda表达式方法引用和构造引用Stream APIOptionalCompletableFutureLambda表达式Lambda表达式是一段可以传递的代码,它的核心思想是将面向对象中的传递数据变成传递行为,通俗说法是将函数作为参数传递到方法中基础语法遵循语法规则:expression = (variables) -> {body}varia
2020-11-03 15:53:44
174
原创 HDFS append操作
HDFS append操作本篇背景是需要向HDFS写入文件,但写入文件数据是按照小时为单位生成的,那么我们需要将每小时产出数据,聚类到一个文件,这时就需要用到HDFS append操作代码 public void append(String body, String fileName, String filePath) { FSDataOutputStream out = null; Path f = new Path(filePath); try {
2020-10-27 17:36:57
1261
原创 Artifactory 上传和下载
Artifactory 上传和下载主要提供python和java对私服Artifactory使用用户和密码或者oken上传和下载功能,python版本版本artifactory==0.1.17from artifactory import ArtifactoryPathimport tarfileusername = "demo"password = "demo"token = "eyJ2ZXIiOi"# Download Artifactsdef download(downloa
2020-10-19 17:13:47
2670
原创 ThreadLocal使用时因线程复用导致数据混乱分析
ThreadLocal使用时因线程复用导致数据混乱分析本文主要阐述使用ThreadLocal遇到数据混乱情况下的具体分析和解决过程ThreadLocal原理网上有很多介绍,不做详细介绍主要有四个方法:1.get()方法是用来获取ThreadLocal在当前线程中保存的变量副本2.set()用来设置当前线程中变量的副本3.remove()用来移除当前线程中变量的副本4.initialValue()是一个protected方法,一般是用来在使用时进行重写的ThreadLocal使用场景Thr
2020-10-16 15:14:04
2975
原创 解决mongo大数据量下复杂查询的性能问题
解决mongo大数据量下复杂查询的性能问题本篇背景是我们获取应用运行时产出的日志,做展示。比如机器人运行时日志,用户问句对应意图这些信息,对于业务方是关注的,他可以检索相关日志信息,对不正确问句意图进行重新标注。然而该机器人运行日志每小时千万级,当时我们系统也只保存2个月数据,并存放在mongo中的,最终日志会同步给数据平台,所有我们并没有使用hbase和hive这类存储。mongo 游标游标不是查询结果,而是查询的一个返回资源或者接口,通过这个接口,可以逐条读取数据。就类似java中的读取文件
2020-09-24 16:19:40
5267
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人