(一)

1.简述堆与栈

堆: 是大家共有的空间,分全局堆和局部堆。全局堆就是所有没有分配的空间,局部堆就是用户分配的空间。堆在操作系统对进程初始化的时候分配,运行过程中也可以向系统要额外的堆,但是记得用完了要还给操作系统,要不然就是内存泄漏。

栈:是个线程独有的,保存其运行状态和局部自动变量的。栈在线程开始的时候初始化,每个线程的栈互相独立,因此,栈是 thread safe的。每个C ++对象的数据成员也存在在栈中,每个函数都有自己的栈,栈被用来在函数之间传递参数。操作系统在切换线程的时候会自动的切换栈,就是切换 SS/ESP寄存器。栈空间不需要在高级语言里面显式的分配和释放。

2.描述 tcp 协议中 time_wite 和 closez_wite 的区别

tcp四次挥手过程中,谁主动断开,谁有time_wait,被动断开一方会有close_wait

time_wait:保持端口占用2mls~4min,避免对方还有一些tcp片发往这个端口,新链接受影响。time_wait的缺点:占用内存

close_wait:被动关闭一方接受到fin信号后马上回复ack表示收到fin信号,同时进入close_wait 状态,等待未传输完成的data继续传输完毕,close_wait状态结束,发送fin信号。即close_wait的目的是等待未传输完成的data继续传输完毕。

3.在 linux/unix 系统中,如何知道另外一台服务器的端口是否打开

用telnet 命令:

telnet 10.120.40.5 8080

4.在 Linux 或者类 Unix 中,我该如何检查某个端口是否被占用?我又该如何验证 Linux 服务器中有哪些端口处于监听状态?

文献:https://linux.cn/article-8081-1.html

5.http 协议的状态号,.及状态号代表的含义

  100 (Continue/继续)

  如果服务器收到头信息中带有100-continue的请求,这是指客户端询问是否可以在后续的请求中发送附件。在这种情况下,服务器用100(SC_CONTINUE)允许客户端继续或用417 (Expectation Failed)告诉客户端不同意接受附件。这个状态码是 HTTP 1.1中新加入的。

  101 (Switching Protocols/转换协议)

  101 (SC_SWITCHING_PROTOCOLS)状态码是指服务器将按照其上的头信息变为一个不同的协议。这是 HTTP 1.1中新加入的。

  200 (OK/正常)

  200 (SC_OK)的意思是一切正常。一般用于相应GET和POST请求。这个状态码对servlet是缺省的;如果没有调用setStatus方法的话,就会得到200。

  201 (Created/已创建)

  201 (SC_CREATED)表示服务器在请求的响应中建立了新文档;应在定位头信息中给出它的URL。

  202 (Accepted/接受)

  202 (SC_ACCEPTED)告诉客户端请求正在被执行,但还没有处理完。

  203 (Non-Authoritative Information/非官方信息)

  状态码203 (SC_NON_AUTHORITATIVE_INFORMATION)是表示文档被正常的返回,但是由于正在使用的是文档副本所以某些响应头信息可能不正确。这是 HTTP 1.1中新加入的。

  204 (No Content/无内容)

  在并没有新文档的情况下,204 (SC_NO_CONTENT)确保浏览器继续显示先前的文档。这各状态码对于用户周期性的重载某一页非常有用,并且你可以确定先前的页面是否已经更新。

205 (Reset Content/重置内容)

  重置内容205 (SC_RESET_CONTENT)的意思是虽然没有新文档但浏览器要重置文档显示。这个状态码用于强迫浏览器清除表单域。这是 HTTP 1.1中新加入的。

  206 (Partial Content/局部内容)

  206 (SC_PARTIAL_CONTENT)是在服务器完成了一个包含Range头信息的局部请求时被发送的。这是 HTTP 1.1中新加入的。

  300 (Multiple Choices/多重选择)

  300 (SC_MULTIPLE_CHOICES)表示被请求的文档可以在多个地方找到,并将在返回的文档中列出来。如果服务器有首选设置,首选项将会被列于定位响应头信息中。

  301 (Moved Permanently)

  301 (SC_MOVED_PERMANENTLY)状态是指所请求的文档在别的地方;文档新的URL会在定位响应头信息中给出。浏览器会自动连接到新的URL。

  302 (Found/找到)

  与301有些类似,只是定位头信息中所给的URL应被理解为临时交换地址而不是永久的。注意:在 HTTP 1.0中,消息是临时移动(Moved Temporarily)的而不是被找到,因此HttpServletResponse中的常量是SC_MOVED_TEMPORARILY不是我们以为的SC_FOUND。

