觉悟吧,少年!

——认真编码,认真生活!

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

掩码位转换成子网掩码的Java实现

IP/掩码位来表示一段IP范围,那么怎么通过掩码位计算出对应的子网掩码呢?基本概念:掩码位即网络地址的位数。例如192.168.11.130/31表示网络地址有31位,主机地址有1位,那么31对应的子网掩码就是255.255.255.254(31个1+0)计算掩码位,就是得到掩码位的二进制序列,然...

2018-06-01 14:52:35

阅读数:29

评论数:0

玩玩Python-计算日期间隔

背景 Python现在这么火,听说已经列入国家发展计划了,小学生都开始学Python了,我想自己也是一名IT从业者,也不应该落后啊,所以从今年1月份开始断断续续在阅读《利用Python进行数据分析》这本书,虽然进度慢的堪忧,多少也快入门了。近期重新捡起来继续读,发现已经到了第10章,快终于要读完...

2018-05-05 06:57:16

阅读数:41

评论数:0

Java调用Shell问题整理

背景java可以通过Runtime来调用其他进程,如cmd命令,shell文件或脚本等。基本用法Runtime执行时返回一个Process对象,利用该对象完成脚本执行。下面的例子中,Linux的/home/目录下有一个删除指定日期文件的脚本deletefile.sh,Java调用该脚本的方法如下。...

2018-04-25 07:06:47

阅读数:71

评论数:0

Python数据分析之逐块读取文本

《利用Python进行数据分析》,第6章的数据加载操作read_xxx,有chunksize参数可以进行逐块加载。经测试,它的本质就是将文本分成若干块,每次处理chunksize行的数据,最终返回一个TextParser对象,对该对象进行迭代遍历,可以完成逐块统计的合并处理。文中的示例代码分析如下...

2018-02-05 11:31:17

阅读数:249

评论数:0

CountDownLatch在NioEndpint中的应用

背景Tomcat源码中多处用了java.util.concurrent包中的类,用以处理多线程环境下的流程控制。近日分析了下NioEndpoint源码,本文将以此类为背景,膜拜下Java大神们使用CountDownLatch并发控制的手法,其实也就是简单的实际应用,算不上高深。类图框架 NIO...

2017-12-30 09:39:05

阅读数:76

评论数:0

RSA算法实践整理

背景Web应用中对前端的密码进行加密,然后后台再解密,前端加密工具有jsencrypt.min.js可以使用,该工具在前端用公钥加密,后端私钥解密,以提高应用系统敏感数据的安全度。本文将整理RAS非对称加密算法的使用过程及注意事项,作为网络笔记,以备后用。RSA和Base64RSA加密算法是对输入...

2017-12-27 14:49:29

阅读数:126

评论数:0

Java的Jar结构分析

背景Java的工程导出方式有多种,对于Java SE项目而言,基本的就是导出可执行jar和普通jar。可执行jar可以通过java -jar命令调用调用,普通jar可以作为第三方包被其他项目引用;而Java EE项目则是导出war包交给应用服务器使用。Jar包用压缩软件解压后,里面都包含一个MET...

2017-12-14 10:52:27

阅读数:178

评论数:0

Tomcat添加开机启动服务

背景LinuxCentOS7操作系统环境下,开机启动项的添加有两种方式:一种是传统的编辑脚本文件放置/etc/init.d目录下,使用chkconfig命令添加;另一种是编写服务文件,由systemd调用启动。MySQL安装后的开机启动服务文件为mysql.service,就是systemd方式添...

2017-12-08 14:28:58

阅读数:443

评论数:0

Tomcat的Comet实践

背景ProtocolHandler接口有一个isCometSupported方法,Comet模式是一种服务器向客户端推数据的方式,由服务器端通过长连接向客户端推送数据,功能跟websocket类似的。Tomcat的6,7,8.0等版本都支持Comet的,它的catalian.jar中的org.ap...

2017-12-06 17:25:55

阅读数:96

评论数:0

Tomcat会话持久化配置

背景在Java Web应用中,会有一些应用重启的操作,如系统升级,怎么在重启过程中,如何保证Session也能被恢复呢,这就可以通过Tomcat的会话持久化配置实现。持久化配置Tomcat默认是支持会话持久化的,在服务重启时将当前在线会话信息持久化本地磁盘。其配置文件为context.xml,其中...

2017-12-04 17:56:34

阅读数:107

评论数:0

IntelliJ IDEA检出web工程笔记

