`
whp0731
  • 浏览: 170396 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
    使用无连接的数据报(UDP) 进行通信 什么是Datagram?数据报是网上传输的独立数据包 ,数据报是否能正确地到达目的地,到达的时间,顺序,内容的正确性均没有保障。 java中使用Datagram与DatagramPacket类DatagramSocket类利用UDP协议来实现客户与服务器的Socket.send():发送数据报receive(): 接收数据报    以下为流程         以下为简单示例,不含一些异常处理、判空处理。   一、服务器端 package com.network; import java.net.DatagramPac ...
一、相关概念  1为了能够方便的开发网络应用软件,由美国伯克利大学在Unix上推出了一种应用程序访问通信协议的操作系统调用socket(套接字)。socket的出现,使程序员可以很方便地访问TCP/IP,从而开发各种网络应用的程序。随着Unix的应用推广,套接字在编写网络软件中得到了极大的普及。后来,套接字又被引进了Windows等操作系统中。Java语言也引入了套接字编程模型。2什么是Socket?Socket是连接运行在网络上的两个程序间的双向通讯的端点3使用Socket进行网络通信的过程 服务器程序将一个套接字绑定到一个特定的端口,并通过此套接字等待和监听客户的连接请求。 客户程序 ...
注意:对于方法一、方法二,都要写一个私有的构造方法,因为如果省略这一步的话,外界就可以通过new,调用它的默认的公有不带参数构造方法了。    区别如下 1、对于方法一: (1)不使用的时候不生成单例   (2)多线程的情况下,有可能出现并不是单例的情况。 package com.test2; public class Singleton { private static Singleton singleton; private Singleton() { } public static Singleton getInstance() ...
从AWT1.1开始图形系统的事件模型采用观察者模式,因此观察者模式在Java语言中的地位极其重要在xml解析中的SAX也采用了观察者模式来实现Java也提供了对观察者模式的内置支持 一、手工实现观察者模式(不用java默认实现) 1、 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让他们能够自动更新自己   2、观察者模式的组成抽象主题角色:把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类或接口来实 ...
为什么从20岁到30岁的时间,才可以跳两级,但是很多人却在30岁到40岁一下子积累身家,成倍数上涨。因为30岁很重要!譬如,李嘉诚、比尔·盖茨、杨元庆在30岁的时候,都抓住了转折。而他们做的,无非就是认清自己,解决现在和追逐未来。这看上去是人要持续一生解决的问题。但是30岁的人,因为现实的种种情况,面对的问题更突出一些,由此锻炼出的能力也更优异。你的30岁做了些什么或者说将要有什么人生计划,欢迎留言与大家分享。     30岁之前成功12条黄金法则     一艘没有航行目标的船,任何方向的风都是逆风     1、你为什么是穷人,第一点就是你没有立下成为富人的目标     2、你的人生核 ...
http://www.gotapi.com/ 语言:英语 简介:HTML,CSS,XPATH,XSL,JAVASCRIPT等API的查询网站。http://www.w3schools.com/ 语言:英语 简介:W3C制定的标准诸如XML,HTML,XSL等等的在线学习教程。http://www.xml.org.cn/ 语言:中文 简介:可以说是XML的中国官 ...
      图解SSIS批量导入Excel文件 收藏 http://blog.csdn.net/jinjazz/archive/2008/07/25/2710169.aspx 将一个目录下(可以包括子目录)结构一样的excel文件批量导入sql2005,可以用ssis来定制任务.下面用大量图片完全说明整个过程. 1、建立测试excel ...
package com.softeem.jbs.lesson4; import java.util.Random; /** * 排序测试类 * * 排序算法的分类如下: * 1.插入排序(直接插入排序、折半插入排序、希尔排序); * 2.交换排序(冒泡泡排序、快速排序); * 3.选择排序(直接选择排序、堆排序); * 4.归并排序; * 5.基数排序。 * * 关于排序方法的选择: * (1)若n较小(如n≤50),可采用直接插入或直接选择排序。 *  当记录规模 ...
1、两线程程序对初始为零的非负整数,一增一减, 同时每次对变量输出。生产者消费者问题(用object类中wait和notify方法)2、关于wait,notify,notifyAll,以及sleep方法的关系(重要)1)如果一个线程调用了某个对象的wait方法,那么该线程首先必须要拥有该对象的锁,(换句话说,一个线程如果调用了某个对象的wait方法,那么该wait方法必须在synchronize中)2)在一个线程调用某个对象了wait方法,那么该线程就会释放该对象的锁3)在java对象,中,有两种池(锁池、等待池)4)如果一个线程调用了某个对象的wait方法,那么该线程进入该对象的等待池中(释放 ...
口诀               1、使用双向一对多关联,不使用单向一对多               2、灵活使用单向多对一关联               3、不用一对一,用多对一取代               4、配置对象缓存,不使用集合缓存               5、一对多集合使用Bag,多对多集合使用Set               6、继承类使用显式多态               7、表字段要少,表关联不要怕多,有二级缓存撑腰    一、inverse = ?           inverse=false(default)                      ...
1、关于String 语句:String s=new  String("123"); 分析如下:  该语句做的三件事情 1)在String pool中检查有没有“123”这个对象,若没有情况下新建该字符串常量对象。(注意若原来有“123”对象在String pool中就不会再创建了。) 2)把在String pool中“123”这个对象拷贝到堆内存中(注意只要有new,不管原来堆内存中有没有对象“123”,均将重新创建一个。) 3)在栈内存中的引用s指向堆内存中的“123”对象,即可以通过s找到堆内存中的“123”对象了。   2、抛开java中类似c++的思 ...
  异常机制及throw与throws的区别Java的异常处理 Java的异常处理是通过5个关键字来实现的:try,catch,throw,throws,finally。JB的在线帮助中对这几个关键字是这样解释的:       Throws: Lists the exceptions a method could throw.       Throw: T ...
如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,可以使用起来,这里配套有。 本文是使用Subversion最快速的教程,在最短的时间里帮助您建立起一套可用的服务器环境,只需略加调整就可以应用到实际项目当中。 本教程分为以下几个部分,为了说明简单,教程是在windows下使用的方式,以方便资源有限的项目使用。在UNIX环境下,只是安装方式不同,命令执行并无太大区别。 软件下载 服务器和客户端安装 建立版本库(Repository) 配置用户和权限 ...
SVN简明课程     1. 版本控制介绍     1.1. 什么是版本控制   版本控制系统用于保存编写开发应用程序时的文档的各个修订版(revision)。 版本控制也称作Revision Control System(RCS)。 名词解释: 修订版(revision):可以认 ...
六、为了使用MD5对密码加密,我们需要修改一下配置文件。 任何一个正式的企业应用中,都不会在数据库中使用明文来保存密码的,我们在之前的章节中都是为了方便起见没有对数据库中的用户密码进行加密,这在实际应用中是极为幼稚的做法。可以想象一下,只要有人进入数据库就可以看到所有人的密码,这是一件多么恐怖的事情,为此我们至少要对密码进行加密,这样即使数据库被攻破,也可以保证用户密码的安全。 最常用的方法是使用MD5算法对密码进行摘要加密,这是一种单项加密手段,无法通过加密后的结果反推回原来的密码明文。 <authentication-provider> <passwo ...
Global site tag (gtag.js) - Google Analytics