自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(120)
  • 收藏
  • 关注

VB.NET总结一

VB.NET是在VB的基础上升级的版本,增强了面向对象的支持,VB.NET是在.NET Framework上的面向对象的中间解释性语言,VB是基于对象的面向过程的开发语言,而VB.NET是完全面向对象的开发语言,这几天看视频的过程当中,看的过程中明白,看完就记不起来了,有些不适应的缘故,多多少少感觉到VB.NET的好不是不少啊,这个体验好处的过程还需慢慢的深入的理解与体会。 VB.NET视...

2012-12-31 21:21:00 175

现实世界是个图象界面系统

我们用的很多软件系统都是图形界面的,而且都是二维的.那五颜六色,丰富多彩的现实世界呈现给我们的是三维的,立体的图象界面.实际上我们也可以把我们的现实世界当作一台超级电脑.操作界面就是三维图象.当然了只能是类似,不可能完全跟我们用的电脑概念一样的.晶体管与基本粒子首先电脑上的主要零件是晶体管(CPU,内存都用的它),晶体管比较简单,组合来组合去不过一串串的0101吧了,而现实世界的主...

2012-12-31 20:10:00 98

MFC的Main函数跑哪去了

习惯的思维用习惯了C的人要看一个程序时首先会想到找到那个main函数在哪,然后再顺着往下看.因为main函数作为程序的入口点,整个程序都是从那开始执行的.当在C++中SDK(win32 API project)开发时也继承沿用C的思维,是有个main函数,不过现在的main函数改名字了,叫WinMain,当然有时还有变体,比如叫_tWinMain,反正名字中总会带个Main,让我们一看就知道....

2012-12-31 18:13:00 1151

回顾2012,展望2013

写在前面 在CSDN、QQ空间看了很多总结,人生沉浮,每个人都有自己的生活,或喜怒,或哀乐。我们都只是平凡人,过着平凡的生活,一天一天,不断重复。 想了想标题,也想不到什么好的。人只有在不断地反省和总结中才能进步,回顾过去,展望未来,姑且取作《回顾2012,展望2013》。早在大二下期结束,就写了一篇文章:《大二结束了,是不是该说点什么》,杂七杂八,说了一通。2012马...

2012-12-31 16:58:00 150

Java基础学习笔记之八--IO流(1)

***java 流式 输入/输出 在Java程序中,对于数据的输入/输出提供了流的方式。jdk中定义了各种各样的流,用来获取不同类型的数据。***流的分类 1.按照数据的方向可以分为输入流和输出流 2.按照处理数据的单位,分为字节流和字符流 3.按照功能的不同,是否直接操作数据,可以分为节点流和处理流(包装流)***分类一(数据的方向) 输入流:InputStrea...

2012-12-31 10:38:00 71

UML之活动图

UML之活动图 活动是指某件事情正在进行的状态。它既可以是现实生活中正在进行的某一项工作(看小说、维修机器等)也可以是软件系统中正在运行的某个类对象的一个操作。活动具体表现为由一系列动作组成的执行过程。将各种活动以及不同活动之间的转换用图形进行表示,就构成了活动图。活动图与流程图 活动图描述了活动的顺序,展现从一个活动到另一个活动的控制流。活动图在本质上是一种流程图。但与流程...

2012-12-30 23:29:00 114

Wikipedia’s 10 most-visited pages in 2012

Wikipedia dominates Google search results. That’s something any amateur googler knows after a few searches for anything mildly popular—from, say, the word “Google” itself to Facebook toFifty Shades ...

2012-12-30 10:17:00 186

Java_TCPIP_Socket编程(doc)下载

Java_TCPIP_Socket编程(doc)第 1 章 简介 31.1 计算机网络,分组报文和协议31.2 关于地址61.3 关于名字81.4 客户端和服务器81.5 什么是套接字.91.6 练习10第 2 章 基本套接字 102.1 套接字地址102.2 TCP套接字.172.2.1 TCP客户端.172.2.2 TCP服务器端..222....

