- 博客(124)
- 资源 (2)
- 收藏
- 关注
原创 java反射机制剖析(二)— Class Loader
上一篇博客简要的提了一下java反射机制中涉及到的一些相关知识,那么ClassLoader就是其中之一。本篇博客就详细的对ClassLoader做一个相对深入的了解。作为了解需要知道的是,其实类类型(Class Class)是和ClassLoader分不开的,因为ClassLoader需要的信息是由它提供的。类类型将在下一篇博客介绍。简介 ClassLoader是负责加载类的对象
2014-08-31 18:34:06
4441
14
原创 java反射机制剖析(一)—简介
由之前动态代理的学习再次接触到反射这个知识点,第二次接触了所以做了一些稍微深入的了解。那么,对于反射这部分的内容我打算分三篇博客来总结。本篇博客先对反射做一个大概的了解,包括反射有关的RTTI、定义的理解以及涉及到的其他知识的简介。回顾 java之前我接触反射这个知识,是在大话设计中的抽象工厂模式里,通过反射+配置文件来优化抽象工厂提高其应对需求变更的灵活性。当时对于反射的认知仅
2014-08-27 15:18:28
2029
14
原创 代理模式深入(二)——动态代理实现机制
上篇博客由于长度的原因,只是用代码展示了静态代理到动态代理的“进化”。那么本篇博客就动态代理的实现原理做一个介绍,从而有一个更深入的理解。当然,这也已经渐渐的脱离的代理模式的内容,因为学习是一个管中窥豹的过程,了解的越深入才能了解事务的本质。 问题重现 动态代理呢解决了静态代理的两个在一定条件下不适应的问题:其一,因为代理类中需要持有一个实际类而导致的代理类和实际类的耦合度
2014-08-18 20:07:37
1756
12
原创 代理模式深入(一)——静态到动态
故事 周末放假,小孙睡到12点才告别周公醒来,顿时饥肠辘辘。舍长小王正准备去食堂买饭,作为一个好舍长小王主动要帮小孙带饭。小孙点了米饭、宫保鸡丁、芬达。小孙起床洗漱,然后静待舍长。小孙心理寻思道舍长果然是好舍长啊。下面我们先把这个故事抽象一下,画作类图。这个类图即代理模式。代理模式 定义:为其他对象提供一种代理以控制对这个对象的访问。怎么理解这句话呢?从生活的角度来说
2014-08-13 08:42:25
1879
16
原创 详解XML解析(二)—DOM4J
上篇博客简单介绍了XML的三种接口,也是为学习DOM4J这个解析工具做的准备。一般的解析器基本都实现了DOM和SAX这两套接口,DOM4J自然也不例外。。DOM4J只是常用解析器的其中一种,不过既然是实现的接口。而接口作为一种相对稳定的存在,也就是说其他的解析器本质上也就和DOM4J没有差别。简介DOM4J是dom4j.org出品的一个开源XML解析包。Dom4j是一个易用的、开源的库
2014-07-31 20:03:37
1355
11
原创 详解XML解析(一)—解析接口浅析
在DRP项目中接触到了一个XML解析工具DOM4J,它作为解析工具的据说性能非常优秀。但是刚刚接触解析工具不久,并且也没有使用过其他的解析工具,因此对于DOM4J的性能没有直接的感受(没有参照物)。不过,本篇博客先暂时不直接讲DOM4J。之前说过,对于工具特别是优秀的工具,我们要学习的不只是使用而已,而需要更深层次的学习。好了,开始吧,首先我们要先了解一下解析器。解析器 解
2014-07-30 21:37:37
3939
9
原创 数据库连接技术之OLE DB
之前的博客介绍了ODBC和JDBC,这次简单的介绍一下OLE DB。ODBC的总结不知道是没贴到博客上还是不在这个博客上,我再找找,没有的话我再补充到时候。好了,开始吧。回顾 之前呢介绍过了ODBC和JDBC基本的结构是一样的,也就是本质一致。都是是访问数据库的一套统一的接口,是一系列的规范和对数据库访问的API。区别只是在于ODBC是由C++语言实现的而JDBC是有Java实现
2014-07-25 21:38:52
5687
8
原创 Java Web开发基础(3)-JSTL
在DRP项目中接触到了JSTL标签库,对我这种比较懒的人来说,第一感觉就是“惊艳”。JSTL标签库的使用,可以消除大量复杂、繁复的工作。工作量减少的不是一点半点,是减少了一大半。任何工具的引入,都会使我们的工作变的简单,但是问题是我们工作可以变的简单,但是我们不能让自己的大脑变的简单。所以,我们不是简单的会用就可以,我们还需要了解这个工具是如何工作的,如何为我们提供便利的。ok,下面进入正题,我们
2014-07-21 21:37:49
1849
10
原创 Java Web开发基础(2)-JSP
上一篇博我粗略的介绍了一下Servlet,粗略是因为博主也刚刚学习这部分的内容,还不是很懂所以无法讲的很精细。但是本着二八原则,我还是先继续学习。所以,这篇博客接着JSP的内容。因为,这两个内容关联性还是比较强的,学习的过程也应该是互相促进的。简介 概述:JSP(Java Server Page)简单的说是一种动态网页技术,它通过在HTML网页中嵌入能够生成动态内容的程序代码,来
2014-06-28 17:49:31
1469
17
原创 Java Web开发基础(1)-Servlet
概述 Servlet技术是对web服务器的扩展,要理解这个,可能先了解一下什么是Web服务器以及它的功能,特别是它的不足是很有帮助的,可参考:点击打开链接。另外,Servlet也是一个用java语言的Servlet API编写的特殊的java类,它运行在Servlet容器中。它的功能是分析请求,处理请求,构造响应消息,它本来就处于web服务的线上这也很容易理解。概念上就这么多了。
2014-06-24 23:11:15
1581
16
原创 数据库访问技术之JDBC
在了解JDBC之前呢,我们可以先对ODBC做一个回顾,以便于更好的理解JDBC。看名字也知道这两个关系不一般,他们实现了同样的功能,为应用程序连接和操作数据库提供支持。所以,我们先从ODBC开始。ODBCODBC(Open Database Connectivity)是开放数据库互连的简称,是一种使用SQL的应用程序接口。它是一系列的规范和对数据库访问的API。那么API+SQL就可以
2014-06-18 17:48:04
2442
10
原创 Ajax总结——中度解析
简介 Ajax(Asynchronous JavaScript And XML)是一种技术,准确一点的说它是融合了过去已经有的技术的一种技术(优点绕),即它需要XML和JavaScript来配合,从而实现浏览器与服务器无需刷新页面的通信。其核心是XMLHttpRequest对象。我们先从它的功能上有个印象就好,即它是干什么用的,接着再对它进行分析。原理 异步和同步的理解
2014-06-09 13:37:07
1323
12
原创 JQUERY总结
什么是Jquery框架 所谓框架,就是指一套包含工具、函数库、约定、以及尝试从常用任务中抽象出可以复用的通用模块,其目的使开发人员和设计师把重点放在特有的业务逻辑上,避免重复开发。Jquery就是这样一个东西,因此被称作Jquery框架。避免重复开发,也就是Jquery开发人员的初衷“写的更少做的更多”。但是Jquery不是一门独立的语言,它是基于javascript的封装。它具有以下特
2014-05-31 16:39:28
1578
21
原创 UML回顾-通信图
我们对软件工程这一大块的学习其实开始的还是挺早的,并且在后来的学习过程中也不断的涉及到了这些知识。但是,经过软考的检验来看我对软工这一块的内容掌握的实在是惨不忍睹,基本上就是一出手就错一出手就错。而UML图则是是软工中比较重要的内容了,在下午题遇到通信图时基本的状态就是不知其所云,不知所措。所以说,软工这一块的内容的学习都是有问题的。因为载在了通信图上,本篇博客就先对通信图做一个简单的回顾。通
2014-05-28 17:50:03
17617
23
原创 数据表示
所谓的数据表示指的是:数据在计算机内部的表示形式,即能够被计算机硬件直接识别可以直接被指令系统调用的数据。分为数值数据和非数值数据两大类。本篇博客主要讲一下数值数据的表示。那么数值型的数据又分为无符号数和有符号数。无符号数 无符号数在表示时将所有的二进制位都用来表示数值。无符号数与真值的正数形式相同。这里提一下真值的概念,即带+、-号的实际值,例如+3、-5。这里看个实例吧:十进
2014-05-11 21:42:47
2801
18
原创 数据结构-栈和队列
在逻辑结构上栈和队列还是线性表。但是这俩和线性表的区别在于它们基本运算是线性表基本运算的子集,即有些线性表的基本操作栈和队列是没有的。也就是我们说的栈和队列是运算受限的线性表。在计算机中函数的调用、程序的递归处理,括号匹配等用到的是栈。而打印服务等则用队列来实现。定义 栈(stack):是插入和删除运算限定在某一端的线性表,允许插入删除操作的端为栈顶(top),另一端为栈底(b
2014-04-30 22:49:16
1281
10
原创 数据结构-串
定义 串是字符串的简称,是一种限定数据元素为字符的线性表。所以可以定义为串是一个有穷字符序列。区别 串作为一种特殊的线性表,它和一般的线性表的差别主要是在操作上。线性表的操作对象都是线性表中的单个数据元素,或查找或插入或删除。而串的这些操作的对象可以是单个数据元素也可以是连续的多个元素组成的子串。这里看下图:存储结构 既然做为一种特
2014-04-29 20:11:28
1773
15
原创 数据结构之平衡二叉树
平衡二叉树产生的原因 平衡二叉树源于二叉排序树,由二叉排序树的查找算法可知在数据的分布越分散或者说越均匀时,其算法的查找效率(时间复杂度)越好。这里可能不太好理解所谓的二叉排序树的分布情况,请看下图:图一中的二叉排序树的右字数都为空,则此形态下的查找算法的时间复杂度和线性表一致。而图二中的二叉排序树在形态上分布是均匀的则其查找算法的时间复杂度就要由于图一。为了保证二叉排序树不出
2014-04-12 15:06:57
1700
19
原创 XML基础
简介 XML是可扩展的标记性语言。就这句话的定义,通常我们需要了解的内容包括:什么是可扩展?什么是标记语言?我查了些资料。从下的定义来说不是特别的好接受,对于初学者来说。因此,这里我决定从XML的作用这个角度去认识。那么XML的主要作用: 1.分离HTML中的数据 如果你需要在 HTML文档中显示动态数据,那么每当数据改变时将花费大量的时间来编辑 HTML。因
2014-03-29 22:01:55
1383
23
原创 PB9.0控件之Graph
pb在数据交互方面有着得天独厚的优势。对于数据的显示和处理简单、直观、易于理解。PowerBuilder会用到GRAPH作为一种输出工具,直观地显示用户想要看到的数据及数据间的关系。易于对数据进行分析,可以到达Excel图标的功能,但是简单的多。下面就这次毕业论文中使用的实际例子,看看Graph的使用方法和优势。 这里,实现了不同输入条件产生不同的报表。在界面中放置一个Graph控件,界
2014-03-25 21:05:50
6877
18
原创 PB9.0动态生成控件
在做毕业设计的时候,遇到了用复选框来显示数据库中的信息,但是数量不能确定。因此,需要减低程序显示时和数据库的耦合度,让程序自己可以根据数据库的记录的信息数量变化自动适应。基于该需求用到了动态生成控件。还是和之前一样,知识内容都是一样的,只是在使用的细节上的区别。需求 根据数据窗口中符合要求的数据库记录数和内容动态的创建复选框控件,放置于Tab control控件上。这样就可以很灵活的
2014-02-28 14:07:25
7042
23
原创 PowerBuilder9.0 使用动态sql语句(上)
前情提要 我们在学习vb.net的时候学习了参数化查询,也都知道这是防止SQL注入比较有效的手段。当然,参数查询还提高了代码的灵活性和复用性。其实现,是在SQL语句的动作一样时将查询的值独立出来作为参数,而SQL语句的基本内容作为框架,然后组合成完整的SQL语句。即,将SQL语句分成两部分解耦了。那么之所以,提以上内容是因为动态SQL和它一样,但是尚不清楚其是否有防止注入的作用,因为我不
2014-02-23 15:07:47
6606
18
原创 PB9.0和.INI文件
Vb.net和C#开发时我们学习过用配置文件来保存数据库连接的属性,这样可以方便我们更换移植数据库,提高软件的生存能力。那么Pb9.0也有类似的机制来实现,即.ini文件。什么是.ini文件? .ini文件是InitializationFile的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式。ini文件有节、键、值构成。其中节是区分标志,因为一般初始化文件需被
2014-02-13 21:23:45
7608
25
原创 ASP.Net知己知彼之验证控件
还是之前说的问题,因为Web程序每次提交都需要到服务器去晃荡一圈,重新编译了才重新呈现给用户。比如,限制输入用户不能为空值,或者检查两次输入秘密是否一致等,其实是无关服务器的事的。但是,还是要到服务器去溜一圈再回来就很多余,就好比两个人面对面还打电话一样,明明可以听见还得上天去卫星那溜一圈去。那么,验证控件就是为了避免这种多余的情况出现,不去服务器了在浏览器这就把这事做了。当然它不仅仅解决了这一种
2014-01-22 20:22:40
1540
19
原创 ASP.NET知己知彼之基础知识(下)
上篇博客大概的讲了ASP.NET的页面访问原理,以及回发页面和控件执行顺序等知识。因为,都只是文字的描述可能理解体会没有那么清晰。所以,这篇博客打算用一个例子来说明一下。回顾 上篇博客讲过了,web程序的执行过程需要将客户端的表单提交到服务器执行,然后在生成html页面发送回客户端。这也就照成了,每次提交表单后都会执行一次Pageload事件,同时那些输入控件比如textbox、Dr
2014-01-14 22:53:13
1382
20
原创 ASP.NET知己知彼之基础知识(上)
我们常说,要打败一个敌人要先去了解它,古人亦云:知己知彼,百战不殆。那么在进入ASP.NET具体学习之前,先了解WEB程序的运行原理是非常有必要的。这有助于理解很多看似很奇怪的现象,更有利于我们运用代码做我们想做的事。在牛腩新闻系统的时候,我就因为不了解页面的生命周期而吃过暗亏,那么下面我们就进入主题。一、运行模式图 如图所示对于浏览器的每次请求,IIS服务器都要到硬盘
2014-01-02 01:39:19
2093
14
原创 Cookie的初步了解
今年年初有很多关于Cookie安全性的新闻,新闻披露了美国等国的一些机构通过Cookie监视、获取用户隐私等一些非正当的行为。然后之前在写博客《VB.net web开发中的session》时查到session和Cookie是Web开发中很基础的内容。因此,也就查了一些相关的资料来了解Cookie机制。那么这篇博客就对所查到的资料做一个总结。无状态Http协议首先我们需要了解一下无状态的Ht
2013-12-18 21:38:11
1639
32
原创 状态模式 VS 职责链模式
这次合作开发过程中我们使用了一些设计模式,经过讨论对其理解深刻不少。之前在学习之中,我本以为自己已经理解了一些设计模式。但在这次的使用过程中,因为各自的理解不一造成了一定的碰撞,之后才发现自己的理解根本就站不住脚。于是,反复经过我们的讨论——实施——再讨论,发现理解的偏差,解决之。然后,才有了目前我们认为的比较稳定的,符合逻辑的理解。本篇博客要说的是我对状态模式和职责链模式的理解。这两个设计模式看
2013-12-05 11:09:48
3957
36
原创 用Hashtable替代select case
这次机房合作版已经是第三次做机房收费系统了。虽然东西一样,但是我们每次所应用的东西不一样,所以每次也都是一次新的学习。在此过程中,也会发现一些可以改进的东西。那么这一次来说说在组合查询中HashTable的妙用。问题描述 组合查询中,每一个查询条件需要从下拉框里选择字段名、操作符。这里我们显示给用户的字段名是中文的,但是我们去数据库查询时却需要英文字段名。因此,我们需要将字段
2013-11-28 00:49:13
2821
45
原创 DLL文件实现窗体的模板模式
机房合作版中第一次使用了模板方法,实现了类似窗体的界面和代码的复用。。窗体继承有两种方法,一种是通过继承选择器从已编译的程序集合里选择,另一种则是通过DLL文件的方式继承。个人觉得DLL还是比较方便的,也更符合解耦合的要求。假设模板有一点变更的话,只要改了从新编译就好了,好吧谁用谁知道。那么,这里就看看如何使用DLL来 第一步,编写DLL文件,封装父窗体 打开vs2010,新
2013-11-13 23:54:46
2485
24
原创 css的定位机制
牛腩新闻发不系统中遇到了CSS(Cascading style sheets),第一次接触,比较陌生还!因为CSS很多关于元素定位的问题,并且很多情况下元素的位置以像素精度计。一个不小心就很头疼,为此还是很有必要了解一下元素的定位机制。那么在介绍定位机制之前呢,还是有必要先了解一些和位置有关的基本内容。 第一个需要了解的是盒子模型,在网页中所有的元素都是以盒子模型的方式存在的,即所
2013-09-26 16:19:41
3044
9
原创 机房收费系统.NET个人重构总结
机房收费系统结束有一周多了,就这一次vb.net的重构版做一个回顾。主要来说经过这次重构的收获有:对vb.net的这门语言有了一定的了解;对SQL Server中的对象做了一次复习和实践;最主要的是对面对对象和三层架构有了一些实战上的模糊认识;另外设计模式(这个太菜了)。就这么多! vb.net语言: 1.和vb 6.0的对比 一开始,感觉vb
2013-09-19 15:23:41
1884
17
原创 SQL视图和多表连接
本篇博客关注的焦点是视图的使用以及视图和多表连接的配合。以便可以了解视图,以及更好的使用视图。 首先,还是要说明一下视图的定义:视图是基于SQL语句的结果集的可视化虚拟表,换句话说视图就是SQL查询结果的可视化呈现,是多个表的部分数据的关系虚拟表。为了后面的内容更容易理解,我们还要看一下视图的建立过程。如图所示是机房收费系统中的《User_sys》和《CheckInfo_sys》建
2013-08-30 20:56:30
36381
13
原创 VB.net 连接池
上篇博客介绍了临时表的使用,以及它的生命周期和连接池的关系。那么为了能更好的把握临时表的产生和消亡,本篇博客就介绍Vb.net连接池。在打开和关闭数据库连接时的耗费的资源是非常高的。那么在程序需要频繁的操作数据库时就将影响程序的性能。那么为了提高资源的利用率,以及程序的性能VB.NET中就使用了一种连接数据库的机制,即连接池。先看一张图: 大家从图中可以看出,连接池
2013-08-22 11:35:55
3273
11
原创 vb.net中存储过程的使用
在机房收费系统过程中,试着使用了存储过程,离之前数据库的学习已经有些日子了。之前对于存储过程的了解也是听过而已,非常不清楚。因此,写这篇博客! 专业概念:存储过程是一个SQL语句和控制结构的集合,创建于数据库。简单的说,就是一组固定操作的SQL语句集合,类似于编程语言当中的函数或过程,可以通过名称直接调用。可以通过T-SQL语句和企业管理器创建。T-SQL语法如下:CREATE
2013-07-29 20:27:40
4105
15
原创 ADO.NET对SQL Server编程
本篇博客在与介绍ADO.NET中的一些类,由于不太熟悉编写代码时很不痛快。因此,做个总结! OleDbConnection类:提供数据源链接参数描述Provider指定使用的oledb提供者Data Source指定数据库服务器名称或Initial Catalog指定使用的数据库名称User ID指
2013-07-25 00:20:14
2000
13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人