自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2025-02-04 09:15:53 110

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

控制台自动换行

2025-01-17 19:11:30 83

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

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

2025-01-16 08:21:24 146

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

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

2025-01-06 18:38:23 418

转载 c++:=delete使用

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

2024-12-30 10:00:36 63

转载 c++: =default使用

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

2024-12-30 08:32:42 72

原创 Sublime_text习惯配置

【代码】Sublime_text习惯配置。

2024-12-17 12:03:53 82

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

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

2024-12-15 13:56:48 468

原创 QXlsx使用注意事项

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

2024-12-11 19:42:49 194

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

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

2024-12-11 11:00:41 197

原创 QSet<T>自定义类型需要定义==和qHash()函数

如题,QSet中T为自定义类型需要重写==函数和qHash()函数。

2024-12-06 23:44:33 222

转载 善用shared_ptr,远离内存泄漏(转载)

试想一下,sp1指向对象obj1,sp2指向对象obj2,那么赋值之后,sp1也会指向obj2,那就是说指向obj1的就少了,指向obj2的就会多,如果此时没有其他shared_ptr指向obj1,那么obj1将会销毁。这样会导致两个shared_ptr管理同一个对象,当其中一个被销毁时,其管理的对象会被销毁,而另外一个销毁时,对象会二次销毁,然而实际上,对象已经不在了,最终造成严重后果。》中说到,如果有可能就使用unique_ptr,然后很多时候对象是需要共享的,因此shared_ptr也就会用得很多。

2024-12-02 15:00:03 46

原创 C++新特性汇总:

属性:这个属性用于在switch语句中。通常,当switch语句的一个case执行完毕后,会自动跳转到switch语句的末尾,除非存在break语句。如果你想要故意从一个case“落入”(fall through)到下一个case,可以使用属性来告诉编译器这是故意的行为,以避免编译器发出警告。属性:这个属性可以用于函数或者返回类型。它的作用是告诉编译器:调用这个函数时,它的返回值不应被忽略。如果程序员调用了这样的函数但没有使用它的返回值,编译器会发出警告。这对于那些返回重要状态或错误码的函数特别有用。

2024-12-02 11:01:39 435

转载 C++:共享指针shared_ptr的理解与应用

堆内存。

2024-11-25 11:45:52 309

转载 c++中的初始化

序号形式拷贝/直接初始化可用于构造函数初始值列表可用于类内初始值备注1等号拷贝初始化❌✅2等号+花括号={}拷贝初始化❌✅列表初始化3花括号{}直接初始化✅✅推荐!列表初始化,能用于各种初始化场景!4圆括号()直接初始化✅❌存在 Most Vexing Parse 问题、不可用于类内初始值及提供多个初始元素值的列表拷贝初始化:使用形式的初始化。直接初始化:不使用形式的初始化(使用{}或()形式初始化)列表初始化:使用{}

2024-11-24 18:10:44 56

原创 工程目录架构(参考)

2024-11-24 09:05:03 115

原创 Java:消息队列传递参数

消息队列(Message Queue)是一种实现进程间通信的机制,通过消息的发送和接收实现解耦、削峰和异步处理等功能。消息队列在分布式系统中非常重要,常见的消息队列中间件有RabbitMQ、Kafka和ActiveMQ等。本文在Java中实现一个简单的消息队列,展示基本的使用方法。

2024-11-18 09:06:39 814

原创 Qt问题:不同文件中相同命名空间的多个 Q_NAMESPACE

【代码】不同文件中相同命名空间的多个 Q_NAMESPACE。

2024-11-16 08:30:35 443

原创 cmake常用功能示例

cmake常用功能示例

2024-11-15 18:32:38 257

原创 Java 获取多线程返回值的几种方式

一 在主线程使用Thread.join方法,主线程会等调用了join的子线程执行完后再执行。二 使用Callable接口和Future接口。

2024-11-10 14:03:59 300

转载 Java函数式编程(一)–Function的使用

Java函数式编程(一)–Function的使用在函数式编程中,我们用的最多的往往是Function接口.通常来说,我们很少会直接使用这个接口,但是在Java的函数式编程中,许多组件都会与这个接口有关.需要注意的是,很多人会混淆Java8中新增的Stream API与函数式编程的概念,事实上,Stream API是一种为了实现自动化并行的惰性求值的解决方法,与函数式没有太大关系,但是其与函数式编程结合会很好用.

2024-11-03 23:21:49 179

转载 (转载)Java枚举:小小enum,优雅而干净

