自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 666

原创 ESI(分段页面缓存)

ESI(Edge Side Includes)----分段页面缓存的核心思想是将一些不具有动态化的html缓存起来,对随着用户或者应用发生某些动态的页面片段通过访问web服务完成页面展示。说道这里,你肯定知道在传统的web服务器前面有一个层专门对静态的html进缓存。这种架构就是我们说的 反向代理缓存。至于为什么叫反向代理,相信这里你也应该已经一窥一二了。通常ESI有2中实现方式:Velo

2013-06-21 18:05:13 1104

原创 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 853

原创 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 757

原创 MINA源码解读(一)

MINA版本:2.0.7题外话:之前去某家互联网公司面试被问及是否使用过mina框架。由于本人所在企业都是使用的自己公司的框架,所以这个东东也只是听过,还没真实践和学习过。 最近工作不太忙,打算读下。需要基础知识:java NIO 。建议读者先了解下NIO方面的知识,对阅读本文有帮助。下面就开始此次旅行。 首先我们由mina自带的example出发。下面就是本地获取的工程源码,通过mave

2013-06-20 12:03:17 668

原创 复习数据库的事务隔离

数据库的事务的隔离级别分为4种:序列化、提交读、可重复读、未提交读。 序列化 不允许其他事务并发执行问题:并发受到影响,效率问题、数据一致性没问题、 提交读当前事务提交后,其他事务可读问题:不能重复读 可重复读指事务a操作完之前,事务b将等待整个事务a完成后才能操作问题:幻读 未提交读指事务未提交,其他事务就能读取该变化后的数据问题:

2013-05-29 22:03:47 491

原创 各种垃圾回收器、对象分配内存原则、GC参数