2012-12-30 09:38:00 175

NIO:数据报(UDP)信道

数据报(UDP)信道Java的NIO包通过DatagramChannel类实现了数据报(UDP)信道。与我们之前看到的其他形式的SelectableChannel一样,DatagramChannel在DatagramSocket上添加了选择和非阻塞行为,以及基于缓冲区的I/O操作能力。DatagramChannel:创建,连接和关闭static DatagramChanne...

2012-12-30 09:08:00 182

NIO:Selector 详解

示例程序TCPEchoServerSelector中展示了Selector的基本用法。在此,我们将对其进行更加详细的介绍。Selector:创建和关闭static Selector open()boolean isOpen()void close()调用Selector的open()工厂方法可以创建一个选择器实例。选择器的状态是"打开"或"关闭"的。创建时选择器的状态是打开...

2012-12-30 09:06:00 147

Oracle培训(四十一)——Servlet第一章知识点总结——Servlet 基础

Oracle培训(四十一)——Servlet第一章知识点总结——Servlet 基础Java Web控制器Servlet程序设计1. WEB应用程序a) 概念: i. WEB应用程序是在Internet(国际互联网)之上的一种应用程序 ii. 通常是B/S(浏览器端/服务器端)形式的程序b) 优势: i. 用户不需要更新应用程序 ii. ...

2012-12-29 21:12:00 160

C++与C#对比:强制类型转换

强类型与弱类型语言像C++,C,Java,C#这些主流的编程语言都是强类型语言.而一些脚本语言则是弱类型的,比如vbscript , javascript.1.型语言简单的理解就是当定义了一个变量之后就会指定一个固定的类型,并对应一个固定的内存块大小.比如有int , double ,long这一个个的类型.并且一旦一个变量被指定为某个类型后就不能被当成其他类型用.除非做转换在C++中...

2012-12-29 21:07:00 193

Oracle培训(四十一)——Servlet第一章知识点总结——Web工作原理

Oracle培训(四十一)——Servlet第一章知识点总结——Web工作原理知识点预览1.HTTP2.HTTP处理流程3. 服务器的缺陷4. 辅助应用程序之CGI(Common Gateway Interface)5.Servlet容器6.Servlet规范7.Servlet和web容器配合8.Java Web应用程序的组成1.HTTP 1...

2012-12-29 21:04:00 136

《那些年啊,那些事——一个程序员的奋斗史》十四(完结)

125 距离离职交接的一个月时间还剩几天,本来应该是平淡无事的,却没想到最后还是波澜四起。昨天下班前,公司突然停了电。这本是件普通得不能再普通的事情,可没想到过了一会来电了,或许是波峰电压太大,或许是稳压电源做工太糟糕,公司所配的笔记本一闪之后居然再也起不来了!段伏枥想尽办法折腾了一番,最后还是无果:笔记本烧掉了! 烧掉了,还能有啥办法,拿去修呗。不过这笔记本有点特殊,是武总向严董申请资金...

2012-12-29 09:25:00 1072

NIO:流(TCP)信道详解

流信道有两个变体:SocketChannel和ServerSocketChannel。像其对应的Socket一样,SocketChannel是相互连接的终端进行通信的信道。SocketChannel:创建,连接和关闭static SocketChannel open(SocketAddress remote)static SocketChannel open()boolean ...

2012-12-29 09:09:00 1048

NIO:Buffer 详解

如你所见,在NIO中,数据的读写操作始终是与缓冲区相关联的。Channel将数据读入缓冲区,然后我们又从缓冲区访问数据。写数据时,首先将要发送的数据按顺序填入缓冲区。基本上,缓冲区只是一个列表,它的所有元素都是基本数据类型(通常为字节型)。缓冲区是定长的,它不像一些类那样可以扩展容量(例如,List,StringBuffer等)。注意,ByteBuffer是最常用的缓冲区,因为:1)它提供了读...

