自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 资源 (2)
  • 问答 (3)
  • 收藏
  • 关注

mybatis 批量插入插件

 背景项目中有个设计不合理的表,总共 8 个字段,有 5 个索引,有几个索引字段还是 32 位的字符串。该表数据量已达 1 亿,最近每天新增 100 万。根据日志看,有次用户上传一个有 200 行记录的 excel,需要往这个表插入 3940 条记录,耗时 72 秒。这么大延迟是没法接受的。 要分析数据库方面的问题,首先是找 DBA 分析下表的情况,说跟以往没多大区别,只是跟这个...

2015-08-03 20:40:03 682

Java8 Striped64 和 LongAdder

 原文链接:码蜂笔记 - Java8 Striped64 和 LongAdder 数据 striping根据维基百科的这段说明:In computer data storage, data striping is the technique of segmenting logically sequential data, such as a file, so tha...

2014-05-18 16:41:53 252

wordpress 文章索引 存储过程

 文章首先发表在 码蜂笔记 http://coderbee.net/index.php/db/20140113/712 最近想给本站加上文章索引的页面,就是在一个页面上展示所有的分类及该分类的文章,然后置顶到首页,效果见本站文章索引。开始的思路是:先新建一个页面,然后设置好置顶等,用存储过程更新该页面的内容,用触发器在有新文章发表或文章标题有更新时触发执行存储过程。看起来应该挺顺...

2014-01-13 09:59:24 366

原创 内存关卡/栅栏 ( Memory Barriers / Fences ) – 译

 原文地址:http://coderbee.net/index.php/concurrent/20131211/624 翻译自:Martin Thompson – Memory Barriers/Fences在这篇文章里,我将讨论并发编程里最基础的技术–以内存关卡或栅栏著称,那让进程内的内存状态对其他进程可见。CPU 使用了很多技术去尝试和适应这样的事实:CPU 执行单...

2013-12-23 20:37:37 360

Java 内存模型 JMM

 原文地址:http://coderbee.net/index.php/concurrent/20131219/650 JMM,Java Memory Model,Java 内存模型。什么是内存模型,要他何用?假定一个线程为变量var赋值:var = 3;,内存模型要回答的问题是:在什么条件下,读取变量var的线程可以看到3这个值?如果缺少了同步,线程可能无法看到其...

2013-12-23 20:33:50 197

False Sharing 伪共享 – 译

 原文地址:http://coderbee.net/index.php/basis/20131110/566翻译自:http://mechanical-sympathy.blogspot.com/2011/07/false-sharing.html伪共享内存在缓存系统里是以缓存行为单位存储的。缓存行是大小为2的整数幂的连续字节,典型是32-256字节。最普遍的缓存行大小是64...

2013-11-20 22:59:34 124

JUC 原子类

 原文地址: http://coderbee.net/index.php/java/20131117/581 volatile 变量volatile变量具有可见性,也就是说线程能够自动发现volatile 变量的最新值;对volatile变量进行操作不会造成阻塞。适用于:多个变量之间或者某个变量的当前值与修改后值之间没有约束。正确使用volatile变量的条件:对变...

2013-11-20 22:57:41 261

JVM 垃圾回收算法

 原文: http://coderbee.net/index.php/java/20131031/547  《深入理解Java虚拟机:JVM高级特性与最佳实践》-笔记 一、概述垃圾回收,Garbage Collection,简称GC。GC需要完成三件事:哪些内存需要回收?什么时候回收?如何回收? 二、对象存活判断判断对象是否存活一般有两种...

2013-11-01 09:32:27 95

java.util.HashMap 源码解读及其进化

 原文: http://coderbee.net/index.php/java/20131018/519 概述java.util.HashMap 是JDK里散列的一个实现,JDK6里采用位桶+链表的形式实现,Java8里采用的是位桶+链表/红黑树的方式,非线程安全。关于散列可以看这篇文章, 这篇文章主要是对JDK6和Java8里java.util.HashMap的一些...

2013-10-18 16:47:49 162

JVM 运行时数据区

 原文地址: http://coderbee.net/index.php/java/20131017/512 《深入理解Java虚拟机:JVM高级特性与最佳实践》-笔记 JVM运行时数据区根据《Java虚拟机规范》,JVM管理的内存如下:图片来自网络。其中绿色部分是所有JVM线程共享的,黄色部分是线程独立的。  程序计数器记录正在执行的虚拟机字节码...

