摘要: 1、运行结果2、源代码如下:[java]view plaincopypackagedemo.others;importjava.awt.BorderLayout;importjava.awt.Color;importjava.awt.Font;importjava.awt.Graphics;importjava.util.Calendar;importjava.util.GregorianCalendar;importjava.util.TimerTask;importjavax.swing.*;/***时钟类*/publicclassClockextendsJFrame{//画时钟的面板pr 阅读全文
posted @ 2012-01-19 16:24 王爵的技术博客 阅读(4367) 评论(0) 推荐(1) 编辑
摘要: 1、服务器端代码[java]view plaincopy<spanstyle="font-size:16px;">packagedemo.net;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.InputStream;importjava.net.DatagramPacket;importjava.net.DatagramSocket;importjava.net 阅读全文
posted @ 2012-01-19 16:23 王爵的技术博客 阅读(2243) 评论(0) 推荐(0) 编辑
摘要: 1、JDBC连接各个数据库时,存在很多相同的代码部分,把这些部分单独写在一个类里面,根据传入的driver、url、user、password这些参数连接到特定的数据库,工具类代码如下:[java]view plaincopy<spanstyle="font-size:16px;">packagemine.util.database;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;importjava.sql.Statement;/***该工具类 阅读全文
posted @ 2012-01-19 16:21 王爵的技术博客 阅读(1008) 评论(0) 推荐(0) 编辑
摘要: 1、InetAddress类实现简单IP扫描获得主机名[java]view plaincopy<spanstyle="font-size:16px;">packagedemo.net;importjava.net.InetAddress;importjava.net.UnknownHostException;/**获取指定IP的主机名*/publicclassIPScanner{//传入IP地址,返回主机名称,若主机不可达则返回ip地址的字符串形式publicstaticStringscanner(byte[]ip){InetAddressaddr=null;t 阅读全文
posted @ 2012-01-19 16:17 王爵的技术博客 阅读(1185) 评论(0) 推荐(0) 编辑
摘要: 1、SMTP简介2、发送过程3、源代码示例[java]view plaincopy<spanstyle="font-size:16px;">packagedemo.net;importjava.awt.BorderLayout;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.IOException;importjava.io.PrintWriter;importjava.net.InetAddr 阅读全文
posted @ 2012-01-19 16:16 王爵的技术博客 阅读(1130) 评论(0) 推荐(0) 编辑
摘要: 1、用多个线程来同时为多个客户提供服务,这是提高服务器的并发性能的最常用的手段,那么怎样来为多个用户提供服务呢? 主要有三种方法:2、为了更清楚理解服务器到底是怎么工作的,下面用第一种方式来处理多个用户请求。如果想用第二、第三方式可以参考Touch的博客:java多线程总结五:线程池的原理及实现下面的示例中客户端输入信息,服务器端回复相同的信息,可以同时开启多个客户端,同时输入信息,源代码如下:服务器端代码:[java]view plaincopy<spanstyle="font-size:16px;">packagedemo.net;importjava.io 阅读全文
posted @ 2012-01-19 16:15 王爵的技术博客 阅读(1166) 评论(1) 推荐(0) 编辑
摘要: 1、socket和serverSocket通信简单介绍如下,注意客户端与服务器端是怎么交换数据的2、模拟qq聊天功能,实现客户端与服务器(一对一)的聊天功能服务器端代码:[java]view plaincopy<spanstyle="font-size:16px;">packagedemo.net;importjava.io.DataInputStream;importjava.io.DataOutputStream;importjava.io.IOException;importjava.net.ServerSocket;importjava.net.Sock 阅读全文
posted @ 2012-01-19 16:12 王爵的技术博客 阅读(14683) 评论(2) 推荐(2) 编辑
摘要: 这是个线程同步的经典例子,源代码如下:[java]view plaincopy<spanstyle="font-size:16px;">packagedemo.thread;/***经典生产者与消费者问题:生产者不断的往仓库中存放产品,消费者从仓库中消费产品。*其中生产者和消费者都可以有若干个。仓库容量有限,库满时不能存放,库空时不能取产品*/publicclassProducersAndConsumers{publicstaticvoidmain(String[]args){Storagestorage=newStorage();Threadconsumer= 阅读全文
posted @ 2012-01-19 16:10 王爵的技术博客 阅读(770) 评论(0) 推荐(1) 编辑
摘要: 1、线程池简介: 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。 如果:T1 + T3 远大于 T2,则可以采用线程池,以提高服务器性能。 一个线程池包括以下四个基本组成部分: 1、线程池管理器(ThreadPool):用于创建并管理线程池,包括 创建线程池,销毁线程池,添加新任务; 2、工作线程(PoolWorker):线程池中线程,在没有任务时处于等待状态,可以循环的执行任务; 3、任务接口(Task):每个任务必须 阅读全文
posted @ 2012-01-19 16:10 王爵的技术博客 阅读(7459) 评论(1) 推荐(0) 编辑
摘要: 1、synchronized保证同步先看一个生成偶数的类[java]view plaincopy<spanstyle="font-size:16px;">packagedemo.thread;/***这是一个int生成器的抽象类**/publicabstractclassIntGenerator{privatevolatilebooleancanceled=false;publicabstractintnext();publicvoidcancel(){canceled=true;}publicbooleanisCanceled(){returncanceled 阅读全文
posted @ 2012-01-19 16:08 王爵的技术博客 阅读(654) 评论(0) 推荐(0) 编辑

我的技术博客:https://biezhi.me

Github:https://github.com/biezhi 

微博:http://weibo.com/u/5238733773

Twitter:https://twitter.com/biezhii