自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (6)
  • 收藏
  • 关注

BlockQueue之ArrayBlockingQueue源码解析

前面我们介绍的LinkedBlockingQueue的源码,这篇文章我们一起研究下ArrayBlockingQueue的源码 (1)LinkedBlockingQueue源码解析(2)ArrayBlockingQueue源码解析 从语义上看,ArrayBlockingQueue底层是基于数组实现的,而LinkedBlockingQueue底层是基于链表实现的(实际是封装为N...

2016-04-28 15:48:03 318

原创 欢迎使用CSDN-markdown编辑器

最近在研究blockqueue的源码,从今天开始,和大家分享一下我看源码的一些心得体会 LinkedBlockingQueue实现了BlockingQueue接口以及Serializable接口,是有序的FIFO队列,构造函数中,可传入一个最大容量值,如果没有传入,则默认是Integer.MAX_VALUE 一 首先看一下重要的几个类变量:、、、private final At

2016-04-28 07:23:32 155

BlockQueue之LinkedBlockingQueue源码解析

     最近在研究blockqueue的源码,从今天开始,和大家分享一下我看源码的一些心得体会     (1)LinkedBlockingQueue源码解析     (2)ArrayBlockingQueue源码解析         LinkedBlockingQueue实现了BlockingQueue接口以及Serializable接口,是有序的FIFO队列,构造函数中,可...

2016-04-27 18:45:01 235

mongo实践-通过js shell操作mongo

保存命令:j={name:"wangjingjing",age:15}db.user.save(j); 查询命令:var cursor = db.user.find();while(cursor.hasNext())printJson(cursor.next()); printJson(cursor[4]); var arr = cursor.toArr...

2013-02-26 16:57:00 157

原创 为什么人们对mongo感兴趣

假象我们在制作一个电子商务网站,如果我们使用关系型数据库,比如说mysql,那么一个product我们将会分别在几个表中保存,如果我们想要获得一个产品的全部信息,就不得不做很多的join,所以在设计数据库时候我们就需要考虑数据最好以什么样的结构来保存。但是如果我们使用非关系型数据库,比如说mongo,我们完全可以将一个produce的数据存储在一个document中,一样也可以进行查询,而...

2013-02-26 16:54:07 89

原创 数据结构学习第四天

1、单链表的整表删除思路:(1)声明一结点q、p(2)将第一个结点赋给p(3)循环 将下一结点赋给q 释放p 将q赋值给p 2、静态链表3、循环链表:最后一个结点的指针指向头结点,形成闭合的单向环路4、双向链表:既有前驱,也有后继 对于后面几种像静态链表,循环链表,双向链表,以前在大学也学过,这次又回忆了一下,感觉有了新的认识,链表暂且告一段落 ...

2012-12-21 09:06:57 78

jvm学习第四天

继续jvm的学习,昨天学习了根据十六进制的class文件分析还原类结构,今天学习类加载的过程一、类加载的过程1、加载(类加载过程中的其中一个过程)(1)通过一个类的全限定名来获取定义此类的二进制字节流(2)将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构(3)在java堆中生成一个代表这个类的java.lang.Class对象,作为方法区这些数据的访问入口 ...

2012-12-20 22:29:07 61

数据结构学习第三天

昨天在链表的顺序结构基础上对链表链式存储即单链表做了简单的介绍,今天继续。1、单链表的读取获得链表第i个元素的思路(1)声明一个结点p指向链表的第一个结点,初始化j从1开始(2)当j<1时,就遍历链表,让p的指针向后移动,不断指向下一结点,j累加1(3)若到链表末尾p为空,说明第i个元素不存在(4)若查找成功,返回结点p的数据可见,单链表的查找确实不如顺序表来的快...

2012-12-20 08:20:26 94

原创 jvm学习第三天

今天工作有点忙,没时间学习了,赶紧补上吧。昨天开始学习class文件结构,今天继续。一、class类文件结构Class文件是一组以8位字节为基础单位的二进制流。根据java虚拟机的规定,Class文件格式采用一种类似于C语言结构体的微结构来存储,这种伪结构只有两种数据类型:无符号数和表。 1、魔数与Class文件的版本,下面是从ue中拷贝出来的十六进制片段  p...

2012-12-19 23:29:22 56

数据结构学习第二天

继续昨天的知识,学习线性表的删除算法。1、删除算法的思路:(1)如果删除位置不合法,抛出异常(2)取出删除元素(3)从删除位置开始,元素逐一向前移动一个位置(3)表长减1 我们可以得出线性表的顺序存储机构读数据的时间复杂度是O(1),而插入和删除的时间复杂度都是O(n)。 顺序存储结构的优缺点:优点:(1)无须为表中元素之间的逻辑关系而增加额外的存储空间...

2012-12-19 07:48:58 66

原创 jvm学习第二天

今天是jvm学习的第二天,继续坚持吧,才刚刚开始。 一、垃圾收集算法,由于垃圾收集算法涉及大量的程序细节,而且每个平台的虚拟机操作内存的方法又各有不同,所以只介绍几种垃圾收集算法的思想。 (1)标记清除算法:先标记处需要回收的对象,然后统一收集,这种方法不好的地方是会产生大量不必要的碎片,当以后程序运行过程中需要分配较大的内存空间时无法找到足够连续的内存单元,从而引发新一轮的垃圾回...

2012-12-18 22:21:30 82

原创 数据结构学习第一天

昨晚想看看高性能mysql,但是发现数据结构是绕不开的,所以是得好好学学数据结构了,选了一本入门教材《大话数据结构》,就当做读书笔记提炼精华了,今天是第一天,看看能坚持多久。  第一章 绪论 一、基本概念和术语数据:描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据元素:是组成数据的,有一定意义的基本单位,在计算机中通常作为整...

2012-12-18 18:15:08 74

原创 jvm学习第一天

与c和c++不同,java的虚拟机拥有自动垃圾回收的机制,使得程序员不必去关注垃圾回收的具体过程,然而或许也正因为如此,一旦出现了java内存泄露或者内存溢出时,排查工作讲变的麻烦,所以,理解jvm还是很有意义的。 一、jvm运行时数据区域:分为方法区,栈(本地方法栈、虚拟机栈),程序计数器,堆。 程序计数器:由于cpu处理线程时采用的是轮询的方式,所以,计数器会帮助cpu完成下一...

2012-12-17 23:28:10 81

原创 12.17日记

一、一直觉得用户请求和struts处理请求之间有一些空白的知识点,所以,今天准备看看tomcat。其实像struts这类的控制层框架都是实现了servlet api,然后对一些业务进行进一步封装后的产物,但是它也只是负责处理业务的,那么用户的请求怎么就到达控制层呢?这就是servlet容器的作用了,tomcat作为开源的servlet容器,也实现了servlet api,在用户请求到来时,会为...

2012-12-17 17:17:15 65

原创 12.14日记

 一、昨天看的是文件上传,今天看了下文件下载我们一般做文件下载时都是直接在a标签中写文件在服务器端的路径,这样做有两个问题:(1)遇到中文的文件名时,可能会因为编码的问题而造成不能下载(2)有些时候可能会遇到权限问题,比如控制用户的下载 这时候,我们就要用到struts的下载了。 <action name="uploadByStruts" class="c...

2012-12-14 11:39:03 69

原创 struts2源码学习一验证框架

struts的验证框架项目中用的可能比较少,我们用的比较多的方式是在页面前端使用js的验证框架来对表单进行初步的验证,然后可能利用异步技术对数据进行有效性验证。所以这部分只是我们只知道怎么用感觉就可以了,需要学习的就是验证拦截器的工作方式,以及国际化的处理。 验证可以采取两种方式,如果我们的Action继承了ActionSupport,那么就默认实现了Validateable接口。...

2012-12-13 13:59:24 69

原创 配置android开发环境

我使用的是eclipse作为开发工具,所以就以eclipse作为开发环境做android开发的配置 http://developer.android.com/sdk/installing/index.html 在这个官网上,我们可依找到android sdk tools的下载路径,下载并安装。 安装完成后,我们需要安装eclipse的adt插件,这个插件可以帮助我们很好的很方便的使用...

2012-12-11 16:56:30 66

原创 struts2源码学习一 FilterDispatcher

 这个filter是struts中最重要的filter,主要完成以下四个功能:1、处理action2、清理ActionContext3、处理静态资源4、触发指定请求生命周期内的拦截器链这个filter是武断性的,也就是说它通过ActonMapper来寻找特定的action,如果找到了,那么其他剩下的filter就不会再被引用,转而去处理action,这意味着其他过滤器需要放...

2012-12-05 17:56:03 118

原创 Android 应用程序之间数据共享—ContentProvider

在Android 应用程序之间数据共享—-ContentResolver中,已经说明了Android是如何实现应用程序之间数据共享的,并详细解析了如何获取其他应用程序共享的数据。ContentProviders存储和检索数据,通过它可以让所有的应用程序访问到,这也是应用程序之间唯一共享数据的方法。那么如何将应用程序的数据暴露出去?通过以前文章的学习,知道ContentResolver是通过...

2011-05-10 17:36:22 134

原创 Android 应用程序之间数据共享—ContentResolver

Android是如何实现应用程序之间数据共享的?一个应用程序可以将自己的数据完全暴露出去,外界更本看不到,也不用看到这个应用程序暴露的数据是如何存储的,或者是使用数据库还是使用文件,还是通过网上获得,这些一切都不重要,重要的是外界可以通过这一套标准及统一的接口和这个程序里的数据打交道,例如:添加(insert)、删除(delete)、查询(query)、修改(update),当然需要一定的权限...

2011-05-10 17:35:23 66

原创 android之sqliteDatabase,sqliteOpenHelper,ContentProvider

在Android中,对于数据的存贮,有几种方式,有文件方式,有文件式数据库方式,Android自带了一个SQLite数据库,做嵌入开发的人对这个跨平台的本地文件数据库一定不会陌生,在Android对于数据的访问,提出了新的方式,ContentProvider方式,类似于MS的ContentProvider方式的,OLEDB,及ODBC统一的数据方式。我们首先来看看SQLite在 Android中的...

2011-05-10 13:13:59 90

原创 java.lang.OutOfMemoryError: PermGen space

内存溢出。如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误,这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下使用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。解决方法: 手动设置MaxPermSize大小修改TOMCAT_HOME/bin/catalina.sh...

2011-04-11 14:52:03 47

zk框架之Event Forwarding

Event Forwarding in Java我们可以使用composerpublic class MyComposer extends GenericForwardComposer{ private static final long serialVersionUID = -6441175297617827574L; public void onClick$hi(){...

2011-04-10 13:45:13 75

zk框架之Event Firing

时间的触发源有两种,常见的是通过组件来触发,其实应用本身也可以触发事件触发时间的方式有三种:post、send、echo Post an EventPosting是触发时间最常见的一种方式,同过posting,触发的事件被放到系统时间的最末端,储存在事件序列里的事件会按照先进先出的顺序一个一个被处理,每个desktop都有一个事件序列。Events.postEvent("onC...

2011-04-09 17:01:32 149

zk框架之Event Handling

event是用来抽象事件的,在这里我们将讨论怎么去操纵event,比如说listening,posting,forwarding Event Listening有两种方式可以监听事件:Event Hanler and Event Listener。 Listen by use of an Event Handler我们可以在zk page中将handler指定为一个属性或者...

2011-04-09 15:35:47 177

zk框架之Macro Component

Define Macro Component任意的ZUML page 都可以作为一个macro component我们在web-inf下新建macro,并新建一个username.zul<?page title="new page title" contentType="text/html;charset=UTF-8"?><zk> <hlay...

2011-04-09 14:05:07 96

zk框架之Richlet

richlet是一段java小程序,它可以形成UI,也可以为用户的请求服务。当用户的url请求到来时,zk会根据web.xml中的url-pattern来检查这是要请求一个zul或者是richlet。当用户的请求是一个zul的时候,就和我们前面所讲的一样。如果用户的请求是一个richlet,那么zk loader 会将处理任务交给richlet,这时,ui的形成就全部由richlet决定。...

2011-04-09 13:36:33 159

zk框架之On-demand Evaluation

默认情况下,zk都是根据我们在zuml文档中的定义来构造组件,然而,我们也可以根据需要来加载需要的组件。比如说,我们可以将一个zuml文档分割成几块,然后根据需要来加载指定的模块。这种功能提高了服务器端和客户端的性能,为了实现这个功能,zk提供了一个基本的evaluation,叫做fulfill来简化这个功能的实现。 Load-on-Demand with the fulfill attr...

2011-04-08 14:32:53 112

框架之Iterative Evaluation

默认的情况下,zk会将每一个元素实例化,如果你想生成组件的集合,那么就要使用foreach <?page title="new page title" contentType="text/html;charset=UTF-8"?><zk><window title="new page title" border="normal">

2011-04-08 13:30:27 103

zk框架之Condition Evaluation

If and Unless我们可以通过if和Unless来控制widget的显示与否<button if="${param.readOnly=='true' }"></button><button unless="${param.readOnly=='true' }"></button> Switch and Case...

2011-04-08 11:27:06 121

zk框架之Scripts in ZUML

ZUML允许在页面中嵌入script脚本,有两种类型的脚本:server端的和client端的,我们先讨论服务器端的脚本。 在ZK提供的文档里,说明了server-side的脚本有两种嵌入方式:the zscript element、the event handler。前者当页面加载完成后执行,后者是在事件触发时执行。 我们可以想见,在ZUML page中嵌入脚本对于应用程序执行是...

2011-04-08 11:04:47 275

zk框架之Connecting to Java World

一、EL表达式在页面上被访问到时会被当做server,因此它可以访问下面的:1、Components by using its id2、variables defined in zscript3、隐含对象 <window title="EL"> <textbox id="tb" value="${self.parent.title}"/> ${t...

2011-04-07 19:20:15 92

zk框架之XML

一、A XML Element Represents a Component每个XML元素都代表一个component,除了特殊的<zk><attribute>,因此,下面的ZUML将创建三个component<window> <textbox/> <button/></window> 在上面的ZU...

2011-04-07 18:21:10 175

zk框架之ZUML

ZUML是zk user interface markup language的缩写,它是基于xml的,也正因为它是基于xml的,所以有些标点符号必须用符号代替。使用<![CDATA[]]>可以将代码执行,而不是已文本的形式显示。<zscript> <![CDATA[ void myFunc(int a){ alert(a); }]]&gt...

2011-04-07 17:00:30 316

zk框架之ID Space

我个人理解,ID Space就是为了解决页面中id的管理问题,如果在一个页面中有很多component,我们如果为每一个component都添加唯一的一个id,那么对于开发人员来说无疑是冗杂而繁琐的,所以zk给我们的解决方案是可以把一个页面分成若干个,然后分别维护各自的id space,这样就不必担心有过多的id,也不会担心出现冲突。 tree of ID Space:window 、pa...

2011-04-07 16:29:52 283

zk框架之desktop、page、component

page是component的集合,只有添加到page中的component对于client才是可用的,显然如果把他们从page中移除之后,他们就是不可见的。desktop是page的集合,比如说我们创建了一个index.zul页面,在这个页面,包含了两个zul,分别是booklist.zul和cart.zul,当用户点击某个按钮发送请求的时候,desktop就发挥作用了,它相当于一个独立的r...

2011-04-07 14:56:24 170

zk框架之UI Composing

我们知道zk框架是基于组件的,每个UI对象都对应的一个component,所以,对UI的装配实际上就是修改component的状态和他们之间的关系。对于UI的修改,zk提供了两种方式:xml-based approach 和 pure-java approach我们可以对比下面两种方式:一、xml-based approach: <window title="hello ...

2011-04-07 14:43:35 112

zk处理流程

现在我们总结一下zk框架的处理流程,包括:加载页面的处理流、对于ajax请求的处理流 加载页面的处理流大概分下面的几个步骤:1、用户发送url请求,如果这个url和zk中我们定义的url相吻合,那么zk加载器就会引用这个请求。2、zk加载器负责加载指定的页面,并在服务器端将这些页面转化成java可操控的component。3、当加载完页面后,zk加载器会将结果以html的形式发...

2011-04-07 13:49:05 165

zk框架的component和widget

zk里面的每个对象都是由两部分组成的:component和widget。component是一个java对象,它运行在server端,是一个指向ui对象的引用,它拥有ui对象的属性只不过是抽象的,是看不见的。而widget是一个js对象,运行在client端,它指向的是和用户交互的ui对象,因此是可以看得见得。component和widget的关系是一对一的,然而,当componenti没...

2011-04-07 13:26:15 308

原创 初识zk框架

         ZK是一套以 AJAX/XUL/Java 为基础的网页应用程序开发框架,用于丰富网页应用程序的使用界面。最大的好处是,在设计AJAX网络应用程序时,轻松简便的操作就像设计桌面程序一样。 ZK包含了一个以AJAX为基础、事件驱动(event-driven)、高互动性的引擎,同时还提供了丰富多样、可重复使用的XUL与HTML组件,以及以 XML 为基础的使用介面设计语言 ZK Use...

2011-04-07 12:21:30 124

java面试题集

java面试题集整理,覆盖经常被问到的面试问题,适合于求职。

2013-04-24

2001年-考研日历

这是我在网上下载的考研日历 呵呵 个人觉得不错 就拿出来分享 激励大家考上心仪的学校

2009-06-26

数据结构复习重点归纳

数据结构复习重点归纳,很实用的,考研复习的好帮手

2009-05-29

2009考研计算机大纲

包括操作系统,组成原理,计算机网络,数据结构

2009-05-29

操作系统考研复习课件

本课件为计算机考研操作系统复习课件 内含课件以及word文档的资料

2009-05-01

计算机考研操作系统制定教材-汤子瀛版 课件

计算机考研指定教材 西安电子科技大学汤子瀛版操作系统电子教案

2009-05-01

空空如也

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

TA关注的人

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