- 博客(18)
- 资源 (3)
- 收藏
- 关注
原创 最近 因为 一个take阻塞 一直占有当前获取的lock 导致奇怪的现象 这里把自己的测试代码贴下 免得下次犯错
public static void main(String[] args){ try{ final Lock lock = new ReentrantLock(); final Condition cond = lock.newCondition(); final BlockingQueue q =
2014-05-28 16:01:41
701
原创 ESI(分段页面缓存)
ESI(Edge Side Includes)----分段页面缓存的核心思想是将一些不具有动态化的html缓存起来,对随着用户或者应用发生某些动态的页面片段通过访问web服务完成页面展示。说道这里,你肯定知道在传统的web服务器前面有一个层专门对静态的html进缓存。这种架构就是我们说的 反向代理缓存。至于为什么叫反向代理,相信这里你也应该已经一窥一二了。通常ESI有2中实现方式:Velo
2013-06-21 18:05:13
1148
原创 http协议报头Cache-Control使用
最近,复习了下http协议。这里主要回忆分享,学习下报头中的Cache-Control的使用情况。和Cache-Control一起使用的报头属性还有:Last-Modified: [UTC time]、ETag: [custom flag]首先说明下Cache-Control的使用情况:1 保鲜期only这个是最最基础的一种策略,只需要在响应头中设定:Cache-control
2013-06-21 18:01:47
892
原创 MINA源码解读(二)
前一篇我们大致的拉通了一遍,mina的整个调度过程。今天我们就谈谈贯串整个mina的Session。首先我们看看mina中的session接口:org.apache.mina.core.session.IoSession。接口有如下方法: long getId(); IoService getService(); //IoAcceptor 和 IoConnector 两种IoS
2013-06-21 17:34:59
802
原创 MINA源码解读(一)
MINA版本:2.0.7题外话:之前去某家互联网公司面试被问及是否使用过mina框架。由于本人所在企业都是使用的自己公司的框架,所以这个东东也只是听过,还没真实践和学习过。 最近工作不太忙,打算读下。需要基础知识:java NIO 。建议读者先了解下NIO方面的知识,对阅读本文有帮助。下面就开始此次旅行。 首先我们由mina自带的example出发。下面就是本地获取的工程源码,通过mave
2013-06-20 12:03:17
716
原创 复习数据库的事务隔离
数据库的事务的隔离级别分为4种:序列化、提交读、可重复读、未提交读。 序列化 不允许其他事务并发执行问题:并发受到影响,效率问题、数据一致性没问题、 提交读当前事务提交后,其他事务可读问题:不能重复读 可重复读指事务a操作完之前,事务b将等待整个事务a完成后才能操作问题:幻读 未提交读指事务未提交,其他事务就能读取该变化后的数据问题:
2013-05-29 22:03:47
510
原创 各种垃圾回收器、对象分配内存原则、GC参数
首先谈谈对象内存分配原则:1.大对象或数组直接分配到老生代2.对于一般而言的对象优先分配到Eden区域3.长期存活的对象进入老年代(每新生代GC一次(Minor GC/GC),对象就年龄就增加一岁,直到达到预设的age,然后就移动到老年代。)4.动态年龄规划,通过动态计算,将其移动到老生代。垃圾回收器的种类以及实现方式(主要学习下被人解决问题的思路,核心就是用多线程、单线程来完
2013-05-29 15:57:52
793
原创 java内存模型和jvm回收浅谈
首先java虚拟机规范将内存划分为如下几块:1.栈区:该区域主要是存放方法临时变量、函数参数值等。由编译器自动分配释放,在具体方法结束之后由编译器自动释放。2.静态取:部分永久存在于内存中,主要存放一些字符串常量、全局变量等。3.堆区:该区域是分配给程序员控制的区域(其实也是由jvm统一控制),存放一些new的对象和数组,垃圾回收器会不定期查看该区域,然后通过回收机制进行垃圾回收。
2013-05-29 10:50:06
568
原创 谈谈数据库的索引
我们常常使用数据库的索引来对大表提供操作性能上的优化。其根本原因在提高数据的效率,减少寻道时间,具体可以参考机械硬盘的结构。数据库的索引从实现的数据结构上分为散列、B树、B+树、位图。首先我们谈谈散列:其实散列更多的是用在文件系统中。通过散列函数,将数据分散到不同的逻辑区域上去。从而完成数据根据某个属性通过散列函数组织起来,在查找的时候,通过这个特性,能够快速的缩小数据查找范围,从
2013-05-27 17:07:31
473
原创 敲下百度都发生了什么
当我们用键盘敲下www.baidu.com的时候都发生了些什么?下面我们来看看到底发生了些什么:1.首先根据域名查找到对应的IP: 查询浏览器中缓存的DNS记录,如果有则获取对应IP,没有继续往下。 查找系统缓存(操作系统级别对DNS的缓存),如果有返回对应IP,没有继续往下。 查找路由器中的缓存(通常路由器中缓存近期访问过的域名信息以及对应的IP信息),如果有返回对应IP,没
2013-05-27 16:33:00
642
原创 反向代理缓存/分段页面缓存
ESI(Edge Side Includes)----分段页面缓存的核心思想是将一些不具有动态化的html缓存起来,对随着用户或者应用发生某些动态的页面片段通过访问web服务完成页面展示。说道这里,你肯定知道在传统的web服务器前面有一个层专门对静态的html进缓存。这种架构就是我们说的 反向代理缓存。至于为什么叫反向代理,相信这里你也应该已经一窥一二了。通常ESI有2中实现方式:Velo
2013-05-26 23:09:46
541
原创 对于新上线的javascript与客户端缓存存在冲突,到时客户端执行的是老代码的问题解决
首先是自己学习整理,估计写得有些混乱。反正打个草稿,给自己留个印象。 由于客户端浏览器存在Cache的功能,来提高用户响应体验,所以时常会碰见这样的情况,客户端缓存的代码是旧代码,导致一列问题:如客户端调用后台已经废弃或者修改过的接口,导致js报错甚至是后台报错,导致业务无法正常开展。如何解决这个问题呢? 解决的办法就是通过调用或者引入js文件的地方通过版本号来完成控制,这样既不和报头
2013-05-03 15:47:31
726
原创 http1.1中的Cache-control
最近,复习了下http协议。这里主要回忆分享,学习下报头中的Cache-Control的使用情况。和Cache-Control一起使用的报头属性还有:Last-Modified: [UTC time]、ETag: [custom flag]首先说明下Cache-Control的使用情况:1 保鲜期only这个是最最基础的一种策略,只需要在响应头中设定:Cache-control
2013-05-03 11:41:32
987
转载 c语言基础数据类型的长度 留下来看看
单位:bytesieof char = 1sieof short = 2sieof int = 4sieof long = 4sieof float = 4sieof double = 8sieof long long = 8sieof long double = 12sieof long int = 4
2013-04-19 14:12:56
349
原创 oralce 锁表处理
--查出所有被锁住的表select b.owner TABLEOWNER, b.object_name TABLENAME, c.OSUSER LOCKBY, c.USERNAME LOGINID, c.sid SID, c.SERIAL# SERIALfrom v$locked_object a,dba_objects b, v$session c where b.object_id
2012-11-15 16:57:39
271
原创 C语言的对齐
上面主要考点在于c语言的sizeof 以及 C语言中的对齐的概念。其中主要的思想是读取数据的时候通过空间换取时间的策略。1. 什么是字节对齐?在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然边界(alignment)分配空间。各个
2012-09-12 17:48:37
753
原创 javascript获取未知对象属性以及属性值
var o = new Object(); o.a="1111" o.b="2222" alert(o.a); alert(o.b); for(attribute in o){ var attrName = attribute; alert(attrName); var value = null; eval("value=o."+attrName);
2012-05-28 19:01:31
886
《Windows网络编程技术》.rar
2009-04-11
Windows 网络编程第二版.CHM
2009-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人