![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
dingyufei615
从事某医疗互联网大数据研发岗,编程语言主要Java/Scala,熟悉主流大数据计算引擎Spark及Hadoop生态圈及常用开源组件kafka,zookeeper等,熟悉ELK技术栈,Hbase,Hive,Delta等数据存储层框架,主要负责我司用户画像,内容画像相关业务的研发,参与画像数据治理及监控预警等系统的研发工作。
展开
-
深入浅出Java和Scala中类类型及泛型系统
对于Scala来说 Scala类型相关的概念要比Java中要复杂。Scala中的类型信息相对复杂,在java中运行时对范型的处理不太友好,会把泛型擦除,Scala的泛型系统就设计的较为巧妙~而且对类类型的管理这方面还是比较好的。下面就结合scala和java中类及泛型相关的问题进行梳理。Class类类型/Class类对象这里先捋清楚一些概念 别绕晕了~比如我们定义了一个类 A ,...原创 2019-09-30 18:06:56 · 503 阅读 · 0 评论 -
搞定 javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure 问题!
开始碰到这个问题找遍了各种方法,其实还是需要耐心的先搞清楚原因再想方法靠谱,这里也总结下这个异常的多种解决方案,首先先理解下为什么出现handshake?字面理解是客户端与服务端握手失败,能导致握手失败的原因是什么?一.协议版本不同首先是两边版本协议不一致,例如客户端可能是jdk7 /jdk8 它们支持的协议参考这里https://emacsist.github.io/2017/03/02/https.protocols%E5%9C%A8java%E4%B8%AD%E7%9A%84%E4%BD%原创 2020-06-09 17:37:20 · 6172 阅读 · 4 评论 -
maven-resources-plugin和maven-assembly-plugin插件使用介绍
利用maven-resources-plugin和maven-assembly-plugin插件能够按照bin、conf、lib文件进行打包首先通过Maven插件实现按照不同环境,生成配置文件 为了应对环境切换,在配置文件conf.yaml中使用Maven属性,在项目打包过程制定是按照id为dev的profile进行构建,还是以id为test的profile进行构建。其中conf.yaml和...原创 2020-03-24 19:05:57 · 1720 阅读 · 0 评论 -
Apache的log4j和log4j2的文件配置及使用说明
日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录。apache下载log4j:https://logging.apache.org/log4j/2.x/download.html一、导入log4j的包:1)下载jar包放到lib中。2)maven下载依赖: <depe...原创 2020-03-05 22:50:38 · 2988 阅读 · 0 评论 -
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException
CA比较新或自行颁发的证书,需要将证书加入到jdk的信任证书库中,把该证书导入java中的cacerts证书库里Jdk的安装目录 C:\Program Files\Java\jdk1.8.0\jre\lib\security执行系统命令:1、进入安装目录cd C:\Program Files\Java\jdk1.8.0\jre\lib\security2、自签证书添加到jd...原创 2020-03-04 20:35:12 · 478 阅读 · 0 评论 -
零拷贝原理
File.read(file, buf, len);Socket.send(socket, buf, len);"这种方式一共涉及了4次数据拷贝,知道用户态和内核态的区别吗?"1、应用程序中调用read() 方法,这里会涉及到一次上下文切换(用户态->内核态),底层采用DMA(direct memory access)读取磁盘的文件,并把内容存储到内核地址...转载 2020-01-07 16:51:03 · 123 阅读 · 0 评论 -
Java基于内存实现简单的缓存
流程序有段代码是调用一个接口获取元数据信息,由于调用频繁,元数据有更新接口会重新上线,流就会收到影响,简单实现个缓存工具类,设置超时时间就欧了,既较少调用频率,也保证接口重新上线这段时间流受到影响的概率降低。直接上代码,考虑多线程的情况,使用 ConcurrentHashMapimport java.util.Iterator;import java.util.Map;impor...原创 2019-11-20 17:28:01 · 784 阅读 · 1 评论 -
hash将大文件转成小文件的代码实例,能排序和求TopN
不多哔哔~import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.lang.reflect.C...原创 2019-07-26 13:46:17 · 442 阅读 · 0 评论 -
阿里大于平台短信验证码java代码实现
首先需要在阿里云平台找到阿里大于并使用公司相关信息进行平台注册。然后在应用管理-》应用列列表栏创建应用,应用名为短信的最前面中括号中内容,大于官方会给你提供一个appKey和AppSecret代码中会用到。 2.创建好应用后就需要在配置管理中添加对应的模板,企业用户默认会有一些模板,可以使用官方的,也可以自己创建。创建好之后需要记住模板的模板ID,以及传递参数的参数名。 3.在平台上...原创 2019-07-30 18:54:10 · 297 阅读 · 0 评论 -
SpringBoot2.0集成Redis的sub/pub(订阅/发布)功能实现获取Redis实时数据
实现场景如下:项目在SparkStreaming中对数据进行实时处理 处理结果会存储到redis中,其中一部分数据还会通过redis发布功能 发布给Redis的订阅客户端 ,达到实时数据处理结果的获取,(客户端订阅该频道,会实时的收到推送信息,然后将信息通过WebScoket在推送到前台,WebScoket的推送在另偏博客有写)。1.SpringBoot项目中的pom依赖 需要引入redis相...原创 2019-07-17 22:30:28 · 1466 阅读 · 0 评论 -
SpringBoot2.0与WebScoket集成实现后台向前台页面推送消息
使用Ajax也可以实现 通过定时实现向后台拉取数据 , 不过为了更加的优雅 采用WebScoket实现下1.pom依赖<!--引入websocket--> <dependency> <groupId>org.springframework.boot</groupId> <...原创 2019-07-17 21:31:45 · 737 阅读 · 1 评论 -
Java四种线程池使用方法
1.new Thread的弊端执行一个异步任务你还只是如下new Thread吗? 1 2 3 4 5 6 7 newThread(newRunnable() { @Override publicvoidrun() { ...转载 2019-07-29 15:51:42 · 92 阅读 · 0 评论 -
Java四种线程池的分析及使用
Java 四种线程池的使用1,线程池的作用线程池作用就是限制系统中执行线程的数量。根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果。少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排 队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待进程,线程池的这一资源处于等待。当一个新任务需要运行时...原创 2019-07-29 15:45:43 · 111 阅读 · 0 评论 -
基于SpringBoot2.0实现Rest风格的文件上传
构建Rest风格参考上一篇博客1.Controller@PostMapping("/photo") public String uploadphoto(@RequestBody() @PathVariable("file") MultipartFile file, User user) throws IOExcept...原创 2019-07-11 17:33:09 · 1038 阅读 · 0 评论 -
根据IP获取具体城市名称及经纬度坐标
用到两款工具, geoip-api这个可以根据IP获取城市以及经纬度 但是获取的城市是拼音不是汉字 导致山西和陕西的拼音相同 无法分辨,所以引入第二款工具ip2region 可以根据ip获取到具体的省市IP供应商名称 格式如:中国|0|上海|上海市|联通1.pom依赖和所需要的数据文件GeoLiteCity-2013-01-18.dat【下载地址https://dev.maxmind.co...原创 2019-07-18 08:52:34 · 4738 阅读 · 2 评论 -
谷歌开源的kaptcha验证码与SpringBoot2.0集成使用
1.pom中引入依赖 <!--kaptcha验证码--> <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> ...原创 2019-07-15 21:43:55 · 996 阅读 · 0 评论 -
自定义JavaScript插件用于埋点日志记录用户表单输入数据时间用于用户安全数据分析
1.自定义两个js插件 ,一个用于统计用户表单中每项的输入时长,一个用于生成cookie,提交表单时会将记录数据存入cookie中 一并发往服务器端2.jquery.cookie.js【可以将记录参数存入cookie中】(function (factory) { if (typeof define === 'function' && define.amd) { //...原创 2019-07-15 21:13:49 · 430 阅读 · 1 评论