Java
文章平均质量分 75
xiaobinsz
Cafe Babe
展开
-
Ribbon 的负载均衡策略
轮询策略(RoundRobinRule):默认值,以轮询的方式选择服务。随机策略(RandomRule):随机从服务列表中选择服务进行访问。最大可用策略(BestAvailableRule):在过滤出故障服务后,选择一个当前并发数最小的服务进行访问。带加权的轮询策略(WeightedResponseTimeRule):对各个服务的响应时间进行加权处理,然后采用轮询的方式来访问相应的服务。可用过滤策略(AvailabilityFilteringRule):先在服务中过滤出故障的或并发请求大于阈值的服.原创 2021-06-15 16:47:41 · 201 阅读 · 0 评论 -
浅拷贝与深拷贝
什么是浅拷贝与深拷贝浅拷贝:只是复制了对象的引用地址,两个对象指向同一个内存地址,所以修改其中任意的值,另一个值都会随之变化。-深拷贝:将对象及值复制过来,两个对象修改其中任意的值另一个值不会改变。如何实现深拷贝实现Cloneable接口并重写Object类中的clone()方法。实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆。...原创 2021-06-04 23:01:04 · 67 阅读 · 0 评论 -
Spring对事务的支持
浅析Spring对事务的支持Spring对事务的支持依赖于数据库是否支持事务,例如使用MySql且选择的是 innodb 引擎,那么就可以使用,若选择的是 myisam 引擎的话那就无法支持。PS:MySql对实现原子性的保证:MySql中,对已执行操作的回滚是通过回滚日志(undo log)来实现的。所有事务进行的修改操作都会先记录到这个回滚日志中,然后再执行相关的操作。若执行过程中遇到一次需要回滚,则可直接利用回滚日志中的信息进行回滚。回滚日志会相遇数据持久化到磁盘上,这样就保证了即使出现数据转载 2021-06-04 18:03:36 · 255 阅读 · 0 评论 -
Java并发编程面试要点
并发基础1、线程、进程与协程线程、进程与协程的区别进程:本质上是⼀个独立执⾏的程序,操作系统进行资源分配和调度的⼀个独立单位。线程:操作系统进行运算调度的最小单位。属于进程,是进程中实际工作的单位。一个进程中可以并发多个线程,每条线程执行不同的任务,线程的切换受系统控制。协程:又称微线程,是一种用户态的轻量级线程。不像线程和进程需要进行系统内核上的上下文切换,协程的上下文切换是由用户自己决定的,有自己的上下文,所以说是轻量级的线程。一个线程可以有多个协程,线程与进程都是同步机制,而线程则是异步原创 2021-05-31 15:03:54 · 178 阅读 · 0 评论 -
SpringMVC 面试题汇锦
什么是Spring MVC ?简单介绍下你对springMVC的理解?Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。...转载 2021-05-25 15:13:41 · 246 阅读 · 0 评论 -
MyBatis面试题汇锦
什么是MyBatisMybatis是一个半ORM(对象关系映射)框架,内部封装了JDBC、加载驱动、创建连接、创建statement等繁杂的过程,开发者开发时只需要关注如何编写SQL语句,可以严格控制sql执行性能,灵活度高。作为一个半ORM框架,MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。通过xml 文件或注解的方式将要执行的各种 statement 配置起来,并通过java对象和 s转载 2021-05-25 13:45:48 · 226 阅读 · 0 评论 -
Spring面试题汇锦
什么是Spring?Spring 是一个轻量级的 IoC 和AOP 容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。主要由以下7个模块组成:Spring Core:核心类库,所有功能都依赖于该类库,提供IoC 和 DI 服务。Spring Context :提供框架式的Bean访问模式,以及企业级功能(JNDI、定时任务等)。Spring AOP :AOP 服务Spring DAO:对JDBC的抽象封装,简化了数据访问异原创 2021-05-24 15:11:45 · 304 阅读 · 0 评论 -
Java虚拟机面试题汇锦
简述JVM内存模型线程私有的运行时数据区:程序计数器、Java虚拟机栈、本地方法栈。线程共享的运行时数据区:方法去、堆。简述程序计数器(PC)程序计数器表示当前线程所执行的字节码的行号指示器。程序计数器不会 产生 StackOverflowError 和 OutOfMemoryError。简述Java虚拟机栈Java虚拟机栈是用来描述Java方法执行的内存模型。线程在被创建时会被分配一个栈空间,当线程结束后栈空间就会被回收。栈中元素用于支持虚拟机进行方法调用,每个方法在执行时都会创建一个栈帧原创 2021-05-22 18:15:42 · 137 阅读 · 0 评论 -
Java虚拟机对方法的调用
静态绑定与动态绑定静态绑定:指在解析阶段就能够直接识别到目标方法的情况。(重载可以看成静态绑定,因为对于重载方法的区分在编译阶段就已经完成,所以也可以认为Java虚拟机中不存在重载这一概念)动态绑定:指需要在运行过程中根据调用者的动态类型来识别目标方法的情况。(重写也可被称为动态绑定)方法绑定在 class 文件中,编译器会用符号引用指代目标方法。在执行调用之类前,其符号引用会被解析成实际引用。对于静态绑定的方法调用来说,实际引用为直接指向目标方法的指针。对于动态绑定的方法调用而言原创 2021-05-18 16:44:33 · 160 阅读 · 0 评论