- 浏览: 233316 次
文章列表
交换机是工作在数据链路层的设备,它看到的是MAC帧,可以识别帧中的目的地址,源地址,数据包的类型等。我们看看它是怎么工作的:
1. 首先它是一种即插即用设备,一般不用人工配置转发表。
2. 交换机启动时,交换表是空的,它使用一种自学习算法来建立转发表,
1)记录发送主机的MAC地址和对应的接口
到PC2向路由器发送数据时,数据帧先到达2960交换机,交换机收到这个数据帧后,把帧的源地址和自己的转发表中的地址比较,若不能找到,就把这个地址和对应的接口记录下来。
2)查询MAC帧的目的地址
把帧的目的地址和自己的转发表逐一比较,若找到,直接发到那个端口;若找不 ...
HTML(超文本标记语言)并不是像C、Java那样是一种编程语言,它是一种标记语言,是用各种HTML标签来实现网页的描述。
1. 文档的结构
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
可以看到文档是由各种标签构成的,这里<body> 与 </body> 之间的文本是可见的页面内容,<h1> ...
初学servlet2
- 博客分类:
- java语言基础
主要看看Request的一些方法:
public class TestRequest extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
int len = req.getContentLength();
String contentT ...
学习servlet中:
1. 编写servlet类
在eclipse写servlet类时,一般可以继承自HttpServlet类(在这之前要往eclipse中加入tomcat lib目录下的servlet-api.jar哦)。
public class Hello extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp ...
tomcat虚拟主机
- 博客分类:
- 网络基础
虚拟主机的配置可以使一台主机上可以绑定多个域名。比如你有一台服务器,安装了tomcat并且配有多个虚拟主机,如www.abc.com、www.test.com,那么用户访问网站abc和test时访问的是同一个主机。
Host元素
在tomcat目录下,有conf文件夹,那个文件夹存放的是各种配置文件,当然虚拟主机的配置文件也在那。打开server.xml文件,可以看到在<Engine>元素中有一个<Host>元素。
属性说明
name: 虚拟主机的名字
appBase: 虚拟主机的目录,可以使用绝对路径也可以相 ...
在计算机中,是用二进制码来表示字符的,比如我有A, B, C, D四个字符,4个字符2位就可以表示了。如可以把A表示为00,B为01,C为10,D为11。在进行数据传输的时候,若有100个这样的字符,那么就需要传输200位,能不能想办法让传输的位数少点呢。
有人就想出了前缀码,根据统计的规律,字母A出现的概率为50%,字母B出现的概率为25%,字母C出现的概率为20%,字母D出现的概率为5%。那么我们如果使用一种变长的编码方案,把概率高的字符编码时位数安排少点。这样我们就想,A编码为0,B编码为0,C编码为10,D编码为11,哈哈,这样就少很多了,看一下期望值:
A: ...
设总共有n项活动(1,2,...,n),并且所有的活动都需要使用同一个会场,而且任意两个活动不能同时使用这个会场。设活动i占用会场的时间是[bi,ei),其中bi<ei(bi是活动i的开始时间,ei是活动的结束时间),那么怎么安排才能使该会场有尽可能多的活动。
1. 最先想到的一个简单模型
有一个容器,容量为K,有n杯水,体积按小到大分别为L1, L2, ..., Ln,要尽可能往容器中倒入最多杯的水,那么我们会一直选当前最小杯的水往里面倒,直到下一杯水倒不完就停止。这个模型好像有点跟上面的活动安排差不多,也有一个给定的范围,也是求最大值。那是不是活动安排的例子 ...
tomcat的目录结构
- 博客分类:
- 网络基础
1. tomcat的目录结构
2. 目录描述
/bin 存放windows或linux下启动和关闭tomcat的脚本文件
/conf 存放tomcat服务器的各种配置文件
/lib 存放tomcat服务器及所有web应用都可以访问的jar文件
/logs 存放tomcat服务器的日志文件
/webapps 存放tomcat服务器发布的javaWeb应用
/work tomcat的工作目录,把运行时生成的一些文件放在此目录下
Tomcat是一款优秀的开源Servlet容器。安装过程如下:
1. 安装JDK,一定要设置JAVA_HOME环境变量(tomcat启动要读取这个变量)
这里JAVA_HOME变量要设置为C:\Program Files\Java\jdk1.6.0_25
2. 创建环境变量CATALINA_HOME
我下载的是tomcat7.0.19版本,解压后放在目录D:\Tomcat下(如下图),那么这里CATALINA的路径应该写:D:\Tomcat\apache-tomcat-7.0.19
3. 测试
http://localhost:80 ...
Java环境变量配置
- 博客分类:
- java语言基础
在windows安装java时要设置两个环境变量:path和classpath
1. 环境变量:path
在下载下来的jdk的bin目录下,放了很多有用的工具,如javac,java,javadoc,jar等,虽然他们都是.exe文件但是不能双击直接执行,比如javac.exe它能够把java源文件编译为类文件,但是必须要有一个参数(源文件名)才能运行起来。下面我们在doc下编译一个Hello.java的源文件:
public class Hello {
public static void main(String[] args) {
System ...
在数据链路层,数据接收和发送的单元是以帧为单位的。链路层主要有3个目的:(1)为IP层服务,接收和发送IP数据报;(2)为ARP模块发送ARP请求和ARP应答;(3)为RARP模块发送RARP请求和RARP应答。下面以以太网为例,进行说明。
1. 以太网MAC帧的封装格式:
前导码:包括同步码(用来使局域网中的所有节点同步,7字节长)和侦标志(帧的起始标志7,1字节)两部分;
目的地址:接收端的MAC地址,6字节长;
源地址:发送端的MAC地址,6字节长;
类型:数据包的类型(即上层协议的类型),2字节长;
数据:被封装的数据包,46-1500字节长;
校验码:错误 ...
互联网上的每个接口必须有一个唯一的Internet地址(也称作IP地址)。IP地址长32bit。Internet地址并不采用平面形式的地址空间,如1、2、3等。IP地址具有一定的结构,总共有5类ip地址:
1. A类地址(网络号7位,地址以0开 ...
CharBuffer源码解读
- 博客分类:
- java源码解读
public abstract class CharBuffer extends Buffer implements
Comparable<CharBuffer>, Appendable, CharSequence, Readable {
final char[] hb; //指向缓冲区的数据存储的引用
final int offset;
boolean isReadOnly;
CharBuffer(int mark, int pos, int lim, int cap,
char[] hb, int offset) {
...
HeapCharBuffer源码解读
- 博客分类:
- java源码解读
class HeapCharBuffer extends CharBuffer {
// 调用CharBuffer的构造函数
// CharBuffer(int mark, int pos, int lim, int cap, char[] hb, int offset) {
// super(mark, pos, lim, cap);
// this.hb = hb;
// this.offset = offset;
// }
HeapCharBuffer(int cap, int lim) {
super(-1, 0, lim, cap, ...
Buffer源码解读
- 博客分类:
- java源码解读
public abstract class Buffer {
private int mark = -1;
private int position = 0;
private int limit; // 缓冲区中第一个不能读或写的元素
private int capacity;// 缓冲区中数据元素的最大容量
long address;
// 包似有的构造函数,用mark,pos,lim,cap初始化Buffer
Buffer(int mark, int pos, int lim, int cap) {
if (cap < 0)
t ...