胡飞飞的学习笔记

奋斗中的菜鸟

排序:
默认
按更新时间
按访问量

ForkJoinPool入门篇

《线程池ThreadPoolExecutor详解》和《任务调度线程池ScheduledThreadPoolExecutor》两篇文章将ThreadPoolExecutor和ScheduledThreadPoolExecutor两个核心线程池已经详细介绍过了,它们整体的工作结构如下图所示。 这...

2018-09-16 14:57:33

阅读数:31

评论数:0

使用POI解析Excel

Excel作为一种常用的数据存储格式,在很多项目中都会有相应的导入导出的功能。这篇文章会介绍如何使用Java操作Excel,以及如何解决大文件读写时内存溢出的问题。 1、OpenXML标准 Word、Excel、PPT是Office办公套件中最常用的三个组件。早期的Office套件大都使用...

2018-09-08 19:07:35

阅读数:118

评论数:0

使用Certbot申请Let'sEncrypt免费证书

半年前在自己的网站上配了个SSL证书,当时是用ZeroSSL进行证书申请的。但是证书三个月就会过期,每次都去手动申请,着实让人头痛。后来到Let’s Encrypt官网看了下,在它提供的ACME协议客户端列表中,最推荐使用Certbot。 Certbot是有个最大的好处是,能自动化部署Let...

2018-08-12 23:31:01

阅读数:67

评论数:0

ThreadPoolExecutor最佳实践--如何选择队列

前一篇文章《如何选择线程数》讲了如何决定线程池中线程个数,这篇文章讨论“如何选择工作队列”。 再次强调一下,ThreadPoolExecutor最核心的四点: 1、当有任务提交的时候,会创建核心线程去执行任务(即使有核心线程空闲); 2、当核心线程数达到corePoolSize时,后续提交的...

2018-08-12 20:55:45

阅读数:99

评论数:0

ThreadPoolExecutor最佳实践--如何选择线程数

去年的一篇《ThreadPoolExecutor详解》大致讲了ThreadPoolExecutor内部的代码实现。 总结一下,主要有以下四点: 当有任务提交的时候,会创建核心线程去执行任务; 当核心线程数达到corePoolSize时,后续提交的都会进BlockingQueue中排队; 当B...

2018-07-29 15:47:05

阅读数:155

评论数:0

Tesseract与tess4j验证码识别

验证码,英文名CAPTCHA,全称叫做:全自动区分计算机和人类的图灵测试。验证码主要为了防一些不怀好意的人(程序猿),避免批量注册账户,暴力尝试多次登录失败等一些恶意行为。 最经典的就是文字型的验证码: 简单的文字型验证码容易被OCR识别,所以程序猿们让文字随机旋转、扭曲、黏连,在验证码上...

2018-06-30 15:48:54

阅读数:472

评论数:0

MySQL性能优化[理论篇]-聚簇索引和非聚簇索引,InnoDB和MyISAM

聚簇索引 聚簇索引(Clustered Index)并不是一种新的数据结构,只是B树索引的一种存储方式。 聚簇索引的特点是完整的数据行就放在B树的叶子结点中,Clustered(聚簇,集群)就表示数据行与对应的键紧凑的存储在一起。 下图是《高性能MySQL》聚簇索引的截图,其中,叶子结点包含...

2018-05-27 01:49:45

阅读数:282

评论数:0

MySQL性能优化[实践篇]-复合索引实例

上篇文章最后提了个问题 假设某个表有一个复合索引(c1,c2,c3,c4),问以下查询中只能使用该复合索引的c1,c2,c3部分的有那些 1. where c1=x and c2=x and c4>x and c3=x 2. where c1=x and c2=...

2018-05-26 17:02:11

阅读数:108

评论数:0

MySQL性能优化[实践篇]-索引合并与复合索引

从上一篇创建索引的实践中,我们看到了索引给我们带来的性能提升是非常可观的。 我们上次创建的表结构非常简单,只有两三个字段,where子句查询条件只有一个字段。 实际应用场景中我们的表结构会更复杂,查询条件也会非常多。在多条件查询的情况下又如何才能用到索引呢,我们可以测试一下。 准备测试数...

2018-05-20 19:07:01

阅读数:153

评论数:0

对单页面应用与Router的一些思考