除了 EnumSet,还有 EnumMap,是一个专门针对枚举类型的 Map 接口的实现类,它可以将枚举常量作为键来使用。“如果枚举中需要包含更多信息的话,可以为其添加一些字段,比如下面示例中的 name,此时需要为枚举添加一个带参的构造方法,这样就可以在定义枚举时添加对应的名称了。由于枚举是 final 的,所以可以确保在 Java 虚拟机中仅有一个常量对象,基于这个原因,我们可以使用“==”运算符来比较两个枚举是否相等,参照。“确实,作为开发者,我们的代码量减少了,枚举看起来简洁明了。

2024-11-03 09:27:22 39

转载 Java代理模式

代理模式有静态代理和动态代理两种实现方式。

2024-10-26 14:34:35 44

转载 飞行中的各种高度总结

前几天,本来想总结一遍关于导航仪表指示器的文章,结果在复习领航笔记的时候,被“高度”相关的知识点给“迷”住了,想了好久才重新梳理清楚,看来这是个时间久了就容易混淆的知识点,顺手来总结一下吧。我身高177,我站在地面上身高是177,站在东方明珠上,也许比地面高了几百米,但似乎对我来说没什么意义,谈及身高的时候,我参考的基准面永远是我脚踩的这块地。我比较喜欢在b站上写东西,所以回答的时候只放了一个链接上去,今天把文章搬到知乎来,因为感觉文字性的东西,还是知乎看的人比较多,大家可以一起讨论。

2024-10-19 09:48:05 721

原创 飞行高度测量与 QNE、QNH、QFE

标准气压高度,是指飞行中飞机相对于标准气压面的垂直距离。空中的飞机,如果按各自选择不同基准面飞行,有可能在两机相近或交会时发生相撞事故。为此,规定在航线和转场飞行时,统一以101325Pa气压面为基准,并以此来调整飞机间的垂直间隔,实行空中交通管制,保证飞行安全。采用标准气压高度来划分高度层。

2024-10-19 09:36:41 983

转载 飞机的导航能力:PBN、RNAV和RNP

关于PBN、RNAV和RNP,我认为最难区分的是PBN和RNP,翻译过来太像了。看了很多文章,感觉不是很尽兴,于是,根据自己的理解结合规章规范总结了一下,希望能用直白的语言把它说明,破除行业专业术语屏蔽。理解不当之处,请大家指出。

2024-10-18 09:16:38 748

原创 Java:IDEA生成JavaDoc文档

第三步:区域设置,决定文档的语言,简体中文就是zh_CN、繁体(台湾)zh_tw、繁体(香港)zh-hk、英语(香港)en-hk、英语(美国)en-us、英语(英国)en-gb、英语(全球)en-ww。第四步:其他命令行参数:如果区域设置为中国,参数一般为-encoding UTF-8 -charset UTF-8。有些开源项目并未直接提供api,但是通过从github、gitee下载项目可以手动生成Java文档。第一步:选择生成JavaDoc文档的范围,我只对一个源文件生成Doc,所以选择文件。

2024-10-15 15:54:22 497

原创 JavaFX:加载图片方法

Objects.requireNonNull方法说明:Checks that the specified object reference is not。Image实例需要传入参数String类型或InputStream类型。需要将URL类型转换为String类型。将图片保存在资源文件夹的image文件夹下。所以使用toString方法进行转换。maven框架下加载图片。

2024-10-12 19:26:48 317

转载 Java:性能篇,解密Stream,提升集合遍历效率的秘诀!

在开始深入讨论之前,我们先来了解一下什么是 Stream。Stream 是 Java 8 中引入的一种新的抽象概念,用于处理数据序列。它为我们提供了一种更加便捷、高效的方式来操作集合数据,实现了函数式编程的特性。在之前的 Java 版本中,我们通常使用迭代器或者循环来处理集合,代码显得冗长且难以阅读。而引入 Stream 后,我们可以采用声明式的方式描述数据的处理流程,使代码更加简洁、清晰。Stream 的本质是一种数据流,它不是一种数据结构,因此不会改变原有的数据集合。

2024-10-11 17:10:33 114

转载 【JDK 11】关于 Java 模块系统(module),看这一篇就够了

如果把 Java 8 比作单体应用,那么引入模块系统之后,从 Java 9 开始,Java 就华丽的转身为微服务。模块系统,项目代号Jigsaw,最早于 2008 年 8 月提出(比 Martin Fowler提出微服务还早 6 年),2014 年跟随 Java 9 正式进入开发阶段,最终跟随 Java 9 发布于 2017 年 9 月。那么什么是模块系统?官方的定义是如图-1所示,模块的载体是 jar 文件,一个模块就是一个 jar 文件,但相比于传统的 jar 文件,模块的根目录下多了一个。

2024-10-08 20:41:14 1510 2

原创 cmakelist加载Qt模块

