
面试
文章平均质量分 87
wfh6732
这个作者很懒,什么都没留下…
展开
-
[jvm] [面试] jvm 常用配置参数
常见配置汇总堆设置-Xms:初始堆大小-Xmx:最大堆大小-XX:NewSize=n:设置年轻代大小-XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4-XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survi原创 2017-02-26 23:53:31 · 430 阅读 · 0 评论 -
[面试][oracle]详述Oracle RAC的五大优势及其劣势
不同的集群产品都有自己的特点,RAC的特点包括如下几点: ·双机并行。RAC是一种并行模式,并不是传统的主备模式。也就是说,RAC集群的所有成员都可以同时接收客户端的请求。 ·高可用性。RAC是Oracle数据库产品高可用性的解决方案,能够保证在集群中只要有一个节点存活,就能正常对外提供服务。 ·易伸缩性。RAC可以非常容易地添加、删除节点,以满足系统自身的调整。转载 2017-03-05 23:59:32 · 3637 阅读 · 0 评论 -
[面试][oracle] 数据库去重的三种方法:
第一种: 两条记录或者多条记录的每一个字段值完全相同,这种情况去重复最简单,用关键字distinct就可以去掉。例:1SELECT DISTINCT * FROM TABLE第二种: 两条记录之间之后只有部分字段的值是有重复的,但是表存在主键或者唯一性ID。如果是这种情况的话用DISTINCT是过滤不了的,转载 2017-03-06 00:04:17 · 794 阅读 · 0 评论 -
[面试][oracle] 数据库 行转列 列转行详解
[一]、行转列 1.1、初始测试数据 表结构:TEST_TB_GRADE create table TEST_TB_GRADE ( ID NUMBER(10) not null, USER_NAME VARCHAR2(20 CHAR), COURSE VARCHAR2转载 2017-03-06 00:53:51 · 602 阅读 · 0 评论 -
[面试] Oracle 11g 行列互换 pivot 和 unpivot
pivot 列转行测试数据 (id,类型名称,销售数量),案例:根据水果的类型查询出一条数据显示出每种类型的销售数量。 ?123456789createtable demo(id int,namevarchar(20),numsint);原创 2017-03-06 00:58:55 · 831 阅读 · 0 评论 -
[面试][架构] 微服务、SOA、ESB
一、微服务与SOA之间差了一个ESB:http://cloud.51cto.com/art/201512/500474.htm二、 SOA和微服务架构的区别:https://www.zhihu.com/question/37808426三、 微服务、SOA 和 API对比与分析:http://www.cnblogs.com/WeiGe/p/565转载 2017-03-06 01:07:05 · 1568 阅读 · 0 评论 -
MQ消息中间件的应用场景
一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景。2.转载 2017-08-17 22:38:19 · 2744 阅读 · 0 评论 -
request.sendRedirect 和 request.getRequestDispatcher
request.sendRedirect和request.getRequestDispatcher 1.request.getRequestDispatcher()是请求转发,前后页面共享一个request ; response.sendRedirect()是重新定向,前后页面不是一个request。 2.RequestDispatcher.forw转载 2017-08-25 11:45:14 · 937 阅读 · 0 评论 -
[jvm][面试]JVM 调优总结
说明: 以下的总结内容适用于jdk8以下的版本. jdk8已经移除了永久区(PermGen)堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理转载 2017-02-26 18:19:44 · 19747 阅读 · 2 评论 -
[jvm][面试] jvm full gc 的触发情况以及解决办法
堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,如下图所示:从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称为Major GC,而Full GC是对整个堆来说的,在最近几个版本的JDK里默认包括了对永生带即方法区的回收(JDK8中无永生带了),出现Full GC的时候经常伴随至少一次的Minor转载 2017-02-26 22:54:46 · 774 阅读 · 0 评论 -
[面试] - jdk 中的设计模式(加入自己的理解)
下面是JDK中有关23个经典设计模式的示例:Structural(结构模式)Adapter (适配器):把一个接口或是类变成另外一种。● java.util.Arrays#asList()● javax.swing.JTable(TableModel)● java.io.InputStreamReader(InputStream)● java.io.Outp转载 2017-02-22 18:08:15 · 339 阅读 · 0 评论 -
[面试] 自动洗扑克牌
public Class Poker{//private Card[] = new Card[54];//第一种洗牌方法, 利用集合工具类Collectionspublic static Card[] shuffle(Card[] cards){return Collections.shuffle(Arrays.asList(cards));}// 第二种洗牌方法.原创 2017-01-23 22:39:18 · 288 阅读 · 0 评论 -
[面试] MPP数据库
MPP数据库定义MPP即大规模并行处理(Massively Parallel Processor )。 在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据 库服务。非共享数据库集群有完全的可伸缩性、高可用、高性能、优秀的性价比、资源共享等优势。转载 2017-03-05 01:45:58 · 1013 阅读 · 0 评论 -
[面试] 关于HTTP协议,一篇就够了
HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信转载 2017-03-08 18:25:30 · 13116 阅读 · 0 评论 -
[面试] TCP协议详解
为什么会有TCP/IP协议在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。但是简单的连到一起是远远不够的转载 2017-03-08 18:44:42 · 474 阅读 · 0 评论 -
[jvm][面试] 并发收集器 CMS(Concurrent Mark-Sweep)
1.总体介绍:CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。CMS是用于对tenured generation的回收,也就是年老代的回收,目标是尽量减少应用的暂停时间,减少full gc发生的几率,利用和应用程序线程并发的垃圾回收线程来标记清除年老代。在启动JVM参数加转载 2017-02-26 21:27:58 · 18182 阅读 · 0 评论 -
[面试] [java] super 关键字的使用
从一道笔试题说起, 下面一段代码的执行结果是?public class Test extends Base{ private String name; public static void main(String[] args){ new Test().m(); } void m(){ System.err.println(super.getClass().getNam原创 2017-03-08 23:14:30 · 392 阅读 · 0 评论