昨晚鑫哥到我宿舍聊天,聊了很多,从各自公司用的技术到杭州和深圳的房价,从后端技术到前端技术,一直聊到凌晨一点多,直到鑫哥被室友“驱逐”出去。中间有一段聊到公司用到的React,提到了单页面应用和Router,觉得思路很好有必要写个笔记记下来。 最开始的网页 早期的网页都是一个个独立的htm...

2018-04-27 14:24:53

阅读数:157

评论数:0

MySQL性能优化[实践篇]-使用B树索引

准备测试数据 create table tb_user( id int auto_increment primary key, name varchar(10), birth date ); 使用存储过程创建测试数据,不过在这之前我们先创建两个工具函数。 mysql里面...

2018-04-24 15:03:23

阅读数:111

评论数:0

MySQL性能优化[理论篇]-B树索引与hash索引

对索引的优化是数据库性能优化方面最重要的一项,也是性能提升最显著的。 如果把数据库比作一本新华字典,那索引就是字典前面的目录了。如果不使用目录,想从字典中直接找某个字的解释,难度可想而知,但是有了目录,我们可以先从目录中找到这个字对应的页码,然后再翻到相应的页码,就能找到这个字的完整解释...

2018-04-20 00:19:34

阅读数:189

评论数:0

Win32开发小回忆

这两天阿瘦找我给他的一个程序写个界面,听说是要参加啥三创比赛(都大四老狗了,汗),然后问要用什么语言——C/C++,Windows平台的。他之前没怎么接触过C++方面的界面开发,然后我就开始了一波Windows教学,顺便自己也回忆回忆(大一大二玩了一年多,之后几乎就没碰过)。 先看一下整体流程,...

2018-04-14 03:19:06

阅读数:170

评论数:0

B树与B+树

从二叉搜索树说起 其实上一篇文章已经对BST进行过讨论,并对AVL,红黑树这样的自平衡二叉查找树分别解决了什么问题进行了讨论。 上面这些数据结构理论上能达到O(log2N)O(log2N)O(log_2N)的平均时间复杂度。 这个时间复杂度是基于对内存的操作而计算出来的。倘若我们的数据量...

2018-04-06 02:47:24

阅读数:160

评论数:0

二叉搜索树BST,AVL,红黑树,伸展树

从线性查找和二分查找说起 线性查找是最基础(野蛮)的查找算法,最坏的情况从头遍历到位,最好的情况比较一次,平均时间复杂度为N2N2\frac{N}{2}。 二分查找能达到O(log2N)O(log2N)O(log_2N)的时间复杂度,但是前提是列表中的数据必须是有序的。 不管是基于数组实...

2018-03-26 00:11:53

阅读数:198

评论数:2

两种纯CSS的方式实现优惠券上的锯齿效果

昨天有个模块分到我手里了,有个优惠券的组件要封装,正好复习复习CSS。 优惠券最主要就是这个锯齿的问题。其实用图片做也完全可以,反正最后那些小图片都会被webpack编码成Base64的DataURL 关于DataURL的内容可以参考RFC2397 不过用图片方式就没有啥挑战性了,那...

2018-03-22 01:46:27

阅读数:1831

评论数:4

DX面经

马上大学毕业了,来HZ找实习生工作,一次电话面试问的问题比那些面对面的问问题更清楚,单刀直入,让我记忆深刻。 面试官:先说一下Object类里面的方法。 我:首先就是hashCode和equals方法吧,这两个方法主要用在HashMap里面,因为HashMap存数据的时候要根据key的...

2018-03-18 20:19:38

阅读数:98

评论数:0

Struts2怎么使用OGNL的

这几天整理笔记,发现了以前的几篇文章没发出来 在之前的一篇文章中我们看到了OGNL的强大功能。 OGNL并不是专门为Struts2框架而设计的,它是用于获取和设置Java对象属性的一种独立的表达式语言。 所以在看这篇文章之前建议先把之前的一篇文章看完。 Struts...

2018-03-17 18:12:48

阅读数:100

评论数:0

Javaer眼中的JS

把之前写的笔记整理了一下,重新拾起JS 基本数据类型 JS Java number double boolean boolean string String null(Object类型的null引用) null ...

2018-03-16 23:17:30

阅读数:128

评论数:2

React入门学习笔记

React介绍 谷歌大法,一搜一大把 React环境安装 安装react,react-dom模块: cnpm install react react-dom --save 因为react中使用了JSX语法,所以需要babel进行转换: cnpm install babel-...

2018-03-16 19:18:09

阅读数:78

评论数:0

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