Java
licl19870605
这个作者很懒,什么都没留下…
展开
-
JAVA中String与StringBuffer的区别
String和StringBuffer的区别,网上资料可以说是数不胜数,但是看到这篇文章,感觉里面做的小例子很有代表性,所以转一下,并自己做了一点总结。 在java中有3个类来负责字符的操作。 1.Character 是进行单个字符操作的,2.String 对一串字符进行操作。不可变类。3.StringBuffer 也是对一串字符进行操作,但是可变类。String:是对象不转载 2009-05-23 20:54:00 · 550 阅读 · 0 评论 -
《Java TCP/IP Socket编程》读书笔记(8)
3.5 构建和解析消息协议下面看一个简单的例子。程序支持两种请求。一种是查询(inquiry),即向服务器询问给定候选人当前获得的投票总数。服务器发回一个响应消息,包含了原来的候选人ID和该候选人当前(查询请求收到时)获得的选票总数。另一种是投票(voting)请求,即向指定候选人投一票。服务器对这种请求也发回响应消息,包含了候选人ID和其获得的选票数(包括了刚投的一票)。下面是投原创 2013-01-28 22:52:30 · 1361 阅读 · 0 评论 -
《Java TCP/IP Socket编程》读书笔记(3)
2.2 TCP套接字2.2.1 TCP客户端TCP客户端的步骤1.创建一个Socket实例:构造器向指定的远程主机和端口建立一个TCP连接。2. 通过套接字的输入输出流(I/O streams)进行通信:一个Socket连接实例包括一个InputStream和一个OutputStream,它们的用法同于其他Java输入输出流。3. 使用S原创 2013-01-26 23:16:26 · 4617 阅读 · 0 评论 -
《Java TCP/IP Socket编程》读书笔记(9)
3.5.3 发送和接收下面是一个投票服务器用到的服务,用于处理服务器端接收到的投票信息的处理。package com.suifeng.tcpip.chapter3.vote;import java.util.HashMap;import java.util.Map;/** * 服务器端对获取的投票信息进行处理 * @author Administrator * */原创 2013-01-28 23:03:21 · 1265 阅读 · 0 评论 -
《Java TCP/IP Socket编程》读书笔记(13)
4.1.5 系统管理调度——Executor接口Executor接口(java.util.concurrent包的一部分)就代表了一个根据某种策略来执行Runnable实例的对象,其中可能包括了排队和调度的细节,或如何选择要执行的任务。Executor接口只定义了一个方法:interface Executor {void execute(Runnable task);}Ja原创 2013-01-30 23:18:27 · 1543 阅读 · 0 评论 -
《Java TCP/IP Socket编程》读书笔记(12)
4.1.4 线程池每个新线程都会消耗系统资源:创建一个线程将占用CPU周期,而且每个线程都自己的数据结构(如,栈)也要消耗系统内存。另外,当一个线程阻塞(block)时,JVM将保存其状态,选择另外一个线程运行,并在上下文转换(context switch)时恢复阻塞线程的状态。随着线程数的增加,线程将消耗越来越多的系统资源。这将最终导致系统花费更多的时间来处理上下文转换和线程管理,更少的原创 2013-01-30 23:13:57 · 1384 阅读 · 0 评论 -
使用JavaMail发送邮件(Gmail)
以Gmail服务器为例输入正确的用户名和密码,然后输入有效的邮箱地址即可实现发送。代码已经验证通过。下面是源码package com.suifeng.mail;import java.util.Properties;import javax.mail.Message;import javax.mail.MessagingException;impor翻译 2012-11-08 22:37:39 · 9109 阅读 · 3 评论 -
《Java TCP/IP Socket编程》读书笔记(15)
4.4 控制默认的行为4.4.1 Keep-alive如果一段时间内没有数据交换,通信的每个终端可能都会怀疑对方是否还处于活跃状态。TCP协议提供了一种keep-alive的机制,该机制在经过一段不活动时间后,将向另一个终端发送一个探测消息。如果另一个终端还出于活跃状态,它将回复一个确认消息。如果经过几次尝试后依然没有收到另一终端的确认消息,则终止发送探测信息,关闭套接字,并在下一原创 2013-01-30 23:29:17 · 2733 阅读 · 0 评论 -
《Java TCP/IP Socket编程》读书笔记(14)
4.2 阻塞和超时Socket的I/O调用可能会因为多种原因而阻塞。数据输入方法read()和receive()在没有数据可读时会阻塞。TCP套接字的write()方法在没有足够的空间缓存传输的数据时可能阻塞。 4.2.1 accept(),read()和receive()对于这些方法,我们可以使用Socket类、ServerSocket类和DatagramSocket原创 2013-01-30 23:23:01 · 1808 阅读 · 0 评论 -
《Java TCP/IP Socket编程》读书笔记(10)
3.5.3.3 基于文本编解码和UDP套接字客户端package com.suifeng.tcpip.chapter3.vote;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;原创 2013-01-28 23:08:29 · 1487 阅读 · 0 评论 -
《Java TCP/IP Socket编程》读书笔记(16)
第五章 NIO5.1我们为什么需要NIO多线程环境下对共享状态进行同步访问,增加了系统调度和切换上下文的开销,程序员对这些开销无法控制。阻塞等待。我们需要一种可以一次轮询一组客户端,以查找那个客户端需要服务。在NIO中,一个Channel代表一个可以轮询的I/O目标,Channel能够注册一个Selector实例。Selector的select可以查找“在当前一组信原创 2013-02-02 22:28:18 · 1945 阅读 · 1 评论 -
《Java TCP/IP Socket编程》读书笔记(4)
2.3 UDP套接字UDP协议提供了一种不同于TCP协议的端对端服务,实际上UDP只实现了两个功能:1)、 在IP协议的基础上添加了另一层地址(端口)2)、对数据传输过程中可能产生的错误进行了检测,并抛弃了已损坏的数据。UDP套接字与TCP套接字的不同点:1. UDP协议在使用前不需要进行连接。2. UDP协议保存边界信息。2.3.1 UDP客户端UDP客户原创 2013-01-26 23:25:25 · 1656 阅读 · 0 评论 -
《Java TCP/IP Socket编程》读书笔记(5)
3.1 信息编码3.1.1 基本整型TCP和UDP套接字使我们能够发送和接收字节序列(数组),及范围在0~255之间的整数。下面考虑发送一个byte型整数、一个short型整数、一个int型整数和一个long型整数,这四个类型在Java中依次用1、2、4、8个字节进行标示。1. 发送顺序,可以由低位到高位发送(little-endian),也可以由高位到低位发送原创 2013-01-27 23:21:32 · 1564 阅读 · 0 评论 -
《Java TCP/IP Socket编程》读书笔记(6)
3.2 组合输入输出流Java中与流相关的类可以组合起来从而提供强大的功能。我们可以将一个Socket实例的OutputStream包装在一个BufferedOutputStream实例中,这样可以先将字节暂时缓存在一起,然后再一次全部发送到底层的通信信道中,以提高程序的性能。我们还能再将这个BufferedOutputStream实例包裹在一个DataOutputStream实例中,以实现发原创 2013-01-27 23:31:08 · 1654 阅读 · 0 评论 -
避免NullPointerException异常的几种常用方法
在写JAVA程序的时候,特别是jsp/servlet之类的东西,经常会有这样一种情况:当然你辛辛苦苦地打下了千百行字母的时候,写完最后一个大括号;当你运行这个程序进行调试时,忽然出现NullPointerException的字样,你是不是很懊丧呢。在以前我肯定会随手拿起桌上的杯子砸了。经过了一年多的打字母经历,我渐渐的总结出了一些经验,关于NullPointerException这个恶棍。Null原创 2009-05-27 00:44:00 · 622 阅读 · 0 评论 -
javascript操作xml生成树形菜单
这个效果应该不算什么稀奇,网上也有现成的代码,我这个也没什么特别的地方,只是因为我自己写的,也算是为学习DOM后一个练习;在IE下测试通过; 实现效果是这样的:读取XML文档;采用递归生成无限级的树形菜单;能够响应鼠标事件,展开与拆叠子级菜单;首先是生成一个XML文档,我用的是XML Spy的编辑器;转载 2010-04-14 19:43:00 · 1382 阅读 · 0 评论 -
一个Java的字符串常用类
package com.tienway.util;import java.util.ArrayList;public class StringUtil{ public static String ContextType1ToType2(String Type1Context) { if (Type1Context== null原创 2010-05-06 17:29:00 · 576 阅读 · 0 评论 -
Java IO框架
可从IO的类层次,IO框架的设计模式来论述。 总体来说,IO可以分为字节流和字符流,不同在于字符流由字节流包装而来,在IO读入之后经过JVM处理,把字节流转换成字符流。而字符流的字符采用哪种字符编码实现由JVM默认编码决定。 而每个流都分输入和输出,所以,总体来说,IO有四个顶层类: InputStream OutputStream Reader Writer 而作为机器级别于机器直接交互的则是字转载 2010-05-18 15:40:00 · 7262 阅读 · 0 评论 -
Spring 依赖注入(DI)
最近在了解依赖注入的一些东西,这篇文章写得通俗易懂,英文不是很难。如果想查看原文,请点击:http://javapapers.com/spring/dependency-injection-di-with-spring/下面是我尝试翻译的,仅供参考,欢迎拍砖。博客没有提供上传附件的功能,可以到http://download.csdn.net/detail/licl19870翻译 2012-08-19 10:12:34 · 592 阅读 · 0 评论 -
命令模式
原帖详见:http://javapapers.com/design-patterns/command-design-pattern/ 命令设计模式是用于将请求封装成一个对象,并将其传递给一个调用者,在这里调用者并不知道怎样服务于这个请求,但是使用相应的命令可以执行响应的动作。为了理解命令设计模式,我们应该理解相关的术语,例如客户端代码、命令、命令实现、调用者、接收者。翻译 2012-09-03 22:55:58 · 753 阅读 · 0 评论 -
《Struts2技术内幕》读书笔记一
前段时间买了一本《Struts2技术内幕》,这本书绝对值得一读,从更高的角度、更深的层次了解Struts2的每一个角落。建议每一个正在使用Struts2的同学好好研究一本书,知道怎么用并不是我们的目的。 随手把重要的知识点记录一下,目前只包含了前五章的内容:WEB开发浅谈、Struts2概览、Struts2涉及的设计模式和XWork容器。 直接把内容贴到这个原创 2012-08-27 23:54:14 · 813 阅读 · 0 评论 -
线程安全和ThreadLocal入门
原帖地址:http://javapapers.com/core-java/threadlocal/尝试翻译,欢迎批评指正。 原文地址:http://javapapers.com/core-java/threadlocal/ThreadLocal的核心概念是没一个线程可以通过get或者set方法访问它自己的、独立初始化的变量的副本。1. ThreadLocal介绍翻译 2012-08-27 23:34:53 · 1756 阅读 · 0 评论 -
快速排序算法的Java实现
package com.suifeng.sort;public class QuickSort { public static void main(String[] args) { int[] nums = { 49, 38, 65, 97, 76, 13, 27 }; System.out.println("=============排序前============="); //原创 2012-09-10 22:44:32 · 525 阅读 · 0 评论 -
《Java TCP/IP Socket编程》读书笔记(2)
2.1 套接字地址1. 在Java中,地址可以是IP地址也可以是主机名。下面是一个Java中地址的例子package com.suifeng.tcpip.chapter2;import java.net.Inet4Address;import java.net.Inet6Address;import java.net.InetAddress;import java.net原创 2013-01-26 23:07:13 · 2167 阅读 · 1 评论 -
《Java TCP/IP Socket编程》读书笔记(1)
1.1 计算机网络、协议和报文计算机网络是由一组通过通信信道相互连接的机器组成。我们把这些机器成为主机和路由器。1、主机是指运行应用程序的计算机,这些应用程序包括网络浏览器、即时通信代理或者文件共享程序。2、路由器是指将信息从一个通信信道传递或者转发到另一个通信信道。3、通信信道指将字节序列从一个主机传递到另一个主机的手段。4、信息是指计算机创建和解释的字节序列。协议是原创 2013-01-26 22:57:49 · 3978 阅读 · 0 评论 -
Careerup Top 150 Question(1)
Implement an algorithm todetermine if a string has all unique characters. What if you can not useadditional data structures? 不使用额外的数据结构,实现一个算法用来判断一个字符串是否只有唯一的字符串组成。原创 2013-07-10 23:31:16 · 1521 阅读 · 0 评论