- 博客(51)
- 收藏
- 关注
原创 设计模式之适配器模式(通俗易懂--代码辅助理解【Java版】)
创建型模式:工厂方法、抽象方法、建造者、原型、单例。结构型模式有:适配器、桥接、组合、装饰器、外观、享元、代理。行为型模式有:责任链、命令、解释器、迭代器、中介、备忘录、观察者、状态、策略、模板方法、访问者。常用设计模式:单例模式、工厂模式、代理模式、策略模式&模板模式、门面模式、责任链模式、装饰器模式、组合模式、builder模式。/*** 定义一个手机Phone,它有一个Typec接口。*/System.out.println("信息从Typec口的手机输出。");/**
2024-10-07 16:56:58
1467
原创 设计模式之原型模式(通俗易懂--代码辅助理解【Java版】)
创建型模式:工厂方法、抽象方法、建造者、原型、单例。结构型模式有:适配器、桥接、组合、装饰器、外观、享元、代理。行为型模式有:责任链、命令、解释器、迭代器、中介、备忘录、观察者、状态、策略、模板方法、访问者。常用设计模式:单例模式、工厂模式、代理模式、策略模式&模板模式、门面模式、责任链模式、装饰器模式、组合模式、builder模式。这种情况就是浅拷贝,java只拷贝你指定的对象,至于你指定的对象里面的别的对象,它不拷贝,还是把引用给你,共享变量,这是一种非常不安全的方式,需要特别注意。
2024-10-04 23:39:58
1475
原创 设计模式之建造者模式(通俗易懂--代码辅助理解【Java版】)
创建型模式:工厂方法、抽象方法、建造者、原型、单例。结构型模式有:适配器、桥接、组合、装饰器、外观、享元、代理。行为型模式有:责任链、命令、解释器、迭代器、中介、备忘录、观察者、状态、策略、模板方法、访问者。常用设计模式:单例模式、工厂模式、代理模式、策略模式&模板模式、门面模式、责任链模式、装饰器模式、组合模式、builder模式。} } }List;
2024-09-12 14:31:49
1387
原创 设计模式之单例模式(通俗易懂--代码辅助理解【Java版】)
创建型模式:工厂方法、抽象方法、建造者、原型、单例。结构型模式有:适配器、桥接、组合、装饰器、外观、享元、代理。行为型模式有:责任链、命令、解释器、迭代器、中介、备忘录、观察者、状态、策略、模板方法、访问者。常用设计模式:单例模式、工厂模式、代理模式、策略模式&模板模式、门面模式、责任链模式、装饰器模式、组合模式、builder模式。单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
2024-09-10 21:23:22
1502
原创 Redis的6种淘汰策略详解
Redis是一种开源的高性能内存数据库,通常被用作缓存、消息队列或短期数据存储。它支持丰富的数据结构,如字符串、哈希、列表、集合等,具有极快的读写性能,能够满足高并发的需求。然而,由于Redis将所有数据存储在内存中,内存资源相对有限。当数据量超过内存容量时,Redis必须采取一定的策略来腾出空间,以存储新数据。这时就需要使用淘汰策略(Eviction Policy)来决定哪些数据会被移除。Redis提供了六种主要的淘汰策略,适用于不同的使用场景,确保在内存不足时能够高效地管理数据存储。
2024-09-10 13:52:48
1129
原创 设计模式之工厂模式(通俗易懂--代码辅助理解【Java版】)
工厂模式(Factory Pattern)是一种创建型设计模式,旨在提供一种统一的方式来创建对象,将对象的实例化过程封装在一个单独的类中。工厂模式通过定义一个公共的接口来创建对象,但允许子类决定实例化哪个类。这样可以将对象的实例化与客户端代码的耦合度降到最低,同时也提供了一种可扩展的方式来创建对象。
2024-09-08 11:17:55
1455
原创 Java面试复习总结03
SPI 即 Service Provider Interface,字面意思就是:“服务提供者的接口”,我的理解是:专门提供给服务提供者或者扩展框架功能的开发者去使用的一个接口。SPI 将服务接口和具体的服务实现分离开来,将服务调用方和服务实现者解耦,能够提升程序的扩展性、可维护性。修改或者替换服务实现并不需要修改调用方。很多框架都使用了 Java 的 SPI 机制,比如:Spring 框架、数据库加载驱动、日志接口、以及 Dubbo 的扩展实现等等。
2024-09-04 22:36:21
422
原创 NAT协议详解(网络层)
NAT是一种在网络层实现地址转换的重要技术,通过NAT,多个设备可以共享一个或多个公共IP地址上网,解决了IPv4地址资源紧张的问题。NAT具有节省IP地址资源、增强网络安全、简化网络管理等优势,广泛应用于家庭和企业网络中。然而,随着IPv6的普及,NAT的使用将逐渐减少,但在现阶段,它仍然是网络管理中的关键技术之一。
2024-07-26 22:01:10
4373
1
原创 Cookie和Session的区别
Cookie,即“小甜饼”的意思,在计算机领域中,特指一种由服务器发送到用户浏览器并保存在用户计算机上的小型文本文件。这个文件可以被服务器用来识别用户身份、跟踪用户活动、保存用户设置等。它通常由名称、值、域名、路径、过期时间等字段组成如图为CSDN服务器返回给我的Cookie一般被翻译为跨站请求伪造。那么什么是 跨站请求伪造 呢?说简单点,就是用你的身份去发送一些对你不友好的请求。
2024-07-24 20:53:04
1043
原创 MySQL面试索引篇
作为一个数据库,首要任务就是把数据存储好,并快速查询出用户需要的数据,而索引就相当于图书的目录一样,是一种用于快速查询和检索数据的数据结构,其本质可以看成是一种排序好的数据结构。索引底层数据结构存在很多种类型,常见的索引结构有: B 树, B+树 和 Hash、红黑树。在 MySQL 中,无论是 Innodb 还是 MyIsam,都使用了 B+树作为索引结构。2、为什么要使用索引?索引能帮助数据库高效获取数据的数据结构,提高数据查询的效率!3、什么是B树?B-树,也称为B树,是一种平衡的多叉树。
2024-07-22 12:44:38
954
原创 Java面试复习总结02
1、为什么要有hashCode?2、为什么JDK要同时提供hashCode()和equals()这两个方法?3、为什么重写equals()时必须重写hashCode()方法?4、String、StringBuffer、StringBuilder的区别?5、Throwable类常用方法有哪些?6、什么是泛型?有什么作用?7、反射是什么?8、反射的应用场景?9、什么是注解?10、注解的解析方法有哪几种?
2024-07-21 13:49:12
1062
原创 SpringBoot面试高频总结01
约定大于配置是一种软件开发理念,它的核心思想是:通过建立约定,默认值和惯例,减少编程中需要做出的决策,提高开发效率和生产力。例如在SpringBoot中,默认按照一定的命名规则查找数据库连接,bean定义等相关内容,这样开发人员就可以省略大量的配置和代码,直接使用默认的约定和规则来完成开发任务,从而提高开发效率和代码质量。总的来说,约定大于配置是一种软件开发的优化策略,通过建立约定和默认值,帮助开发人员快速构建和维护高质量的应用程序,减少出错的可能性,提高开发效率和生产力。4、
2024-07-21 00:18:32
894
原创 Java面试题复习总结01
两个步骤,由 Java 编写的程序需要先经过编译步骤,生成字节码(.class 文件),这种字节码必须由 Java 解释器来解释执行。8种基本数据类型:byte, short, int, long, float, double, char, boolean。这是因为 Java 语言既具有编译型语言的特征,也具有解释型语言的特征。因为 Java 程序。看下图所示:Person类(内部含有Address对象)、Address类。
2024-07-20 13:50:08
1090
原创 CUDA error: CUBLAS_STATUS_INVALID_VALUE when calling ...
RuntimeError: CUDA error: CUBLAS_STATUS_INVALID_VALUE when calling `cublasSgemm( handle, opa, opb, m, n, k, &alpha, a, lda, b, ldb, &beta, c, ldc)`
2024-05-28 11:13:57
452
1
原创 Pycharm已经打开但是看不到界面
而此次运行Pycharm时,没有外接显示器,软件应该是记住了上一次关机前的配置操作,显示在第二显示屏上,而电脑此时并没有接第二显示器,故无法正常显示。在上一次使用Pycharm时,用了外接显示器。Pycharm处于第二显示屏上,且在未关闭Pycharm的时候直接关机了。(本人确定上一次使用Pycharm时,外用了显示器,且正常关闭了Pycharm,但是还是出现了这个问题)上述操作应该是多显示器下的不正规操作导致,准确的说还是软件bug。不用纠结问题,直接解决就好了!
2023-09-29 10:11:10
3719
原创 如何为一台无法上网的服务器联网装conda环境,最简单的教程了
最简单教程====为无网服务器装环境(一个pytorch的依赖包就能让你装吐)】
2023-09-26 11:07:38
3923
2
原创 SpringMVC系列----拦截器+文件上传下载
SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。拦截器是AOP思想的具体应用。过滤器servlet规范中的一部分,任何java web工程都可以使用在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截拦截器拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用。
2023-07-16 15:59:31
336
原创 SpringMVC系列----Ajax研究
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术在 2005 年,Google 通过其 Google Suggest 使 AJAX 变得流行起来。Google Suggest能够自动帮你完成搜索单词。
2023-07-16 15:16:40
344
原创 SpringMVC系列----Json交互处理
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在 JavaScript 语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。
2023-07-16 14:33:56
798
原创 SpringMVC系列----Servlet回顾、SpringMVC第一个程序
MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和 服务层(行为Service)。
2023-07-14 19:34:48
240
原创 Spring系列--概述及IOC理论
Spring : 春天 —>给软件行业带来了春天2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版。很难想象Rod Johnson的学历 , 他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。Spring理念 : 使现有技术更加实用 . 本身就是一个大杂烩 , 整合现有的框架
2023-07-11 15:59:06
128
原创 MyBatis系列--缓存
存在内存中的临时数据。将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。
2023-07-10 15:06:55
618
1
原创 MyBatis系列--动态SQL
什么是动态SQL:动态SQL指的是根据不同的查询条件 , 生成不同的Sql语句。官网描述:MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。
2023-07-10 14:10:11
902
1
原创 MyBatis系列--第一个MyBatis程序
MyBatis 是一款优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映射成数据库中的记录。MyBatis 本是apache的一个开源项目ibatis, 2010年这个项目由apache 迁移到了google code,并且改名为MyBatis。
2023-07-09 20:31:49
720
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人