自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 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 781

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

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

2025-03-16 11:39:27 23

原创 编程常用工具汇总

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

2025-03-03 12:39:23 265

转载 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 76

转载 Java:synchronized实现原理

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

2025-02-20 20:33:54 46

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

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

2025-02-19 16:25:07 899

原创 cmake:定位Qt的ui文件

CMAKE_AUTOUIC_SEARCH_PATHS是一个用于指定CMake自动查找ui文件的搜索路径列表的变量。这个变量在CMake 3.9版本中引入,主要用于初始化所有目标的AUTOUIC_SEARCH_PATHS属性。在工程中,将h,cpp,ui文件放置到不同文件夹下,会存在cmake找不到ui文件,导致编译报错情况。cmake通过指定文件路径,确保工程找到ui文件。如果有多个文件夹保存ui文件,都使用该命令添加。标识1:ui文件保存路径。标识2:添加ui文件命令。

2025-02-18 14:53:44 381

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

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

2025-02-18 14:46:34 185

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

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

2025-02-12 15:13:15 110

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

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

2025-02-04 09:15:53 177

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

控制台自动换行

2025-01-17 19:11:30 207

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

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

2025-01-16 08:21:24 208

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

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

2025-01-06 18:38:23 431

转载 c++:=delete使用

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

2024-12-30 10:00:36 123

转载 c++: =default使用

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

2024-12-30 08:32:42 183

原创 Sublime_text习惯配置

【代码】Sublime_text习惯配置。

2024-12-17 12:03:53 100

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

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

2024-12-15 13:56:48 515

原创 QXlsx使用注意事项

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

2024-12-11 19:42:49 238

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

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

2024-12-11 11:00:41 236

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

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

2024-12-06 23:44:33 253

转载 善用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 65

原创 C++新特性汇总:

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

2024-12-02 11:01:39 478

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

堆内存。

2024-11-25 11:45:52 527

转载 c++中的初始化

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

2024-11-24 18:10:44 97

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

2024-11-24 09:05:03 125

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

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

2024-11-18 09:06:39 842

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

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

2024-11-16 08:30:35 475

原创 cmake编译动态库/静态库

cmake编译动态库/静态库

2024-11-15 18:32:38 290

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

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

2024-11-10 14:03:59 409

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

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

2024-11-03 23:21:49 212

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

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

2024-11-03 09:27:22 49

转载 Java代理模式

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

2024-10-26 14:34:35 57

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

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

2024-10-19 09:48:05 1223

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

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

2024-10-19 09:36:41 1520

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

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

2024-10-18 09:16:38 1352

原创 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 545

原创 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 334

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

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

2024-10-11 17:10:33 144

转载 【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 2208 2

原创 cmakelist加载Qt模块

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

2024-10-04 22:57:36 675

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关注的人

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