关闭

Jdk源码分析-LinkedBlockingQueue类

背景近日看了下阻塞队列的实现源码,基于原来对并发包的理解,发现自己很容易就能理清楚了里面的实现原理。就像学生时代生硬记住的那些古诗句,在成年时的某一天,面对桃花满枝桠的场景时,突然就想明白了”桃之夭夭,灼灼其华“的含义。类图结构阻塞链表队列,顾名思义:它是一种用链表实现、长度可控的FIFO队列,是链表和队列两种数据结构的结合,同时它支持阻塞。根据类图结构,我们理一下它的实现逻辑 1 维护两个...
阅读(33) 评论(0)

Java并发编程实践

背景我的桌面一直留着一张Java线程知识结构图,近期正好有空梳理自己的技能知识,于是打印出来准备复习一下。2014年曾经把那本《Java并发编程实践》经典看过好几遍,不过时间太久远了,这张图上的多线程的知识有些也模糊了,趁此捡起来,于是有了本文的实践结果整理。Java线程知识图谱阻塞队列的应用多线程环境下的生产者/消费者算法大家都应该听说过,项目中涉及到的一个索引创建功能:一个线程每小时生成待创建索...
阅读(108) 评论(0)

echart3实用技巧整理

背景近期开发工作中涉及到大量的数据展示功能,主要使用echart3绘图,总的来说echart3还是比较容易上手的,本文整理几个实用用法,作为网上笔记,以备后用。学会看API这是echart3官方文档API是针对echart对象相关调用方法的说明,分为四类:echarts全局、echarts实例对象、动作、事件;配置项是echarts实例的各个配置的说明。动态触发tooltip在 ECharts 3...
阅读(89) 评论(0)

ZipInputStream和RSA算法的纠葛

背景以前有一篇文章介绍过系统升级操作的实现流程:通过上传zip压缩包、并通过RMI方式调用另一个Java程序执行upgrade.sh脚本完成的。其中有一个系统版本信息校验的逻辑,版本信息是一段xml信息经过RSA算法加密,直接打包到zip文件中。系统升级操作,首先对zip文件中的版本描述信息进行解密。存在一个诡异的问题,只有我本机的360压缩工具生成的zip文件,直接密文并解密才不会出错,而winR...
阅读(3524) 评论(3)

文档和配置管理基础

背景项目开发过程中使用SVN作为协同开发工具,那么SVN的作用是什么呢?为什么要使用SVN呢?应用项目管理领域的知识来解释的话,SVN对应着变更控制,而且是基于配置库的变更控制。本文将整理信息系统文档和配置管理相关的知识,以及SVN版本控制的重要性。文档分类信息系统相关的文档是指具有某种数据媒体和其他记录的数据,它具有永久性,包括纸质文档和电子文档。软件文档分为三类:开发文档,产品文档,管理文档。...
阅读(226) 评论(0)

Java web开发问题整理

背景近期开发过程中的简单问题,整理一下。数据库字段类型选择数据库设计过程中,选择合适的类型,可以极大提高磁盘空间的利用率。使用TokuDB数据库引擎的某张表的主键,由原来的128位的varchar类型,改为bigint类型后,相同数据规模下,发现数据库文件大小减少了一半。效果非常明显:原来一亿条记录的字符串主键类型,需要7G左右磁盘空间,改为数值存储后,只需要3G左右的磁盘空间,大大减少了磁盘消耗。...
阅读(195) 评论(0)

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

背景几年前在CSDN的C币商城换购过一本《白帽子讲Web安全》,了解过Web网站在渗透测试过程中常见的安全问题。近来,自己开发的Java Web应用中存在一些安全漏洞,被迫要求关注这些安全隐患、并加固。那么本文就顺便整理一下Java Web开发过程中容易忽略的几个安全问题吧,这些问题都能搜到,并且加固方式也不复杂。初学者或者对安全要求不高的开发流程中,很可能被忽略。密码明文传输当年初学Java We...
阅读(376) 评论(0)

dbutils和反射实现ORM问题整理

背景时间过的真快,用dbutils自定义ORM竟然已经是7月中旬的事情了,本周才真正用到那些代码,当初简单实现的MyBeanHandler类还有一些缺陷,整理修正流程如下。实现流程基本思路是这样的:需要将数据库的一条查询结果,转换成Java实体类的实例,自定义一个ResultHandler,接受一个类型Class。由于select列可能不是Java全部的属性,所以不能遍历Java属性列表,逐个从Re...
阅读(147) 评论(0)

MySQL索引知识整理

背景TokuDB引擎表按小时生成,每小时的数据量为1亿条左右,在TokuDB高压缩比下,每张表的数据文件大小为10G左右,原始数据100多G,大数据量下查询该怎么办呢,所以进行了TokuDB索引测试。由于之前没有详细了解过各种索引创建语句的区别,只是用百度来的索引创建语句简单测试了一下,可以创建,于是就写入测试脚本中了。测试结果表明,不同的索引创建方式下,查询效率差距甚大,看来了解索引基础知识,还是...
阅读(185) 评论(0)

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

背景一个简单的数据查询功能,列表页面有“查看详情”按钮,跳转详情页面时列表的一条记录信息需要传递到详情页面;而详情页面有“返回”按钮,返回的同时也需要将原列表的查询条件回显。跳转方式直接是window.location.href,一个典型的跨页面信息传递,属于不同页面之间共享信息的情况。那么跨页面共享信息的方式有哪些呢?本文将介绍三种方式。URL参数传递列表页面的查询参数,可以通过URL的方式传递到...
阅读(281) 评论(0)

Linux实用命令整理

背景本文将整理本人近期常用的Linux命令,作为网络笔记,以备后用。修改DNS重装的系统,无法上网,ping www.baidu.com -c 2时,报错unkonwn host,说明该服务器的DNS配置有问题,修正 操作如下: 1 编辑网卡配置文件,添加DNS信息,文件名称为/etc/sysconfig/network-scripts/ifcfg-eth0(注意:具体根据ifconfig显示的...
阅读(194) 评论(0)

CentOs7改造mysql服务

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

TokuDB引擎启动失败解决

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

IaaS,PaaS,SaaS 的区别

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

PerconaMySQL安装手册-RPM包方式

背景以前安装PerconaMySQL数据库是通过yum在线安装的,这种方式操作简单,会自动安装所有需要的依赖包,当然需要联网。但是,一台刚重装过系统的纯净机器,而且处于不能上网环境下,该怎么安装呢?本文将记录在CentOS7中以rpm本地安装PreconaMySQL的过程。大致的操作流程跟官网一样,实际的困难在于依赖包的解决。参考链接:https://www.percona.com/doc/perc...
阅读(263) 评论(0)
138条 共10页1 2 3 4 5 ... 下一页 尾页