![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
TyRed08
这个作者很懒,什么都没留下…
展开
-
设计模式 6、行为型模式(续)
自定义spring框架前,先回顾一下spring框架的使用,从而分析spring的核心,并对核心功能进行模拟。数据访问层。定义UserDao接口及其子实现类业务逻辑层。定义UserService接口及其子实现类定义UserController类,使用main方法模拟controller层//创建spring容器对象//从IOC容器中获取UserService对象//调用UserService对象的add方法编写配置文件。原创 2024-08-22 14:12:35 · 321 阅读 · 0 评论 -
设计模式 5、行为型模式
又被称为发布-订阅(Publish/Subscribe)模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。一般来说,同事类之间的关系是比较复杂的,多个同事类之间互相关联时,他们之间的关系会呈现为复杂的网状结构,这是一种过度耦合的架构,即不利于类的复用,也不稳定。例如在下左图中,有六个同事类对象,假如对象1发生变化,那么将会有4个对象受到影响。如果对象2发生变化,那么将会有5个对象受到影响。原创 2024-08-22 14:11:20 · 701 阅读 · 0 评论 -
设计模式 4、结构型模式
运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。原创 2024-08-22 14:09:43 · 351 阅读 · 0 评论 -
设计模式 3、结构型模式
由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。Java中的代理按照代理类生成时机不同又分为静态代理和动态代理。静态代理代理类在编译期就生成,而动态代理代理类则是在Java运行时动态生成。动态代理又有JDK代理和CGLib代理两种。如果去欧洲国家去旅游的话,他们的插座如下图最左边,是欧洲标准。而我们使用的插头如下图最右边的。因此我们的笔记本电脑,手机在当地不能直接充电。原创 2024-08-22 14:07:26 · 359 阅读 · 0 评论 -
设计模式 2、创建型模式
用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。分离了部件的构造(由Builder来负责)和装配(由Director负责)。从而可以构造出复杂的对象。这个模式适用于:某个对象的构建过程复杂的情况。由于实现了构建和装配的解耦。不同的构建器,相同的装配,也可以做出不同的对象;相同的构建器,不同的装配顺序也可以做出不同的对象。也就是实现了构建算法、装配算法的解耦,实现了更好的复用。原创 2024-08-22 14:06:06 · 685 阅读 · 0 评论 -
HashMap底层原理以及源码分析
核心理论: Hash也称散列、哈希,对应的英文都是Hash。基本原理就是把任意长度的输入,通过Hash算法变成固定长度的输出。这个映射的规则就是对应的Hash算法,而原始数据映射后的二进制串就是哈希值。原创 2024-08-22 13:59:40 · 225 阅读 · 0 评论 -
创建线程的三种方法,线程池的创建方式
1、继承Thread类2、实现Runable接口,没有返回值,不抛异常3、实现Callable接口,有返回值,会抛异常。原创 2024-08-22 13:56:33 · 62 阅读 · 0 评论 -
Java JUC 基本使用及教程
是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。wait/sleep的区别1、是的静态方法, 是的方法,任何对象实例都能调用2、不会释放锁,它也不需要占用锁。会释放锁,但调用它的前提是当前线程占有锁(即代码要在中)。3、它们都可以被方法中断并行和并发并发:同一时刻多个线程在访问同-一个资源,多个线程对一个点例子:春运抢票电商秒杀…并行:多项工作原创 2024-08-22 11:59:02 · 676 阅读 · 0 评论 -
java Stream操作 转换
这几个函数在日常开发中,也是可以灵活应用的,比如我们DAO操作完数据库,是会有个result的整型结果返回。joining可以将stream中的元素用特定的连接符(没有的话,则直接连接)连接成一个字符串。方法可以帮我们做元素转换,比如一个元素所有字母转化为大写,又或者把获取一个元素对象的某个属性,是一个功能转换型的接口,可以把将一种类型的数据转化为另外一种类型的数据。从数组集合中,过滤掉不符合条件的元素,留下符合条件的元素。是一个消费性接口,通过传入参数,并且无返回的操作。工作中,排序的需求比较多,使用。原创 2024-08-22 11:54:43 · 191 阅读 · 0 评论 -
Java 8 函数式接口使用示例及相关新特性
函数式接口(Functional Interface)是Java 8对一类特殊类型的接口的称呼。函数式接口下共有抽象方法使用default定义普通方法(默认方法),通过调用。实现接口后,因为默认方法不是抽象方法,所以可以不重写,但是如果开发需要,也可以重写。当然如果接口中的默认方法不能满足某个实现类需要,那么实现类可以覆盖默认方法。签名跟接口default方法一致,但是不能再加default修饰符。使用static定义静态方法,通过调用。原创 2024-08-22 11:50:07 · 298 阅读 · 0 评论 -
Java 修改Jar包中的Class文件
【代码】java 修改Class文件 教程原创 2024-08-22 11:47:31 · 109 阅读 · 0 评论