![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
全栈开发
千万并发
我是一名软件开发工程师,目前30K,欢迎和大家一起交流开发技术,一起高薪就业,我们还有一起打妖怪的技术讨论群哦,还有IT面试题小程序哦,疯狂刷题爱好者,无论是上下班/坐车/走路/吃饭/睡前,都在刷题!c/Java/python/go/php/前端,各种语言都喜欢,都能写,请多指教。【java开发全栈,前端开发小栈】欢迎来找我玩哦!
展开
-
java开发面试题:Spring框架中的单例Beans是线程安全的么?
Spring框架并没有对单例bean进行任何多线程的封装处理。关于单例bean的线程安全和并发问题需要开发者自行去搞定。但实际上,大部分的Spring bean并没有可变的状态(比如Serview类和DAO类),所以在某种程度上说Spring的单例bean是线程安全的。如果你的bean有多种状态的话(比如 View Model 对象),就需要自行保证线程安全。最浅显的解决办法就是将多态bean的作用域由“singleton”变更为“prototype”。我是一名开发工程师,目前30K,目前做的是无人驾驶,原创 2022-06-11 11:24:26 · 166 阅读 · 0 评论 -
java开发面试题:什么是Spring inner beans?
在Spring框架中,无论何时bean被使用时,当仅被调用了一个属性。一个明智的做法是将这个bean声明为内部bean。内部bean可以用setter注入“属性”和构造方法注入“构造参数”的方式来实现。比如,在我们的应用程序中,一个Customer类引用了一个Person类,我们的要做的是创建一个Person的实例,然后在Customer内部使用。我是一名开发工程师,目前30K,目前做的是无人驾驶,欢迎和大家一起交流开发技术,我们一起高薪就业,我们一起打妖怪哦,我们还有面试题小程序哦!...原创 2022-06-11 11:23:30 · 1303 阅读 · 0 评论 -
java开发面试题:Spring Bean的作用域之间有什么区别?
Spring容器中的bean可以分为5个范围。所有范围的名称都是自说明的,但是为了避免混淆,还是让我们来解释一下:1.singleton:这种bean范围是默认的,这种范围确保不管接受到多少个请求,每个容器中只有一个bean的实例,单例的模式由bean factory自身来维护。2.prototype:原形范围与单例范围相反,为每一个bean请求提供一个实例。3.request:在请求bean范围内会每一个来自客户端的网络请求创建一个实例,在请求完成以后,bean会失效并被垃圾回收器回收。4.Session原创 2022-06-11 11:22:18 · 171 阅读 · 0 评论 -
java开发面试题:请解释Spring Bean的生命周期?
Spring Bean的生命周期简单易懂。在一个bean实例被初始化时,需要执行一系列的初始化操作以达到可用的状态。同样的,当一个bean不在被调用时需要进行相关的析构操作,并从bean容器中移除。Spring bean factory 负责管理在spring容器中被创建的bean的生命周期。Bean的生命周期由两组回调(call back)方法组成。 我是一名开发工程师,目前30K,目前做的是无人驾驶,欢迎和大家一起交流开发技术,我们一起高薪就业,我们一起打妖怪哦,我们还有面试题小程序哦!...原创 2022-06-11 11:21:24 · 288 阅读 · 0 评论 -
java开发面试题:怎样用注解的方式配置Spring?
Spring在2.5版本以后开始支持用注解的方式来配置依赖注入。可以用注解的方式来替代XML方式的bean描述,可以将bean描述转移到组件类的 内部,只需要在相关类上、方法上或者字段声明上使用注解即可。注解注入将会被容器在XML注入之前被处理,所以后者会覆盖掉前者对于同一个属性的处理结果。注解装配在Spring中是默认关闭的。所以需要在Spring文件中配置一下才能使用基于注解的装配模式。在 context:annotation-config/标签配置完成以后,就可以用注解的方式在Spring中向属性、方原创 2022-06-11 11:19:34 · 197 阅读 · 0 评论 -
java开发面试题:如何用基于Java配置的方式配置Spring?
Spring对Java配置的支持是由@Conϐiguration注解和@Bean注解来实现的。由@Bean注解的方法将会实例化、配置和初始化一个 新对象,这个对象将由Spring的IoC容器来管理。@Bean声明所起到的作用与 元素类似。被 @Conϐiguration所注解的类则表示这个类的主要目的是作为bean定义的资源。被@Conϐiguration声明的类可以通过在同一个类的 内部调用@bean方法来设置嵌入bean的依赖关系。如果你要在你的web应用开发中选用上述的配置的方式的话,需要用Annot原创 2022-06-11 11:18:09 · 160 阅读 · 0 评论 -
java开发面试题:BeanFactory和ApplicationContext有什么区别?
BeanFactory可以理解为含有bean集合的工厂类。BeanFactory包含了种bean的定义,以便在接收到客户端请求时将对应的bean实例化。BeanFactory还能在实例化对象的时生成协作类之间的关系。此举将bean自身与bean客户端的配置中解放出来。BeanFactory还包含了bean生命周期的控制,调用客户端的初始化方法(initializationmethods)和销毁方法(destructionmethods)。从表面上看,applicationcontext如同beanfacto原创 2022-06-11 11:14:07 · 264 阅读 · 0 评论 -
java开发面试题:什么是Spring框架?Spring框架有哪些主要模块?
Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring框架,不必担心Spring是如何在后台进行工作的。Spring框架至今已集成了20多个模块。这些模块主要被分如下图所示的核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块。...原创 2022-06-10 16:07:53 · 169 阅读 · 0 评论 -
java开发面试题:wait/notify/notifyAll方法需不需要被包含在synchronized块中?这是为什么?
wait/notify/notifyAll方法需不需要被包含在synchronized块中Object.wait(),Object.notify(),Object.notifyAll()都是Object的方法,换句话说,就是每个类里面都有这些方法。Object.wait():释放当前对象锁,并进入阻塞队列Object.notify():唤醒当前对象阻塞队列里的任一线程(并不保证唤醒哪一个)Object.notifyAll():唤醒当前对象阻塞队列里的所有线程为什么这三个方法要与s原创 2022-06-10 16:06:46 · 166 阅读 · 0 评论 -
java开发面试题:Tomcat本身的参数你一般会怎么调整?
启动参数Tomcat默认可以使用的内存是128MB。可以通过在启动时加入“-Xms”和“-Xmx”参数来获得更大的内存分配。但也要注意GC的问题。集成Web服务器处理静态内容作为一个Jsp/Servlet容器,Tomcat本身对静态Html文件的相应速度远逊Apache等Web服务器。通过与此类Web服务器的集成,可以 将对jsp内容的请求转发至Tomcat,而用Web服务器处理静态内容,能够非常显著的降低整体负载,提高整体响应的速度。调整线程数Tomcat5使用线程池(Apache Portable Ru原创 2022-06-10 16:05:29 · 152 阅读 · 0 评论 -
java开发面试题:JAVA的AQS是否了解,它是干嘛的?
简单讲就是两句话:1、是什么?AQS就是一个工具类,算是在并发情况下规范了对“资源”或者说“数据”操作的一种机制或者说是规范。专业一点的叫法是:抽象队列同步器2、这玩意干啥呢?AQS是给JAVA一系列锁以及同步器或者同步对象的底层提供了实现的框架,你也可以理解成为一种规范。就比如实现像ReentrantLock,CountDownLatch,Semaphore这样的工具。来提供一下网上比较多的两句话:AQS是什么:AQS,是AbstractQueuedSynchronizer简称,直翻过来叫抽象的队原创 2022-06-10 15:59:28 · 208 阅读 · 0 评论 -
java开发面试题:多个线程同时读写,读线程的数量远远大于写线程,你认为应该如何解决并发的问题?你会选择加什么样的锁?
多个线程同时读写,读线程的数量远远大于写线程,你认为应该如何解决并发的问题?你会选择加什么样的锁?原创 2022-06-10 15:57:11 · 283 阅读 · 0 评论