背景从业以来一直使用Eclipse进行编码,已经非常习惯Eclipse的各种快捷键了。对于半路杀出来的IntelliJ IDEA这个编程工具,非常陌生。前段时间研究tomcat8源码的时候用IntelliJ IDEA编译,用过一阵子,但是只限于跟踪源码。本文将记录使用IntelliJ IDEA导出...

2017-12-01 16:03:35

阅读数:179

评论数:0

dubbo-admin编译笔记

背景近期玩了下zookeeper,继而感觉有必要对Dubbo+Zookeeper的联合操作再实践一下,以便了解zookeeper是如何被应用的。本文将记录dubbo-admin的编译过程,貌似很简单,但也有坑。准备工作在Git上下载源码,路径为:https://github.com/alibaba...

2017-11-29 17:06:40

阅读数:170

评论数:0

Zookeeper集群实践

背景近期在看Apache的项目zookeeper,根据官网文档,在自己本地虚拟机上实践了下zookeeper的基本用法。验证集群的高可用性这个特征一直没有成功,不知道哪里操作不正确,把leader节点的服务stop后,其他follower中没有产生新的leader,并且这些follower自身的z...

2017-11-28 11:08:28

阅读数:125

评论数:0

Jdk源码分析-LinkedBlockingQueue类

背景近日看了下阻塞队列的实现源码,基于原来对并发包的理解,发现自己很容易就能理清楚了里面的实现原理。就像学生时代生硬记住的那些古诗句,在成年时的某一天,面对桃花满枝桠的场景时,突然就想明白了”桃之夭夭,灼灼其华“的含义。类图结构阻塞链表队列,顾名思义:它是一种用链表实现、长度可控的FIFO队列,是...

2017-11-17 11:11:59

阅读数:113

评论数:0

Java并发编程实践

背景我的桌面一直留着一张Java线程知识结构图,近期正好有空梳理自己的技能知识,于是打印出来准备复习一下。2014年曾经把那本《Java并发编程实践》经典看过好几遍,不过时间太久远了,这张图上的多线程的知识有些也模糊了,趁此捡起来,于是有了本文的实践结果整理。Java线程知识图谱阻塞队列的应用多线...

2017-11-16 16:49:41

阅读数:231

评论数:0

echart3实用技巧整理

背景近期开发工作中涉及到大量的数据展示功能,主要使用echart3绘图,总的来说echart3还是比较容易上手的,本文整理几个实用用法,作为网上笔记,以备后用。学会看API这是echart3官方文档API是针对echart对象相关调用方法的说明,分为四类:echarts全局、echarts实例对象...

2017-11-15 17:04:07

阅读数:963

评论数:0

ZipInputStream和RSA算法的纠葛

背景以前有一篇文章介绍过系统升级操作的实现流程:通过上传zip压缩包、并通过RMI方式调用另一个Java程序执行upgrade.sh脚本完成的。其中有一个系统版本信息校验的逻辑,版本信息是一段xml信息经过RSA算法加密,直接打包到zip文件中。系统升级操作,首先对zip文件中的版本描述信息进行解...

2017-11-14 15:18:38

阅读数:4366

评论数:4

文档和配置管理基础

背景项目开发过程中使用SVN作为协同开发工具,那么SVN的作用是什么呢?为什么要使用SVN呢?应用项目管理领域的知识来解释的话,SVN对应着变更控制,而且是基于配置库的变更控制。本文将整理信息系统文档和配置管理相关的知识,以及SVN版本控制的重要性。文档分类信息系统相关的文档是指具有某种数据媒体和...

2017-09-24 20:01:34

阅读数:364

评论数:0

Java web开发问题整理

背景近期开发过程中的简单问题,整理一下。数据库字段类型选择数据库设计过程中,选择合适的类型,可以极大提高磁盘空间的利用率。使用TokuDB数据库引擎的某张表的主键,由原来的128位的varchar类型,改为bigint类型后,相同数据规模下,发现数据库文件大小减少了一半。效果非常明显:原来一亿条记...

2017-09-17 16:21:52

阅读数:274

评论数:0

Java web应用中的安全问题整理

背景几年前在CSDN的C币商城换购过一本《白帽子讲Web安全》,了解过Web网站在渗透测试过程中常见的安全问题。近来,自己开发的Java Web应用中存在一些安全漏洞,被迫要求关注这些安全隐患、并加固。那么本文就顺便整理一下Java Web开发过程中容易忽略的几个安全问题吧,这些问题都能搜到,并且...

2017-09-10 09:19:13

阅读数:739

评论数:0

dbutils和反射实现ORM问题整理

