Fork me on GitHub
摘要: 一、基础概念 URI URI 包含 URL 和 URN。 请求和响应报文 请求报文 响应报文 二、HTTP请求方法 客户端发送的 请求报文 第一行为请求行,包含了方法字段。 GET 获取资源 当前网络请求中,绝大部分使用的是 GET 方法。 HEAD 获取报文首部 和 GET 方法类似,但是不返回报 阅读全文
posted @ 2019-09-05 18:57 xbwang520 阅读(364) 评论(0) 推荐(0) 编辑
摘要: Executor 简介 Executor框架便是Java 5中引入的,其内部使用了线程池机制,它在java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。因此,在Java 5之后,通过Executor来启动线程比使用Thread的start方法更 阅读全文
posted @ 2019-09-05 15:36 xbwang520 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 一、三大特性 封装 利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体。数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外的接口使其与外部发生联系。 用户无需关心对象内部的细节,但可以通过对象对外提供的接口来访问该对象。 优点: 减少耦合:可以独立地 阅读全文
posted @ 2019-09-05 10:40 xbwang520 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 为什么要使用线程池 诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如 HTTP、FTP )、通过 JMS队列或者可能通过轮询数据库。不管请求如何到达,服务器应用程序 阅读全文
posted @ 2019-09-05 02:31 xbwang520 阅读(189) 评论(0) 推荐(0) 编辑
摘要: CountDownLatch CountDownLatch是一种java.util.concurrent包下一个并发工具类,它允许一个或多个线程等待直到在其他线程中一组操作执行完成。 可以控制线程的执行顺序 例子:学校操场的跑道上8位选手首先进行1000米赛跑,跑完裁判清空跑道进行跨栏比赛。 结果: 阅读全文
posted @ 2019-09-05 01:27 xbwang520 阅读(133) 评论(0) 推荐(0) 编辑