自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注Java面试整理

专注Java面试整理

  • 博客(83)
  • 收藏
  • 关注

原创 Java面试之数组(详细)

1、什么是数组?数组(Array)是一种线性表数据结构,它用一组连续的内存空间,来存储相同类型的数据。2 、什么是线性表(LinearList)?线性表就是数据排成一条线一样的结构,每个线性表的数据最多只有前后两个方向。例如:数组,链表,队列,栈等都是线性表结构。3、 什么是非线性表?例如:二叉树,堆,图,等,是非线性表,是因为,在非线性表中,数据之间并不是...

2019-04-17 17:14:25 4047

原创 深圳某第三方支付公司(有支付牌照)Java面试

技术面一:1、case、decode用法考察2、dubbo的容错机制3、ActivMQ用法考察4、spring事物、JDBC事物、编程事物5、IOC、AOP是什么6、你的支付项目违规吗7、Redis作用8、SSL(https)流程说下9、结算流程是怎样的?10、js插件怎么写?11、JS闭包是什么?12、用什么开发工具?idea快捷键找到一个接口的实...

2019-03-28 17:36:00 3101

原创 Java高级程序员——面试综合练习五

Java基础面向对象的特征:继承、封装和多态 final, finally, finalize 的区别 Exception、Error、运行时异常与一般异常有何异同 请写出5种常见到的runtime exception int 和 Integer 有什么区别,Integer的值缓存范围 包装类,装箱和拆箱 String、StringBuilder、StringBuffer 重载...

2019-03-14 16:55:58 2331

原创 Java高级程序员——面试综合练习四

Java基础面向对象的特征:继承、封装和多态 final, finally, finalize 的区别 Exception、Error、运行时异常与一般异常有何异同 请写出5种常见到的runtime exception int 和 Integer 有什么区别,Integer的值缓存范围 包装类,装箱和拆箱 String、StringBuilder、StringBuffer 重载...

2019-03-14 16:55:16 2070

原创 Java高级程序员——面试综合练习三

Java基础面向对象的特征:继承、封装和多态 final, finally, finalize 的区别 Exception、Error、运行时异常与一般异常有何异同 请写出5种常见到的runtime exception int 和 Integer 有什么区别,Integer的值缓存范围 包装类,装箱和拆箱 String、StringBuilder、StringBuffer 重载...

2019-03-14 16:54:33 2107

原创 Java高级程序员——面试综合练习二

Java基础面向对象的特征:继承、封装和多态 final, finally, finalize 的区别 Exception、Error、运行时异常与一般异常有何异同 请写出5种常见到的runtime exception int 和 Integer 有什么区别,Integer的值缓存范围 包装类,装箱和拆箱 String、StringBuilder、StringBuffer 重载...

2019-03-14 16:53:54 325

原创 Java高级程序员——面试综合练习一

Java基础面向对象的特征:继承、封装和多态 final, finally, finalize 的区别 Exception、Error、运行时异常与一般异常有何异同 请写出5种常见到的runtime exception int 和 Integer 有什么区别,Integer的值缓存范围 包装类,装箱和拆箱 String、StringBuilder、StringBuffer 重载...

2019-03-14 16:49:57 878

原创 Java顺序执行多个线程的9种方式

比如有线程A和B,在A执行完成后B再开始执行1、在线程A run方法最后启动线程B。2、共享一个volatile boolean类型的标识变量,B一直检查该变量的值,而A则在执行完成后改变A的值。3、使用中断机制,B一直检查Thread.currentThread().isInterrupted(),而A则在执行完成过后中断BthreadB.interrupt()。4、使用Ob...

2019-03-12 10:55:07 462

原创 Java常见异常(面试)

运行时异常算术异常类:ArithmeticExecption空指针异常类:NullPointerException类型强制转换异常:ClassCastException数组负下标异常:NegativeArrayException数组下标越界异常:ArrayIndexOutOfBoundsException违背安全原则异常:SecturityException字符串转换为...

2019-03-11 16:51:35 593

原创 Java面试之加密算法

1、Java中常用的加密算法散列算法MD5 SHA对称加密DES 3DES AES非对称加密RSA ECC2、什么是base64Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法,不属于加密算法,只是是编码方式。...