背景时间过的真快,用dbutils自定义ORM竟然已经是7月中旬的事情了,本周才真正用到那些代码,当初简单实现的MyBeanHandler类还有一些缺陷,整理修正流程如下。实现流程基本思路是这样的:需要将数据库的一条查询结果,转换成Java实体类的实例,自定义一个ResultHandler,接受一...

2017-09-09 07:02:29

阅读数:285

评论数:0

MySQL索引知识整理

背景TokuDB引擎表按小时生成,每小时的数据量为1亿条左右,在TokuDB高压缩比下,每张表的数据文件大小为10G左右,原始数据100多G,大数据量下查询该怎么办呢,所以进行了TokuDB索引测试。由于之前没有详细了解过各种索引创建语句的区别,只是用百度来的索引创建语句简单测试了一下,可以创建,...

2017-09-02 08:19:55

阅读数:306

评论数:0

简单知识——跨页面信息传递

背景一个简单的数据查询功能,列表页面有“查看详情”按钮,跳转详情页面时列表的一条记录信息需要传递到详情页面;而详情页面有“返回”按钮,返回的同时也需要将原列表的查询条件回显。跳转方式直接是window.location.href,一个典型的跨页面信息传递,属于不同页面之间共享信息的情况。那么跨页面...

2017-08-26 08:19:47

阅读数:654

评论数:0

Linux实用命令整理

背景本文将整理本人近期常用的Linux命令,作为网络笔记,以备后用。修改DNS重装的系统,无法上网,ping www.baidu.com -c 2时,报错unkonwn host,说明该服务器的DNS配置有问题,修正 操作如下: 1 编辑网卡配置文件,添加DNS信息,文件名称为/etc/sys...

2017-08-17 18:13:12

阅读数:260

评论数:0

CentOs7改造mysql服务

背景CentOS7版本下的service命令都被重定向到systemctl这个命令了,PerconaMySQL安装完成后,会自动添加开机启动服务,而它的服务脚本文件为mysql.service,如果需要对该服务脚本进行改造,该怎么办呢?问题搜索MySQL的开机启动服务脚本文件,得到结果如下: ...

2017-08-17 10:18:09

阅读数:1322

评论数:0

TokuDB引擎启动失败解决

背景Tokudb引擎修改数据存储目录参数特别复杂,稍不留神,tokudb引擎就无法启动了。怎么折腾都不能修改目录参数,也不能启动的情况下,可以卸载掉重装。本文记录今天填坑的经历,卸载重装后再修改目录。启动失败的情况下,/var/log/mysqld.log中有这个错:[ERROR] TokuDB:...

2017-08-11 18:35:19

阅读数:413

评论数:0

IaaS,PaaS,SaaS 的区别

背景2017年5月20日的系统集成项目管理工程师考试上午选择题中,云计算的基础知识有两道云计算的概念和三种方式之间的辨别,印象中并没有选对。到底云计算的三个名词之间有什么区别呢?今天读了阮一峰先生的一篇网络日志,大神的文章通俗易懂,重要的是解答了我的疑惑。原文真的不错,忍不住转载分享。本文转载自阮...

2017-08-06 15:31:27

阅读数:533

评论数:0

PerconaMySQL安装手册-RPM包方式

背景以前安装PerconaMySQL数据库是通过yum在线安装的,这种方式操作简单,会自动安装所有需要的依赖包,当然需要联网。但是,一台刚重装过系统的纯净机器,而且处于不能上网环境下,该怎么安装呢?本文将记录在CentOS7中以rpm本地安装PreconaMySQL的过程。大致的操作流程跟官网一样...

2017-08-04 10:01:19

阅读数:592

评论数:0

MySQL 5.7搭建Master-Slave实践

背景理解了MySQL的Master-Slave的基本原理后,就想在本地虚拟机上实践一下。开启虚拟机上的两个节点,主库Ip为192.168.x.164,从库Ip为192.168.x.170,分别安装相同版本的MySQL 。同时参考http://www.cnblogs.com/jirglt/p/354...

2017-07-21 09:28:49

阅读数:1038

评论数:0

MySQL 5.7社区版安装实践

背景CDND首页看到一篇介绍MySQL的Master-Slave架构的文章,了解了Master-Slave的基本原理,所以想实践搭建一个Master-Slave架构,第一步先安装一个社区版的MySQL。本文记录在Linux虚拟机上安装MySQL5.7社区版本的过程,参考官方安装手册,以及http:...

2017-07-20 16:12:54

阅读数:537

评论数:0

dbutils工具包分析及应用