303 (See Other/参见其他信息)

  这个状态码和 301、302 相似,只是如果最初的请求是 POST,那么新文档(在定位头信息中给出)药用 GET 找回。这个状态码是新加入 HTTP 1.1中的。

  304 (Not Modified/为修正)

  当客户端有一个缓存的文档,通过提供一个 If-Modified-Since 头信息可指出客户端只希望文档在指定日期之后有所修改时才会重载此文档,用这种方式可以进行有条件的请求。304 (SC_NOT_MODIFIED)是指缓冲的版本已经被更新并且客户端应刷新文档。另外,服务器将返回请求的文档及状态码 200。servlet一般情况下不会直接设置这个状态码。它们会实现getLastModified方法并根据修正日期让默认服务方法处理有条件的请求。这个方法的例程已在2.8部分(An Example Using Servlet Initialization and Page Modification Dates/一个使用servlet初始化和页面修正日期的例子)给出。

  305 (Use Proxy/使用代理)

  305 (SC_USE_PROXY)表示所请求的文档要通过定位头信息中的代理服务器获得。这个状态码是新加入 HTTP 1.1中的。

  307 (Temporary Redirect/临时重定向)

  浏览器处理307状态的规则与302相同。307状态被加入到 HTTP 1.1中是由于许多浏览器在收到302响应时即使是原始消息为POST的情况下仍然执行了错误的转向。只有在收到303响应时才假定浏览器会在POST请求时重定向。添加这个新的状态码的目的很明确:在响应为303时按照GET和POST请求转向;而在307响应时则按照GET请求转向而不是POST请求。注意:由于某些原因在HttpServletResponse中还没有与这个状态对应的常量。该状态码是新加入HTTP 1.1中的。

400 (Bad Request/错误请求)

  400 (SC_BAD_REQUEST)指出客户端请求中的语法错误。

  401 (Unauthorized/未授权)

  401 (SC_UNAUTHORIZED)表示客户端在授权头信息中没有有效的身份信息时访问受到密码保护的页面。这个响应必须包含一个WWW-Authenticate的授权信息头。例如,在本书4.5部分中的“Restricting Access to Web Pages./限制访问Web页。”

  403 (Forbidden/禁止)

  403 (SC_FORBIDDEN)的意思是除非拥有授权否则服务器拒绝提供所请求的资源。这个状态经常会由于服务器上的损坏文件或目录许可而引起。

  404 (Not Found/未找到)

  404 (SC_NOT_FOUND)状态每个网络程序员可能都遇到过,他告诉客户端所给的地址无法找到任何资源。

6.linux中 .bash_profile 文件的作用

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该
文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该
该文件被读取.
~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.

7.写出你所知道的动态路由协议,并简单描述其特点。

静态路由表由网络管理员在系统安装时根据网络的配置情况预先设定,网络结构发生变化后由网络管理员手工修改路由表。这意味着如果网络规模扩大,网络管理员的工作量将迅速增加。所以对大规模网络,一般使用动态路由协议(dynamicroutingprotocol)。动态路由随网络运行情况的变化而变化,路由器根据路由协议提供的功能自动计算数据传输的最佳路径,由此得到动态路由表。

根据路由算法,动态路由协议可分为距离向量路由协议(DistanceVectorRoutingProtocol)和链路状态路由协议(LinkStateRoutingProtocol)。

