浏览器缓存

自己总结的一些三大框架面试题

夙愿已清 提交于 2019-11-29 06:16:43
Struts 谈谈你对Struts的理解。 答: 1.struts是一个按MVC模式设计的Web层框架,其实它就是一个大大的servlet,这个Servlet名为ActionServlet,或是ActionServlet的子类。我们可以在web.xml文件中将符合某种特征的所有请求交给这个Servlet处理,这个Servlet再参照一个配置文件(通常为/WEB-INF/struts-config.xml)将各个请求分别分配给不同的action去处理。 一个扩展知识点:struts的配置文件可以有多个,可以按模块配置各自的配置文件,这样可以防止配置文件的过度膨胀; 2.ActionServlet把请求交给action去处理之前,会将请求参数封装成一个formbean对象(就是一个java类,这个类中的每个属性对应一个请求参数),封装成一个什么样的formbean对象呢?看配置文件。 3.要说明的是, ActionServlet把formbean对象传递给action的execute方法之前,可能会调用formbean的validate方法进行校验,只有校验通过后才将这个formbean对象传递给action的execute方法,否则,它将返回一个错误页面,这个错误页面由input属性指定,(看配置文件)作者为什么将这里命名为input属性,而不是error属性

在浏览器输入URL发生了什么

a 夏天 提交于 2019-11-29 06:09:22
在我们输入google.com之后,浏览器上很快就会呈现出谷歌的页面,本文简单介绍一下从URL的输入到浏览器页面的展示,这中间发生了些什么。 URL是什么 URL全名叫统一资源定位符,uniform resource Locator,字面上来理解,它就是用来定位资源的。 相当于图书上面的标签,有了这些标签,管理员可以很快的找到相应的图书。 一个完整的URL包括以下信息:协议(最常见的有http协议,https协议,file协议、FTP协议等);IP地址(一串数字);路径;端口号(访问的端口等)。 URL输入到浏览器之后 当我们在浏览器的地址栏输入URL之后,浏览器就开始工作了,直到我们看到页面,这期间涉及到以下关键点: IP地址: IP地址是设备在互联网当中的唯一标识,计算机是不会将域名作为记录的地址(之所以将域名作为日常标记是因为语义化的原因),它真实访问的其实是一串数字(服务器IP地址)。那么计算机从google.com到对应的服务器IP,这中间的过程就是解析。 根服务器负责解析域名和对应的IP地址,浏览器访问解析完成的域名之后,就会寻找相应的缓存,进而将页面呈现在用户面前。 缓存: 1)浏览器每次访问网站,会在浏览器本地生成缓存,当用户第二次去访问时,会检测到相应缓存,直接进行访问。 2)如果浏览器没有检查到缓存,那么就会去访问系统缓存(也就是我们说的Hosts)。 3

Hibernate Spring 面试题

左心房为你撑大大i 提交于 2019-11-29 05:57:50
###1. 关于PreparedStatement和Statement具体区别 (1) PreparedStatement是 预先编译的语句 ,而Statement则 不是预先编译的 ,在DBMS中处理管理中 Statement是要进行语法、语义校验的 ,而PreparedStatement则不要。 (2) PrepareStatement中执行的SQL语句中是 可以带参数的 ,而 Statement则不可以 。 比如: PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?"); pstmt.setBigDecimal(1, 153833.00); pstmt.setInt(2, 110592); pstmt. executeUpdate(); (3) 当处理批量SQL语句时,这个时候就可以体现PrepareStatement的优势, 由于采用Cache机制,则预先编译的语句,就会放在Cache中,下次执行相同SQL语句时,则可以直接从Cache中取出来 。 ###2. 说出数据连接池的工作机制是什么? J2EE 服务器启动时会 建立一定数量的池连接 ,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会

客户端下载报错md5值不匹配

