- 浏览: 54572 次
- 性别:
- 来自: 长沙
最新评论
-
huyuancai1010:
Eclipse中配置Struts2并实现HelloWorld -
zl544434558:
领教了。很久没用struts了,记得不是很清楚了
Eclipse中配置Struts2并实现HelloWorld -
Wuaner:
楼主 你这里的 reHash, 是个什么概念? HashMap ...
挂链式Hash表的实现 -
jadethao:
作者辛苦了。
关于P2P的简单总结 -
剑&箫:
oolala 写道也买了一本,可是看了二章坚持不下去了。
本人 ...
《TCP/IP详解,卷1:协议》读书笔记之概述总结
文章列表
这两天在摸索WindowsPhone应用程序的开发,实现了一个简单的画图板应用程序和一个简单的手机端与电脑端的通信应用程序。今晚先总结一下自己实现的画图板,画图板能够实现基本的画直线,矩形,三角形和圆形,废话少说,先上图,下面是实现的画图板的截图:
首先是在Visual Studio2010中新建一个WindowsPhone应用程序项目,按照以前Java实现画图板的思路,首先是在界面上显示几个按钮和一个面板。在WindowsPhone中组件的添加和android中是差不多,都是以类似于XML标签的形式添加的,然后可以设置各个标签的属性值。在我的程序中是添加四个按钮和一个面板,具体的代码( ...
刚刚把玩了Struts2,是第一次接触Struts2,就不做过多的解释了。下面介绍在Eclipse中配置Struts2的过程:
一、下载Struts2,因为Struts2是开源的,百度或者google一下就可以找到下载地址。我下载的是struts-2.3.1.2版本 的,解压之后入下图:
apps目录:Struts2的范例
docs目录:Struts2的文档
lib目录:Struts2的类库
src目录:关于Struts2的一些资源
二、现在是利用apps中的范例实现一个helloworld的action,在apps目录下有几个war文件,如下图:
这几个文件可以用WinRA ...
上一节课老师讲了java类的动态装载与反射,上课时听的稀里糊涂的,课后自己找了《深入java虚拟机》看了相关的内容,今晚就大概的总结一下吧,或者说是在写读书笔记。
平时在编写并运行java程序时,就体验到相关的java技术。首先是编译器把源程序编译成java class文件,然后在java虚拟机中运行class文件。要想深刻的理解java类的动态加载与反射,首先是要理解java虚拟机的体系结构。下面是java虚拟机的体系结构图:
从图中可以看出Java虚拟机运行一个程序时,首先是通过类装载器来装载class文件的,然后从已装载的class文件中得到类的相关信息 ...
前段时间看了点关于P2P技术的资料,现在简单的整理写进自己的博客,对于更深入的学习会在后续的博客中更新总结。
这篇博客的主要内容如下:
1.P2P的定义及特点
2.P2P网络拓扑结构
3.P2P关键技术的初步理解
4.JXTA简介
一、首先了解P2P的定义及特点:
P2P,即Peer-To-Peer的缩写,意思就是伙伴对伙伴、对等、点到点的意思,应用到网络上就是对等网络、点对点传输网络。某些人对P2P给出了数学意义上的严格定义如下:
1.有某网络N,是架构在Internet之上的网络,满足Internet的所有基本特性。
2.在N网络中,存在两种基本的模式,一种行为 ...
最基本的数据结构是数组和链表,这两种数据结构各有优缺点,比如数组,查找容易,插入困难;而链表插入容易,查找困难。在作画图板的重绘时用的是自定义队列保存图形的形状,在自定义队列中是包装了对数 ...
突然发现很久没有写博客了,在学习通信阶段是一篇总结都没有写。刚开始学习Java Web,觉得应该把学习的一些总结写下来,以此来记录自己的学习历程。好了,废话少说,下面开始自己Web阶段的第一篇总结,如有不对的地方麻烦各位多多指点。
首先是Java Web应用的概述,Java Web应用程序是指以JSP和Servlet为核心的Java技术开发应用程序,这种应用程序在特定的Web服务器上运行,需要通过Web浏览器的访问。本人写的第一个应用程序就是Servlet接受客户端的参数,可能是刚接触Servlet,对它有很多模糊的地方,胡老师说目前只要知道怎么用它就行了。可是对它还是想稍微有 ...
首先看下图来了解各个协议层对数据的封装,当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络,其中每一层对收到的数据都要增加一些首部信息,该过程如下图所示:
从图中可以看出,应用程序使用TCP或UDP来传送数据,运输层协议在生成报文首部时要存入一个应用程序的标识符,TCP和UDP都用一个16bit的端口号来表示不同的应用程序,TCP和UDP把源端口号和目的端口号分别存入报文首部,而网络接口分别要发送和接收IP、ARP和RARP数据,因此也必须在以太网的帧首部中加入某种标识,以指明生成数据的网络层协议。
在TCP/IP协议族 ...
最近看了《TCP/IP详解,卷1:协议》这本书,现在对TCP/IP协议族进行概述总结如下:
首先要明白的是TCP/IP协议并不是指两个不同的协议,而是指一个协议族,通常TCP/IP协议被认为是一个 四层协议系统,是分不同层次的,每一层次 ...
自己对字符串的各种方法不太熟悉,今天把主要的方法都试了一遍,简单的总结如下(如有不正确的地方欢迎指正):
String str1 = "abcd";
String str2 = "abcdabcd";
1.length():求字符串的长度
int len = str1.length();
System.out.println("字符串的长度:"+len);
运行结果:
字符串的长度:4
2.charAt(int index):取字符串中指定下标的一个元素
for (int i=0;i<len;i++){
char ...
所谓哈夫曼树,又称为最优二叉树,要了解哈夫曼树,首先先来了解几个概念。树中一个结点到另一个结点之间的分支构成这两个结点之间的路径,路径上分支数目称为路径长度。树的长度是指从根结点到每一个叶子结点的路径长度之和。结点的带权路径长度为从从该结点到根结点之间的路径长度与结点上的权值的乘积。哈夫曼树就是带权路径长度最小的二叉树。现在我们可以根据给的任意一个整型数组构造一颗哈夫曼树,构造的思路是将数组中的每一个元素构造成结点对象,然后把每一个结点当成一棵树,将所有结点当成一片森林。然后每次从所有结点中取两个最小的结点,比较小的作为左子结点,比较大的作为右子结点,它们的和作为父结点构成一颗二叉树,然后把取出 ...
在前面总结的链表是一种一对一的关系,而有一种一对多的关系就是树。树也是由一个一个的结点组成的,每一个结点都可以看成一棵树。每一个结点只能有一个父结点,而子结点可以有多个,没有父结点的结点称为根结点,在一棵树中,根结点有且仅有一个。根结点的子结点又可以当成是一棵树,称为子树。没有子结点的结点称为叶子结点。在树结构中,最常用的时二叉树,即每个结点至多只有两颗子树。
现在我们来自定义一颗二叉树,要构造一颗二叉树,首先要有结点,所以首先要先定义一个结点类TreeNode,然后定义结点的属性,即数据域,指向父结点的对象和指向两个子结点的对象以及设置和得到这些属性的相关方法,具体代码如下:
/**
* 二 ...
在C/C++中可知链表是一种物理存储单元上非顺序的线性存储结构,链表是由结点组成的,结点包括两部分:一个是数据域,另一个是指针域,数据域存储数据元素,指针域指向下一个结点的地址,在Java中没有指针的概念,但是可以引用对象。这里总结自定义链表的操作。
链表分为三种:一种是单向链表,一种是双向链表,另外一种是循环链表。现在我们自己可以实现一个单向链表结构。首先要先定义一个链表的结点类,包括数据域和引用对象两个对象,以及对这两个对象的值的设置和得到值的方法。具体代码如下所示:
/**
* 创建结点
* @author lenovo
*
*/
public class LinkNode {
...
前几天学习了多线程,现在总结自己做的一个打砖块的游戏,以此来加深对多线程的理解(如有不正确的地方欢迎指正!)。首先来看游戏的效果图:
首先要有一个界面,界面的实现在前面已经作过很多次了,具体代码如下:
/**
* 初始化窗体
*/
public void initFrame(){
this.setTitle("喷怒的小球");//设置窗体的标题
this.setSize(500, 750);//设置窗体的大小
//this.getContentPane().setBackground(Color.BLACK);
this.setLayou ...
1.进程,程序的区别
在上一篇总结中总结了进程与线程的区别,现在来看进程与程序的区别。上一篇总结中已经提到进程是程序在处理机中的一次运行,所以进程是暂时的,程序是永久的。进程有并发性,而程序没有;一个进程可以执行一个或多个程序,同样,一个程序可被多个进程执行。
2.线程的创建方式
在上一篇总结中介绍了线程的一种创建方式,即通过继承Thread类,重写父类run()方法,通过start()方法启动线程。现在总结另外一种线程的创建方式,即通过实现Runnable接口来创建,与第一种创建方法一样,重写父类run()的方法,只是在启动线程时不同,比如定义类public class Listener ...
什么是线程
提到线程,首先要了解进程。每个程序都有一个入口,在程序运行时,系统首先从程序入口开始按语句的顺序执行,知道整个程序结束。简单的说进程就是程序在处理机中的一次运行,不仅包括程序代码,同时也包括执行指令所需的任何系统资源。线程是进程中的一个实体,是比进程单位更小的执行单位,与进程不同的时,它没有入口和出口,因此自身不能自动执行,是在某一进程中的,由进程触发执行。每个程序都至少有一个线程,即主线程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。利用多线程同时完成不同的任务,可以节省很多时间。
线程与进程的区别
1.简单而言,一个应用程序就是一个进程,线程则是进程内部的多个运行单 ...