- 博客(13)
- 资源 (44)
- 收藏
- 关注
转载 浅谈web架构之架构设计(总结)
架构模式先来说说模式: 每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样,你就能一次又一次地用该方案而不必做重复工作 。先来说说常见的网站架构模式。这里没有涉及具体实现过程,只是简单介绍其思想和原理,方便日后有用到再深入了解。分层分层是企业应用系统中最常见的一种架构模式,将系统在 横向维度 上切分成几个部分,每个部分负责一部分相对比较单一
2016-07-14 11:47:16 8848
原创 java网络socket编程(六)之HTTP请求/响应报文
介绍http报文包含请求报文和响应报文2种报文,他们都包含起始行、首部字段、主体三部分。其中,请求报文为客户端向服务器端请求资源时发送的http报文位请求包含,而响应报文为从服务器端发往客户端的报文。由于他们的报文很类似,下面简单的介绍报文的三部分:1.起始行报文的第一行就是起始行,在请求报文中用来说明要做些什么,而在响应报文中说明出现了什么情况。2.首部字段起始行后面有0个或
2016-07-25 18:10:26 4227
原创 java网络socket编程(五)之Socket扩展2--实现重定向服务器
重定向服务器,能将用户从一个web网站重定向到另一个网站,使用302 Found编码将接受的所有请求重定向到新url表示的网站上。package com.hq.socket;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.Inpu
2016-07-15 11:23:44 1657 1
原创 java网络socket编程(三)之ServerSocket服务器端
一、简介java提供了一个ServerSocket类表示服务器Socket。服务器Socket在服务器上运行,监听入站ftp连接。每个服务器Socket监听服务器上的一个特定端口。当远程注解上的一个客户端尝试这个端口时,服务器就会被唤醒,协商建立客户端与服务器端的连接,并返回一个常规的Socket对象,表示2台主机之间的Socket。也是就说服务器端Socket接受到客户端Socket发送过来
2016-07-13 18:43:14 15975 1
原创 java网络socket编程(二)之Socket客户端
一、socket实现读写当我们想要在Java中使用TCP/IP通过网络连接到服务器时,就需要创建java.net.Socket对象并连接到服务器。假如希望使用Java NIO,也可以创建Java NIO中的SocketChannel对象。使用输出流在socket上发送数据,同时还可以使用输入流读取数据,不过打多数都为在客户端只能读取或只写入数据,而不是二者同时进行。最常见的模式是,客户端发送一
2016-07-13 13:49:42 741
原创 java网络socket编程(一)之基础简介
1.在internate网络中,数据按照有限大小的数据包进行传输,这些包被称为数据报(datagram)。2.每个数据报主要包含部分:一个首部header和一个有效负载payload. a.首部:主要包含目的地地址和端口、来源地址和端口、检查数据是否被破坏的校验和、以及其他保证可靠传输的其他管理信息。 b.有效负载:包含数据本身。由于每个数据报的大小是有限的,通常一个完
2016-07-13 10:12:08 783
原创 java多线程基础(6)-调度方式之暂停当前线程方式5-等待(wait)
线程可以等待wait一个它锁定的对象。在等待时,它会释放这个对象的锁并暂停,直到它得到其他线程(拥有与等待线程的同一个锁)的通知notify。另一个线程以某种方式修改这个对象,通知等待对象的线程,然后继等待的线程继续执行。这与连接线程不同,并不要求等待线程和通知线程在另一个线程继续前必须结束。等待会暂停执行,直到一个对象或资源达到某种状态。连接也会暂停执行,但是一直暂停到连接的线程执行结束为止。
2016-07-07 16:04:30 1599
原创 java多线程基础(5)-调度方式之暂停当前线程方式4-连接线程(join)
一个线程可能需要另一个线程的结果,这是很常见的,例如,web浏览器在一个线程中加载html页面,他可能需要生成一个单独的线程来获取页面中的图片来嵌入到页面中。那么加载html的这个线程,在结束页面的显示之前,可能必须等待加载到所有的图片。java提供了join方法来实现这种情况,它运行一个线程在继续执行前等待另一个线程结束。public class JoinThreadTest {
2016-07-07 15:28:02 489
原创 java多线程基础(4)-调度方式之暂停当前线程方式3-线程休眠(sleep)
休眠是与放弃yield相比是更有力的放弃方式, 放弃只是表示当前线程愿意暂停当前线程,让其他有相同优先级的等待线程有机会获得cpu资源。而进入休眠sleep不同,不管有没有其他线程在等待资源,都进入暂停,这样一来,不只是有相同优先级的线程可以获取到资源,低优先级的线程也可能获取到资源。但是进入休眠的线程仍然拥有它已经获取到的锁,因此,其他需要相同锁的线程会阻塞,即使cpu可用。所以要避免在同步方法
2016-07-07 15:02:32 1312
原创 java多线程基础(3)-调度方式之暂停当前线程方式2-放弃
要让线程放弃资源,第二种方式是主动显示的放弃。java中可以通过代码调用Thread.yeild()静态方法来实现。它的作用是告知虚拟机如果有另外一个线程需要运行,则可以运行该线程,但是有些虚拟机会忽略这种方法。注意:放弃资源,并不会放弃这个线程所拥有的线程锁,因此,在理想情况下,在线程放弃时不应做任何同步。一个线程放弃时,如果等待运行的其他线程都因为这个线程拥有的同步资源而阻塞的话,那么
2016-07-07 14:30:51 747
原创 java多线程基础(2)-调度方式之暂停当前线程方式1-阻塞
线程阻塞 任何时候线程必须停下来等待它没有的资源时,这个时候线程就会发生阻塞。要让网络程序中的线程自己放弃cpu控制权,最常见的方式就是对io阻塞。由于cpu比网络和磁盘快得多,网络程序经常会在等待数据从网络到达或向网络发送数据时发生阻塞现象。即使只阻塞几毫秒,这一点时间也足够其他线程用来完成一些重要的任务。线程在进入一个同步(synchronized)的方法或代码块时也会阻
2016-07-07 10:17:01 733
原创 java多线程基础(1)-由调度方式引入线程各种运行状态
线程的调度方式所有java虚拟机都有一个线程调度器,用来确定哪个时刻运行哪个线程。 它主要包含2种调度器:抢占式(preemptive)和协作式(cooperative). (1)抢占式(重点): 抢占式调度器确定一个线程正常轮到这个线程的cpu时间用完时,会暂停这个线程,将cpu控制权交给轮到时间的另外一个线程。目前大多数虚拟机都使 用这种方式的线程
2016-07-07 09:53:21 1161
系统架构设计师教程(带目录 第4版).pdf
2017-10-24
gethashes.exe 代码获取 渗透工具
2017-09-30
commons-logging的jar包
2017-09-26
quip windows版下载
2017-09-25
zkclient-1.0(Jar包和源码包)
2016-11-22
Java并发编程的艺术(最新完整版)
2016-11-10
Java并发编程实战 带目录
2016-10-26
Netty In Action中文版(附带目录)
2016-10-20
ssh最新搭建步骤
2014-08-08
html5方式上传插件uplodifive以及示例
2018-10-22
MyEclipse或Eclipse中使用Egit插件(Eclipse中Egit插件的使用方法)
2017-12-11
基于SSM框架的后台管理系统源码(SpringMVC+Mybatis+Mysql+Easyui)
2017-10-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人