自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(359)
  • 资源 (27)
  • 问答 (3)
  • 收藏
  • 关注

原创 spring:使用注解@获取第三方bean实例

摘要:当第三方jar包中的类无法直接使用@Component注解时,可以通过在方法上添加@Bean注解来获取其实例。示例中DateFactory类使用@Component标记,并通过@Bean方法getDate()返回Date实例。测试类通过AnnotationConfigApplicationContext加载配置类Config,成功获取名为"getDate001"的Date对象。该方法有效解决了无法直接给第三方类添加注解的问题,实现了对jar包中类的实例化管理。

2025-06-11 22:33:47 353

原创 spring:使用标签xml继承接口FactoryBean获取bean实例

Spring框架通过FactoryBean接口实现自定义Bean创建逻辑。开发者需实现FactoryBean接口并重写getObject()方法返回目标Bean实例(如UserDaoImpl),同时在XML配置文件中声明FactoryBean实现类。调用getBean()时才会触发Bean实例创建(延迟加载),而非容器初始化时。这种方式允许对Bean创建过程进行精细控制,适用于需要复杂初始化逻辑的场景。文中展示了完整实现步骤:创建MyBeanFactory03类实现FactoryBean接口,配置XML文件

2025-06-07 17:45:56 276

原创 spring:实例工厂方法获取bean

摘要:Spring框架支持通过实例工厂方法获取Bean实例。具体步骤为:1)定义包含实例工厂方法的Java类(如MyBeanFactory02),其中方法可带参或不带参;2)在XML配置中,先声明工厂Bean,再通过factory-bean和factory-method属性指定要调用的工厂方法。示例展示了无参方法getUserService()和有参方法getUserDaoABC()两种调用方式,其中带参方法需按顺序传递参数值(基本类型用value,引用类型用ref)。这种方式比静态工厂更灵活,允许在运行时

2025-06-07 15:54:17 187

原创 spring:使用标签xml静态工厂方法获取bean

本文介绍了Spring框架中使用静态工厂方法获取Bean的实现方式。通过定义MyBeanFactory01类,可以创建包含无参方法、基础类型参数方法和引用类型参数方法的多个静态工厂方法。在XML配置文件中,使用<bean>标签的factory-method属性来指定工厂方法,并通过constructor-arg为有参方法提供参数值(value)或引用(ref)。这种模式允许在返回Bean前进行配置或通过非构造方法创建对象,提供了更灵活的Bean创建方式。文中示例展示了如何配置无参静态方法和包含基本类型、引用

2025-06-07 10:14:08 305

原创 spring:实例化类过程中方法执行顺序。

本文通过Spring Bean实例化测试,展示了初始化方法的调用顺序。测试类UserServiceImpl02实现了InterfaceUserService和InitializingBean接口,包含无参和有参构造方法。XML配置通过constructor-arg指定构造参数时会调用有参构造方法,否则调用无参构造。实例化流程为:1)调用构造方法,2)执行setter方法,3)执行InitializingBean的afterPropertiesSet方法,4)执行配置的init-method方法(如果有)。通

2025-06-06 22:40:47 388

原创 IT技术文章汇总

软件开发优秀文章汇总。

2025-06-01 10:14:43 126

原创 C++:共享指针unique_ptr的理解与应用

本文介绍了C++11引入的unique_ptr智能指针特性。unique_ptr通过独占所有权机制确保资源的自动释放,禁止复制但支持移动语义转移所有权。文章详细说明了unique_ptr的创建方法(包括推荐使用make_unique)、适用场景(如独占资源、RAII模式、动态数组管理)及其优缺点(自动释放、异常安全但不支持共享所有权)。相比shared_ptr,unique_ptr更轻量且适用于需要独占资源管理的场景,能有效防止内存泄漏,是C++资源管理的重要工具。

2025-05-24 17:26:06 806

原创 C++:继承构造函数,简化子类的构造利器