2013-10-17 22:59:12 109

Java 8 之 java.time 包

原文:http://coderbee.net/index.php/java/20131015/503 包概述java.time 包是在JDK8新引入的,提供了用于日期、时间、实例和周期的主要API。java.time包定义的类表示了日期-时间概念的规则,包括instants, durations, dates, times, time-zones and periods。...

2013-10-15 16:33:06 218

J.U.C 包

 原文在:http://coderbee.net/index.php/java/20130927/491 概述J.U.C 包是java.util.concurrent包的简写。这个包在JDK5引入,大大增强了Java的并发特性。JDK7还引入ForkJoin框架。 该包提供的能力主要包括:可重入锁,具有原子性操作属性的类,线程池执行服务,调度执行服务,增强的线程安全...

2013-09-27 17:37:57 157

原创 散列/哈希

本文首先发表在: http://coderbee.net/index.php/algorithm/20130919/479  散列一般也叫哈希。散列表也叫哈希表。本位将介绍散列表的基本知识、一致性哈希、哈希碰撞攻击及Java里的哈希实现。 介绍散列表是普通数组概念的推广,在最坏情况下查找一个元素需要O(n),在一些合理假设下,查找一个元素的期望时间为O(1)。 ...

2013-09-20 09:47:53 224

Java 8 新特性之 接口改进和Lambdas

 本文首先发表在 码蜂笔记:http://coderbee.net/index.php/java/20130914/467  测试环境$ java -versionjava version "1.8.0-ea"Java(TM) SE Runtime Environment (build 1.8.0-ea-b106)Java HotSpot(TM) 64-Bit Ser...

2013-09-14 16:44:39 124

我的学习工具

 完整的文章在: http://coderbee.net/index.php/notes/20130912/462   ,有兴趣的点击去看吧。Iteye的敏感词过滤让人很无语。 今天跟一个同学聊天,发现很多很好用的工具他都还不知道,我周围的绝大多数同事也不知道。虽然我用的工具不多,用得也不是很深入,但对我的帮助已经非常大,所以写的文字介绍。 浏览器首先要说的是浏览器,...

2013-09-12 20:57:30 124

吃自己的狗粮,用Dropbox Go SDK

 原文:http://coderbee.net/index.php/go/20130829/427用Dropbox Go SDK 做的一个上传文件到Dropbox的小应用。 获取appKey和设置回调地址到这个页面https://www.dropbox.com/developers/apps 创建一个应用,应用的类型选择Dropbox API app,在这个页面还可以...

2013-08-30 14:36:45 265

Dropbox Go SDK

 原文:http://coderbee.net/index.php/open-source/20130820/414 把最近用Go写的 Dropbox SDK 发布到了 gihub上,有兴趣的可以参与、反馈。 地址: https://github.com/wen866595/godropbox 大多数接口都已实现,除了获取delta数据的,因为这个接口返回的JSON结...

2013-08-20 23:42:14 157

Disruptor 源码阅读笔记

一、Disruptor 是什么?Disruptor 是一个高性能异步处理框架,也可以认为是一个消息框架,它实现了观察者模式。Disruptor 比传统的基于锁的消息框架的优势在于:它是无锁的、CPU友好;它不会清除缓存中的数据,只会覆盖,降低了垃圾回收机制启动的频率。这个解读是在最新版 3.1.1 的源码上进行。 关于Disruptor的更多介绍可见: http://ifeve.c...

2013-08-12 22:51:16 128

博客维护脚本

 文章首先发表在 码蜂笔记 http://coderbee.net/index.php/notes/20130803/372  我博客维护脚本的功能主要:启动、停止博客(MySQL、PHP-FPM、Nginx),数据库数据和访问日志打包备份、Wordpress的文件打包备份、把恶意扫描的IP加入防火墙黑名单、过滤出人类访问的记录。我的VPS的系统是Ubuntu 12.04...

2013-08-03 21:23:23 202

动态规划 笔记

 动态规划 笔记http://coderbee.net/index.php/algorithm/20130801/343 一、引题在一个N行M列的二维数组vec,每个元素位置放置一定数量的苹果,从底部开始往顶部走,每一步只能按 正前方、正前方左45度(如果左边还有位置)、正前方右45度(如果右边还有位置) 三种方式前进,起点可以是底部的任意一个位置,终点也可以是顶部的任意一...

