新东方面试知识点记录

3.spring mvc 怎么接受http  post 方式提交过来的xml数据?servlet中怎么接受?

 @RequestMapping(value="/jsonPrase", headers = {"content-type=application/json","content-type=application/xml"}) 
        @ResponseBody 
        public Object addUser(@RequestBody MsgTip tip) { 

4.8个常用的http状态吗及其含义

 成功2××          成功处理了请求的状态码。
200                   服务器已成功处理了请求并提供了请求的网页。
204                   服务器成功处理了请求,但没有返回任何内容。                         
重定向3××       每次请求中使用重定向不要超过 5 次。
301                   请求的网页已永久移动到新位置。当URLs发生变化时,使用301代码。搜索引擎索引中保存新的URL。
302                   请求的网页临时移动到新位置。搜索引擎索引中保存原来的URL。
304                   如果网页自请求者上次请求后没有更新,则用304代码告诉搜索引擎机器人,可节省带宽和开销。
客户端错误4××  表示请求可能出错,妨碍了服务器的处理。
400                    服务器不理解请求的语法。
403                    服务器拒绝请求。
404                    服务器找不到请求的网页。服务器上不存在的网页经常会返回此代码。
410                    请求的资源永久删除后,服务器返回此响应。该代码与 404(未找到)代码相似,但在资源以前存在而现在不存在的情况下,有时用来替代404 代码。如果资源已永久删除,应当使用 301 指定资源的新位置。
服务器错误5××   表示服务器在处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错。
500                     服务器遇到错误,无法完成请求。
503                     服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。

5.说说对java nio的理解

Java NIO 由以下几个核心部分组成:

  • Channels
  • Buffers
  • Selectors

6.mysql 的jdbc driver 是怎么注册到DriverManager中的

7.dubbo中异步调用怎么配置?怎么取消依赖服务的启动时检查?

<dubbo:reference id="demoServicemy2"   interface="com.test.dubboser.ServiceDemo2">  

     <dubbo:method name="getPerson" async="true" />  

</dubbo:reference>  

关闭某个服务的启动时检查:(没有提供者时报错)
<dubbo:reference interface="com.foo.BarService" check="false" />
关闭所有服务的启动时检查:(没有提供者时报错)
<dubbo:consumer check="false" />
关闭注册中心启动时检查:(注册订阅失败时报错)
<dubbo:registry check="false" />

 

8.怎么通过zookerper 实现leader选择?请写出步骤

具体步骤

1、客户端连接时,在指定的目录(这里假定为"/leader")创建一个EPHEMERAL_SEQUENTIAL的节点,把内网的IP数据存入创建节点。
2、获取目录的子点节,并取得序列号最小的节点,我们把这个节点设置为leader。当此节点被删除时,证明leader断线。
3、其它机器监听leader节点,当leader节点的删除时,再取目录的最小子点节作为leader。

9.maven profile怎么配置?引用场景是什么?

   mvn clean package -Pdev即构建出生产环境需要的war包

10.MAVEN中怎么实现在发布时候编译测试代码?但不执行测试用例?

在编译的时候,加上"-Dmaven.test.skip=true"参数就好了

如果是eclipse执行maven命令,可以配置该命令:Run as->Run Configurations->勾上Skip Tests

11.git中怎么修改最后一次提交点的说明信息

11.linux中怎么杀死占用80端口的进程

第一步,输入命令:netstat -tlnp
列出系统里面监听网络的TCP连接和相应的进程PID。
参数说明:
-t:表示列出TCP连接
-l:表示列出正在网络监听的服务
-n:表示以端口号来显示
-p:表示列出进程PID
kill -9 某个PID

12.kill 1234  kill -0 1234 kill -3 1234 kill -9 1234 区别

kill 杀死进程

命令格式 kill -3 pid

kill -3 pid)用来打印Java进程trace,并不会影响程序运行,不用担心他把程序杀死了;

kill -10 pid可触发进程进行一次强制GC。

kill -0 pid 不发送任何信号,但是系统会进行错误检查。
所以经常用来检查一个进程是否存在,存在返回0;不存在返回1  

kill -9强行杀死进程

13 。前序 中序 然后答后序   前序是:根左右 中序: 左根右 后序:左右根

14.redis注意事项redis击穿和redis高并发处理

缓存使用.png