允我心安 提交于 2019-11-29 05:13:56
分清情况: 情况1:个别客户端还是全部客户端更新失败? 情况2:网络环境,内网还是外网报错? 一般来说,常见外网客户端更新失败,内网正常。 —————————————————————————————— 情况1: 一、所有的客户端下载失败的错误堆栈: 下载到的文件lib/patch/sp-bd_org-client.jar 的MD5值和最新文件列表中的不符.download:a32209542ed1eb12fc7a898681fa1b75,target:8e279973c2cc73729e43d18089f23009 处理建议:请联系系统管理员或者技术支持人员。 1.对于705版本,通过管理控制台刷新组件版本, 并通过在浏览器地址栏中输入 http://222.134.48.194:6888/easupdater/clear 来刷新更新服务。 2.如果上述方法不奏效或者是705之前的版本,则通过以下方式处理: a.删除服务端eas\Server\server\properties目录下的full_eas.jnlp、jnlp.properties、MD5.properties、ondemand_eas.jnlp、pkCache.lst和resource.lst6个文件。 b.在浏览器输入: http://222.134.48.194:6888/easupdater/clear

【转】Spark History Server 架构原理介绍

妖精的绣舞 提交于 2019-11-29 04:38:07
【From】 https://blog.csdn.net/u013332124/article/details/88350345 Spark History Server 是spark内置的一个http服务,通过sbin/sbin/start-history-server.sh启动。History Server启动后,会监听一个端口,同时启动两个定时任务线程,分别用来解析eventLog日志文件和清理过期的eventLog日志文件。 Spark History Server启动后,我们可以直接在浏览器输入 http://ip:port 访问。一般默认端口是18080 一、eventLog日志文件以及相关参数 eventLog日志文件介绍 eventLog需要将配置spark.eventLog.enabled设置为true来开启,默认是关闭的。 开启这个配置后,当我们提交spark job到集群中运行时,之后spark job在运行过程中会不断的一些运行信息写到相关的日志文件中。具体的eventLog存放目录由配置spark.eventLog.dir决定的。 Spark job在运行中,会调用EventLoggingListener#logEvent()来输出eventLog内容。spark代码中定义了各种类型的事件,一旦某个事件触发,就会构造一个类型的Event

web性能优化

情到浓时终转凉″ 提交于 2019-11-29 04:20:15
前端是庞大的,包括 HTML、 CSS、 Javascript、Image 、Flash等等各种各样的资源。前端优化是复杂的,针对方方面面的资源都有不同的方式。那么,前端优化的目的是什么 ?   1. 从用户角度而言,优化能够让页面加载得更快、对用户的操作响应得更及时,能够给用户提供更为友好的体验。   2. 从服务商角度而言,优化能够减少页面请求数、或者减小请求所占带宽,能够节省可观的资源。   总之,恰当的优化不仅能够改善站点的用户体验并且能够节省相当的资源利用。   前端优化的途径有很多,按粒度大致可以分为两类,第一类是页面级别的优化,例如 HTTP请求数、脚本的无阻塞加载、内联脚本的位置优化等 ;第二类则是代码级别的优化,例如 Javascript中的DOM 操作优化、CSS选择符优化、图片优化以及 HTML结构优化等等。另外,本着提高投入产出比的目的,后文提到的各种优化策略大致按照投入产出比从大到小的顺序排列。    一、页面级优化     1. 减少 HTTP请求数   这条策略基本上所有前端人都知道,而且也是最重要最有效的。都说要减少 HTTP请求,那请求多了到底会怎么样呢 ?首先,每个请求都是有成本的,既包含时间成本也包含资源成本。一个完整的请求都需要经过 DNS寻址、与服务器建立连接、发送数据、等待服务器响应、接收数据这样一个 “漫长” 而复杂的过程

DNS的解析过程

时光怂恿深爱的人放手 提交于 2019-11-29 02:25:43
1、什么是DNS 在互联网上,唯一标识一台计算机的是IP地址,但是IP地址不方便记忆,通过一个域名对应一个IP地址,来达到找到IP地址的目的,那么DNS就是将域名转换成IP地址的过程。 2、DNS查询过程 1.在浏览器中输入www.baidu.com域名时,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。 2.如果hosts中没有这域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。 3.如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置域名资源中,则返回解析结果给客服端,完成域名解析,此解析具有权威性。 4.如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。 5.如果本地DNS服务器本地区域文件与缓存解析都失败,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未使用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理的,并会返回一个负责该顶级域名的DNS服务器的一个IP