2013-08-01 18:58:02 109

白帽子讲web安全 笔记

安全的重要性不用多说,很多安全问题只是开发人员没想到,但不代表不存在。 读《白帽子讲web安全》的笔记: 核心原则:Secure By Default 原则(黑白名单); 纵深防御原则; 数据与代码分离原则; 不可预测性原则。   白帽子讲web安全-1.安全世界观http://coderbee.net/index.php/readingnote/20130722...

2013-07-30 19:56:36 148

命令的执行方式

 这个东西很基础,也没想过专门写篇博客的,只是有人因为错误的命令的执行方式导致 “Command not found”,竟然连发两封邮件要求协助解决,我还是把自己知道的写出来。 http://coderbee.net/index.php/linux/20130730/338...

2013-07-30 17:38:21 161

原创 struts2 漏洞 和 缓存攻击

 本文首先发表在我的独立博客站点: 码蜂笔记     http://coderbee.net/index.php/java/20130719/304 本文主要讲我对漏洞的探索和探索过程中发现的一个可以进行缓存攻击的坑。 问题struts2 的漏洞在网上已经够热闹了,各个技术站点都是头条显示,微博上也有大佬转发。 这个漏洞的危害行在于允许执行远程命令,直接攻击...

2013-07-19 21:37:32 215

博客迁移

 自己的独立博客站点--码蜂笔记 http://coderbee.net/  上线有一段时间了,新文章先发表在那里,然后会贴一份到这里,如果文章有更新就只更新那里了,不两头更新。 博客的访问情况,一般就只有爬虫固定访问,呵呵。自己写个awk脚本过滤下nginx的访问日志,非机器访问的次数与google analytics 的统计差不到。  如果你有兴趣搭建自己的博客,可以看...

2013-07-13 15:33:34 97

html5 文件拖拽上传

 本文首先发表在  码蜂笔记 : http://coderbee.net/index.php/web/20130703/266 html5 文件拖拽上传是个老话题了,网上有很多例子,我一开始的代码也是网上找来改的,只是踩了几个坑之后就想把过程记录下来。 功能实现下面主要介绍从浏览器外拖拽文件到浏览器进行上传的实现。 首先会介绍一些必须的基础。 拖拽事件拖拽事件...

2013-07-04 09:06:55 196

向量旋转

 本文先发布于:http://coderbee.net/index.php/algorithm/20130619/224 向量旋转题目均来自《编程珠玑》,代码实现是用Go语言。 题将一个n元一维向量向左旋转(循环移位)i个位置。例如,当n=8时且i=3时,向量abcdefgh旋转为defghabc。简单的代码使用一个n元的中间向量在n步内完成该工作。能否仅用数十...

2013-06-19 22:47:03 727

非递归、固定量额外存储空间 遍历二叉树

原文发表于: http://coderbee.net/index.php/algorithm/20130618/231 题写出一个O(n)时间的非递归过程,输出给定的含n个节点的二叉树中每个结点的关键字,要求只能使用除树本身以外固定量的额外存储空间,而且在过程中不能修改该树,哪怕只是暂时的。 题目来自《算法导论》的一道习题。 树的遍历方式分类从树的深度分类树...

2013-06-18 22:23:15 299

crontab调度

 文章先发布在我的个人博客:http://coderbee.net   ,因为对wordpress不熟悉,博客还没整好。 调度的基本格式* * * * * cmd分 时 日 月 周 命令第1列表示分钟 0 - 59,每分钟用 * 或者 */1表示。第2列表示小时 0 - 23,0表示0...

2013-04-26 22:50:07 149 1

scp 笔记

 https://github.com/wen866595/snaprecord/issues/2 scp是Security copy,基于ssh协议登录,用于在两台主机之间加密拷贝文件或目录,既可以从本机拷贝到远程主机,也可以从远程主机拷贝到本机。 root@coderbee:~# scpusage: scp [-12346BCpqrv] [-c cipher] [...

2013-04-20 17:55:58 234