2012-12-29 09:06:00 139

NIO:Selector 类用法

如本章第1节中提到的,Selector类可用于避免使用非阻塞式客户端中很浪费资源的"忙等"方法。例如,考虑一个即时消息服务器。可能有上千个客户端同时连接到了服务器,但在任何时刻都只有非常少量的(甚至可能没有)消息需要读取和分发。这就需要一种方法阻塞等待,直到至少有一个信道可以进行I/O操作,并指出是哪个信道。NIO的选择器就实现了这样的功能。一个Selector实例可以同时检查(如果需要,也可...

2012-12-29 08:55:00 154

NIO:与 Buffer 一起使用 Channel

如前文所述,Channel实例代表了一个与设备的连接,通过它可以进行输入输出操作。实际上Channel的基本思想与我们见过的普通套接字非常相似。对于TCP协议,可以使用ServerSocketChannel和SocketChannel。还有一些针对其他设备的其他类型信道(如,FileChannel),尽管我们在后文中不会再提及,这里介绍的大部分内容对于它们同样适用。信道(channel)和套接...

2012-12-29 08:52:00 101

NIO:为什么需要 NIO?

基本的Java套接字对于小规模系统可以很好地运行,但当涉及到要同时处理上千个客户端的服务器时,可能就会产生一些问题。其实在第4章已经可以看到一些迹象:由于创建、维护和切换线程需要的系统开销,一客户一线程方式在系统扩展性方面受到了限制。使用线程池可以节省那种系统开销,同时允许实现者利用并行硬件的优势。但对于连接生存期比较长的协议来说,线程池的大小仍然限制了系统可以同时处理的客户端数量。考虑一个在...

2012-12-29 08:49:00 148

设计模式之七 命令模式(Command Pattern)

概述 客户端只是想要发出命令或者请求,不关心请求的真正接收者是谁,也不关心具体如何实现,而且同一个请求的动作可以有不同的请求内容,当然具体的处理功能也不一样,请问该怎么实现?下面我们来学习命令模式目的 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。结构图详细解析Command: 定义命令的接...

2012-12-28 15:17:00 102

MFC,QT与WinForm,WPF简介

编程语言的组成编程语言做为一种语言自然和英语这些自然语言有类似的地方.学英语时我们知道要先记26个字母,然后单词及其发音,接下来就是词组,句子.反正简单的说就是记单词,熟悉词法,句法.接下来就是应用了,听说读写.而使用相同语言的人大脑里都有个翻译器,可以把自己的想法翻译成语言然后用说或写表达出来,而听和读则把接收来的语言翻译成自己大脑能理解的思想.那编程语言首先也是像英语一样会制定一些单词...

2012-12-27 16:59:00 1379

设计模式之六 适配器模式(Adapter)

概述 为了满足在实际的项目中,由于应用环境的变化,而需要一些原本存在的对象会放到新的开发环境中,而此时新环境与该对象的接口是不能够直接相连,即互相不能认识、交换信息,为了满足这种“变化”,如何既能利用现有对象的良好的实现,同时又能满足新的环境所要求得接口,这时适配器模式再好不过了,下面我们来学习Adapter模式目的将一个类的接口转换成客户希望的另一个接口,Adapter模式使得原...

2012-12-26 19:13:00 106

设计模式之五 外观模式(Facade)

概述在软件开发系统中,客户程序会与很复杂系统的内部子系统之间产生耦合,而导致客户程序随着子系统的变化而变化,那么如何简化客户程序与子系统之间的交互接口?如何将复杂系统的内部子系统与客户程序之间的依赖解耦?这就需要我们的外观模式再好不过了。目的为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。结构图对应源码 clas...

2012-12-26 09:33:00 125

站长手记(2012.12.14号-2012.12.23号)

2012.12.14号 - 2012.12.23号站长手记------------------------------------------------------------------------因朋友提醒及个人爱好,再次燃起了站长之心。通过软件遍历了所有的soft相关的域名,最后注册了域名lsoft.cn,另外购买了php虚拟主机。2012.12.14号----...

2012-12-25 15:32:00 66

Developer Road: The List

This is a list of things I’m doing to become a developer. I hope it can be of use to someone, if not just a constant reminder to myself.1. Start a blogI wish I had done this sooner. If you’re in...

2012-12-25 14:50:00 92

多任务处理:关闭连接

关闭连接可能你从没有想过由谁来关闭一个连接。在电话交谈中,任何一方都可以发起结束交谈的过程。这通常是这样的:"好了,我得走了。""好的,再见。""再见。"另一方面,网络协议通常明确指定了由谁来发起"关闭"连接。在回显协议中,见图4.1(a),服务器原原本本地将客户端发送的一切数据回显回去。当客户端完成数据发送后,则调用close()方法。在服务器接收并回显了客户...

2012-12-25 14:39:00 110

多任务处理:控制默认行为

控制默认行为TCP/IP协议的开发者用了大量的时间来考虑协议的默认行为,以满足大部分应用程序的需要。(如果你对此表示怀疑,可以参考RFC1122和1123,它们根据多年的经验对TCP/IP协议的实现的推荐行为进行了详尽的描述。)对于大多数应用程序来说,这些设计都非常适合,然而,"满足所有需求的一种尺寸"能够真正适用于所有场合的情况非常少。前面我们已经看到UDP回显客户端的例子。默认情况下,...

2012-12-25 14:33:00 78

多任务处理:多接收者(广播和多播)

多接收者到目前为止,我们的套接字都处理的是两个实体之间的通信,通常是一个服务器和一个客户端。这种一对一的通信方法有时称为单播(unicast)。而对于某些信息,多个接收者都可能对其感兴趣。对于这种情况,我们可以向每个接收者单播一个数据副本,但是这样做效率可能非常低。由于将同样的数据发送了多次,在一个网络连接上单播同一数据的多个副本非常浪费带宽。实际上,如果我们想要以固定频率发送数据,网络连...

2012-12-25 14:29:00 675

设计模式之四 观察者模式(Observer Pattern)

概述 观察者模式定义一种一对多的依赖关系,让多个观察者对象同时监听某一个主题,这个主题对象在状态变化时,会通知所有的观察者对象,使它们能够自动更新自己。结构图对应的代码 class Program { static void Main(string[] args) { ConcreteSubj...

2012-12-25 09:46:00 93

UML之用例图

UML之用例图 UML(统一建模语言,Unified Modeling Language)是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。它融入了软件工程领域的思想、方法和技术。它的作用域不限于支 持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。在系统分析阶段,我们一般用UML来画很多图,主要包括用例图、状态图、类图、活动 图、序列图、协作图、构建图、配置图等等...

2012-12-24 19:42:00 96

Apache软件基金会项目介绍

HTTP Server: 可以在UNIX,MS-Windows,Macintosh和Netware操作系统下运行的HTTP服务器的项目Ant: 基于Java语言的构建工具,类似于C语言的Make工具。AXIS2:Web服务(SOAP, WSDL)的处理器,基于AXIS1.X重新构建。APR:(也就是:Apache Portable Runtime)C语言实现的便携运行库的管理工具。...

2012-12-24 11:05:00 480

设计模式之三 原型模式(Prototype)

概要 原型模式的主要思想是基于现有的对象克隆一个新的对象出来,一般是有对象的内部提供克隆的方法,通过该方法返回一个对象的副本,这种创建对象的方式,相比我们之前说的几类创建型模式还是有区别的,之前的讲述的工厂模式与抽象工厂都是通过工厂封装具体的new操作的过程,返回一个新的对象,有的时候我们通过这样的创建工厂创建对象是不值得的。目的 使用原型实例指定创建对象的种类,并且通过拷贝这些原型创...

2012-12-24 10:55:00 115

Struts2源码阅读(1)_整体流程分析

***struts2 流程分析1.启动时,ConfigurationProvider用来加载配置文件,子类StrutsXmlConfigurationProvider 加载struts.xml文件2.系统正常运行,用户发出HttpRequest请求,FilterDispatcher拦截请求,执行doFilter方法3.in the FilterDispatcher doFilter m...

2012-12-24 09:26:00 61

设计模式之二 抽象工厂模式(Abstract Factory)

概念提供了一个创建一系列相关或相关依赖对象的接口,而无需指定它们具体的类,也就是说我们经常学习到“一系列相关依赖的对象”的创建工作,但是由于需求的变化,往往存在着更多对象的创建工作,为的是如何不用在使用常规的对象的创建方法(new),提供一种“封装机制”来避免客户程序和这样“系列对象创建工作”的强耦合关系?降低客户端和创建工作的强耦合度,我们引入了抽象工厂模式目的提供了一个创建一系列相...

2012-12-23 16:58:00 96

设计模式之一 工厂方法模式(Factory Method)

概念: 工厂方法(Facotry Method)定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例延迟到其子类。结构图:注意点: (1)工厂方法克服了简单工厂违背开发-封闭原则的缺点,又保持了封装对象的创建过程的优点,集中封装了对象的创建,使得要更换对象时,不需要做大的改动就可实现,降低了客户程序与产品对象的耦合, (2):缺点是每增加...

2012-12-23 11:11:00 102

多任务处理:阻塞和超时

阻塞和超时Socket的I/O调用可能会因为多种原因而阻塞。数据输入方法read()和receive()在没有数据可读时会阻塞。TCP套接字的write()方法在没有足够的空间缓存传输的数据时可能阻塞。 ServerSocket 的accept()方法和Socket的构造函数都会阻塞等待,直到连接建立。同时,长的信息往返时间,高错误率的连接和慢速的(或已发生故障的)服务器,都可能导致需...

2012-12-23 09:49:00 247

多任务处理:管理调度Executor 接口

系统管理调度:Executor接口在上一节中我们已经看到,将客户服务器协议的细节封装起来(如EchoProtocol.java),就可以通过同一个协议实现来使用不同的"调度"方法(如,TCPEchoServerThread.java和TCPEchoServerThreadPool.java)。实际上,对于调度方法本身来说也是这样。Executor接口(java.util.concurren...

2012-12-23 09:47:00 221

多任务处理:线程池

线程池每个新线程都会消耗系统资源:创建一个线程将占用CPU周期,而且每个线程都自己的数据结构(如,栈)也要消耗系统内存。另外,当一个线程阻塞(block)时,JVM将保存其状态,选择另外一个线程运行,并在上下文转换(context switch)时恢复阻塞线程的状态。随着线程数的增加,线程将消耗越来越多的系统资源。这将最终导致系统花费更多的时间来处理上下文转换和线程管理,更少的时间来对...

2012-12-23 09:44:00 143

多任务处理:一客户一线程

一客户一线程在一客户一线程(thread-per-client)的服务器中,为每个连接都创建了一个新的线程来处理。服务器循环执行一些任务,在指定端口上侦听连接,反复接收客户端传入的连接请求,并为每个连接创建一个新的线程来对其进行处理。TCPEchoServerThread.java实现了这种一客户一线程的服务器结构。它与迭代服务器非常相似,也是用一个循环来接收和处理客户端的请求。主要不...

2012-12-23 09:42:00 579

多任务处理:服务器协议

服务器协议既然我们将要介绍的多任务服务器方法与特定的客户端-服务器协议相互独立,我们希望能够实现一个同时满足两者的协议。EchoProtocol中给出了回显协议的代码。这个类的静态方法handleEchoClient()中封装了对每个客户端的处理过程。除添加了写日志功能(马上会对其介绍)外,这段代码与TCPEchoServer.java中的连接处理部分几乎完全一致。该方法的参数是客户端So...

2012-12-23 09:41:00 83

空空如也

空空如也

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

TA关注的人

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