首先谈谈对象内存分配原则:1.大对象或数组直接分配到老生代2.对于一般而言的对象优先分配到Eden区域3.长期存活的对象进入老年代(每新生代GC一次(Minor GC/GC),对象就年龄就增加一岁,直到达到预设的age,然后就移动到老年代。)4.动态年龄规划,通过动态计算,将其移动到老生代。垃圾回收器的种类以及实现方式(主要学习下被人解决问题的思路,核心就是用多线程、单线程来完

2013-05-29 15:57:52 753

原创 java内存模型和jvm回收浅谈

首先java虚拟机规范将内存划分为如下几块:1.栈区:该区域主要是存放方法临时变量、函数参数值等。由编译器自动分配释放,在具体方法结束之后由编译器自动释放。2.静态取:部分永久存在于内存中,主要存放一些字符串常量、全局变量等。3.堆区:该区域是分配给程序员控制的区域(其实也是由jvm统一控制),存放一些new的对象和数组,垃圾回收器会不定期查看该区域,然后通过回收机制进行垃圾回收。

2013-05-29 10:50:06 543

转载 转载的一篇文章

http://tech.hexun.com/2012-09-08/145631867.html

2013-05-28 10:28:37 412

原创 谈谈数据库的索引

我们常常使用数据库的索引来对大表提供操作性能上的优化。其根本原因在提高数据的效率,减少寻道时间,具体可以参考机械硬盘的结构。数据库的索引从实现的数据结构上分为散列、B树、B+树、位图。首先我们谈谈散列:其实散列更多的是用在文件系统中。通过散列函数,将数据分散到不同的逻辑区域上去。从而完成数据根据某个属性通过散列函数组织起来,在查找的时候,通过这个特性,能够快速的缩小数据查找范围,从

2013-05-27 17:07:31 447

原创 敲下百度都发生了什么

当我们用键盘敲下www.baidu.com的时候都发生了些什么?下面我们来看看到底发生了些什么:1.首先根据域名查找到对应的IP: 查询浏览器中缓存的DNS记录,如果有则获取对应IP,没有继续往下。 查找系统缓存(操作系统级别对DNS的缓存),如果有返回对应IP,没有继续往下。 查找路由器中的缓存(通常路由器中缓存近期访问过的域名信息以及对应的IP信息),如果有返回对应IP,没

2013-05-27 16:33:00 606

原创 反向代理缓存/分段页面缓存

ESI(Edge Side Includes)----分段页面缓存的核心思想是将一些不具有动态化的html缓存起来,对随着用户或者应用发生某些动态的页面片段通过访问web服务完成页面展示。说道这里,你肯定知道在传统的web服务器前面有一个层专门对静态的html进缓存。这种架构就是我们说的 反向代理缓存。至于为什么叫反向代理,相信这里你也应该已经一窥一二了。通常ESI有2中实现方式:Velo

2013-05-26 23:09:46 506

原创 对于新上线的javascript与客户端缓存存在冲突,到时客户端执行的是老代码的问题解决

首先是自己学习整理,估计写得有些混乱。反正打个草稿,给自己留个印象。 由于客户端浏览器存在Cache的功能,来提高用户响应体验,所以时常会碰见这样的情况,客户端缓存的代码是旧代码,导致一列问题:如客户端调用后台已经废弃或者修改过的接口,导致js报错甚至是后台报错,导致业务无法正常开展。如何解决这个问题呢? 解决的办法就是通过调用或者引入js文件的地方通过版本号来完成控制,这样既不和报头

2013-05-03 15:47:31 675

原创 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 945

转载 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 315

原创 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 246

原创 C语言的对齐

上面主要考点在于c语言的sizeof 以及 C语言中的对齐的概念。其中主要的思想是读取数据的时候通过空间换取时间的策略。1. 什么是字节对齐?在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然边界(alignment)分配空间。各个

2012-09-12 17:48:37 689

原创 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 828

《MATLAB 7简明教程》

教你使用一些基本的MATLAB操作与编程 让你很快的入门 希望这本书对你能够有帮助

2009-04-28

《Windows网络编程技术》.rar

《Windows网络编程技术》希望能帮到您 第一部分 传统网络API 第1章 NetBIOS 1 1.1 Microsoft NetBIOS 2 1.1.1 LANA编号 2 1.1.2 NetBIOS名字 4 1.1.3 NetBIOS特性 6 1.2 NetBIOS编程基础 7 1.3 常规NetBIOS例程 8 1.3.1 会话服务器:异步回调模型 15 1.3.2 会话服务器:异步事件模型 20 1.3.3 NetBIOS会话客户机 24 1.4 数据报的工作原理 28 1.5 其他NetBIOS命令 40 1.5.1 适配器状态 40 1.5.2 查找名字 42 1.5.3 将传送协议同LANA编号对应起来 43 1.6 平台问题 43 1.6.1 Windows CE 44 1.6.2 Windows 9x 44 1.6.3 常规问题 44 1.7 小结 44 第2章 重定向器 45 2.1 通用命名规范 45 2.2 多UNC提供者 47 2.3 网络提供者 47 2.4 重定向器简介 48 2.5 服务器消息块 48 2.6 安全问题 49 2.6.1 安全描述符 49 2.6.2 访问令牌 51 2.7 网络安全 51 2.8 一个实例 52 2.9 小结 53 第3章 邮槽 54 3.1 邮槽实施细节 54 3.1.1 邮槽的名字 54 3.1.2 消息的长度 55 3.1.3 应用程序的编译 56 3.1.4 错误代码 57 3.2 基本客户机/服务器 57 3.2.1 邮槽服务器的详情 57 3.2.2 邮槽客户机的详情 59 3.3 其他邮槽API 61 3.4 平台和性能问题 62 3.4.1 8.3字符名字限制 62 3.4.2 不能取消“凝结”的I/O请求 62 3.4.3 超时引起的内存废弃 64 3.5 小结 65 第4章 命名管道 66 4.1 命名管道的实施细节 66 4.1.1 命名管道命名规范 67 4.1.2 字节模式及消息模式 67 4.1.3 应用程序的编译 67 4.1.4 错误代码 68 4.2 客户机与服务器的基础 68 4.2.1 服务器的细节 68 4.2.2 高级服务器的细节 74 4.2.3 客户机的细节 81 4.3 其他API调用 83 4.4 平台和性能问题 86 4.5 小结 87 第二部分 Winsock API 第5章 网络原理和协议 89 5.1 协议的特征 89 5.1.1 面向消息 89 5.1.2 面向连接和无连接 91 5.1.3 可靠性和次序性 91 5.1.4 从容关闭 92 5.1.5 广播数据 92 5.1.6 多播数据 92 5.1.7 服务质量 92 5.1.8 部分消息 93 5.1.9 路由选择的考虑 93 5.1.10 其他特征 93 5.2 支持的协议 93 5.2.1 支持的Win32网络协议 93 5.2.2 Windows CE网络协议 94 5.3 Winsock 2协议信息 94 5.4 Windows套接字 97 5.5 具体平台的问题 99 5.6 选择适当的协议 100 5.7 小结 100 第6章 地址家族和名字解析 102 6.1 IP 102 6.1.1 TCP 102 6.1.2 UDP 102 6.1.3 定址 102 6.1.4 创建套接字 105 6.1.5 名字解析 105 6.2 红外线套接字 107 6.2.1 定址 107 6.2.2 名字解析 108 6.2.3 红外线设备列举 108 6.2.4 查询IAS 110 6.2.5 创建套接字 111 6.2.6 套接字选项 112 6.3 IPX/SPX 112 6.3.1 编址 112 6.3.2 创建套接字 112 6.4 NetBIOS 115 6.4.1 定址 115 6.4.2 创建套接字 116 6.5 AppleTalk 117 6.5.1 定址 117 6.5.2 AppleTalk名的注册 118 6.5.3 AppleTalk名的解析 119 6.5.4 创建套接字 124 6.6 ATM 124 6.6.1 定址 125 6.6.2 创建套接字 128 6.6.3 把套接字和SAP绑定在一起 129 6.6.4 名字解析 130 6.7 Winsock 2支持的其他函数 130 6.8 小结 131 第7章 Winsock基础 132 7.1 Winsock的初始化 132 7.2 错误检查和控制 134 7.3 面向连接的协议 134 7.3.1 服务器API函数 134 7.3.2 客户机API函数 138 7.3.3 数据传输 140 7.3.4 流协议 144 7.3.5 中断连接 146 7.3.6 综合分析 147 7.4 无连接协议 155 7.4.1 接收端 155 7.4.2 发送端 156 7.4.3 基于消息的协议 157 7.4.4 释放套接字资源 158 7.4.5 综合分析 158 7.5 其他API函数 165 7.6 Windows CE 168 7.7 其他地址家族 169 7.7.1 AppleTalk 169 7.7.2 IrDA 169 7.7.3 NetBIOS 170 7.7.4 IPX/SPX 170 7.7.5 ATM 171 7.8 小结 171 第8章 Winsock I/O方法 172 8.1 套接字模式 172 8.1.1 锁定模式 173 8.1.2 非锁定模式 175 8.2 套接字I/O模型 176 8.2.1 select模型 176 8.2.2 WSAAsyncSelect 179 8.2.3 WSAEventSelect 183 8.2.4 重叠模型 188 8.2.5 完成端口模型 198 8.3 I/O模型的问题 206 8.4 小结 206 第9章 套接字选项和I/O控制命令 207 9.1 套接字选项 207 9.1.1 SOL_SOCKET选项级别 208 9.1.2 SOL_APPLETALK选项级别 215 9.1.3 SOL_IRLMP选项级别 218 9.1.4 IPPROTO_IP选项级 222 9.1.5 IPPROTO_TCP选项级别 227 9.1.6 NSPROTO_IPX选项级别 227 9.2 IOCTLSOCKET和WSAIOCTL 231 9.2.1 标准I/O控制命令 232 9.2.2 其他I/O控制命令 233 9.2.3 安全套接字层的I/O控制命令 239 9.2.4 ATM I/O控制命令 241 9.3 小结 242 第10章 名字注册和解析 243 10.1 背景知识 243 10.2 名字空间模型 243 10.3 服务的注册 245 10.3.1 安装服务类 245 10.3.2 服务的注册 248 10.3.3 服务注册示例 251 10.4 服务的查询 254 10.4.1 怎样对服务进行查询 255 10.4.2 查询DNS 257 10.5 小结 260 第11章 多播 261 11.1 多播的含义 261 11.2 IP多播 264 11.2.1 Internet网关管理协议 264 11.2.2 IP叶节点 265 11.2.3 IP多播的实施 266 11.3 ATM多播 266 11.3.1 ATM叶节点 267 11.3.2 ATM根节点 267 11.4 多播与Winsock 268 11.4.1 Winsock 1多播 268 11.4.2 Winsock 2多播 274 11.4.3 常用的Winsock选项 288 11.4.4 拨号网络多播的一处限制 290 11.5 小结 291 第12章 常规服务质量 292 12.1 背景知识 292 12.1.1 资源预约协议 292 12.1.2 网络组件 293 12.1.3 应用组件 294 12.1.4 策略组件 296 12.2 QoS和Winsock 296 12.2.1 QoS结构 297 12.2.2 QoS调用函数 299 12.3 QoS中止 303 12.4 QoS编程 311 12.4.1 RSVP和套接字类型 312 12.4.2 QoS通知 314 12.4.3 QoS模板 316 12.5 示例 318 12.5.1 单播TCP 318 12.5.2 单播UDP 336 12.5.3 多播UDP 337 12.6 ATM和QoS 338 12.7 小结 339 第13章 原始套接字 340 13.1 原始套接字的创建 340 13.2 Internet控制消息协议 341 13.2.1 Ping示例 342 13.2.2 Traceroute示例 351 13.3 Internet组管理协议 352 13.4 IP_HDRINCL的使用 354 13.5 小结 362 第14章 Winsock 2服务提供者接口 363 14.1 SPI基础 363 14.1.1 SPI命名规则 364 14.1.2 Winsock 2 API和SPI函数之间的映 射 364 14.2 传输服务提供者 364 14.2.1 WSPStartup 365 14.2.2 参数 366 14.2.3 实例计数 369 14.2.4 套接字句柄 369 14.2.5 Winsock I/O模型支持 371 14.2.6 扩展函数 380 14.2.7 传输服务提供者的安装 381 14.3 命名空间服务提供者 386 14.3.1 名字空间的安装 386 14.3.2 名字空间的实施 387 14.3.3 名字空间提供者示范 392 14.4 Winsock SPI函数的调试追踪 396 14.5 小结 396 第15章 微软Visual Basic Winsock控件 397 15.1 属性 397 15.2 方法 398 15.3 事件 399 15.4 UDP示例 400 15.4.1 UDP消息的发送 403 15.4.2 UDP消息的接收 404 15.4.3 获取Winsock信息 404 15.4.4 运行UDP示例 405 15.4.5 UDP状态 405 15.5 TCP示例 406 15.5.1 TCP服务器 412 15.5.2 TCP客户机 413 15.5.3 获取Winsock信息 414 15.5.4 运行TCP示例 414 15.5.5 TCP状态 415 15.6 存在的局限 415 15.7 常见错误 416 15.8 Windows CE的Winsock控件 417 15.8.1 Windows CE Winsock示例 417 15.8.2 已知的问题 421 15.9 小结 422 第三部分 远程访问服务 第16章 RAS客户机 423 16.1 编译和链接 424 16.2 数据结构和平台兼容问题 424 16.3 DUN 1.3升级和Windows 95 425 16.4 RASDIAL 425 16.4.1 同步模式 427 16.4.2 异步模式 428 16.4.3 状态通知 432 16.4.4 关闭连接 432 16.5 电话簿 433 16.5.1 电话簿条目的增添 440 16.5.2 电话簿条目的重命名 442 16.5.3 电话簿条目的删除 442 16.5.4 电话簿条目的列举 443 16.5.5 用户凭据的管理 443 16.5.6 多链接电话簿的子条目 445 16.6 连接管理 446 16.7 小结 450 第四部分 附录录录 附录A NetBIOS命令索引 451 附录B IP助手函数 464 附录C Winsock错误代码 481

2009-04-11

Windows 网络编程第二版.CHM

Windows 网络编程 This book covers a wide variety of networking functions available in Windows 95, Windows 98, Windows Me, Windows NT 4.0, Windows 2000, Windows XP, and Windows CE. The majority of the text covers intermediate and advanced networking topics, but we retooled the Winsock section so that it is more accessible to programmers of all levels.

2009-04-11

空空如也

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

TA关注的人

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