2019-01-29 16:38:31 2173

原创 分布式一致性理论CAP+BASE

一致性一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据的值是一致的。同时,一致性也是指事务的基本特征或特性相同,其他特性或特征相类似 。一致性又可以分为强一致性与弱一致性 。1.强一致性强一致性可以理解为在任意时刻,所有节点中的数据是一样的。同一时间点,你在节点A中获取到key1的值与在节点B中获取到key1的值应该都是一样的。2.弱一致性弱一致性包含很...

2019-01-29 16:32:12 450

原创 Java实现常见七个排序算法

外排序:需要在内外存之间多次交换数据才能进行内排序: 插入类排序 直接插入排序 希尔排序选择类排序 简单选择排序 堆排序交换类排序 冒泡排序 快速排序归并类排序 归并排序  排序方法 平均情况 最好情况 最坏情况 辅助空间 稳定性 ...

2019-01-25 15:16:35 269

原创 Java多线程面试专题五(共5篇)

 1、什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?原子操作是指一个不受其他操作影响的操作任务单元。原子操作是在多线程环境下避免数据不一致必须的手段。int++并不是一个原子操作,所以当一个线程读取它的值并加1时,另外一个线程有可能会读到之前的值,这就会引发错误。为了解决这个问题,必须保证增加操作是原子的,在JDK1.5之...

2019-01-24 15:09:44 256

原创 Java多线程面试专题四(共5篇)

必问:有三个线程T1,T2,T3,怎么确保它们按顺序执行?  在多线程中有多种方法让线程按特定顺序执行,你可以用线程类的join()方法在一个线程中启动另一个线程,另外一个线程完成该线程继续执行。为了确保三个线程的顺序你应该先启动最后一个(T3调用T2,T2调用T1),这样T1就会先完成而T3最后完成。参考同步文件夹 1、方法m1和m2有区别吗?public class Test ...

2019-01-24 15:09:06 369

原创 Java多线程面试专题三(共5篇)

