`
文章列表

结束了

08年6月进入了这个行业,08年10月知道了iteye(那会还叫javaeye),在这里收获了很多,从一个什么都不懂的菜鸟,一步一个脚印的走到现在,很感谢iteye,感谢很有网友们的无私奉献的内容。   这里也记录了自己平时积累的点点滴滴,感谢伟大的互联网,让足不出户的我们能够汲取到很多知识。 今天就把博客迁移到自己独立站点了,不知道以后还会不会回来看看,哎。。。。近五年的时间啊!   新的博客地址:http://www.inter12.org 慢慢会将这里的博文迁移过去!  
  存储模型: 关系数据库中每条数据都是符合一定的格式,每个字段都有一个确定的类型,简单的说是一个格式化的数据。 NOSQL的特点在于数据的格式是非固定的,每一个文档都可以拥有自己的数据格式,归纳的讲就是非格式化的数据,无论底层是采用文档,列存储还是K-V模式   业务功能实现: 伴随着关系数据库的有数据库的三设计范式,范式所约定的终极目的是降低数据间的冗余,对于多关系之间数据查询难免的会使用到join,但是为了性能及开发的方便性上来,我们又期望不要过多的join(join操作会带来一定的性能问题),这个时候才用的手段大多是数据的冗余,牺牲一定的设计范式。但是,但是,这个join ...

mysql的order by 排序

mysql 的排序 1.indexsort  利用有序索引获取有序数据 原理: 我们知道,mysql的基础数据结构是B+树,任何的一个表都是一颗B+树,你在表上建的索引也是一颗B+树,B+树的特别是在叶子节点上是有序,且前一个节点存在指向相邻节点的指针。 那么在写SQL中的ORDER BY语句时候,若是ORDER BY的条件和返回的数据都在一颗树上,那么就可以利用B+树自身的特点来天然排序了,自然效率会比较高。   使用条件: 1)查询的WHERE子句和ORDER BY子句中查询的字段在同一颗索引树上, 2)ORDER BY 字段的顺序是跟建立索引的顺序是一致的。 3)查询 ...
  因为eclipse换成了4.2.1,里面自带的svn就更新到了1.8.0,在命令终端中用1.6版本的svn就不能使用了,就只能去安装1.7+的svn。   安装subversion-1.7.8 需要依赖以下包: SQLite-3.7.15.1, Apr-Util-1.5.1 and neon-0.29.6 或者  serf.   对于这些最好不要尝试自己去编译,直接用下面命令即可,各个包又会依赖于其他包,累人!(Apr-Util依赖于Apr,neon依赖于libxml2-2.9.0 或者 expat-2.1.0)   sudo aptitude install libneon ...
因为ReentrantLock和ReentrantReadWriteLock的实现原理基本相同,就单看ReentrantLock。   第一步先看加锁 final void lock() { if (compareAndSetState(0, 1)) // 第一次尝试CAS指令来获取锁,若是失败的话,再通过acquire(1)方法获取锁。 setExclusiveOwnerThread(Thread.currentThread()); else ...
数据准备: inter12@inter12-VirtualBox:/tmp/temp$ more t1  12 hi zhaoming  32 ohoh mingtian 22 jhoh mingtian 2  iehieh tomorrow    inter12@inter12-VirtualBox:/tmp/temp$ more t2   2  iehieh tomorrow  12 hi zhaoming  32 ohoh mingtian     按照第一列排序 inter12@inter12-VirtualBox:/tmp/temp$ sort -n ...
  今天在处理问题时候,采用了读写锁,之前印象中记得读写锁在读大于写的场景下效率会比较高,但是并不是很明确,所以就乘机测试。具体测试代码如下所示:   package com.zhaming.lock; import java.util.Random; import java.util.concurrent.CountDownLatch; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutorService; import java.util.concurrent.Exec ...
Btrace及Dtrace实战之BTRACE   最早接触的是btrace,那会在2010年就听说了,后来又听说了Dtrace,今天放假回来就总结总结这两个线上调试利器。 源码下载地址是:http://kenai.com/projects/btrace/downloads 看主页上的最近更新时间都是2年前 ...
文化Hacking与即将到来的黄金时代    -- McCarthy Technologies创始人 Jim McCarthy         来宣扬黑客价值观的,对美国60,70年代的嬉皮士文化有了新的理解,他们追求的是思想的解放,不在束缚于条条框框,后来他们很多人都走上软件开发的geek道路。 获取自动化测试的最大价值           -- Jolt大奖图书作者 Gerard Meszaros                 这是一个比较实在的孩子,主要提了自动化测试的必要性和如何合理的去做自动化测试。   精益开发@SAP: 从高效到创新         -- SAP中 ...
昨晚参与了天猫的双11活动,自己也下单了,中间遇见了一些问题,相信大多参与该活动的人都碰到了,先看问题吧: 问题: 首页打不开 购物车数据丢失 无法添加到购物车 无法下单 无法付款 进入支付宝后,网银不给力 ...
单元测试这个东西很神奇,最早是从国外引入的,世面上也存在了很多开源的单元测试软件,那么它到底有什么优缺点呢?下面就列出来瞧瞧看看,并附上一些我自己的看法。   优点: 1.降低开发错误的反馈回路,减少重复工作,提升开发效率。例如服务器的重启啊之类的。    这个确实,大优点之一,我相信也是大多数程序要写单元测试的初衷。   2.提升代码质量,写出更模块化、结构化的代码,减少BUG.    所谓提升代码质量,这个也是TDD所一直鼓吹的东西。见仁见智吧,如果你写出更模块化,更结构化的代码非得通过单元测试的话,那么你就去干吧。   3.重构时保证功能的利器。      这个是单元测 ...

confluence搭建过程

  JDK1.6以上,这个是必须条件,就不多说了。   下载 : mysql-server 5.1 及 mysql-client 5.1 目前只支持这个版本的数据库  http://dev.mysql.com/downloads/mysql/5.1.html#downloads     修改my.cnf文件: [root@javaapp-qatest3 /]# find . -type f | grep cnf$ ./usr/share/doc/MySQL-server-5.1.66/my-innodb-heavy-4G.cnf ./usr/share/doc/MySQL-s ...
    Hypertext Transfer Protocol 超文本传输协议 or 超文本转移协议?   在IETF的RFC中,“transport”(传输)的含义是指:从端到端(例如从ip1:port1到ip2:port2)可靠地搬运比特,也就是TCP/IP协议栈中的第3层传输层(transport layer)协议所做的那些事情,干的仅仅是数据的传输。双方约定的是如何应对数据丢失,如何建立链接,如何释放链接等等规定。   transfer”的含义是:通过在客户端-服务器端之间转移一些带有操作语义的操作原语,来执行某种操作。“transfer”是TCP/IP协议栈中的第4层应 ...
普通的性能调优主要从四个方面入手 网络,磁盘IO,内存,CPU四个方面入手,下面案例就是从这四个角度来看。   我们的页面每天PV在30W ,主要是分布在两个主要页面:个人主页,展示主页。假设每个页面各自承担50%的PV,假设访问时间集中在白天8小时,平均下来每秒的请求数是 5.2个,考虑到高峰情况,那么我们就乘以系数20, 就当100个处理,我们最大的一个请求会产生13个processor ,也就是说 最大产生的线程回事 13*100 = 1300。也就是说高峰时刻会有1300个线程需要被处理,我们将队列设置为1000,对于高峰情况就抛弃,因为若是为了满足高峰情况的需要,就会使得部分请 ...
  AOP 的简单入门   自己也算是从业多年,对于AOP的概念应该算是听的烂的不能再烂了,这方面的书也看的不少,但是自己一直没有机会去实践下。 乘在这个稍微有点空闲的下午,就随手玩玩SPRING的AOP,也谈谈自己对于AOP的理解及其衍生的一些东西。   1.一切术语都是纸老虎 基本概念,也可以说是基本术语。任何一个软件概念提出时候,都少不了这个东西。CRM,AOP,SOA等等,伴随这些东西的都会有相应体系内的术语。 我个人的看法是一切术语的出现不是并不是向大众解释清楚这件事到底是怎么一回事,其主要是基于两个方面考虑:   1.让自己提出观点显得系统化,更具有说 ...
Global site tag (gtag.js) - Google Analytics