大型网站背后的高性能系统架构设计,互联网架构师JAVA架构师,java架构设计,java大型网站架构设计

℡╲_俬逩灬. 提交于 2019-11-29 02:12:45
大型网站背后的高性能系统架构设计,互联网架构师JAVA架构师,java架构设计,java大型网站架构设计 1. 性能测试 1.1. 性能指标 网站性能测试的主要指标有: 响应时间 - 响应时间(RT)是指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间,响应时间由请求发送时间、网络传输时间和服务器处理时间三部分组成。 并发数 - 系统同时处理的请求、事务数。 吞吐量 - TPS(每秒事务数)、HPS(每秒 HTTP 请求数)、QPS(每秒查询数)。 性能计数器 - 系统负载、对象与线程数、内存使用、CPU 使用、磁盘与网络 IO 等。这些指标也是系统监控的重要参数。 1.2. 性能测试方法 性能测试 负载测试 压力测试 稳定性测试 1.3. 性能测试报告 性能测试报告示例: 1.4. 性能优化策略 性能分析 - 如果请求响应慢,存在性能问题。需要对请求经历的各个环节逐一分析,排查可能出现性能瓶颈的地方,定位问题。检查监控数据,分析影响性能的主要因素:内存、磁盘、网络、CPU,可能是代码或架构设计不合理,又或者是系统资源确实不足。 性能优化 - 性能优化根据网站分层架构,大致可分为前端性能优化、应用服务性能优化、存储服务性能优化。 2. 前端性能优化 2.1. 浏览器访问优化 减少 HTTP 请求 - HTTP 请求需要建立通信链路,进行数据传输

网站系统用的架构演变过程

丶灬走出姿态 提交于 2019-11-29 01:37:14
1. 概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。 2. 基本概念 在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍: 分布式 系统中的多个模块在不同服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部署在不同的服务器上,或两个相同功能的Tomcat分别部署在不同服务器上 高可用 系统中部分节点失效时,其他节点能够接替它继续提供服务,则可认为系统具有高可用性 集群 一个特定领域的软件部署在多台服务器上并作为一个整体提供一类服务,这个整体称为集群。如Zookeeper中的Master和Slave分别部署在多台服务器上,共同组成一个整体提供集中配置服务。 在常见的集群中,客户端往往能够连接任意一个节点获得服务,并且当集群中一个节点掉线时,其他节点往往能够自动的接替它继续提供服务,这时候说明集群具有高可用性 负载均衡 请求发送到系统时,通过某些方式把请求均匀分发到多个节点上,使系统中每个节点能够均匀的处理请求负载,则可认为系统是负载均衡的 正向代理和反向代理 系统内部要访问外部网络时,统一通过一个代理服务器把请求转发出去,在外部网络看来就是代理服务器发起的访问

缓存技术2之CDN缓存

久未见 提交于 2019-11-29 00:49:05
CDN 缓存 HTTP 缓存主要是对静态数据进行缓存,把从服务器拿到的数据缓存到客户端/浏览器。 如果在客户端和服务器之间再加上一层 CDN,可以让 CDN 为应用服务器提供缓存,如果在 CDN 上缓存,就不用再请求应用服务器了。并且 HTTP 缓存提到的两种策略同样可以在 CDN 服务器执行。 CDN 的全称是 Content Delivery Network,即内容分发网络。 CDN 工作简图 让我们来看看它是如何工作的吧: 客户端发送 URL 给 DNS 服务器。 DNS 通过域名解析,把请求指向 CDN 网络中的 DNS 负载均衡器。 DNS 负载均衡器将最近 CDN 节点的 IP 告诉 DNS,DNS 告之客户端最新 CDN 节点的 IP。 客户端请求最近的 CDN 节点。 CDN 节点从应用服务器获取资源返回给客户端,同时将静态信息缓存。注意:客户端下次互动的对象就是 CDN 缓存了,CDN 可以和应用服务器同步缓存信息。 CDN 接受客户端的请求,它就是离客户端最近的服务器,它后面会链接多台服务器,起到了缓存和负载均衡的作用。 注:本文摘自51CTO技术栈 来源: https://www.cnblogs.com/Haihong72H/p/11437249.html