缓存击穿:
  查询一个数据库中不存在的数据,比如商品详情,查询一个不存在的ID,每次都会访问DB,如果有人恶意破坏,很可能直接对DB造成过大地压力。

缓存击穿的解决方案:
  当通过某一个key去查询数据的时候,如果对应在数据库中的数据都不存在,我们将此key对应的value设置为一个默认的值,比如“NULL”,并设置一个缓存的失效时间,这时在缓存失效之前,所有通过此key的访问都被缓存挡住了。后面如果此key对应的数据在DB中存在时,缓存失效之后,通过此key再去访问数据,就能拿到新的value了。

缓存失效:
  在高并发的环境下,如果此时key对应的缓存失效,此时有多个进程就会去同时去查询DB,然后再去同时设置缓存。这个时候如果这个key是系统中的热点key或者同时失效的数量比较多时,DB访问量会瞬间增大,造成过大的压力。

缓存失效的解决方案:

  • 将系统中key的缓存失效时间均匀地错开,防止统一时间点有大量的key对应的缓存失效;
  • 重新设计缓存的使用方式,当我们通过key去查询数据时,首先查询缓存,如果此时缓存中查询不到,就通过分布式锁进行加锁,取得锁的进程查DB并设置缓存,然后解锁;其他进程如果发现有锁就等待,然后等解锁后返回缓存数据或者再次查询DB。

热点key:
  缓存中的某些Key(可能对应用与某个促销商品)对应的value存储在集群中一台机器,使得所有流量涌向同一机器,成为系统的瓶颈,该问题的挑战在于它无法通过增加机器容量来解决。

热点key的解决方案:

    • 客户端热点key缓存:将热点key对应value并缓存在客户端本地,并且设置一个失效时间。对于每次读请求,将首先检查key是否存在于本地缓存中,如果存在则直接返回,如果不存在再去访问分布式缓存的机器。
    • 将热点key分散为多个子key,然后存储到缓存集群的不同机器上,这些子key对应的value都和热点key是一样的。当通过热点key去查询数据时,通过某种hash算法随机选择一个子key,然后再去访问缓存机器,将热点分散到了多个子key上。

15.JVM oom内存溢出怎么处理

   

三,常见内存溢出错误解决办法

1,   OutOfMemoryError异常

除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(OOM)异常的可能,

Java Heap 溢出

一般的异常信息:java.lang.OutOfMemoryError:Java heap spacess

java堆用于存储对象实例,我们只要不断的创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对象,就会在对象数量达到最大堆容量限制后产生内存溢出异常。

出现这种异常,一般手段是先通过内存映像分析工具(如Eclipse Memory Analyzer)对dump出来的堆转存快照进行分析,重点是确认内存中的对象是否是必要的,先分清是因为内存泄漏(Memory Leak)还是内存溢出(Memory Overflow)。

如果是内存泄漏,可进一步通过工具查看泄漏对象到GC Roots的引用链。于是就能找到泄漏对象时通过怎样的路径与GC Roots相关联并导致垃圾收集器无法自动回收。

如果不存在泄漏,那就应该检查虚拟机的参数(-Xmx与-Xms)的设置是否适当。

2,   虚拟机栈和本地方法栈溢出

如果线程请求的栈深度大于虚拟机所允许的最大深度,将抛出StackOverflowError异常。

如果虚拟机在扩展栈时无法申请到足够的内存空间,则抛出OutOfMemoryError异常

这里需要注意当栈的大小越大可分配的线程数就越少。

3,   运行时常量池溢出

异常信息:java.lang.OutOfMemoryError:PermGen space

如果要向运行时常量池中添加内容,最简单的做法就是使用String.intern()这个Native方法。该方法的作用是:如果池中已经包含一个等于此String的字符串,则返回代表池中这个字符串的String对象;否则,将此String对象包含的字符串添加到常量池中,并且返回此String对象的引用。由于常量池分配在方法区内,我们可以通过-XX:PermSize和-XX:MaxPermSize限制方法区的大小,从而间接限制其中常量池的容量。

4,   方法区溢出

方法区用于存放Class的相关信息,如类名、访问修饰符、常量池、字段描述、方法描述等。

异常信息:java.lang.OutOfMemoryError:PermGen space

方法区溢出也是一种常见的内存溢出异常,一个类如果要被垃圾收集器回收,判定条件是很苛刻的。在经常动态生成大量Class的应用中,要特别注意这点。

 