原创 sed 学习笔记

 原文在: https://github.com/wen866595/snaprecord/blob/master/shell/learn/sed.md这里直接把github上的输出拷贝过来,效果不好,可以直接点击上面的链接查看原文。sed 简介sed(stream editor)是一个流编辑器,一次处理流的一行内容。sed 命令模式sed [options] 'co...

2013-04-03 22:21:51 156

Redis RDB 转储文件格式 翻译

 这个周末翻译了 Redis RDB 转储文件格式的文档,译文在:https://github.com/wen866595/open-doc/blob/master/redis-doc/Redis-RDB-Dump-File-Format-cn.md 用markdown语法写的,在github上展示的效果确实不错,以后的笔记都用markdown写了。...

2013-03-24 22:46:31 224

系统设计中20个常见瓶颈--翻译

 翻译自: http://highscalability.com/blog/2012/5/16/big-list-of-20-common-bottlenecks.html 数据库:工作空间大小超过可用内存(Working size exceeds available RAM) 运行长时间和短时间查询(Long & short running queries)...

2013-03-05 11:23:03 217

Linux 命令行快捷键

linux命令行快捷键:C-k: 先按住Ctrl键,然后再按k键;M-k:先单击Esc键,然后再按k键。移动光标:C-a:移到行首C-e:移到行尾C-b:往回(左)移动一个字符C-f:往后(右)移动一个字符M-b:往回(左)移动一个单词M-f:往后(右)移动一个单词删除字符:C-h:删除光标左方位置的字符C-d:删除光标右方位置的字符(注意:当前命令行没有任何字符时,会注销系统或结束终端)删除单词...

2013-02-22 10:12:51 116

oracle 存储过程 基础

差不多一年没写过存储过程,最近要写,发现基本忘了,google一番之后,觉得很有必要把基础的东西写下来备忘。 语句块定义:decalre-- 变量声明var1 number(2); -- 仅声明var2 char(2) := '11'; -- 在声明的同时初始化begin -- 语句end;...

2012-11-23 11:46:34 109

rsync 核心算法的Java实现

 rsync 算法场景:假设有两台计算机CA和CB,CA上有文件FA,CB上有文件FB,FA和FB是“相似的”。CA和CB通过低速通信链接连接,现在要把FA同步到FB上去,如何才能高效同步。  rsync 算法包含下面的步骤:1、CB把FB分割成固...

2012-11-17 21:44:51 412

更多批处理

 先上一个用批处理调用yuicompressor压缩js、css的脚本(以前没学批处理时,用java写过,麻烦多了),用到的知识在下面给出:@echo offsetlocal enabledelayedexpansionset pwd=%CD%set srcDir=%pwd%\testcompressset dstDir=%pwd%\testcompressre...

2012-10-27 18:28:46 99

shell 笔记 之测试选项、测试命令

简单的测试:#!/bin/bashecho 文件比较运符echo 运算符 描述 示例echo -e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]echo -d filename 如果 filename为目录,则为真 [ -d /tmp/m...

2012-10-18 20:25:25 129

原创 shell 笔记 之字符串操作、函数、变量作用域

 字符串操作太常见了。 #!/bin/bash# 字符串截断# 1 使用简单命令截断 basename dirname# dirname 返回basename丢弃的另一部路径。echo 'basename /usr/local/share/doc/foo/foo.txt is :'basename /usr/local/share/doc/foo/fo...

2012-10-18 20:15:30 128

shell 笔记 之控制结构

if 语句:#!/bin/bash# if 语句格式:# if 和then放在不同行,并使else和结束处必须的fi与它们水平对齐if [ "${1}" = '' ]then echo no argument input .else echo first argument is : $1fivar=2echo "${var}"...

2012-10-17 22:41:05 116

shell 笔记 之变量

 #!/bin/bash# #开头的行注释# shell脚本的第一行一般都是#!/bin/bash 表示由/bin/bash负责解释# 定义变量str="string value"num=123echo str is :\"$str\"echo num\'s value is: $num# 注意:# 1、"="两边没有空格,任何空格会导致错误。...

2012-10-17 22:36:59 105

Ant使用指南.pdf

Ant使用指南.pdf 备用。..........................................

2011-06-30

C程序设计语言(第2版·新版)非扫描版

C程序设计语言(第2版·新版)非扫描版, K&R, 你懂的!!

2011-06-30

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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