自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

纸上得来终觉浅,绝知此事要躬行

“交流、互助、提升”

原创 本人所在公司常年开放Java、大数据、算法和产品等职位,欢迎私聊~

本人所在公司常年开放Java、大数据、算法和产品等职位,欢迎私聊~

2019-12-05 18:28:01 134 0

转载 为什么硅谷公司已经不用Nexus管理Maven仓库?

关注世界领先 DevOps 平台 JFrog 最近经常被问到一个问题:“我已经在用 Nexus 管理 Maven 仓库,用 Artifactory 替换它有什么好处?” 其实这个问题在社区里早已有官方的答案:https://binary-repositories-comparison.github...

2020-01-16 08:53:13 178 0

翻译 二进制的生命周期(翻译)

几乎每个人会去编写一个程序,接着编译,然后运行该程序并查看您辛勤编码的成果 。 嘴周看到程序正常运行起来会感觉很棒! 但是,要使这些所有工作顺利进行,我们还要感谢其他人。那就是您的编译器(当然,假设您使用的是编译语言,而不是解释性语言),它在幕后会做很多工作。 在本文中,我将尝试向您展示如何将您编...

2019-12-23 22:15:25 113 0

转载 spring 使用通用Mapper批量添加数据 java.lang.InstantiationException: tk.mybatis.mapper.provide.SpecialProvider

通用Mapper是一款针对mybatis进行扩展的轻量级组件,使用起来非常方便。当调用其针对mysql进行批量添加数据的方法时,发现报错,仔细研究了一番,发现是在使用通用Mapper上出现了问题。下面贴出本文使用的通用的Mapper github 地址及其版本。 通用Mapper github主页...

2019-12-20 09:30:15 172 0

原创 2019程序员个人面试随笔

2019程序员个人面试随笔 我找工作的时间范围在2019年10月13日至11月22日,此时工作年限四年零七个月。 先说几个重点 1、简历一定要写好,我整理简历花了两三天的时间,差点吐了,用到的网站有 https://github.com/geekcompany/ResumeSample https...

2019-11-25 22:44:59 266 0

原创 Java中高位转低位溢出的计算过程

System.out.println((byte) 129); System.out.println((byte) -129); System.out.println("~b2: " + ~10); 结果是: -127 127 ~b2: -11 计算机中是以补码进行计算 正...

2019-09-18 20:43:54 121 0

原创 Java中对象占用内存大小计算

Java中对象占用内存大小计算 可以直接进入正题对象的组成这一节 byte与bit bit: 位,比特。 信息的最小单位,二进制数中的一个位数(二进制位),其值为“0”或“1”; byte: 字节。计算机文件大小的基本计算单位; 原码:正数本身,负数,正数对应的二进制最高位为1(负); 反码:正...

2019-09-18 00:09:40 139 0

原创 Mybatis中单双引号引发的惨案

#{}与${}的区别 #{}是预编译处理,${}是字符串替换Mybatis在处理#{}时,会将sql中的#{}替换为?号, 调用PreparedStatement的set方法来赋值; Mybatis在处理时,就是把{}时,就是把时,就是把{}替换成变量的值。 使用#{}可以有效的防止SQL注入,...

2019-09-03 23:15:49 941 0

原创 面试系列之Integer缓存所引发的惨案(保证看完你就彻底明白)

今天在整理代码的时候发现了一段程序,如下 Integer integer1 = 3; Integer integer2 = 3; if (integer1 == integer2) System.out.println("integer1 == integer2"); e...

2019-08-28 14:24:44 95 0

转载 Guava的布隆过滤器

程序世界的算法都要在时间,资源占用甚至正确率等多种因素间进行平衡。同样的问题,所属的量级或场景不同,所用算法也会不同,其中也会涉及很多的trade-off。 If there’s one rule in programming, it’s this: there will always be t...

2019-08-24 19:31:25 857 0

原创 Springboot快速教程---Docker搭建与整合Hbase

Hbase简介 HBase是Hadoop的生态系统,是建立在Hadoop文件系统(HDFS)之上的分布式、面向列的数据库,通过利用Hadoop的文件系统提供容错能力。如果你需要进行实时读写或者随机访问大规模的数据集的时候,请考虑使用HBase! HBase作为Google Bigtable的开源实...