16.cdn怎么加速和怎么缓存

动态内容分发与复制技术
      大家都知道,网站访问响应速度取决于许多因素,如网络的带宽是否有瓶颈、传输途中的路由是否有阻塞和延迟、网站服务器的处理能力及访问距离等。多数情况下,网站响应速度和访问者与网站服务器之间的距离有密切的关系。如果访问者和网站之间的距离过远的话,它们之间的通信一样需要经过重重的路由转发和处理,网络延误不可避免。一个有效的方法就是利用内容分发与复制技术,将占网站主体的大部分静态网页、图像和流媒体数据分发复制到各地的加速节点上。所以动态内容分发与复制技术也是CDN所需的一个主要技术。

缓存技术
       缓存技术已经不是一种新鲜技术。Web缓存服务通过几种方式来改善用户的响应时间,如代理缓存服务、透明代理缓存服务、使用重定向服务的透明代理缓存服务等。通过Web缓存服务,用户访问网页时可以将广域网的流量降至最低。对于公司内联网用户来说,这意味着将内容在本地缓存,而无须通过专用的广域网来检索网页。对于Internet用户来说,这意味着将内容存储在他们的ISP的缓存器中,而无须通过Internet来检索网页。这样无疑会提高用户的访问速度。CDN的核心作用正是提高网络的访问速度,所以,缓存技术将是CDN所采用的又一个主要技术。

17.分布式锁

 

转载于:https://www.cnblogs.com/lvgg/p/6835999.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/392874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win10用计算机名访问文件夹,win10系统提示你当前无权访问该文件夹的解决方法【图文教程】...

Win10系统下&#xff0c;我们在访问或更改某些系统文件夹时&#xff0c;有时会遇到系统提示“你当前无权访问该文件夹”的情况。那么&#xff0c;遇到这种情况的话&#xff0c;我们该怎么办呢&#xff1f;接下来&#xff0c;小编就向大家分享win10系统提示“你当前无权访问该文…

.Net Micro Framework研究—实现SideShow窗体界面

基于MF系统的Windows SideShow界面是非常炫的&#xff08;如下图&#xff09;。既然微软能用.Net Micro Framework实现这么棒的界面效果&#xff0c;我想我们也能做到。 &#xff08;SideShow模拟器界面和游戏程序中的右键菜单—注意菜单弹出后&#xff0c;其它的界面变暗了&am…

leetcode 344. 反转字符串

编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间&#xff0c;你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。…

事件捕获(capture)和冒泡事件(Bubble)

PS&#xff1a;这里是我从别人的博客中学习事件捕获和冒泡是的总结&#xff0c;如果你也感兴趣的话&#xff0c;建议你点击链接查看原博客的内容&#xff0c;他们写的都是很经典&#xff01; 对“捕获”和“冒泡”这两个概念&#xff0c;我想我们对冒泡更熟悉一些&…

gulp编译css_如何用gulp缩小CSS

gulp编译cssby Vinicius Gularte由Vinicius Gularte 如何用gulp缩小CSS (How to minify your CSS with gulp) In this article, Im going to show a simple way to automatically minify your CSS files using gulp. ?在本文中&#xff0c;我将展示一种使用gulp自动缩小CSS文…

线段树(区间更改,区间查最值)模板

线段树(区间更改,区间查最值)模板 主要重在理解线段树,理解了怎么改都可以,还有以后不要直接抄模板,要写出自己想的一份代码 &代码&#xff1a; #include <cstdio> #include <bitset> #include <iostream> #include <set> #include <cmath>…

Unity3D项目开发一点经验

我们主要使用3dsmax2010进行制作&#xff0c;输出FBX的类型导入Unity3D中。默认情况下&#xff0c;3dsmax8可以和U3D软件直接融合&#xff0c;自动转换为FBX物体。 注意事项如下&#xff1a; 1.面数控制 在MAX软件中制作单一GameObject物体的面数不能超过65000个三角形&#xf…

leetcode 142. 环形链表 II(set/快慢指针)

给定一个链表&#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 为了表示给定链表中的环&#xff0c;我们使用整数 pos 来表示链表尾连接到链表中的位置&#xff08;索引从 0 开始&#xff09;。 如果 pos 是 -1&#xff0c;则在该链表中没有…

html5 支持表格吗,html5 – 在HTML 5中使用表格很好吗?