在C++中,构造函数用于初始化类实例。C++11引入了继承构造函数特性,允许子类直接继承基类的构造函数,无需在子类中显式调用基类构造函数。通过使用using关键字,子类可以继承基类的所有构造函数,简化了代码并减少了冗余。继承构造函数只能继承直接基类的构造函数,且不能用于委托构造函数。如果子类声明了与基类同名的构造函数,继承构造函数将被忽略。这一特性提高了代码的复用性和可维护性。

2025-05-20 16:33:48 436

转载 cmake:CMAKE_PREFIX_PATH使用技巧与示例

CMAKE_PREFIX_PATH是CMake中一个重要的环境变量,它用于帮助CMake在配置项目时找到各种依赖项的位置。这个变量尤其在处理那些不在标准位置安装的库时显得非常有用。

2025-05-15 16:36:39 133

原创 IDE:idea的console窗口显示内容自动换行设置

2025-05-09 11:15:12 215

原创 Java:volatile关键字理解

1.保证此变量对所有的线程的可见性,这里的“可见性”,如本文开头所述,当一个线程修改了这个变量的值,volatile保证了新值能立即同步到主内存,以及每次使用前立即从主内存刷新。Java内存模型)来完成。2.禁止指令重排序优化。有volatile修饰的变量,赋值后多执行了一个“load addl $0x0, (%esp)”操作,这个操作相当于一个内存屏障(指令重排序时不能把后面的指令重排序到内存屏障之前的位置),只有一个CPU访问内存时,并不需要内存屏障;

2025-05-06 10:37:31 759

原创 html:table表格

【代码】html:table表格。

2025-05-02 20:37:39 556

原创 常用网址合集

常登论坛。

2025-04-28 14:15:57 511

转载 Qt:QCustomPlot之个性化外观(二)

QCustomPlot可以制作出优美的图表,它提供了大量可以自定义风格的接口。

2025-04-24 21:30:07 82

翻译 Qt:QCustomPlot之开始(一)

QCustomPlot是Qt的一个小型第三方图表库,支持静态/动态曲线、柱状图、蜡烛图、频谱图等。使用方便,仅需在项目中加入头文件qcustomplot.h和qcustomplot.cpp源文件即可,或者把它当做一个库来添加到项目当中,需要在pro文件加入QCustomPlot 图表类:用于图表的显示和交互QCPLayer 图层:管理图层元素(QCPLayerable),所有可显示的对象都是继承自图层元素。

2025-04-24 21:15:24 63

原创 IDE:vscode的Live Server Preview插件

这个插件不用另外打开浏览器;它是直接在Vscode里面预览html的,并且是自动实时更新的,不用不停地Ctrl+S保存查看。使用方法:F1 -> 弹出一个窗口输入live,选择即可。

2025-04-22 11:13:38 408

原创 spring:加载配置类

在前面的学习中,通过读取xml文件将类加载,或他通过xml扫描包,将包中的类加载。无论如何都需要通过读取xml才能够进行后续操作。2:使用注解@ComponentScan扫描包,将包中的类加载。通过对配置类的读取替代xml的功能。在这里配置类加载了两个包,两个包里的类都可以被调用。1:对类使用注解@Configuration标注。运行结果显示当前年月日及时间。

2025-04-18 19:04:00 301

原创 spring:使用import导入资源

如下图所示,com.annotation.dao.impl.UserDaoImpl和com.itheima.dao.impl.UserDaoImpl分别在不同的包中,通过xml进行加载。xml文件对spring使用的资源进行描述,但是当所有资源放到同一个xml文件中会导致文件臃肿,所以可以将资源分别放到不同的xml文件中,然后通过<import>导入。

2025-04-17 08:09:09 157

原创 spring:注解@PostConstruct、@PreDestroy

这两个注解的功能类似标签中的init-method和destroy-method。分别在构造方法调用之后和实例释放资源之前被调用。

2025-04-16 23:48:20 366

原创 spring:注解@Component、@Controller、@Service、@Reponsitory

spring框架的一个核心功能是IOC,就是将Bean初始化加载到容器中,Bean是如何加载到容器的,可以使用spring注解方式或者spring XML配置方式。spring注解方式直接对项目中的类进行注解,减少了配置文件内容,更加便于管理,使用注解可以大大提高了开发效率!