距离向量路由协议基于Bellman-Ford算法,使用跳数或向量来确定从一个设备到另一个设备的距离。不考虑每跳链路的速率,主要有RIP、IGRP(IGRP为Cisco公司的私有协议);链路状态路由协议基于图论中非常著名的Dijkstra算法,即最短优先路径(ShortestPathFirst,SPF)算法,如OSPF。链路状态路由协议在直接相连的路由之间维护正常的邻居关系,这允许路由更快收敛。链路状态路由协议在会话期间通过交换Hello包(也叫链路状态信息)创建对等关系,这种关系加速了路由的收敛。在距离向量路由协议中,路由器将部分或全部的路由表传递给与其相邻的路由器;而在链路状态路由协议中,路由器将链路状态信息传递给在同一区域内的所有路由器。

1)RIP:路由信息协议(RoutingInformationProtocol);

2)IGRP:内部网关路由协议(InteriorGatewayRoutingProtocol);

3)EIGRP:增强的IGRP。(ExtendedIGRP);

4)OSPF:开放式最短路径优先(OpenShortestPathFirst,OSPF)

详细解释:参考 https://wenku.baidu.com/view/4148c4363968011ca300917b.html

8.网站速度很慢,你应该从哪些方面进行排查

1). 当网站访问较慢时,首先先查看本地网络是否正常。
方法:先用网络测速测下本地的网络速率:网络速率低于50KB/s,访问网站自然也慢。

2). 本地网络速率正常时,再检查下所访问的网站是否正常。
方法:测一下网站的访问性能操作:在网站检测中,输入IP或域名,选择单文件或全页面进行测试,

分析报告: DNS服务器:显示访问者的出口DNS,作用是通过出口DNS获取访问者所在的网络,如:xx.xx.xx.xx(北京 网通)网站解析IP:网页的IP地址,作用获悉IP地址,可使用ping命令检查该IP的连通性,诊断该网站是否正常,如ping网页时丢包较严重,访问速率也会越低

总时间:网站的响应时间,可了解网站的性能瓶颈或者是利用谷歌或IE浏览器的F12开发者工具查看下网站的大小和网站的打开速度成不成正比。

3). 网站出现无法访问时,使用故障诊断命令定位故障点。
命令分析: ping:检测IP或域名的连通性 dig/nslookup:查看DNS解

析情况 traceroute:显示从访问者到网站的路由连接状态,如果有节点无法连接,只需针对该故障点进行修复便可快速恢复网络。

4).通过Chrome浏览器开发者工具排查网站打开慢
网站打开速度很慢,通过阿里云ECS控制台“实例监控信息”查看网站所在服务器的性能情况,如果网站所在的服务器性能没有瓶颈,那么可以通过Chrome浏览器中的开发者工具来排查是哪些资源导致了网站打开速度慢。

详情参考 : http://blog.csdn.net/h330531987/article/details/75452550

原文地址:https://www.cnblogs.com/Chen-Programe/p/8528570.html

时间: 2024-11-10 08:36:26

(一)的相关文章

《三层理论篇》一

一.联系生活: 先从我们的生活场景说起,我们要吃烧烤,一种情况是在路边,有人摆摊,我们要完东西之后就在这看着等着烤好了,然后拿着开始吃,第二种情况是我们到一个小店只要坐下来有人过来问你想吃什么,你说完之后过会就会有人把你要的东西送过来(这两种场景估计大家都有过哈) 两种场景的烤肉过程: 我们生活中的这种烤肉现象就对应这我们系统的开发的两种方式,二层和三层(多层). 路边烤肉一个人什么都干,总有忙不过来出错的时候,当他积累到一定的钱之后可能就会去开店,这样就能满足更多的顾客. 从路边烤肉到开店的过

《三层理论篇》二

四.三层之间的联系 依赖:三层之间的关系 数据访问层的类:直接访问数据库,实现对基本记录的增删改查操作. 业务逻辑层的类:用相关的数据访问类,实现用户所需功能. 界面层:部署控件后,调用业务逻辑层的类,实现功能. 图解: 实体类:层之间的数据传输对象 为什么选择实体类作为三层之间的传输对象?  ORM(对象关系映射) Object Relational Mapping,简称ORM,是为了解决面向对象的类,与关系数据库的表之间,存在的不匹配的现象,通过使用描述对象和关系之间映射的元数据,在程序中的