简单规则 – 使用表格表格数据&#xff0c;使用其他元素进行演示(使用CSS设计布局)&#xff0c;如div&#xff0c;section&#xff0c;aside&#xff0c;nav等。这为他们所持有的内容提供了意义&#xff0c;而不是为所有内容使用表事实是&#xff0c;开发人员在90年代使用了表格…

css网格_我如何记住CSS网格属性

css网格The syntax for CSS Grid is foreign and hard to remember. But if you can’t remember CSS Grid’s syntax, you won’t be confident when you use CSS Grid.CSS Grid的语法是外来的&#xff0c;很难记住。 但是&#xff0c;如果您不记得CSS Grid的语法&#xff0c;…

2017年读书计划(一)

前言 这篇博文就暂时不记录技术了&#xff0c;记录下生活。对自己今年2017年做个读书计划安排。 最近在看一部网络剧 - 《花间提壶方大厨》&#xff0c;也许你们会感觉我很无聊&#xff0c;我也是被头条带坏了&#xff0c;每天上班一个小时的地下交通-地铁&#xff0c;就借助上…

.net10个必备工具

1.NUnit 编写单元测试的工具2.NDoc 自动生成代码文档的工具3.NAnt 编译解决方案的工具4.CodeSmith 自动生成代码的工具5.FxCop 检查你的代码是否按照规范编写的工具6.Snippet Compiler 编译少量代码的工具7.ASP.NET Version Switcher Visual Studio .NET Project Conve…

音标

音标 oror ds念子音&#xff0c;ts念s音

leetcode 530. 二叉搜索树的最小绝对差(中序遍历)

给你一棵所有节点为非负值的二叉搜索树&#xff0c;请你计算树中任意两节点的差的绝对值的最小值。示例&#xff1a;输入&#xff1a;1\3/2输出&#xff1a; 1解释&#xff1a; 最小绝对差为 1&#xff0c;其中 2 和 1 的差的绝对值为 1&#xff08;或者 2 和 3&#xff09;。代…

计算机排线知识,一种计算机排线梳理装置制造方法及图纸

【技术实现步骤摘要】一种计算机排线梳理装置本技术涉及计算机排线梳理&#xff0c;具体涉及一种计算机排线梳理装置。技术介绍计算机俗称电脑&#xff0c;是现代一种用于高速计算的电子计算机器&#xff0c;可以进行数值计算&#xff0c;又可以进行逻辑计算&#xff0c;还具有…

github和pypi_如何将GitHub用作PyPi服务器

github和pypiI was looking for a hosted private PyPi Python Package server, that used credentials that the team already has (such as GitHub).我正在寻找一个托管的私有PyPi Python Package服务器&#xff0c;该服务器使用了团队已经拥有的凭据(例如GitHub)。 I didn’…

数据结构与算法---查找算法(Search Algorithm)

查找算法介绍 在java中&#xff0c;我们常用的查找有四种: 顺序(线性)查找 二分查找/折半查找 插值查找斐波那契查找1)线性查找算法 示例&#xff1a; 有一个数列&#xff1a; {1,8, 10, 89, 1000, 1234} &#xff0c;判断数列中是否包含此名称【顺序查找】 要求: 如果找到了&a…

Exchange Server 2007邮箱存储服务器的集群和高可用性技术(上)

高可用性矩阵-->见下图:邮箱服务器高可用性目标: 数据可用性-->保护邮箱数据免于失败和损坏服务可用性-->提高群集实效转移操作 简化群集管理 支持地理分散的群集 支持低成本大邮箱(GB)使用户可以基于业务需要更好的选择容错方案提高解决方案的可用性使用解决方案可…

【C/C++开发】C++实现字符串替换的两种方法

替换字符串replace() erase()//C 第一种替换字符串的方法用replace()|C 第二种替换字符串的方法用erase()和insert()【 Cstring|C replace()|C erase()|C insert()|C自定义替换字符串函数】#include<string> #include<iostream> using namespace std;//第一种替换字…

html设置按钮样式变为椭圆,css border-radius圆形变为椭圆形,位置:绝对

我正在围绕字体真棒图标创建一个圆圈。我的问题是&#xff0c;当我添加position: absolute圆成为一个椭圆。css border-radius圆形变为椭圆形&#xff0c;位置&#xff1a;绝对同样的情况&#xff0c;如果我是设置display: block这里是什么&#xff0c;我想实现的图像 -CONRADU…