Qt编程中,cmakelist会自动添加Core,Gui,Widgets模块,有时需要添加新的Qt的模块。在命令find_package中添加要新增的模块,比如要增加对ui文件的处理。

2024-10-04 22:57:36 613

转载 使用CLion编写QT遇到的一些坑(找不到头文件,Build报错)

文件来组织和设置项目的,所以如果我们需要添加诸如Qt这样的第三方库或是改变编译行为,都只要修改。之后再重新Build可以有效解决问题。

2024-10-04 18:04:07 300

原创 JavaFX加载fxml文件几种方法

环境:idea,maven创建JavaFX工程。

2024-10-04 16:15:18 304

转载 QTableView + QStandardItemModel模式显示表格冻结列(模板)

在 QTableView、QListView 等控件中,QModelIndex 用来唯一标识模型中的一个元素,以便于获取和操作该元素的数据。在 QTableView 中,QStandardItem 作为数据模型中的基本元素,负责展示和编辑表格中的数据。1. 定位元素:通过 QModelIndex 可以获取到模型中指定位置的元素,例如获取第一行的第一个单元格的 QModelIndex。2. 访问数据:通过 QModelIndex 可以访问到模型中对应元素的数据,例如获取该元素的文本内容或图片资源。

2024-09-20 21:27:23 153

转载 Java Lambda 表达式

Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑。

2024-09-19 17:41:43 214

转载 现代 C++ 中的初始化

序号形式拷贝/直接初始化可用于构造函数初始值列表可用于类内初始值备注1等号拷贝初始化❌✅2等号+花括号={}拷贝初始化❌✅列表初始化3花括号{}直接初始化✅✅推荐!列表初始化,能用于各种初始化场景!4圆括号()直接初始化✅❌存在 Most Vexing Parse 问题、不可用于类内初始值及提供多个初始元素值的列表拷贝初始化:使用形式的初始化。直接初始化:不使用形式的初始化(使用{}或()形式初始化)列表初始化:使用{}

2024-09-18 08:35:22 277

原创 Windows系统下编译C++源码并调用

现在很多的C++库都以源码的形式在github网站开源,如果要使用,可以直接下载到本地,添加到工程中调用。也可以将源码编译为动态或静态库文件,然后将库文件添加到工程中。在这里我们将GoogleTest源码编译,然后加到工程中。

2024-09-10 15:13:08 959

原创 配置CMake

在cmd中输入“cmake”,如果配置正确,则会显示类似信息。点击网页上“Download”,选择所需版本下载。如题,需要下载CMake并配置。

2024-09-10 14:23:45 403

转载 CMake 保姆级教程(下)(未完待续)

如果项目很大,或者项目中有很多的源码目录,在通过CMake管理项目的时候如果只使用一个CMakeLists.txt,那么这个文件相对会比较复杂,有一种化繁为简的方式就是给每个源码目录都添加一个CMakeLists.txt文件(头文件目录不需要),这样每个文件都不会太复杂,而且更灵活,更容易维护。

2024-08-26 13:15:39 77

转载 CMake 保姆级教程(上)

在上面的例子中一共提供了5个源文件,假设这五个源文件需要反复被使用,每次都直接将它们的名字写出来确实是很麻烦,此时我们就需要定义一个变量,将文件名对应的字符串存储起来,在cmake里定义变量需要使用set。# SET 指令的语法是:# [] 中的参数为可选项, 如不需要可以不写VAR:变量名VALUE:变量值# 方式1: 各个源文件之间使用空格间隔# 方式2: 各个源文件之间使用分号;间隔div.c;main.c;mult.c;sub.c)

2024-08-25 16:27:06 412

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

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

2024-09-20

编程命名规范

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

2019-03-20

Java并发编程实战 2nd

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

2018-10-19

Java高并发编程详解

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

2018-10-19

Java模式设计

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

2017-10-29

关于CoreJava同步的疑惑例子

java,corejava, 同步。如上说述

2015-10-24

Qt高级编程 中文版

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

2015-01-27

swing 教程 e文

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

2010-02-05

Expert_One-on-One_J2EE_Development_without_EJB中文版 part10

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中文版 part8

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

2009-02-11

Expert_One-on-One_J2EE_Development_without_EJB中文版 part7

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

2009-02-11

Expert_One-on-One_J2EE_Development_without_EJB中文版 part6

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

2009-02-11

Expert_One-on-One_J2EE_Development_without_EJB中文版 part5

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中文版 part3

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中文版

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

2009-02-11

c#本质论(英文版)

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

2008-09-22

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

netbeans6.0教程

2008-05-15

The ruby way

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

2007-12-02

net版本

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

2007-11-28

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

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

2007-09-24

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

TA关注的人

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