三层学习------理论篇

学校放假了,刚回家的孩子就像个客人被父母招待着.在放假的前几天里,你尽管开口,想吃啥爸妈都会满足你,不过好景可不长!在我家,厨房是老妈的地盘,买菜.做饭.洗碗刷锅,一个人全包了.而在饭店吃饭呢,吃饭的人多了,顾客点的饭菜种类各不相同.前前后后,一个人忙乎,哪里顾得过来,所以饭店就有了分工.前台服务员负责将顾客点的菜上报给厨师和:厨师根据上报的菜单做菜:采购员负责柴米油盐酱醋茶.这样,大家各司其职,井井有条. 我们在家中吃饭比较简单,没有具体的分工.饭店就是一个复杂庞大的系统了,需要合理规划,分工

三层架构-------理论篇

概念: 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了"高内聚,低耦合"的思想. 各层概念 1.表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得. 2.业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理. 3.数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添.删除.修改.查找等. 注:应用三层离不开另一个重要的类:实体类,

三层结构——理论篇

为什么要分层? 1.开发人员可以只关注整个结构中的其中某一层:2.可以很容易的用新的实现来替换原有层次的实现:3.可以降低层与层之间的依赖:4.有利于标准化:5.利于各层逻辑的复用.6..方便团队分工 分层: 将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了"高内聚,低耦合"的思想. 1. 表现层 位于最外层(最上层),离用户最近.用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面.它是系统的UI部分,负责使用者与整个

三层架构理论篇

对于三层架构的理论阐述,我将从三个大的方面去讨论:what.why和how,说白了也就是以三层架构为中心,去了解什么是三层,为什么用三层以及怎么用三层这个三个问题.OK,废话不多说,进入正题. 什么是三层架构?(What) 通常多层结构的划分方式有两种:分别是物理和逻辑.物理上的三层结构是指将整个应用系统分为显示层.业务层和数据层,并且这三个层面上的实体都是硬件,比如显示层就是客户机器,业务层通常是应用程序服务器,而数据层就是数据库服务器了. 今天我们讨论的主要是逻辑上的三层架构,是在软件设计时

【SSH2(理论篇)】--Struts2配置详解

上篇博客讨论了SSH2框架模型,在开发过程中发现SSH2的开发模型其实类似于经典的三层模式,在每一层中分别添加了不同的框架,显示层使用的是Struts2进行配置的,业务逻辑层使用的是Spring配置,数据持久层则采用的是Hibernate,开发模式简单易懂,接下来将会分别从三层着手讨论每一层的运行内容. 一.Struts体系简介 struts,是Apache软件基金会(ASF)赞助的一个开源项目,它通过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的Model-V

【机器学习】Logistic Regression 的前世今生(理论篇)

Logistic Regression 的前世今生(理论篇) 本博客仅为作者记录笔记之用,不免有非常多细节不正确之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请附上本文链接,不甚感激! http://blog.csdn.net/cyh_24/article/details/50359055 写这篇博客的动力是源于看到了以下这篇微博: 我在看到这篇微博的时候大为触动,由于,如果是rickjin来面试我.我想我会死的非常慘,由于他问的问题我基本都回答不上来.

Logistic Regression 的前世今生(理论篇)

[机器学习]Logistic Regression 的前世今生(理论篇) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请附上本文链接,不甚感激! http://blog.csdn.net/cyh_24/article/details/50359055 写这篇博客的动力是源于看到了下面这篇微博: 我在看到这篇微博的时候大为触动,因为,如果是rickjin来面试我,我想我会死的很惨,因为他问的问题我基本都回答不上

三层理论

什么是三层,是说的像房屋那样的三层么?当然不是啦,我这里要给大家说的三层是软件体系架构设计中的一种分层方式. 三层架构:通常意义上的三层架构就是整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的就是为了"高内聚,低耦合"的思想. 三层概念简介: 1.显示层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得. 2.业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理. 3.数据访问层(