2025-04-16 19:19:50 301

转载 C++:C++析构函数不设为虚函数会怎样?一个让程序员崩溃的隐形陷阱!

MySQL 连接池的内存缓冲区没释放,最终导致数据库服务崩溃!:日志数据丢失,网络缓冲区堆积,最终导致服务不可用!,而不会去查虚表(vtable)找。🔹 多态基类的析构函数必须是虚函数!,最终可能让程序无法再打开新文件!:子类的析构函数被跳过,资源泄漏!里分配了堆内存或持有资源,就会。的析构函数没有被调用!不是虚函数,编译器直接调用。如果确定类不会被继承,可以用。🔹 养成习惯,避免隐形Bug!)是类的特殊成员函数,用于。在讨论析构函数之前,先回顾。执行时,编译器会检查。在C++中,析构函数(

2025-04-15 10:31:40 65

原创 spring:xml方式调用构造方法创建Bean,调用set方法配置字段

可见,构造方法,set方法均在创建Bean时根据配置调用。

2025-04-11 12:27:09 426

原创 Java:NIO流

传统的 Java I/O 模型(BIO)中,I/O操作是以阻塞的方式进行的。当一个线程执行一个I/O操作时,它会被阻塞直到操作完成。这种阻塞模型在处理多个并发连接时可能会导致性能瓶颈,因为需要为每个连接创建一个线程,而线程的创建和切换都是有开销的。Java NIO(New IO)是从 Java 1.4 版本开始引入的一个新的 IO API,可以替代标准的 Java IO API。

2025-03-16 20:16:08 824

转载 Java:字符编码,Java 字节流和字符流的转换

转换流可以将一个包装成,或者将一个字符流包装成字节流。这种转换通常用于处理文本数据,如读取文本文件或将数据从网络传输到应用程序。转换流主要有两种类型:InputStreamReader 和 OutputStreamWriter。InputStreamReader 将一个字节输入流转换为一个字符输入流,而 OutputStreamWriter 将一个字节输出流转换为一个字符输出流。它们使用指定的字符集将字节流和字符流之间进行转换。常用的字符集包括 UTF-8、GBK、ISO-8859-1 等。

2025-03-16 11:39:27 94

原创 编程常用工具汇总

Process Explorer是一个由微软Sysinternals团队开发的强大系统监控工具,它提供了比操作系统自带任务管理器更详细、更直观的进程信息,帮助用户深入理解计算机上的进程和系统资源使用情况。主要功能包括进程信息查看、资源占用可视化、父进程关系追踪、服务和模块查看、搜索功能、挂起和终止进程、句柄查看等。用户通过熟练掌握Process Explorer的使用,可以更好地管理和控制计算机环境,提高工作效率。

2025-03-03 12:39:23 300

转载 Qt:Qt中的枚举

简单来讲,Qt还是使用一组宏命令来完成枚举量扩展功能的(正如Qt的其他核心机制一样),这些宏包括Q_ENUM,Q_FLAG,Q_ENUM_NS,Q_FLAG_NS,Q_DECLARE_FLAGS,Q_DECLARE_OPERATORS_FOR_FLAGS,Q_DECLARE_FLAGS和Q_DECLARE_OPERATORS_FOR_FLAGS都是和元对象系统无关的,可以脱离Q_FLAG单独使用,事实上这两个宏在Qt4就已经存在(不确定更早是否存在),而Q_FLAG是在Qt5.5版本才加入的;

2025-02-28 16:06:33 311

转载 Java:synchronized实现原理

synchronized是Java中实现线程同步的关键字,保护对共享资源的访问。确保在“多线程环境中同一时间只有一个线程能够访问特定的代码段或方法”。确保线程间操作的原子性和数据的一致性。它提供了互斥性、可见性和有序性当一个线程进入了 synchronized 代码块或方法时,其他试图进入该同步区域的线程必须等待,直至拥有锁的线程执行完毕并释放锁。这确保了在同一时间只能有一个线程访问共享资源,避免了竞态条件和数据不一致的问题。synchronized 关键字还确保了线程间的数据可见性。

2025-02-20 20:33:54 67

原创 Qt:Qt 官方开发环境生成的 exe 发布方式 -- 使用 windeployqt

Qt 官方开发环境使用的动态链接库方式,在发布生成的 exe 程序时,需要复制一大堆 dll,如果自己去复制 dll,很可能丢三落四,导致 exe 在别的电脑里无法正常运行。因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。以官方 Qt 5.4.0+MinGW 开发环境为例,

2025-02-19 16:25:07 982

原创 cmake:将静态库添加到cmake工程中

注:不用set命令,直接将头文件路径,库文件路径添加到命令中也可以正常运行。

2025-02-18 14:46:34 234

原创 Java:创建不可变更大小的List容器

如题,有时候创建接口List的实例需要固定容器大小。如果直接new,创建的实例是预定义大小,通过方法add可以改变容器大小。

2025-02-12 15:13:15 131

原创 CLion 在 Run 或 Debug 时的中文乱码问题

【代码】 CLion 在 Run 或 Debug 时的中文乱码问题。

2025-02-04 09:15:53 286

原创 CLion:控制台显示内容自动换行

控制台自动换行

2025-01-17 19:11:30 320

原创 Qt:信号槽中使用智能指针std::shared_ptr

一般编程情况下信号槽都直接使用指针,但是因为野指针或内存泄漏情况,在这里我使用c++标准库的智能指针std::shared_ptr,这样避免野指针和内存泄漏。因为网上也有类似博文介绍如何解决,但是我试了都不行,在这里我将自己的处理方式进行记录和介绍。传递的数据使用std::shared_ptr包装,信号槽还是原始指针。

2025-01-16 08:21:24 310

原创 spring:xml声明bean的多种方式。

如题,具体具体声明方式见代码。

2025-01-06 18:38:23 450

转载 c++:=delete使用

引入的=delete是一种特性,它用于明确禁用或删除类的成员函数、特殊成员函数、或者其他成员函数。=delete的主要目的是在编译时捕获潜在的错误,并提供更精确的控制,以确保类的行为符合设计要求。

2024-12-30 10:00:36 172

转载 c++: =default使用

default是C++11引入的一种特性,它允许显式要求编译器生成默认的特殊成员函数。特殊成员函数包括默认构造函数、复制构造函数、移动构造函数、复制赋值运算符、移动赋值运算符以及析构函数。在默认情况下,如果你没有显式提供这些特殊成员函数的定义,C++编译器会自动生成它们。在这个示例中,MyClass类中同时定义了一个默认构造函数和一个自定义构造函数。MyClass()构造函数使用了=default来指定,所以编译器会自动生成它,而构造函数是程序员自己定义的。可以看到 ,在main。

2024-12-30 08:32:42 327

原创 Sublime_text习惯配置

【代码】Sublime_text习惯配置。

2024-12-17 12:03:53 122

原创 IDEA下加载音频文件操作

音频文件在IDEA的工程中应在资源文件夹(resource文件夹)下。资源文件夹与代码文件夹(java文件夹)平级。其中,一是代码文件夹,二是资源文件夹,三是字符串描述从资源文件夹下定位的音频文件(注意从资源文件夹下一级开始)。通过AudioClip类播放音频文件。

2024-12-15 13:56:48 594

原创 QXlsx使用注意事项

QXlsx是一个可以读写Excel文件的库。不依赖office以及wps组件,可以在Qt5支持的任何平台上使用;Worksheet是Excel中的sheet,注意其中的row/colum。n(行/列)索引,起始索引是1,不是0。

2024-12-11 19:42:49 278

原创 使用Clion debugger断点,数据显示为16进制问题的解决方案

RT,在使用debugger跟进断点时,显示的数据为16进制。无法简明有效的观察程序运行情况。

2024-12-11 11:00:41 284

QTableView + QStandardItemModel模式显示表格冻结列(模板) 示例动图

QTableView + QStandardItemModel模式显示表格冻结列(模板) 示例动图

2024-09-20

编程命名规范

在编程中,你需要与自己的队友保证命名一致,这样才会使得事半功倍。

2019-03-20

Expert_One-on-One_J2EE_Development_without_EJB中文版 part10

pdf 中文..............................

2009-02-11

数据结构与算法分析(Java版英文)

数据结构与算法分析(java版英文)

2007-09-24

Expert_One-on-One_J2EE_Development_without_EJB中文版 part7

pdf 中文..............................

2009-02-11

Expert_One-on-One_J2EE_Development_without_EJB中文版 part8

pdf 中文..............................

2009-02-11

Java高并发编程详解

本书共分为四个部分:部分详细地介绍了Java多线程的基本用法和各个API的使用,并且着重介绍了线程与Java虚拟机内存之间的关系。第二部分由线程上下文类加载器方法引入,介绍为什么在线程中要有上下文类加载器的方法函数,从而掌握类在JVM的加载和初始化的整个过程。第三部分主要围绕着volatile关键字展开,在该部分中我们将会了解到现代CPU的架构以及Java的内存模型(JMM)。后一部分,主要站在架构设计的高度看待如何巧妙地开发出真正具备并发能力的系统

2018-10-19

Java模式设计

Java模式设计,对提高个人的编程意识有很大帮助。通过一个完整的java项目对经典著作design patterns一书介绍的23种设计模式进行了深入分析与讲解,实践性强,却又不失对模式本质的探讨。本书创造性地将这些模式分为5大类别,以充分展现各个模式的重要特征,并结合uml类图与对应的java程序,便于读者更好地理解。全书给出了大量的练习,作为对读者的挑战,以启发思考,督促读者通过实践练习的方式来掌握设计模式。同时,作者又给出了这些练习的参考答案,使读者可以印证比较,找出自己的不足,提高设计技能。

2017-10-29

Expert_One-on-One_J2EE_Development_without_EJB中文版 part5

pdf 中文..............................

2009-02-11

Qt高级编程 中文版

Qt高级编程,在C++GuiProgrammingWithQt4之后的进阶读物。

2015-01-27

Java并发编程实战 2nd

本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。

2018-10-19

c#本质论(英文版)

本书是一本清晰、简明的C# 教程,涵盖了C# 2.0 。书中对C# 语言的每个重要结构都用简短的示例代码进行说明,并且和其他语言进行了全方位比较。每章开头的“思维导图”指明了本章要讨论的主题以及每个主题同整体的关系。

2008-09-22

swing 教程 e文

比较好的一本swing教程,希望能对你的学习有所帮助。。。

2010-02-05

The ruby way

ruby语言的教材......

2007-12-02

Expert_One-on-One_J2EE_Development_without_EJB中文版

关于j2ee很好的一部书,共分为10部分,最后一部分含有bat合并文件,运行后合并为pdf文件

2009-02-11

Expert_One-on-One_J2EE_Development_without_EJB中文版 part2

关于j2ee很好的一部书,共分为10部分,最后一部分含有bat合并文件,运行后合并为pdf文件

2009-02-11

Expert_One-on-One_J2EE_Development_without_EJB中文版 part4

pdf 中文..............................

2009-02-11

Expert_One-on-One_J2EE_Development_without_EJB中文版 part9

pdf 中文..............................

2009-02-11

Expert_One-on-One_J2EE_Development_without_EJB中文版 part3

pdf 中文。。。。。。。。。。。。。。。。。。。。。。。。。。。

2009-02-11

Expert_One-on-One_J2EE_Development_without_EJB中文版 part6

pdf 中文..............................

2009-02-11

关于CoreJava同步的疑惑例子

java,corejava, 同步。如上说述

2015-10-24

Pro.Netbeans.IDE.6.Rich.Client.Platform.Edition

netbeans6.0教程

2008-05-15

net版本

net版本net版本net版本net版本

2007-11-28

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除