![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
温故而知新
每天三杯咖啡
图难于其易,为大于其细,天下难事,莫做于于易,天下大事,莫做于细
展开
-
spring源码初体验01 从对象到bean的生命历程
首先我们创建context容器然后进行测试/** * @Author: xzc * @Date: 2021/8/20 23:50 * @Version 1.0 */public class XzcSpringBeanLearnMain { public static void main(String[] args) { /** * userService.class -> 推断构造(默认无参构造方法 有参构造方法会去ioc里根据类型 名字 拿入参 没有报错) -...原创 2021-09-04 17:21:50 · 121 阅读 · 0 评论 -
梳理SpringIOC的设计思想与技巧
重新梳理SpringIOC里面的设计原则前言设计模式代码案例前言之前一直想把设计模式写出来但是总感觉写不下去,原因无非在于设计模式的本质还是一种思想,一种技术运用的技巧的沉淀。既然如此不妨从实际的优秀代码去反推理论在其中的运用设计模式面向对象的七(或五大原则,前五项)大基本原则:单一职责原则(SRP) 、开放封闭原则(OCP) 、里氏替换原则(LSP)、 依赖倒置原则(DIP)、 接口隔离原则(ISP)、迪米特法则(Law Of Demeter)、组合/聚合复用原则(Composite/Agg原创 2021-08-01 04:31:17 · 276 阅读 · 0 评论 -
识别有效的IP分类并统计
/**请解析IP地址和对应的掩码,进行分类识别。要求按照A/B/C/D/E类地址归类,不合法的地址和掩码单独归类。 所有的IP地址划分为 A,B,C,D,E五类 A类地址1.0.0.0~126.255.255.255; B类地址128.0.0.0~191.255.255.255; C类地址192.0.0.0~223.255.255.255; D类地址224.0.0.0~239.255.255.255; E类地址240.0.0.0~255.255.255.255 私网IP范围是: 10.0..原创 2021-06-30 23:44:15 · 178 阅读 · 0 评论 -
2021-06-30
火星文算法假设有一种不同于四则运算的算法符号或新闻其中x#y表示2x+3y+4xy表示3∗x+y+2其中y表示3*x+y+2其中y表示3∗x+y+2其中的有限级高于#(类似于乘除法高于加减法)同时遵循从左往右的计算规则。请写出对应算法正确计算出火星文的最终结果以下用例123#4$5#67$78#123#4$5#67$78输出结果14149package xzc.huawei.partise02;import java.util.Scanner;public class原创 2021-06-30 23:31:17 · 449 阅读 · 0 评论 -
一文带你彻底理解同步和锁的本质(干货)(转载)
一文带你彻底理解同步和锁的本质(干货)谈到锁,离不开多线程,或者进程间的通信。为了更好地从底层原理去了解锁的机制,形成体系化的知识,这篇文章我会从进程间通信底层原理说起,然后介绍一下Java中各种线程通信的实现机制,最后做一个系统的总结。还记得上次跟你撕逼内存模型的那个人吗,他又来了,并且向你甩出了一堆问题:1、为什么需要通信1.1、竞态条件我们知道,在操作系统中,互相协作的进程之间可能共享一些彼此都能读写的公共存储区,假设两个进程都需要改写这个公共的存储...原创 2020-11-28 16:50:58 · 498 阅读 · 0 评论 -
mongoDB 学习02 JAVA篇 用spring-boot-starter-data-mongodb做crud
java增删改查springBoot导包<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </de..原创 2020-10-15 00:43:22 · 589 阅读 · 0 评论 -
05 策略模式 的使用方法
05策略模式在软件开发中也常常遇到类似的情况,当实现某一个功能存在多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能,如数据排序策略有冒泡排序、选择排序、插入排序、二叉树排序等。如果使用多重条件转移语句实现(即硬编码),不但使条件语句变得很复杂,而且增加、删除或更换算法要修改原代码,不易维护,违背开闭原则。如果采用策略模式就能很好解决该问题。策略模式的定义与...原创 2020-05-08 08:14:51 · 270 阅读 · 0 评论 -
04工厂模式综合(简单工厂,工厂方法,抽象工厂)
在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。一 工厂模式演化过程的描述例子 1)还没有工厂时代:假如还没有工业革命,如果一个客户要一款宝马车,一般的做...原创 2020-05-07 08:17:45 · 183 阅读 · 0 评论 -
温故而知新 03建造者模式的实现回顾
需求:创建复杂的对象---通过简单的对象的自由组合,返回一个完整的产品。意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。主要解决:主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。何时使用:一些基本部件不会变...原创 2020-05-04 12:47:34 · 131 阅读 · 0 评论 -
02 原型模式
02 原型模式Java中怎么拷贝一个对象呢?可以通过调用这个对象类型的构造器构造一个新对象,然后将要拷贝对象的属性设置到新对象里面。1.Java中也有另一种不通过构造器来拷贝对象的方式,这种方式称为克隆。2.Java提供了java.lang.Cloneable和java.lang.Object中的clone()方法来支持克隆。使用条件是用于创建重复的对象,同时又能保证性能。这种类型的设...原创 2020-04-29 20:58:25 · 174 阅读 · 0 评论 -
温故而知新 设计模式01 单例模式
01单例模式用啥方式解决实际问题更合适就用啥方式,我们不追求那些不必要的完美饿汉模式01 最简单版但是好用package xzc._01singleton;/*饿汉模式01Class.forName() 也行啊1.放单例的静态变量2.构造方法私有化3.取出单例的静态化方法类加载到内存后就会自动实例化一个单例*/public class...原创 2020-04-27 22:09:36 · 144 阅读 · 0 评论 -
温故而知新 aop
作者:老刘链接:https://www.zhihu.com/question/344440064/answer/815268534来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。、AOP中的相关概念看过了上面的例子,我想大家脑中对AOP已经有了一个大致的雏形,但是又对上面提到的切面之类的术语有一些模糊的地方,接下来就来讲解一下AOP中的相关概念,了解...转载 2020-04-12 02:33:46 · 131 阅读 · 0 评论 -
温故而知新 Spring IoC 说透控制反转的本质
要了解控制反转( Inversion of Control ), 我觉得有必要先了解软件设计的一个重要思想:依赖倒置原则(Dependency Inversion Principle )。什么是依赖倒置原则?假设我们设计一辆汽车:先设计轮子,然后根据轮子大小设计底盘,接着根据底盘设计车身,最后根据车身设计好整个汽车。这里就出现了一个“依赖”关系:汽车依赖车身,车身依赖底盘,底盘依赖...转载 2020-04-12 02:23:25 · 134 阅读 · 0 评论