
java
文章平均质量分 79
一定会成为大牛的小宋
这个作者很懒,什么都没留下…
展开
-
设计模式十:原型模式
而通过拷贝的方式,没有执行构造函数的步骤(如果对象没有其他类的属性,则也不涉及类加载过程),所以轻量级对象(构造函数里面没有复杂的操作)的创建,new创建会比较快;当spring启动后,当需要一个bean的时候,从IOC容器中查找出来,判断是单例还是原型,如果是原型模式,则生成一个对象实例,而不是将IOC容器管理的对象实例返回给用户,注:深拷贝仅对该对象实例进行了拷贝,使得两个变量执行不同的堆内对象实例,但是其内部的引用对象使用的仍是浅拷贝,若需要其饮用对象属性也需要进行深拷贝,则在。原创 2024-03-11 09:56:14 · 619 阅读 · 0 评论 -
设计模式九:装饰器模式
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。具体组件角色(ConcreteComponent):定义一个要被装饰器装饰的对象,即 Component 的具体实现。适配器模式是为了新的接口能够复用老接口的方法,改变接口名称,不改变老接口方法的内容(当然可以增强)相同点: 装饰类(代理类)与被装饰类(被代理类)都需要实现相同的接口;创建珍珠奶茶对象,放入不同的修饰类的构造方法中达到修饰器的效果。由此可见,装饰器模式的优缺点“最直观的区别可以理解为。原创 2024-03-11 09:52:50 · 1188 阅读 · 0 评论 -
设计模式八:观察者模式
宝马公司偶尔推出打折或立减活动(8折、9折、立减5000),不同的用户关注不同的活动,如用户1关注8折和9折活动,用户2关注8折和立减5000活动,用户3这些活动都关注,当宝马公司推出一种活动的时候,立刻通知到关注该活动的用户。以上就是观察者模式与发布订阅模式,发布订阅模式有专门的组件管理事件和观察者之间的关系:被观察者发布事件到事件组件,无需关心谁订阅了哪些事件;实际中,会有多个观察者,以及多个事件,每个观察者关注不同的事件,待相对应事件发生时,"通知"关注改时间的观察者。被观察者亲自通知观察者。原创 2024-03-11 09:50:13 · 1293 阅读 · 0 评论 -
算法:公交让座问题
算法题:解决实际应用问题:公交车让座问题一辆公交车,有n个座位(n<100),陆续有乘客上车和下车,新乘客上车时,如果座位全满,新上来的乘客的优先级如果比座位上的某些人大,那么就需要选出优先级比他低的人给他让座,同样的,座位上有人到站下车空出了座位,需要在无座的人里面选出优先级高的人入座座位优先级规则(先幼后老再中年):按年龄最小(年龄相同再按上车时间最先上车优先)安排10岁及以下的儿童入座,如果没有合适的儿童,再安排车上年龄最大的(年龄相同按上车时间最先上车的优先)的人入坐使用一个二维数组来原创 2022-04-19 22:49:43 · 745 阅读 · 0 评论 -
PriorityQueue优先队列中比较器Comparator的使用
优先队列java中的优先队列使用堆实现的,所以优先队列我们通常是拿来当大顶堆小顶堆使用大顶堆和小顶堆的作用就是当我们想要获取大量数据的前几个最大或者最小的数据时使用的,因为如果对所有数据排序然后去前几个,时间复杂度最小也是O(nlogn),使用堆的话时间复杂度为O(nlongm),而 m 就是我们想要进行获取的前几个数,一般为常量,比如想要获取学校n个同学里面前8名,使用大顶堆获取的时间复杂度就是O(nlog8)。如图所示是一种自下向上的建堆过程:在java中优先队列的创建方法://创建优先原创 2022-04-19 22:12:51 · 5149 阅读 · 3 评论 -
MySQL的锁机制(通俗易懂)
MySQL的锁机制mysql`锁分为全局锁、表锁和行锁全局锁 全局锁是将整个数据库锁起来,使得其他的事务只能进行读,不能写,主要用在数据库备份时表锁 表锁分为普通表锁,元数据锁和意向锁普通表锁是为了防止事务之间对表数据的访问发生冲突;元数据锁分为表级共享锁和表级排他锁,主要是防止事务访问表和事务修改表结构之间的冲突,增删改查数据会产生共享读锁或者共享写锁,这两个锁会与update表结构产生的排他锁产生冲突;意向锁分为意向共享锁和意向排他锁,主要是为了防止行锁和表锁之间的冲突,原创 2022-04-19 19:36:36 · 2042 阅读 · 0 评论 -
spring中`@Service(value=“XXX“)`中XXX的作用
@Service的作用 spring中有很多注解帮助我们开发,@Repository、@Service 、@Controller 和@Component注解在类上面即可以使spring自动向Bean容器中创建该类的Bean,而在我们需要用到该Bean来创建对象时,在变量声明上方添加@AutoWired或者@Qualifier即可。@Service(value="XXX")中的XXX的作用 @service注解工作原理:在service层类上面添加@Service注解,会自动创建Bean,B原创 2022-02-11 19:03:13 · 9021 阅读 · 0 评论