2019-07-20 20:37:23 589 2

原创 Springboot快速教程---Docker搭建与整合Kafka

最近在搭建一个简易的基于Flink的实时推荐系统中用到了kafka,就快速的整合了下并记录在此 简介 什么是Kafka Apache Kafka是一个分布式发布 - 订阅消息系统和一个强大的队列,可以处理大量的数据,并使您能够将消息从一个端点传递到另一个端点。 Kafka适合离线和在线消息消费。 ...

2019-07-18 20:17:38 239 0

原创 Logstash 简易教程

建议在使用logstash之前先想清楚自己的需求是什么,从哪种数据源同步到哪里,需要经过怎么样的处理。因为logstash版本迭代较快,每个版本的插件都有点区别,比如filter中的http插件在6.6版本以后才有;output到现在(7.1)都没有jdbc的插件,然而你如果想使用output的j...

2019-06-25 23:01:06 1002 0

原创 《深入理解JVM虚拟机》垃圾回收部分 读书笔记

自动内存管理机制 Java内存区域与内存溢出异常 运行时数据区域 程序计数器 “程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器” “如果线程正在执行的是一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令...

2019-06-22 10:25:34 164 0

原创 《Maven实战》 阅读笔记

无Maven不项目,这是我的口号,但是一直没有系统的去看书,前段时间把maven实战过来一遍做了些笔记,方便后面查阅 每个项目都有自己的坐标 groupId artifactId version packaging classifier install 安装在本地 deploy 打包发...

2019-06-16 16:13:10 147 2

原创 Docker构建服务之部署和备份Jekyll网站

来自《第一本Docker书》,我觉得很有趣,就记录一下 准备国内ubuntu镜像 每次构建Ubuntu镜像然后安装软件的时候,都异常的卡,那是因为没有使用国内镜像,所以我事先准备了sources.list文件,一定要确定对应的ubuntu的版本号,我用的是18.04,内容如下 vi sources...

2019-01-21 16:19:45 403 0

原创 使用Docker Swarm快速搭建与部署你的服务集群

初始化集群 准备了对应的机器(两个虚拟机),基本信息如下 IP 主机名 备注 192.168.1.8 ubuntu-1 主 192.168.1.5 ubuntu-1 从 注意:最好保持每个节点的docker版本号为最新且是相同的 在主节点(manager)上执行 root...

2019-01-21 16:18:35 569 0

原创 使用docker“一键”启动jd(职位信息)的搜索(es)与统计(Kibana)

jd-search-4-docker 三键启动所有服务 MySQL+ELK+JD-Search-Api 本来是想build成是三个个image,然后使用docker-compose一键启动的,但是做到后来遇到compose容器启动顺序的问题。虽说是按照顺序启动的, 但是并不会等你启动完毕后再去启...

2018-09-28 08:03:31 389 0

原创 一次排查Java项目内存泄漏的过程

发现问题 公司自己维护的服务三四个,有的服务还分多个节点,自己也有几个私人服务器,所以为了能实时知道各个服务器的情况,就使用ServerStatus做了个云探针,功能很简单,能实时的监控每个服务器的内存、cpu、硬盘、流量的使用情况,如下 虽然只有几个指标,但是已经能让我全面的掌握各服务的...

2018-08-17 15:04:25 2166 2

原创 用springboot+vw-crawler轻松抓取CSDN的文章

使用springboot+vw-crawler轻松抓取CSDN的文章 有关VW-Cralwer的介绍可以看这里,简单轻便开源的一款Java爬虫框架。 下面结合比较流行的框架SpringBoot抓取CSDN的数据(有关的Spingboot的使用可以参考这里) 配置POM 使用Spring...

2018-07-22 11:19:34 666 0

原创 一套简单的java爬虫框架VW-Crawler发布啦!!!

VW-Crawler 背景 自己一直对爬虫比较感兴趣,大学的毕业论文也是一个爬虫项目(爬教务处信息,然后做了个Android版教务管理系统,还获得了优秀毕业设计的称号),自那以后遇到自己感兴趣的网站就会去抓一下。前段时间工作上需要一些JD信息,我就从网上找了个开源的爬虫框架WebMagic...

