JAVA学习之三网络编程

8次阅读

共计 818 个字符,预计需要花费 3 分钟才能阅读完成。

学习一下 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 用的好用的东西。

正文完
 0