1、JVM能创建的最大线程数由谁限制的?首先要说明一点,Java线程的实现是基于底层系统的线程机制来实现的,程序中开的线程并不全部取决于JVM虚拟机栈,而是取决于CPU,操作系统,其他进程,Java的版本。JVM的线程与计算机本身性能相关。答案显然不是的,在不考虑系统本身限制的情况下,主要跟JVM一下几点有关:-Xms 初始堆大小 (在实际生产中,一般把-Xms和-Xmx设置成一样的。...

2019-01-24 15:08:20 421

原创 Java多线程面试专题二(共5篇)

53、如何停止一个线程停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作。停止一个线程可以用Thread.stop()方法,但最好不要用它。虽然它确实可以停止一个正在运行的线程,但是这个方法是不安全的,而且是已被废弃的方法。在java中有以下3种方法可以终止正在运行的线程:使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。 使用stop方法强行...

2019-01-24 15:07:34 640

原创 Java多线程面试专题一(共5篇)

 1、下面哪些是Thread类的方法()A start()       B run()       C exit()       D getPriority()答案:ABD,看Java API docs:,exit()是System类的方法,如System.exit(0)。 2、下面程序的运行结果:() public static void main(String a...

2019-01-24 15:06:00 646

原创 Java面试专题之网络编程

1、BIO、NIO和AIO的区别?BIO:一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理。线程开销大。 伪异步IO:将请求连接放入线程池,一对多,但线程还是很宝贵的资源。 NIO:一个请求一个线程,但客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。 AIO:一个有效请求一个线程,客户端的I/O请求都是由OS先完...

2019-01-22 15:45:15 411

原创 Java面试之枚举专题

1、枚举的作用和好处JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给开发带来了“大”方便。用法一:常量在JDK1.5 之前,我们定义常量都是: public static final.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 public enum Color {    RED, GRE...

2019-01-22 14:59:12 2890

原创 Java面试之异常专题

1、下面关于java.lang.Exception类的说法正确的是()A 继承自Throwable      B Serialable      CD 不记得,反正不正确答案:A解析:Java异常的基类为java.lang.Throwable,java.lang.Error和java.lang.Exception继承 Throwable,RuntimeException和其它的Exce...

2019-01-21 17:14:01 375

原创 Java面试之泛型专题

1、在 jdk1.5 中,引入了泛型,泛型的存在是用来解决什么问题。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数,泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,以提高代码的重用率 http://baike.baidu.com/item/java%E6%B3%9B%E5%9E%8B 2、Java中的泛型是什么 ? 使用泛型的好处是什么?...

2019-01-21 16:29:09 676

原创 Java面试之IO专题

1、下面哪个流类属于面向字符的输入流(  )A  BufferedWriter           B  FileInputStream          C  ObjectInputStream          D  InputStreamReader 答案:D,解析:Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式。面向字节的操作为以8位为单...

2019-01-21 16:11:50 1107

原创 Java面试之集合专题(下)

1、哪一个List实现了最快插入?LinkedList和ArrayList是另个不同变量列表的实现。ArrayList的优势在于动态的增长数组,非常适合初始时总长度未知的情况下使用。LinkedList的优势在于在中间位置插入和删除操作,速度是最快的。LinkedList实现了List接口,允许null元素。此外LinkedList提供额外的get,remove,insert方法在Link...

2019-01-21 14:52:18 254

原创 Java面试之集合专题(上)

1、集合与数组数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。 2、层次关系Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却让其被继承产生了两个接口,就是Set和List。Set中不能包含重复的元素。Lis...

2019-01-21 14:50:49 290

原创 Java高级开发JVM面试总结整理

1、简述jvm JVM就是我们常说的java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可 以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解 释给本地系统执行。JVM 是 Java 平台的基础,和实际的机器一样,它也有自己的指令集,并且在运行 时操作不同...

2019-01-17 16:08:43 327

原创 Spring web应用中三个上下文的区别

在Spring web环境中,spring 上下文和spring mvc上下文和web应用上下文servletContext之间的关系,要想很好理解这三个上下文的关系,需要先熟悉spring是怎样在web容器中启动起来的。spring的启动过程其实就是其IoC容器的启动过程,对于web程序,IoC容器启动过程即是建立上下文的过程。spring的启动过程:一个web应用,其部署在web容器中...

2019-01-17 16:07:52 760

原创 Java高级开发JVM面试总结

1、简述jvm JVM就是我们常说的java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可 以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解 释给本地系统执行。JVM 是 Java 平台的基础,和实际的机器一样,它也有自己的指令集,并且在运行 时操作不同...

2019-01-17 10:13:07 341

原创 Java高级开发Spring面试之Ioc

1、解释一下Dependency injection(DI,依赖注入)和IOC(Inversion of control,控制反转)依赖注入DI是一个程序设计模式和架构模型, 一些时候也称作控制反转,尽管在技术上来讲,依赖注入是一个IOC的特殊实现,依赖注入是指一个对象应用另外一个对象来提供一个特殊的能力,例如:把一个数据库连接已参数的形式传到一个对象的结构方法里面而不是在那个对象内部自行创建...

2019-01-16 17:33:36 368

原创 Java高级开发Spring面试之事件

Spring 中的所有哪些不同类型的事件?Spring的ApplicationContext提供了支持事务和代码中添加监听器的功能。 可以创建一个bean其实现ApplicationListener接口(类型是ApplicationEvent),当一个ApplicationEvent 被发布后,bean就自动被通知,并且在方法onApplicationEvent(…)方法中处理该事件。...

2019-01-16 17:18:11 271

原创 Java高级开发Spring面试之Spring中的设计模式

Spring 框架中都用到了哪些设计模式?代理模式:在AOP中被用的比较多。单例模式:在spring配置文件中定义的bean默认为单例模式。模板方法:用来解决代码重复的问题。 JmsTemplate, JpaTemplate。前端控制器:Spring提供了DispatcherServlet来对请求进行分发。依赖注入:贯穿于BeanFactory / ApplicationCon...

2019-01-16 17:14:34 917

原创 Java高级开发Spring面试之MVC

1、简述SpringMVC的工作流程1、用户发送请求至前端控制器DispatcherServlet  2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。  3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。  4、DispatcherServlet调用HandlerAdap...

2019-01-16 17:13:16 268

原创 Java高级开发Spring面试之事务

1、Spring 事务的传播属性。七种传播属性。 所谓事务的传播行为是指,如果在开始当前事务之前,一个事务上下文已经存在,此时有若干选项可以指定一个事务性方法的执行行为。在TransactionDefinition定义中包括了如下几个表示传播行为的常量: TransactionDefinition.PROPAGATION_REQUIRED:如果当前存在事务,则加入该事务;如果当前没有事...

2019-01-16 17:08:04 420

原创 Java高级开发Spring面试之Aop

1、什么是aop,aop的作用是什么?面向切面编程(AOP)提供另外一种角度来思考程序结构,通过这种方式弥补了面向对象编程(OOP)的不足除了类(classes)以外,AOP提供了切面。切面对关注点进行模块化,例如横切多个类型和对象的事务管理。Spring的一个关键的组件就是AOP框架,可以自由选择是否使用AOP提供声明式企业服务,特别是为了替代EJB声明式服务。最重要的服务是声明性事务管...

2019-01-16 17:05:41 510

原创 Java高级开发Spring面试

1、什么是Spring框架?Spring框架有哪些主要模块?Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring框架,不必担心Spring是如何在后台进行工作的。Spring...

2019-01-16 17:04:35 1884 1

转载 常用的一些linux命令

之前做过两年的运维,用过很多命令,深切体会到某些linux命令熟练掌握后对效率提升有多大。举个简单的例子,在做了研发后经常会有跑一些数据,对于结果数据的处理,我们的产品同学一般都习惯于用excel做统计,把数据复制到excel里,然后数据分列,排序………… 最后得出某些简单的结论,我只需要cat, sort, uniq, awk, grep 这几个命令挥手间完成相同的操作。  这里我总结下我工作...

2019-01-16 11:53:33 217

原创 几次面试中被问到关于Dubbo的问题

1、注册中心集群都挂掉,发布者和订阅者之间还能通信吗? 可以的,启动dubbo时,消费者会从zk拉取注册的生产者的地址接口等数据,缓存在本地。每次调用时,按照本地存储的地址进行调用,但是,如果服务提供则宕机,消费者变无法知道。那么集群中,任意一台宕掉后,默认会自动切换到另一台 。集群下服务提供者无状态,任一台 宕机后,不影响使用 。服务提供者全部宕机,服务消费者会无法使用,并按集群容错规则,重...

2019-01-15 16:54:53 1932

原创 Dubbo集群容错

启动多个相同的服务提供者,则为集群1、Failover Cluster(默认)调用dubbo方法时,失败自动切换,当出现失败,重试同一服务下的其它服务器 。通常用于读操作,但重试会带来更长延迟。可通过 retries="2"来设置重试次数(不含第一次)。重试次数配置如下:<dubbo:service retries="2" /><dubbo:reference...

2019-01-14 18:22:43 431

原创 Dubbo注册中心

1)Multicast 注册中心Multicast 注册中心不需要启动任何中心节点,只要广播地址一样,就可以互相发现。提供方启动时广播自己的地址 消费方启动时广播订阅请求 提供方收到订阅请求时,单播自己的地址给订阅者,如果设置了 unicast=false,则广播给订阅者 消费方收到提供方地址时,连接该地址进行 RPC 调用。组播受网络结构限制,只适合小规模应用或开发阶段使用。组播...

2019-01-14 18:21:46 218

原创 Dubbo通讯协议

1、Dubbo通讯协议第一、dubbo(默认)Dubbo 缺省协议采用单一长连接和 NIO 异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。反之,Dubbo 缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。缺省协议,使用基于 netty 和 hessian 3.2.1 的 tbremoting 交互。连接个数:单连...

2019-01-14 18:20:24 5770

原创 Dubbo客户端原理

服务请求的基本原理1、client一个线程调用远程接口,生成一个唯一的ID,Dubbo是使用AtomicLong从0开始累计数字。2、将打包的方法调用信息和处理结果的回调对象callback,全部封装在一起,组成一个对象。3、向全局ConcurrentHashMap里面put(ID, object)。4、将ID和打包的方法调用信息封装成一对象connRequest,使用IoSess...

2019-01-14 18:17:30 292

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除