自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

十步杀一人-千里不留行

让技术永远都有饭吃,每天进步一点点

原创 大屏监控系统实战(1)-项目介绍

这个项目的起源非常的偶然,源于今年我有幸入选2019年CSDN博客之星年度总评选,并且排名一直还不错,在前20的行列中,而排名第一的天元浪子大大,用python分析了一波投票情况,我本人对自己也非常感兴趣,但因为我不会用python,而且python画出来的统计图不是动态图,于是我就想用Java做...

2020-01-21 15:32:27 4819 0

转载 lambda表达式对list排序

1 背景 对一个对象list做排序,排序字段是对象的sortNum,排序前剔除掉sortNum为null的对象 定义待排序的bean public class TestBean { private Integer id; private String name; private...

2020-04-20 15:21:09 90 0

原创 自定义类加载器

public class MyClassLoader extends ClassLoader { @Override public Class<?> loadClass(String name) throws ClassNotFoundException { ...

2020-04-16 11:36:20 83 0

原创 JVM虚拟机-Class文件之属性表集合

一、概述 在class文件中,属性表集合包括Java虚拟机预先规范定义的属性以及用户自定义的属性,对于用户自定义的属性,虚拟机加载的时候会自动忽略掉。class文件、字段表、方法表都可以携带自己的属性表集合,便于描述某些场景专有的信息。 二、组成 虚拟机中预定义的属性有: 属性名称 ...

2020-04-10 17:26:14 89 0

原创 JVM虚拟机-Class文件之方法表集合
原力计划

一、概述 方法表集合与属性表集合的结构类似,是对方法的修饰符、返回类型、方法名、参数个数、参数类型、方法体的描述集合。 方法表集合的结构是一个类似于数组的结构,JVM在对java文件进行编译时,会将类中的方法个数放到方法计数器中,然后将每个方法组成method_info结构,依次存在在方法...

2020-04-10 16:51:21 70 0

原创 JVM虚拟机-Class文件之字段表集合

一、概述 在接口索引集合后面 的就是字段表集合了。字段表(field_info)用于描述接口或者类中声明的变量。字段包括类级变量以及实例级变量,但是不包括在方法内部声明的局部变量。 二、字段表集合的构成 1.字段计数器 字段表集合是由很多field_info组成的,所以字段表集合的前两...

2020-04-10 15:39:26 81 0

原创 JVM虚拟机-Class文件之类索引、父类索引和接口索引集合

一、概述 前面介绍了class文件,包括魔数、次版本号、主版本号、常量池和访问标志.接下来的就是用于确定这个类的继承关系的类索引(this_class)、父类索引(super_class)与接口索引集合(interfaces)这三项。 类索引、父类索引和接口索引集合都按顺序排列在访问标志之后,...

2020-04-08 17:05:09 125 0

原创 JVM虚拟机-Class文件之访问标志

一、访问标志的概念 常量池结束之后,紧接着的两个字节代表访问标志,这个标志用于识别一些类或者接口层次的访问信息,包括:这个Class是接口还是类;是否被定义为public类型;是否定义为abstract类型;如果是类的话,是否被声明为final等。 access_flages中共有两个字节(1...

2020-04-08 16:22:41 169 0

原创 JVM虚拟机-Class文件之常量池

一、常量池的作用 在class文件中的魔数、副版本号、主版本之后,紧接着就是常量池的数据区域了,如下图用红线包括的位置: 常量池可以比喻为Class文件里的资源仓库,它是Class 文件结构中与其他项目关联最多的数据,通常也是占用Class文件空间最大的数据项目之一,另外,它还是在Clas...

2020-04-08 15:38:27 303 0

原创 JVM虚拟机-Class文件之魔数

一、魔数之定义 魔数这个词在不同领域代表不同的含义。在计算机领域,魔数有两个含义,一指用来判断文件类型的魔数;二指程序代码中的魔数,也称魔法值。 大多数情况下,我们都是通过扩展名来识别一个文件的类型的,比如我们看到一个.txt类型的文件我们就知道他是一个纯文本文件。但是,扩展名是可以修改的,当...

2020-04-08 11:11:00 118 0

原创 JVM虚拟机-Class文件简介

参考资料: https://blog.csdn.net/IT_GJW/article/details/80447947

2020-04-08 09:39:35 180 0

原创 Java虚拟机-常用工具

一、命令行工具 1. jps JVM Process Status Tool,显示虚拟机进程。这个命令的使用频率很高,当服务器上运行大量Java项目的时候,系统管理员会通过该命令来查看对应的进程是否启动。 用法:jps [-q] [-mlvV] 参数说明 -q:打印进程号 -l:打印启...

2020-04-03 15:52:27 197 0

原创 Java虚拟机-逃逸分析(Escape Analysis)和栈上分配

我们都知道Java中的对象默认都是分配到堆上,在调用栈中,只保存了对象的指针。当对象不再使用后,需要依靠GC来遍历引用树并回收内存。如果堆中对象数量太多,回收对象还有整理内存,都会会带来时间上的消耗,GC表示压力很大,然后影响性能。所以,在我们日常开发中,内存,时间都是相当的宝贵,该如何优化堆栈开...

2020-04-03 11:23:11 168 0

原创 Java虚拟机-内存分配策略

优先分配到eden 大对象直接分配到老年代 长期存活的对象分配到老年代 空间分配担保 动态对象年龄判断 逃逸分析与栈上分配

2020-04-02 11:51:25 179 0

原创 Java虚拟机-垃圾回收器

一、如何查看垃圾回收器 查看JVM的默认垃圾回收器,可以看出JDK8中UseParallelGC即Parallel Scavenge+Serial Old java -XX:+PrintCommandLineFlags -version -XX:InitialHeapSize=2663596...

2020-04-01 11:36:24 220 0

原创 Java虚拟机-垃圾回收简介

一、如何判定对象为垃圾对象 引用计数法 可达性分析法 二、如何回收 回收策略 标记-清除算法 复制算法 标记-整理算法 分代收集算法 垃圾回收器 Serial parnew Cms G1 ...

2020-04-01 09:44:01 251 0

原创 JDK源码(21)-Unsafe

接下来再看一个JDK中比较特殊的类Unsafe。 一、概述 Java和C++语言的一个重要区别就是Java中我们无法直接操作一块内存区域,不能像C++中那样可以自己申请内存和释放内存。Java中的Unsafe类为我们提供了类似C++手动管理内存的能力。 Unsafe类,全限定名是sun.mis...

2020-03-27 16:06:22 251 0

原创 在Java中如何从一个多层嵌套循环中直接跳出?

一、问题描述 最近发现一个有趣的问题,在Java中如何从一个多层嵌套循环中退出呢? 例如下面,有两层循环,break只能退出第一个for循环,不能直接跳出第二个for循环外面。 public static void main(String[] args) { for (Ty...

2020-03-13 16:32:28 485 0

原创 【实战】Spring生成beanName冲突的解决之道:附源码分析

一、问题描述 最近公司项目打算模块化,其实一个原因也是为了能够整合公司多个业务的代码,比如一个资源xxx,两个业务中都有对这个资源的管理,虽然是一个资源,但是是完全不同的定义、完全不同的表、不同的处理逻辑。所以打算把类名弄成一样的,但是包名不一样。 但这样会产生问题,按照Spring的默认be...

2020-03-11 09:28:06 513 0

原创 使用easyexcel导出时行高不自动调整的解决

easyexcel在使用模板填充的方式时,有些文字比较长,需要设置自动换行显示,文档中并没有在此处说明如何设置,翻到前面的写excel中有设置自定义样式的方式,照着搬过来即可: // 内容的策略 WriteCellStyle contentWri...

2020-02-22 18:49:39 2186 0

原创 使用IDEA回退SVN到某个历史版本

记录一下,不完美解决方案。 目前只能做到回退到某个版本,但不能提交代码,一更新又会把SVN服务器上的最新代码又拉下来了。 1.在项目上右键,选择更新到某个版本 2.点文件夹选择你要回退的版本,按ok 3.回退后是无法提交的,所以需要比较新老版本的差异,我是本办法,手动进行比对,把新...

2020-02-14 23:05:48 1628 0

原创 大屏监控系统实战(16)-项目拾遗

一、概述 项目已经算是完结了,但还有一些待优化的地方,我新开一帖,准备慢慢补充一下。 二、问题列表及解决方案 1.页面样式 页面显示的问题,可调整的地方比较多,随着数据的变化,目前页面上已经有几处显示的不完美了,如下图: 可以从截图中看出,小毛病还是不少的,这都需要进行样式的微调,自...

2020-02-07 12:52:55 1441 0

原创 远程办公(2)-重新定义“雇佣关系”:交易成果,而不是时间

虽然我们是脑力劳动者,但在目前的管理模式下,其实我们跟体力劳动者并没有什么本质上的区别,我们出卖自己的时间来工作挣钱,公司购买我们的时间,按照他的工作标准和指令进行执行。这是典型的工业化思维,你搬一天砖,我付给你应得的报酬。它更多的是一种管控,不需要员工太多思考,你只要按照标准把活干好就行了。而思...

2020-02-03 17:34:22 2821 0

原创 疫情中该如何保证高效远程办公(1)-员工到底是在家办公,还是在家躺着??

疫情危机下,在家办公、远程办公成为热门话题。 这次的事件影响着每一个人,往年这个时间早已经进入火热的第一季度冲刺中,今年大部分人还都困在家里,不管是企业主还是每一位员工,内心都是焦虑和煎熬的,虽然程度和出发点有所不同,但可能没有哪一个时期大家像现在这样渴望见到彼此、正常上班。 明天(2020/...

2020-02-02 18:01:17 3591 0

原创 大屏监控系统实战(15)-打包上线及总结

专栏写到这,代码部分已经完成了,其实是个小小的项目,代码量也不大,但实现了我们想要的目标,那么我们还需要将这个大屏的项目部署到服务器上,我们要做就把完整的流程都做一遍。 一、打包方式的技术选型 项目是前后端分离开发的,我们在开发阶段是前后端项目分别启动的,现在要上线,有这么几种方案可供选择: ...

2020-01-25 19:19:20 2723 2

原创 大屏监控系统实战(14)-24小时得票数量统计曲线制作

一、概述 这一章节我们来制作《24小时得票数量统计曲线》,这个跟10分钟投票的增量类似,不过他显示的是每个博主的总得票数,时间范围我设置为24小时,取每个小时博主的总得票数,通过这个监控,可以看到博主中长期的得票走势。10分钟增量统计的是瞬时峰值,而24小时得票数则反映出一种趋势,他的应用场景很...

2020-01-25 17:29:47 3668 0

原创 大屏监控系统实战(13)-10分钟投票增量曲线制作(二)

因为内容太多,所以我们分成了两部分,接前文 大屏监控系统实战(11)-10分钟投票增量曲线制作(一) 八、投票网站最近72小时10分钟投票走势和增量数据爬取 在SchedulingTest中添加方法如下: private static final String csdnTopNI...

2020-01-24 16:32:22 4981 0

原创 大屏监控系统实战(12)-10分钟投票增量曲线制作(一)

一、概述 这一节我们的任务是10分钟投票增量曲线,这个指标非常重要,能监控到每个人投票的实时票数增长情况。做公众号的都知道一个网站:20次幂,它是一个公众号阅读监控、数据分析平台,他提供到分钟级监控,能有效发现阅读刷量行为。当然这个对我们投票没啥参考意义,因为投票会出现瞬时大量行为,毕竟每个人微...

2020-01-24 16:30:46 3830 0

原创 大屏监控系统实战(11)-大屏显示日增投票数量柱状图的制作

一、概述 上一节我们制作了前20个博主的排名、票数及名次相对于前一日的升降情况,相信经过对于名次升降字段的处理,我们已经掌握了一些在程序中处理数据的技巧,这章我们继续,来看看如何实现日增投票数量柱状图。最终效果如图所示: 二、实现思路 我们要做的是得到前20名博主前一日的投票数,那这个就...

2020-01-22 22:55:57 2669 0

原创 大屏监控系统实战(10)-大屏展示前20个博主的排名、票数及名次相对于前一日的升降情况

一、概述 上一节我们已经把数据爬取到了数据库中并保存了起来,这章就要把数据在大屏上展示出来,先在大屏上展示前20个博主的排名、票数及名次相对于前一日的升降情况。最终实现的效果如下: 这个效果相当完美了,我们来一步一步实现它。 二、实现思路 对于排名、序号、博主名字、实时票数和最新采集时...

2020-01-22 22:11:31 1990 0

原创 大屏监控系统实战(9)-爬取所有博主实时投票票数并存数据库

一、概述 这一节的目标,因为投票网只显示博主的实时投票数,所以我们计划每隔五分钟去爬取投票网站,获取该时段的博主实时票数,并将该时段所有博主的票数持久化到数据库,为后续的大屏展示提供数据支撑。 投票网排名地址:http://m234140.nofollow.ax.mvote.cn/actio...

2020-01-22 21:17:56 2342 0

原创 大屏监控系统实战(8)-前端请求后端获取数据并显示

一、概述 前面我们已经发布了接口,并进行了测试,一切正常后,接下来我们写前端工程。在如何将SpringBoot+Vue前后端分离项目一次打包为一个Jar包运行?这篇中,我们已经将前后端项目都导入到IDEA中了,所以目前我们的前端项目结构是这样的。用红框标注的就是我们要动的一个组件。不要问我是怎么...

2020-01-22 11:05:02 3857 0

原创 大屏监控系统实战(7)-后端整合MybatisPlus并暴露服务

一、概述 我们已经利用HttpClient和Jsoup将投票网站的部分数据进行了爬取,接下来我们就要写一个服务来让数据能被页面拿到,这是个典型的SpringBoot的controller,也比较简单,我们在发布完毕后,再使用postman进行测试。项目中后面会将爬取的数据存到数据库,我偷懒,就用...

2020-01-22 09:53:01 2967 0

原创 大屏实时监控-2019年CSDN博客之星年度总评选(2019-02-07 13:47)

监控地址:http://anymk.com:8888/ 2019-02-07 13:47 2019-02-0120:09 2019-01-28 15:17 2019-01-25 15:01 大屏实时监控-2019年CSDN博客之星年度总评选(2019-01-24 15:...

2020-01-22 00:38:16 3175 1

原创 大屏监控系统实战(6)-爬虫初探:爬取CSDN博客之星年度总评选投票统计数据

一、介绍 我们先来做个简单的,我们的目标是爬取CSDN博客之星年度总评选的首页信息。 首页的地址:http://m234140.nofollow.ax.mvote.cn/wxvote/43ced329-3a4b-0a5d-a13c-f088cf8eafef.html 电脑浏览器打开的样子...

2020-01-22 00:12:05 1977 0

原创 大屏监控系统实战(5)-父工程搭建及前端相关配置

一、概述 本文的目的是为了提升项目最终的部署效率,我们的目标是在前端开发完毕后,可以把这些内容直接打包到SpringBoot项目的Jar包中,这样我们将这个Jar部署到服务器上时,就可以直接访问到对应的页面了。否则,我们的前端项目还需要单独部署或者手动拷贝到服务器的nginx目录下面,这都会增加...

2020-01-21 17:19:05 3147 0

原创 大屏监控系统实战(3)-前端工程搭建

一、概述 前端的技术栈是:Vue、data-view、axios、webpack包管理、nodejs、vue-cli快速构建工具、postman接口调试工具。本着快速上手的目的,本项目不需要自己手动在系统中安装node.js环境,一切由前端工程的maven插件来管理,能方便不懂nodejs的小伙...

2020-01-21 16:58:12 4365 6

原创 大屏监控系统实战(2)-后台工程搭建

一、概述 项目的后端技术栈为Java、SpringBoot、MybatisPlus、爬虫Jsoup、HttpClient、Maven项目构建。 各软件版本分别如下: 软件及环境 版本号 操作系统 Windows10&MacBook Pro 开发工具 IDEA...

2020-01-21 16:02:03 3453 2

原创 将本地已经存在的代码跟github上新建的仓库建立关联,解决“fatal: 'origin' does not appear to be a git repository...”

我想将本地已经存在的代码跟github上新建的仓库建立关联,步骤如下: 进入本地目录,初始化本地仓库 1.进入本地目录,初始化本地仓库:git init 2.将文件添加到仓库:git add . 3.执行git commit -m "first commit" 把添加的...

2020-01-21 10:00:36 1449 0

原创 大屏实时监控-2019年CSDN博客之星年度总评选(2019-01-20 23:30)

近期的2019年CSDN博客之星年度总评选战况空前激烈,前面看了第一名天元浪子每日发布的投票统计博客,觉得很有意思,于是我就换个角度来分析一下。目前大屏监控比较流行,我也就跟风制作了一个供大家鉴赏。 数据都是实时爬取投票网站的,存入MySQL,再进行分析的。 访问地址:http://anymk...

2020-01-20 11:41:58 1626 0

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