面试题
mcxiaochi
http://machi.blog.csdn.net
展开
-
vue实现倒计时功能
<p class="tool"> <span style="border-radius: 50%; height: 100px; width: 100px; display: inline-block; background: #606266; vertical-align: top;opacity:0.3;"> <span style="display: block; color: #F.原创 2021-10-29 10:49:11 · 199 阅读 · 0 评论 -
JAVA基础
原创 2020-10-23 17:05:53 · 170 阅读 · 0 评论 -
多线程面试题
原创 2020-10-23 17:00:25 · 102 阅读 · 0 评论 -
什么是缓存穿透?如何避免?什么是缓存雪崩?何如避免?
■ 缓存穿透一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。一些恶意的请求会故意查询不存在的key,请求量很大,就会对后端系统造成很大的压力。这就叫做缓存穿透。如何避免?1:对查询结果为空的情况也进行缓存,缓存时间设置短一点,或者该key对应的数据insert了之后清理缓存。2:对一定不存在的key进行过滤。可以把所有的可能存在的key放到一个大的Bitmap中,查询时通过该bitmap过滤。■ 缓存雪崩当缓存服务器重启或者大量缓存集中在某原创 2020-09-10 14:13:08 · 892 阅读 · 0 评论 -
Java集合相关(mcxiaochi)
Collection:是一个集合类(List,Set,Queue)的根接口。Collections:是针对集合的一个工具类,它提供了一系列静态方法实现对各种集合的搜索,排序,线程安全化等操作。线程安全相关的都离不开synchronized;List是一个只能存放单个元素的集合,List集合所包含的元素可以重复,元素按照放入的先后顺序来存放,程序可以通过元素的索引来读取元素,因此list相当...原创 2020-02-15 21:43:58 · 142 阅读 · 0 评论 -
雪崩效应,和为什么要使用熔断器?
在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,这就是服务器雪崩效应。服务雪崩效应是一种因"服务提供者"的不可用导致的“服务消费者”的不可用,并将不可用逐渐放大的过程。对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几秒内饱和。比失败更糟糕的是,这些应用程序还可能导致服务之间的延迟增加,备份队列,线程和其他系统资源紧张...原创 2020-01-25 16:13:02 · 1673 阅读 · 0 评论 -
Spring中的BeanFactory和FactoryBean有何区别?
BeanFactory:以Factory结尾,表示它是一个工厂类(接口),用于管理Bean的一个工厂。在spring中,BeanFactory是Ioc的核心容器,它的职责包括:实例化,定位,配置应用程序中的对象及建立这些对象的依赖。FactoryBean:以bean结尾,表示它是一个bean,不同于其它bean的是:他是实现了 FactoryBean接口的bean,根据该Bean的ID从Be...原创 2020-01-25 09:09:06 · 597 阅读 · 0 评论 -
输入一个字符串,字符串内容是一片含有标点符号和空格的英文文章。 输出返回这个字符串长度最大的英文单词字符串。
package com.cm.activity.ss;/** * @Author: machi * @Date: 2019-12-17 * @Time: 17:46 * @ClassName: LongestStatistics * @Description:输入一个字符串,字符串内容是一片含有标点符号和空格的英文文章。 * 输出返回这个字符串长度最大的英文单词字符串。 */p...原创 2019-12-17 18:15:30 · 1260 阅读 · 0 评论 -
java遍历map
package com.cm.activity.ss;import java.util.HashMap;import java.util.Map;/** * @Author: machi * @Date: 2019-12-08 * @Time: 12:00 * @ClassName: TraversalMap * @Description: 遍历map */public c...原创 2019-12-08 12:06:31 · 104 阅读 · 0 评论 -
list去重最方便两种方法
package com.cm.activity.ss;import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Set;import java.util.stream.Collectors;/** * @Author: machi * @Date: 201...原创 2019-12-08 11:58:33 · 214 阅读 · 0 评论 -
函数和存储过程的区别
函数有返回值,存储过程依靠out,in out 返回数据调用时,函数通过表达式调用,存储过程只需要过程名即可调用。原创 2019-12-07 09:39:01 · 102 阅读 · 0 评论 -
面试
首先问题是Stringbuffer和StringBuilder的区别区别肯定是Stringbuffer是线程安全的,性能低接着就问Stringbuffer为什么线程安全?StringBuffer中的方法都加了synchronized关键字string常用方法length(),substring(),trim(),equals(), split(),toUpperCase(); toLo...原创 2019-11-29 21:28:39 · 231 阅读 · 0 评论 -
简单选择题(语文类)
根据有关专家分析,传统木质锅盖尽管不可能彻底消失,但在锅盖中的霸主地位已经失去.金属锅盖也不尽如人意.用高品质金属材料制作,必然工艺技术复杂,价格昂贵;若用一般金属材料制作,则易氧化变形.玻璃锅盖则不同,它永不变色,永远晶莹剔透,给人以美观、卫生、实用的感觉,更无腐变、氧化及有害人体之忧.由此可知:( )A.玻璃锅盖是最好的锅盖B.玻璃锅盖的价格较为合理C.玻璃锅盖的优点突出D.木质锅...原创 2019-11-11 07:33:46 · 9163 阅读 · 0 评论 -
数学考题
1 甲乙丙丁四个人,每个人只会英、法、德、汉四种语言中的两种。没有一种语言大家都会,但有一种语言三个人都会。另外,甲不会法语,但当乙与丙交流时需要他当翻译。乙会汉语,丁虽然不懂但他们能交流。没有一种语言甲乙丙三人都会。没有人既懂德语又懂汉语。据此可以推知,三个人都会的语言是:AA.英语 B.法语 C.德语 D.汉语析:因为乙与丙不可以交流,所以,乙和丙没有相同的语言,且只会两种语言,故乙...原创 2019-11-11 06:55:44 · 10649 阅读 · 0 评论 -
事务
事务就是对一系列的数据库操作进行统一的提交或回滚操作事务的属性原子性(Atomicity),在一个事务中的所有操作,相当于一个原子操作,要么全部成功,要么全部失败。一致性(Consistency),就是在事务执行前后,对于事务本身的用意而言,数据库中的数据是保持一致的,数据库的一致性是建立在原子性的基础之上的,更多的由编码的程序员保证,最经典的案例是A,B帐号之间的转账。隔离性(Isola...原创 2019-10-21 19:41:16 · 152 阅读 · 0 评论 -
#{}和${}的区别
#{}是预编译处理,Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值,使用#{}可以有效的防止SQL注入,提高系统安全性。是字符串替换,Mybatis在处理{}是字符串替换,Mybatis在处理是字符串替换,Mybatis在处理{}时,就是把${}替换成变量的值。...原创 2019-10-21 19:34:28 · 83 阅读 · 0 评论 -
Mybaits的原理
在MyBatis运行开始时需要先通过Resources加载全局配置文件,实例化SqlSessionFactoryBuilder构建器,帮助SqlSessionFactory接口实现类DefaultSqlSessionFactory。在实例化DefaultSqlSessionFactory之前需要先创建XmlConfigBuilder解析全局配置文件流,并把解析结果存放在Configuration...原创 2019-10-21 19:33:51 · 100 阅读 · 0 评论 -
Spring 框架中用到的设计模式
工厂设计模式 : Spring使用工厂模式通过 BeanFactory、ApplicationContext 创建 bean 对象。代理设计模式 : Spring AOP 功能的实现。单例设计模式 : Spring 中的 Bean 默认都是单例的。模板方法模式 : Spring 中 jdbcTemplate、hibernateTemplate 等以 Template 结尾的对数据库操作的类,...原创 2019-10-21 19:30:33 · 170 阅读 · 0 评论 -
将一个类声明为Spring的 bean 的注解
@Component :通用的注解,可标注任意类为 Spring 组件。如果一个Bean不知道属于拿个层,可以使用@Component 注解标注。@Repository : 对应持久层即 Dao 层,主要用于数据库相关操作。@Service : 对应服务层,主要涉及一些复杂的逻辑,需要用到 Dao层。@Controller : 对应 Spring MVC 控制层,主要用户接受用户请求并调用 ...原创 2019-10-21 19:29:47 · 971 阅读 · 0 评论 -
Spring MVC的工作流程
客户端(浏览器)发送请求,直接请求到 DispatcherServlet。DispatcherServlet 根据请求信息调用 HandlerMapping,解析请求对应的 Handler。解析到对应的 Handler(也就是我们平常说的 Controller 控制器)后,开始由 HandlerAdapter 适配器处理。HandlerAdapter 会根据 Handler来调用真正的处理器...原创 2019-10-21 19:29:10 · 80 阅读 · 0 评论 -
Java设计模式之建造者模式(创建型模式)
概述: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。、适用性:1.当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。2.当构造过程必须允许被构造的对象有不同的表示时。接口PersonBuilderpublic interface PersonBuilder { void buildHead(); void bui...原创 2019-08-28 09:13:23 · 121 阅读 · 0 评论 -
数组的排序算法有哪些?如何实现?
□ 选择排序法选择排序法的基本思路是:将要排序的数组分成两部分,一部分是从小到大已经排好序的,一部分是无序的,从无序的部分取出最小的数值,放到已经排好序的部分的最后。选择排序法的实现代码如下://选择排序法public int[] xuanze(int[] arr) {int t;for (int i = 0; i < arr.length; i++) {int m = i;f...原创 2019-01-05 22:07:56 · 1250 阅读 · 0 评论 -
Java将一个正整数分解为质因数
import java.util.Scanner;public class Test3 { public static void main(String[] args) { Scanner input = new Scanner(System.in); // 输入 System.out.print("请输入一个大于3的数:"); int number = input.ne...原创 2018-11-24 08:35:31 · 3719 阅读 · 0 评论 -
java实现水仙花数
如果一个3位正整数的各个位数立方和等于这个数本身,称为水仙花数 public static void main(String[] args){ int num,sd,td,hd; for(num=100;num<1000;num++) { hd=num/100; td=(num-100*hd)/...原创 2018-11-22 20:29:12 · 3626 阅读 · 0 评论 -
struts2的实现原理
1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin);3、接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来...原创 2018-10-29 22:07:44 · 168 阅读 · 0 评论 -
JSP如何处理运行时异常(run-time)exceptions?
可以使用页面的errorPage属性捕获没有处理的运行时异常,然后自动转向到一个错误处理页面,代码如下:<%@ page errorPage=”error.jsp” %>如果在页面请求时出现运行时异常是,以上代码会把页面转向到JSP页面error.jsp,在error.jsp里面,可以通过以下代码定义这个页面是错误处理页:<%@ page isErrorPage=”true...原创 2018-10-23 21:35:19 · 845 阅读 · 0 评论 -
Java设计模式之单例模式(创建型模式)
概述:保证一个类仅有一个实例,并提供一个访问它的全局访问点。适用性:1.当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。2.当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。单例模式写法public class Singleton { private static Singleton sing; priva...原创 2019-08-28 09:19:43 · 120 阅读 · 1 评论 -
Java设计模式之原型模式(创建型模式)
概述:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。适用性:1.当一个系统应该独立于它的产品创建、构成和表示时。2.当要实例化的类是在运行时刻指定时,例如,通过动态装载。3.为了避免创建一个与产品类层次平行的工厂类层次时。4.当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。publ...原创 2019-08-28 09:28:56 · 207 阅读 · 0 评论 -
Java设计模式之适配器模式(结构型模式)
概述:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适用性:1.你想使用一个已经存在的类,而它的接口不符合你的需求。2.你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口 可能不一定兼容的类)协同工作。3.(仅适用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每一个都进行...原创 2019-08-28 09:44:56 · 126 阅读 · 0 评论 -
Java设计模式之桥接(Bridge)模式(结构型模式)
概述: 将抽象部分与它的实现部分分离,使它们都可以独立地变化。适用性:1.你不希望在抽象和它的实现部分之间有一个固定的绑定关系。 这种情况可能是因为,在程序运行时刻实现部分应可以被选择或者切换。2.类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。 这时Bridge模式使你可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充。3.对一个抽象的实现部分的修改应对客...原创 2019-08-29 09:29:23 · 142 阅读 · 0 评论 -
Java设计模式之组合(Composite)模式(结构型模式)
定义:将对象组合成树形结构以表示"部分-整体"的层次结构。“Composite使得用户对单个对象和组合对象的使用具有一致性。”适用性:1.你想表示对象的部分-整体层次结构。2.你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。为组合中的对象声明接口。在适当的情况下,实现所有类共有接口的缺省行为。声明一个接口用于访问和管理Component的子组件。(可...原创 2019-08-29 09:51:44 · 188 阅读 · 0 评论 -
Java设计模式之装饰(Decorator)模式(结构型模式)
定义: 动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。适用性:1.在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。2.处理那些可以撤消的职责。3.当不能采用生成子类的方法进行扩充时。定义一个对象接口,可以给这些对象动态地添加职责。Componentpublic interface Person { v...原创 2019-08-29 10:15:16 · 104 阅读 · 0 评论 -
Java设计模式之外观(Facade)模式(结构型模式)
定义: 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。使用场景: 1.当你要为一个复杂子系统提供一个简单接口时。子系统往往因为不断演化而变得越来越 复杂。大多数模式使用时都会产生更多更小的类。这使得子系统更具可重用性,也更容 易对子系统进行定制,但这也给那些不需要定制子系统的用户带来一些使用上的困难。 Facade可...原创 2019-08-29 11:27:22 · 110 阅读 · 0 评论 -
Java设计模式之享元(Flyweight)模式(结构型模式)
定义: 运用共享技术有效地支持大量细粒度的对象。适用性:当都具备下列情况时,使用Flyweight模式:1.一个应用程序使用了大量的对象。2.完全由于使用大量的对象,造成很大的存储开销。3.对象的大多数状态都可变为外部状态。4.如果删除对象的外部状态,那么可以用相对较少的共享对象取代很多组对象。5.应用程序不依赖于对象标识。由于Flyweight对象可以被共享,对于概念...原创 2019-08-29 11:42:42 · 113 阅读 · 0 评论 -
Java设计模式之代理(Proxy)模式(结构型模式)
定义: 为其他对象提供一种代理以控制对这个对象的访问。适用性:1.远程代理(RemoteProxy)为一个对象在不同的地址空间提供局部代表。2.虚代理(VirtualProxy)根据需要创建开销很大的对象。3.保护代理(ProtectionProxy)控制对原始对象的访问。4.智能指引(SmartReference)取代了简单的指针,它在访问对象时执行一些附加操作。保存一个引用...原创 2019-08-29 13:55:48 · 132 阅读 · 0 评论 -
JSP页面是如何被执行的?JSP执行效率比Servlet低吗?
当客户端向一个JSP页面发出请求时,Web Container将JSP转化成Servlet的源代码(只在第一次请求时),然后编译转化后的Servlet并加载到内存中执行,执行的结果Response到客户端。JSP只在第一次执行的时候会转化为Servlet,以后每次执行Web容器都是直接执行编译后的Servlet,所以JSP和Servlet只是在第一次执行的时候不一样,JSP慢一点,以后的执行都是...原创 2018-10-23 21:33:44 · 2564 阅读 · 0 评论