一、什么是循环依赖? 一个两个以上的bean互相持有对方,比如A持有B B持有A. Spring 注入bean 的方式有 field 属性注入 ,构造器注入 二、造成循环依赖的代码1 field属性注入-这个例子会正确执行 @Service public class A { @Autowired private B b; } @Service public class B { @Autowired private A a; } 原理 Spring 在创建 bean 的时候并 More
程序员如何赚钱 1.开发APP 推荐 自由指数:10 一旦成功就财富自由了,只需要维护即可 难度系数:10的确很难,不过可以从第一个APP开始,先开发个俄罗斯方块如何 2.Side Project 推荐 可以去国外的独立黑客(indiehackers)上找灵感,也可以做一些小而精美但开发人员经常用到的,比如有人做轮播图插件,图片上传插件等等。 这个和APP一样 https://zhuanlan.zhihu.com/ More
问题:对Java接口代理模式的实现原理的理解 Java 代理分为静态代理和动态代理 静态代理 场景,我们买房子不是自己去买,而是中介帮忙处理 1.买房接口 package com.javaer.proxy; public interface House { void buy(); } 2.买个一居室 package com.javaer.proxy; public class House1 implements House{ public void buy() { System.out.println(&qu More
当一个对象被当作参数传递给一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,到底是值传递,还是引用传递? 答案:是值传递。Java 语言的方法调用只支持参数的值传递。当一个对象实例作为一个 参数被传递到方法中时,参数的值就是对该对象的引用。对象的属性可以在被调 用过程中被改变,但对对象引用的改变是不会影响到调用者 More
问12:接口是否可以继承接口?抽象类是否可以实现(implements)接口? 答:接口可以继承接口,抽象类不可以继承接口,但可以实现接口 问3:抽象类是否可继承实体类(concerete class) 答:抽象类可以继承实体类,这是因为抽象类可继承性且有方法。 抽象类是否可继承实体类,取决于实体类必须是否有明确的构造函数。 问:接口可以继承多个接口么 一个接 More
https://blog.csdn.net/weixin_44422604/article/details/107184591 https://juejin.cn/post/6844904089604587527 相同部分: 1.都不能被实例化 2.子类都必须实现全部抽象方法才能被实例化 核心不同: 抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。 比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他 More
Servlet的生命周期分为5个阶段: 实例化:Servlet容器创建Servlet类的实例。 初始化:该容器调用init()方法,通常会申请资源。 服务:由容器调用service()方法,(也就是doGet()和doPost())。 破坏:在释放Servlet实例之前调用destroy()方法,通常会释放资源。 不可用:释放内存的实例。 概括来讲,Servlet可以完成和CGI相同的功能。 CGI(Common Gateway Interface通 More
String 是个final class不可变字符串,拼接性能低,频繁操作,性能影响 StringBuffer 解决大量字符串拼接,线程安全 StringBuilder 在StringBuffer基础上加个线程不安全,效率最高,优先考虑 线程安全: StringBuffer:线程安全 StringBuilder:线程不安全 速度: 一般情况下,速度从快到慢为 StringBuilder > StringBuffer > String,当 More
三大特征 封装:封装就是把过程和数据包围起来,对数据的访问只能通过已定义的界面。如私有变量,用set,get方法获取 继承 :对象的一个新类可以从现有的类中派生,这个过程称为类继承 多态:多态是指允许不同类的对象对同一消息做出响应 “多态”的概念是---相同的行为,不同的实现 静态多态是在编译期就确定了对象以及对象行为的绑定关系,所以运行起来以后 More
如果是10万个找出10个,那么插入数据库,select就可以搞定(但是面试官不是考你数据库的)。 如果是10亿个找出10000个,就不那么简单了。 先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的),将这个数替换堆顶,并调整结构使之仍然是一个最小堆,这样,遍历完后,堆中的10000个数就是所需的最大的10000个。 1.拿10000个数建立一个堆heap More