- 博客(64)
- 收藏
- 关注
原创 数据结构--栈的java实现以及习题
使用栈完成类似表达式“string val="4+3+2+1*5”的运算。需求:判断某一个输入的字符串是否为回文。
2022-09-08 17:36:39
390
原创 RabbitMQ面试题(四十四道)
镜像集群模式:这种模式,才是所谓的RabbitMQ的高可用模式,跟普通集群模式不一样的是,你创建的queue,无论元数据(元数据指RabbitMQ的配置数据)还是queue里的消息都会存在于多个实例上,然后每次你写消息到queue的时候,都会自动把消息到多个实例的queue里进行消息同步。(1)创建queue的时候,将queue的持久化标志durable在设置为true,代表是一个持久的队列,这样就可以保证 rabbitmq 持久化 queue 的元数据,但是不会持久化queue里的数据;...
2022-08-15 07:00:00
4331
原创 SpringBoot面试题(五十道)
我们可以使用properties文件,YAML文件 ,环境变量,系统属性和命令行选项参数来指定配置属性。后直接就是包名,包里就是我们的代码,而 Spring Boot 打包成的可执行 jar 解压后,在 \BOOTINF\classes 目录下才是我们的代码,因此无法被直接引用。单纯做 Spring Boot 开发,可能不太容易遇到 bootstrap.properties 配置文件,但是在结合Spring Cloud 时,这个配置就会经常遇到了,特别是在需要加载一些远程配置文件的时侯。...
2022-08-12 00:45:00
5252
原创 SpringCloud面试题(三十七道)
Spring cloud gateway是spring官方基于Spring 5.0、SpringBoot2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供简单、有效和统一的API路由管理方式,Spring Cloud Gateway作为Spring Cloud生态系统中的网关,目标是替代Netflix Zuul,其不仅提供统一的路由方式,并且还基于Filer链的方式提供了网关基本的功能,例如:安全、监控/埋点、限流等。(有点类似Nginx).
2022-08-12 00:45:00
565
原创 Nginx面试题(二十三道)
典型情况下,令牌桶算法用来控制发送到网络上的数据的数目,并允许突发数据的发送。Nginx是当下最热的Web容器,网站优化的重要点在于静态化网站,网站静态化的关键点则是是动静分离,动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们则根据静态资源的特点将其做缓存操作。反向代理,负载均衡。呢,多了这个可以代表Nginx对于一个用户的请求会立即处理前五个,多余的就慢慢来落,没有其他用户的请求我就处理你的,有其他的请求的话我Nginx就漏掉不接受你的请求。..
2022-08-11 05:00:00
649
原创 Dubbo面试题(二十八道)
随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA),也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA),也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。..
2022-08-11 04:00:00
195
转载 Docker面试题(二十七道)
不管是虚机还是容器,都是运用不同的技术,对应用本身进行了一定程度的封装和隔离,在降低应用和应用之间以及应用和环境之间的耦合性上做了很多努力,但是随机而来的,就会产生更多的网络连接转发以及数据交互,这在低并发系统上表现不会太明显,而且往往不会成为一个应用的瓶颈(可能会分散于不同的虚机或者服务器上),但是当同一虚机或者服务器下面的容器需要更高并发量支撑的时候,也就是并发问题成为应用瓶颈的时候,容器会将这个问题放大,所以,并不是所有的应用场景都是适用于容器技术的。你还会得到关于环境搭建方面的团队其他成员的求助。.
2022-08-10 03:30:00
2083
原创 Redis面试题(五十六道)
与传统数据库不同的是 Redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。Redis 的每个节点中都存储着整个集群的状态,集群状态中一个重要的信息就是每个桶的负责节点。Redis 的数据结构并不全是简单的 Key-Value,还有 List,Hash 等复杂的结构,这些结构有可能会进行很细粒度的操作,比如在很长的列表后面添加一个元素,在hash当中添加或者删除一个对象。...
2022-08-09 14:30:00
1205
原创 Shiro面试题(二十道)
SecurityManager才是实际的执行者。Realm:域,shiro从Realm获取安全数据(如用户、角色、权限),就是说SecurityManager要验证用户身份,那么它需要从Realm获取相应的用户进行比较以确定用户身份是否合法;Shiro提供了CredentialsMatcher的散列实现HashedCredentialsMatcher,和PasswordMatcher不同的是,它只是用于密码验证,且可以提供自己的盐,而不是随机生成盐,且生成密码散列值的算法需要自己写,因为能提供自己的盐。..
2022-08-08 21:57:31
5965
原创 Spring MVC面试题(三十六道)
在Spring MVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注解用以定义URL 请求和Controller 方法之间的映射,这样的Controller 就能被外界访问到。@Controller 只是定义了一个控制器类,而使用@RequestMapping 注解的方法才是真正处理请求的处理器。...
2022-08-07 19:57:42
4263
原创 Spring面试题(六十道)
容器创建对象,将它们装配在一起,配置它们并管理它们的完整生命周期。当一个bean仅被用作另一个bean的属性时,它能被声明为一个内部bean,为了定义inner bean,在Spring 的 基于XML的 配置元数据中,可以在 或 元素内使用 元素,内部bean通常是匿名的,它们的Scope一般是prototype。byType:通过参数类型自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byType,之后容器试图匹配、装配和该bean的属性具有相同类型的bean。...
2022-08-07 17:36:54
414
转载 Mybatis面试题(三十三道)
1、什么是Mybatis?答:1、Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。2、MyBatis可以使用XML或注解来配置和映射原生信息,将POJO映射成数据库中的记录,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。3、通过xml文件或注解的方式将要执行的各种statement配置起来,并
2022-08-07 16:48:16
225
原创 Spring Cloud学习笔记
1.按业务(功能)划分为一个独立运行的程序,即服务单元。2.服务之间通过HTTP协议相互通信。http是一个万能的协议(web应用都支持的模式)3.自动化部署。4.可以用不同的编程语言。5.可以用不同的存储技术。6.服务集中化管理。7.微服务是一个分布式系统。SpringCloud作为Java语言的微服务框架,它依赖于SpringBoot,有快速开发、持续交付和容易部署等特点。注册发现中心在分布式微服务里面CAP定理问负载均衡。...
2022-07-31 16:37:12
392
原创 RabbitMQ学习笔记
消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。消息队列(MessageQueue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到MQ中而不用管谁来取,消息使用者只管从MQ中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。...
2022-07-27 11:10:14
124
原创 Spring Boot学习笔记
SpringBoot是Spring中的一个成员,可以简化Spring,SpringMVC的使用。他的核心还是IOC容器。创建spring应用内嵌的tomcat,jetty,Undertow提供了starter起步依赖,简化应用的配置。比如使用MyBatis框架,需要在Spring项目中,配置MyBatis的对象SqlSessionFactory,Dao的代理对象。...
2022-07-26 16:41:03
671
原创 Nginx学习笔记
nginx是高性能的http和反向代理web服务器,其特点是占有内存少,并发能力强。Nginx可以作为静态页面的web服务器,同时还支持CGI协议的动态语言,比如perl、php等。但是不支持java。Java程序只能通过与tomcat配合完成。Nginx作用http代理,反向代理,最重要的是反向代理。Nginx提供的负载均衡策略有两种内置策略和扩展策略。内置策略为轮询。lphash。扩展策略,就天马行空,一切都可能正向代理反向代理负载均衡https。...
2022-07-22 17:01:41
324
原创 Redis学习笔记
我们现在处于大数据时代,大数据一般的数据库无法进行分析处理。关系型数据库表,列,行。泛指非关系型数据库。随着web2.0互联网诞生,传统的关系型数据库很难对付web2.0时代,尤其是超大规模的高并发的社区。NoSQL在当今大数据环境下发展的十分迅速,Redis是发展最快的,而且是当下必须掌握的一个技术。很多数据类型用户的个人信息,社交网络,地理位置,这些数据类型的存储不需要一个固定的格式,不需要多余的操作就可以横向扩展的。NoSQL特点1、方便扩展(数据之间没有关系,很好扩展)...
2022-07-22 09:44:10
422
原创 Vue学习笔记
v-show指令的作用是根据真假切换元素的显示状态,原理是修改元素的display,实现显示隐藏,指令后面的内容,最终都会解析为布尔值,值为true元素显示,值为false元素隐藏,数据改变之后,对应元素的显示状态会同步更新。v-html指令的作用是,设置元素的innerHTML,内容中有html结构会被解析为标签,v-text指令无论内容是什么,只会解析为文本,解析文本使用v-text,需要解析html结构使用v-html。v-bind指令的作用是为元素绑定属性,完整的写法是v-bind属性名。...
2022-07-17 16:05:43
140
原创 SpringMVC学习笔记
SpringMVC也叫springwebmvc,是spring家族的一员,也具备IOC和AOP,是基于MVC开发模式的框架,用来优化控制器。什么是MVC?是一种开发模式,是模型、视图、控制器的简称,所有的web应用都是基于MVC开发。M模型层,包含实体类,业务逻辑层,数据访问层。V视图层,html,javascript,vue等都是视图层,用来显示数据。C控制器,他是用来接受客户端的请求,并返回响应到客户端的组件,Servlet就是组件。SpringMVC的优点。...
2022-07-16 19:59:20
187
原创 MyBatis-Plus学习笔记
在java中访问数据库,使用jdbc。1、在项目中直接使用jdbc,访问数据库。2、把jdbc的操作进行封装,创建了很多工具类,像是BUti1.3、持久层框架。1)hibernate(全自动ORM框架)实现java object–表 的映射,可以通过java对象的方法,操作表中的数据,开发人员可以不了解或少了解sql语言。可以使用hibernate访问不同的数据库而不需要改变代码。通用不同的数据库。底层比较复杂,调优也很复杂。2)jpa规范,定义了访问数据库的各种操作,定义了一致的方法操作数据库
2022-07-14 18:32:24
311
原创 Dubbo学习笔记
分布式系统是若干独立系统的集合,但是用户使用起来像是在使用一套系统。规模的逐步扩大和业务的复杂,单台计算机杠不住巨大流量。应用架构的发展演变:单一架构–>垂直应用架构(优点:扩展容易)–>分布式架构(基于RPC:远程过程调用)Dubbo是一个高性能的RPC框架,解决了分布式中的调用问题。优点:解决了分布式系统中的互相调用问题。提升性能要从最关键的两个方面入手:序列化和网络通信。序列化:Dubbo采用的是效率最高的二进制。网络通信:Dubbo采用socket通信机制,一步到位,提升了通信效率,并且
2022-07-13 16:23:12
143
原创 Spring学习笔记(新)
它是一个容器,是整合其他框架的框架,它的核心是IOC和AOP,它由20多个模块构成,在很多领域都提供优秀的解决方案。是可以在javaSE/EE中使用的轻量级框架。1、轻量级由20多个模块构成,每个jar包都很小,小于1M,核心包在3M左右。对代码无污染。2、面向接口编程使用接口,就是面向灵活,项目的可扩展性、可维护性都极大的提高了。因为:接口不关系实现类的类型,使用时接口指向实现类,切换实现类即可切换整个功能。3、AOP:面向切面编程就是将公共的,通用的,重复的代码单独开发,在需要的时候反织回去,
2022-07-11 17:35:39
79
原创 mybatis学习笔记(新)
在项目开发中,遵循的开发模式。Spring:它是整合其他框架的框架,它的核心是IOC和AOP,由20多个模块构成,在非常多的领域都提供了很好的解决方案,SpringMVC是Spring家族中的一员,专门用来优化控制器(servlet)的,提供了非常简单的数据提交,数据携带,页面跳转等功能。MyBatis:是持久化层的一个框架,用来进行数据库访问的优化,专注与sql语句,极大的简化了JDBC的访问。框架是一个半成品软件,将所有的公共的,重复的功能解决掉,帮助开发人员快速高效的进行开发,可复用,可扩展的工具
2022-07-09 10:56:54
148
原创 typescript学习笔记
ts是以js为基础构建的语言,是JavaScript的超集。typescript扩展了JavaScript,并且添加了类型,可以在任何支持js的平台中执行。但是ts不能被JS解析器直接执行!我们需要把ts编译成js类型、支持ES的新特性、添加ES不具备的新特性、丰富了配置选项、强大的开发工具。· 类型声明也可以直接let a =10;但是不常用可以用竖线“|”来连接多个类型(联合类型)类型any表示任意类型,可以任意赋值。一个变量设置为any相当于对变量关闭了ts的类型检测。如:一般在开发中不使用
2022-07-03 22:30:32
170
原创 java语言基础知识点(每日更新6.30)③
1、以下代码可以使用的修饰符是:()正确答案: A B DA.finalB.staticC.abstractD.public2、以下哪种方式实现的单例是线程安全的正确答案: A B C DA.枚举B.静态内部类C.双检锁模式D.饿汉式3、instanceof运算符能够用来判断一个对象是否为:正确答案: CA.一个类的实例B.一个实现指定接口的类的实例C.全部正确D.一个子类的实例4、在一个基于分布式的游戏服务器系统中,不同的服务器之间,哪种通信方式是不可行的()?
2022-06-30 10:54:31
448
原创 java语言基础知识点(每日更新6.30)②
1、下面有关java classloader说法错误的是?正确答案: CA.Java默认提供的三个ClassLoader是BootStrap ClassLoader,Extension ClassLoader,App ClassLoaderB.ClassLoader使用的是双亲委托模型来搜索类的C.JVM在判定两个class是否相同时,只用判断类名相同即可,和类加载器无关D.ClassLoader就是用来动态加载class文件到内存当中用的2、在运行时,由java解释器自动引入,而不用impor
2022-06-30 04:30:00
701
原创 java语言基础知识点(每日更新6.30)
1、JVM内存不包含如下哪个部分( )正确答案: DA.StacksB.PC寄存器C.HeapD.Heap Frame2、java用()机制实现了线程之间的同步执行正确答案: AA.监视器B.虚拟机C.多个CPUD.异步调用3、在Java中,对于不再使用的内存资源,如调用完成的方法,“垃圾回收器”会自动将其释放。( )正确答案: BA.正确B.错误4、下面几个关于Java里queue的说法哪些是正确的()?正确答案: A CA.LinkedBlockingQueue
2022-06-30 00:15:00
1134
原创 java语言基础知识点(每日更新6.29)③
1、 对于abstract声明的类,下面说法正确的是正确答案: EA.可以实例化B.不可以被继承C.子类为abstractD.只能被继承E.可以被抽象类继承2、通过HttpServletRequest. getParameter获取的参数.正确答案: CA.总是采用UTF-8编码B.总是采用lS08859-1编码C.由客户端浏览器和Web容器配置共同决定编码D.由服务器所在的操作系统决定编码3、关于Java语言中的final关键字的使用,下列说法正确的是()正确答案: CA.在使
2022-06-29 12:04:53
914
原创 java语言基础知识点(每日更新6.29)②
1、局部内部类可以用哪些修饰符修饰?正确答案: C DA.publicB.privateC.abstractD.final2、基本的Java语言函数存储在以下哪个java包中?()正确答案: AA…langB.java.ioC.java.netD.java.util3、下列说法正确的是()正确答案: BA.在类方法中可用this来调用本类的类方法B.在类方法中调用本类的类方法时可直接调用C.在类方法中只能调用本类中的类方法D.在类方法中绝对不能调用实例方法4、下列关于Ja
2022-06-29 08:52:27
2712
原创 java语言基础知识点(每日更新6.29)
1、如果一个list初始化为{5,3,1},执行以下代码后,其结果为()?nums.add(6);nums.add(0,4);nums.remove(1);正确答案: BA.[5, 3, 1, 6]B.[4, 3, 1, 6]C.[4, 3, 6]D.[5, 3, 6]2、使用mvc模式设计的web应用程序具有以下优点,除了?正确答案: D 你的答案: D (正确)A.可维护行强B.可扩展性强C.代码重复少D.大大减少代码量3、下面的程序 编译运行后,在屏幕上显示的结果是(
2022-06-29 01:00:00
1452
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人