JAVA学习之三网络编程

0

学习一下IP,TCP协议(计算机专业的应该学过,复习一下),学习Socket编程(注意垃圾回收器不会帮你关掉Socket)。

如果不是很关心HTTP,看看java.nio,学习单线程轮询式IO复用(Selector)。

如果有点不明白nio的意图的话,了解一下c10k问题。http://www.kegel.com/c10k.html

如果身体没有异样的话,大概了解一下操作系统(包括C语言)提供的select, poll, epoll, kqueue等接口。

如果身体仍然没有异样的话,试着用java.nio写一个文件服务器。

如果还有精力的话,上网扒一扒有没有其他的通信库,如netty等。

如果关心Web还有HTTP,就学习一下HTTP协议,以及用Java进行HTTP的客户端编程。

如果还舒服,学学HTML,写写HTML的静态网页(不需要Java)

如果还舒服,用Java写一个基于DOM、XPath或者CSS Selector的网页解析器(爬网页)。

如果还舒服,学学Java的Servlet接口(先别学jsp)进行Web服务器端编程。学学标准的Servlet容器怎么用,包括web.xml的用法以及listener、filter等概念。以及某个Servlet容器(如Jetty或者Tomcat)的具体用法。

如果仍然还舒服,试着学一种模板语言(如haml, velocity, freemarker,【还有其他更好的框架吗?我不知道】, String.format,如果真的想学JSP的话JSP倒是也行,但不推荐)。

如果仍然觉得舒服,学学Spring框架中的Web框架,或者Struts,看你的口味。

如果还舒服,看看Spring Bean Container以及里面各种乱七八糟的工具。

如果还舒服,或者有需求,了解一下什么是RESTful Web Service,复习一下HTTP,找找适合的Java工具。

你可能会觉得Jackson是一个解析JSON用的好用的东西。

你可能感兴趣的

载入中...