2018-07-19 22:17:10 599 1

原创 发布自己的jar到Maven Repository公服上

前段时间自己写了一个简易的Java版爬虫框架。如果想把这个框架完善还是需要大家的力量,如果每次使用都要从Gihub上下载源码岂不是很麻烦?因为自己的项目用的是maven来管理jar包,那么就试试把这个爬虫框架放到公服仓库上去吧! 注册Sonatype账号 使用过Jira的用户就很熟悉了,事务与...

2018-07-08 23:00:44 2370 1

原创 一张图带你理解和实现RabbitMQ的延迟队列功能

开头 先熟悉下面会用到的一些名词~ exchange: 交换机 routingkey: 路由key queue: 队列 exchange和queue是需要绑定在一起的,然后消息发送到exchange再由exchange通过routingkey发送到对应的队列中。 (不是这张图~~~...

2018-06-14 21:06:54 814 0

原创 搭建spark on yarn 集群

两台用的都是ubuntu IP 主机名 192.168.22.137 spark-master 192.168.22.150 spark-slave1 更改主机名 确定每个节点的主机名与它在集群中所处的位置相同 如果不同,需要修改vi /e...

2018-05-03 17:46:24 721 0

原创 学习Docker之使用docker-compose编配一整套服务

使用docker compose可以一键完成“一整套”服务的搭建也可以完成服务集群化部署。  这两天在用python写一个爬虫,数据暂时保存在本地的mongodb数据库,到部署的时候,发现线上的服务器没有python环境和mongodb,这个时候立马就想到了Docker!  最初的思路...

2018-04-14 11:08:40 1130 0

原创 通过shell脚本和企业微信实现报警功能(完整版)

最终效果如图(GIF太大了 就截了两张图) #!/bin/sh expireTime=7200 dbFile="db.json" corpid=xxx corpsecret=xxx touser="xxx" toparty="...

2018-03-18 00:14:18 3172 3

原创 通过shell脚本和企业微信实现实时报警功能

工作中,我们会有一些应用跑在线上服务器,那么这些应用出现问题,如内存、CPU超过阈值之后我们必须要在第一时间知道,第一时间处理这些问题,尽可能的让用户感受不到应用的异常。 有的公司有运维人员,那么恭喜了,运维自己应该会有一套监控体系,作为开发者就可以专心的攻克业务逻辑;但是有的公司可能没有,...

2018-03-11 23:03:49 3462 1

原创 我的ElasticSearch使用笔记

最新的整理在这里 https://github.com/vector4wang/elasticsearch-quick 以下基于Elastic 5.4版本 部署 这里使用Docker部署 获取镜像docker pull elasticsearch:5.4 启动 docker r...

2018-03-04 22:40:47 1054 0

原创 学习Docker之Dockerfile的命令

使用Dockerfile去构建镜像好比堆积木、使用pom去构建maven项目一样,有异曲同工之妙,下面就把Dockerfile中主要的命令介绍一下。 组成部分 部分 命令 基础镜像信息 FROM 维护者信息 MAINTAINER 镜像操作指令...

2018-02-01 23:49:58 614 0

转载 学习Docker之10张图带你深入理解Docker容器和镜像

刚开始接触Docker之后,就对容器和镜像的概念有所迷惑,上一篇也简单的说了一下之前的见解,其实并不准确,在之后的学习中再加上网上找的资料,发现了下面的这一片博文,一定要多看几遍,看完思考再看,就会对容器和镜像有更深刻的认识。 原文链接:http://dockone.io/article/783...

2018-01-27 22:24:26 1352 2

原创 学习Docker之Docker、容器和镜像的简介和常用命令

第一篇通过部署SpringBoot项目来见识到了Docker的强大点我,接下来就来简单聊聊什么是Docker? 什么是Docker 镜像与容器 Docker常用命令 问题 小王在工作之余接了个私单,功能很简单,开发完之后只要在本地将程序跑起来,就能完成客户的需求。于是小王每天晚上花个一...

2018-01-21 23:45:11 640 0

原创 学习Docker之Docker初体验---SpringBoot集成Docker的部署、发布与应用

准备工作 会一点springboot 不会没关系,花十几分钟补一下Quick-SpringBoot 会一点Maven 不会没关系,花几分钟补一下Maven的快速应用 会一点Linux命令 不会没关系,花十几分再补一下Linux菜鸟教程 一台联网的Centos机器 安装Dock...

2018-01-18 23:21:12 7282 4

原创 微信短链接秒进支付宝拆红包的逆向分析与代码获取(不用写任何代码)

最近支付宝红包风靡全国,真的是谁的群多并且发的比其他人早就能很赚一笔,目前想要拿到红包有以下两种途径 复制别人的邀请码,打开支付宝 用支付宝扫描别人的红包二维码 有人感觉很麻烦于是就做了在微信里点击短链接即可自动跳转到支付宝领红包的方式,理想情况下真的是在1秒以内。下面是一个演示图: ...

2018-01-11 23:41:32 24206 5

原创 Springboot与Selenium合体变蜘蛛爬企查查

最近工作上需要一些企业的详细的数据,工商信息啦,基本信息啦,还有一些关系图(投资关系、人物图谱)之类的,然后我来负责从企查查上弄些数据。 强调:下面只是快速实现数据抓取的思路,没有详细的代码,同时也拒绝伸手党。   现实中,一些工商信息网站会被无数的爬虫“骚扰”,所以网站的反爬虫策略也是越来越...

2018-01-09 23:27:57 3147 6

原创 使用生产者消费者解决海量数据的处理与相关优化

最近一直在优化海量数据(几千万)处理这一块。我使用的是java提供的ExecuterPool线程池来实现的,这几天在研究如何使用生产者和消费者模式去解决类似处理数据的问题,下面是思考与实现的过程与思考。

2017-08-21 00:50:09 1023 0

原创 微信小程序娱乐---哇哦窝

自从去年微信小程序诞生到现在已经有段时间了,个人还是挺看好小程序的,去年的时候就打算玩一玩小程序,但是一直都抽不出时间。自从上次弄了台阿里云ECS之后,就又有了玩玩小程序的欲望,于是花了两个晚上的时间玩了玩,算是开发完成了。

2017-07-30 17:23:10 864 0

原创 CSDN博客迁移至Hexo之Html2Md服务(专为csdn打造)

接着上篇CSDN博客迁移至Hexo之同步CSDN博文到本地MD文件 此篇介绍下html2md服务,我将上篇遗留的问题—csdn中的代码高亮转换失败的问题修复了下,结果还算满意,自己搭了服务,大家可以试一试,玩一玩,有问题可以私信我~

2017-07-23 16:30:21 986 1

原创 CSDN博客迁移至Hexo之同步CSDN博文到本地MD文件

动机  自从我把Github+Hexo的博客“交给”Google之后,每天都有几十位的访客2333,访客少的原因有许多,一个是文章较少,二是百度虫子没有爬到我的页面,就会导致即就算直接搜索博客里面的内容,百度都不会返回我的地址,就这个情况我已经使用百度和谷歌去处理了,至于文章较少的问题,我打算做个...

2017-07-16 17:40:41 2161 8

原创 Springboot整合RabbitMQ,良心推荐

昨天把RabbitMQ过了一下,并结合下面博文: http://www.cnblogs.com/boshen-hzb/p/6841982.html, 把MQ最基本的几种用法都实现并测试通过,最最最重要的是,我最近弄了台阿里云的ECS,随即搭了一个MQ服务,大家可以直接checkout代码到本地...

2017-07-09 22:26:51 999 0

原创 springboot日志体系---log4j2

最近调试代码和运行代码的时候,一些日志打印的乱七八槽,根据日志很难快速定位到问题,感觉自己是为了打印日志而打印日志,花了点时间把日志的相关整理了一下,意在让日志发挥最大的作用。前言本文解决以下问题: - 为何使用log4j2 - springboot下log4j2日志的使用 - 控制台...

2017-07-02 11:27:47 17593 2

提示
确定要删除当前文章?
取消 删除