背景项目开发过程中,需要更换数据库,DAO层抽象了一个顶层的父类,以此类着手重写一整套操作,可以将换库工作量降低到最少。那么工作量就落在了解决ORM映射问题上,原来使用的BSONObject工具包,直接完成Java对象到JSON对象的转换。现在需要利用原始的JDBC、重写一套ORM映射机制。百度到...

2017-07-18 15:40:43

阅读数:492

评论数:0

大流量场景下统计问题整理

前言这是一个沉重的话题,早上上班路上,在一个路口拐弯时,恰逢一辆殡葬车驶过。那肃穆的黑色,唤起了我那被忙碌生活掩盖、进而快忘却了的人生命题,生命终点的问题。因此,今天始终盘亘于我大脑的一句话是:人生苦短,汝当惜之。电视剧《恰同学少年》中,给我印象最深的就是杨昌济先生晨读之前大声朗读的两句话: ...

2017-07-14 17:16:46

阅读数:311

评论数:2

TokuDB配置目录参数——脚本实现

背景上一节已经完成了TokuDB数据库引擎的配置过程,回顾一下操作: 1 停掉mysql服务 2 目录创建 3 文件移动 4 修改/etc/my.cnf配置文件 5 重启mysql 系列的操作,还是挺多的,可以脚本化来完成,今天就完成了这样一个脚本,以简化MySQ...

2017-07-11 11:19:58

阅读数:246

评论数:0

TokuDB配置目录参数

背景TokuDB数据库调优,网上搜到几个调优参数,官网推荐将TokuDB的数据目录和MySQL的数据目录分开。所以本文记录一下TokuDB数据库配置修改的过程,就是这个简答的参数修改操作,捣鼓了两个下午,终于找到了问题根源,记录如下。TokuDB相关文件TokuDB相关的文件,默认存放路径为mys...

2017-07-10 16:32:08

阅读数:427

评论数:0

别放过不合理的结果,因为真的有bug

背景有一个统计每小时总量趋势的功能,统计结果包括两部分,一部分是折线图,显示 24小时各个小时的总量信息,还有一部分是一整天的总量topN的信息,这两部分信息是由定时任务一起统计并存储在一个数据结构中的。问题测试部同事反馈页面显示的图表有问题,TopN总量有数据,但是24小时趋势图上却没有数据。...

2017-07-06 13:58:45

阅读数:184

评论数:0

TokuDB命令之tokuftdump

