经过了几天折腾,终于装出一个可用的redhat EnterPrise,然后安装JDK JSE JEE都装上,然后是NetBeans
好兴奋,终于可以开始自己的java之旅了~!
-----------------------------------------------------------------------------------------------------------------------------------------
学习java基础,我就在SUN网站上寻找类似microsoft的MSDN的文档
就是这里:
http://java.sun.com/docs/books/tutorial/java/index.html
基础语法直接跳过了...
1,socket基础介绍
sun提供的标准模式是,ClientSocket+ServerSocket+Protocol
Proctocol是自定义的,通信格式,用来格式化自己要发送或接受的数据.说白了就是自己的应用层协议.
最后,给出了一个同时服务客户的Server程序结构:
文章还给了个小习题,让你将例子KnockKnockServer 修改成多客户版
不但有教材,还有习题,sun的文档,简直像教材...建议大家不要买书,直接看文档,又省钱又权威何乐不为!
2,如何构建并启动一个线程
两种方式:
<1>将线程代码放到一个实现Runable接口的类中,Runable的run方法专用于放置代码, 用windwos编程习惯说run()就是线程函数.示例代码是:
<2>直接在Thread类中通过继方式插入代码,通过这个例子也可以了解Thread的另一种初始化方式:
初始化完成,调用invoke函数将线程启动.
文章最后,推荐使用第一种方式来使用线程,因为这样可以很灵活的在不同的类里实现线程代码,而不是必须继承Thread类,(java只能单继承(extend),而Runable是一个interface任意类可以实现(implement)).更重要的是,用实现Runable的方式可以方便的使用高级的线程管理API.
需要看Thread类详细说明的请看
http://java.sun.com/javase/6/docs/api/java/lang/Thread.html