背景近日急需熟悉TokuDB这个引擎,搜到一篇关于TokuDB黑科技的文章(原文链接:https://yq.aliyun.com/articles/6376?spm=5176.100239.blogcont34818.8.VLac8i)于是验证该文章的内容,以期有所获。toduftdump命令 ...

2017-07-04 15:21:31

阅读数:241

评论数:0

TokuDB文档下载

背景鉴于TokuDB数据库资料的稀奇,就把官网作为首选的学习资料,第一步就是想下载官方操作手册。 下载链接为:https://learn.percona.com/download-percona-tokudb-7-5-manual问题记录发现这个链接有问题,在Win10的Edge下,可能是我的浏...

2017-07-04 10:08:03

阅读数:152

评论数:0

TokuDB引擎安装详解

背景项目目前使用的Sequoiadb数据库,撑不住每小时千万的数据量了,所以领导安排研究TokuDB,捣鼓一天的安装过程,记录一下。CentOS上安装Percona Mysql的流程,根据官网的安装步骤,整理得到本文,操作够多的,真佩服自己的耐心,内容有点多,官网操作不够不完整而且有部分不一致,着...

2017-06-30 18:14:10

阅读数:1005

评论数:0

Tomcat源码分析-JMX(终)

背景前几节分析了Tomcat中跟JMX有关的内容,昨天继续分析了JMX的架构图,以及JVM启动JMX的流程,整理出JDK中相关的类图,以巩固对JMX的理解。架构图sun公司定义的JMX架构图,百来的图片如下:纵观上图,以虚线分割,分为三层: 第一层,远程管理层应用,即访问JMX的应用,如jco...

2017-06-27 11:37:46

阅读数:1488

评论数:0

简单问题-Sequoiadb数据库脚本批量删除数据

背景开发中使用的是巨杉数据库,有一个日志集合是按天存储的,即表集合名称规则一致MyLogData_yyyyMMDD的格式,每天生成一张表。现在有一个问题就是服务器磁盘空间已经被撑满了,需要删掉一段时间的数据。由于涉及的类似结构的表有5张,手动一条条执行dropCL操作太麻烦。解决办法首先,sequ...

2017-06-26 10:53:21

阅读数:816

评论数:0

Tomcat源码分析-JMX(下)

背景上一节分析了Registry类的功能,其引用management包中所有的类,也就是JDK支持JMX功能的类,本节将继续分析类图的其他部分。类图分析JMX的类图截取如下:分析类图得到几点信息如下: 第一,JmxBeanServer和DefaultMBeanServerInterceptor类...

2017-06-25 09:20:47

阅读数:1251

评论数:2

Tomcat源码分析-JMX之Registry类(中)

背景“Tomcat源码分析-StandardServer类”,这一篇文章的分析中,我们知道StandardServer类的实例被注册到JMX的服务器的过程,是通过Tomcat定义的Registry类完成的,那么这个类又是如何完成JMX相关功能的呢,本文就记录一下本人在源码跟踪过程中的分析结果。流程...

2017-06-23 15:29:09

阅读数:1273

评论数:0

Tomcat源码分析-JMX(上)

背景从LifecycleMBeanBase 类分析那一篇文章中,我们已经知道 Tomcat的所有的组件都实现了JmxEnable接口,并且在初始化过程中通过Registry类注册成为Java Managed Bean 了。那么JMX在Tomcat是的运用原理是什么呢?今天就这个问题进行了实践和探...

2017-06-22 18:09:52

阅读数:449

评论数:0

Tomcat源码分析-catalina.home和catalina.base

背景Bootstrap启动的时候使用了两个系统变量catalina.home和catalina.base,从官网和源码中的注释可以知道这两者的区别主要是:catalina.home是Tomcat产品的安装目录,而catalina.base是tomcat启动过程中需要读取的各种配置及日志的根目录。默...

2017-06-20 09:19:46

阅读数:1881

评论数:0

Tomcat源码分析-StandardServer类

类概况StandardServer类是Tomcat初始化流程中的第一个组件,本章需要结合“Tomcat源码分析-初始化流程” 的时序图继续看。时序图中Catalina类调用了StandardServer类的init方法,而这个模版方法是调用子类的initInternal类的,所以该类着重关注这个方...

2017-06-19 17:37:42

阅读数:698

评论数:0

网易邮箱被盗用记录

背景早上导出在icloud上导出通讯录操作时,执行解除手机的双重验证功能,需要输入验证邮箱,就输入另一个2007年注册的邮箱帐号,登录该邮箱查看验证码的时候,发现该邮箱有大量退信邮件高达3000多封。 查看帐号登录信息,正好是昨天到今天凌晨4点期间,帐号有异常登录。异常登录都是通过POP3方式,...

2017-06-18 08:21:54

阅读数:761

评论数:0

Tomcat源码分析-LifecycleMBeanBase

类概况关注这个类是因为上一回跟踪了AccessLogValve类,它是LifecycleMBeanBase的一个子类,搞清楚这个类的各个子类结构,也就理顺了Tomcat容器中各个组件的协助流程了。管中窥豹,还是先从这个顶层抽象类开始吧。 这个类的结构很简单,类图绘制如下:父类LifecycleB...

2017-06-16 14:21:19

阅读数:656

评论数:0

Tomcat源码分析-AccessLogValve类

类概况Tomcat的server.xml中,Host节点的子元素名称是Valve,用来定义一系列的处理器,AccessLogValve就是用来记录容器访问请求的日志处理类。Valve,本意是阀门的意思,AccessLogValve是处理生成访问日志的,梳理它的类图如下: 它的所有的成员变量大多都...

2017-06-15 18:39:52

阅读数:1590

评论数:0

项目总结-Linux下批量删除无用文件

背景有一个功能,需要定期清理指定文件夹下指定日期的无用文件,文件的存储格式是目录/yyyyMMddHH/xx.txt,文件夹以小时命名的,现在要定期删除某些日期的文件。用java调用Shell命令的rm -rf 目录/日期*的方式总数不成功,初步判断正则表达式没有匹配成功,所以没有执行删除操作。解...

2017-06-13 09:51:02

阅读数:424

评论数:0

高考和我的职业之路

前天高考,也正好是我高考结束10年,我是2007年6月7日参加高考的,想想我的成长之路,有几分幸运,也不免心酸,趁着这个高考的话题,我也来理理自己19岁到29岁这十年的成长之路吧。        高中的时候没有人关注过心理问题,在那些只有漫天书卷的日子里,我不可避免地患上了考前综合症,每到大考之前...

2017-06-10 14:02:08

阅读数:496

评论数:0

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