- 博客(574)
- 资源 (51)
- 收藏
- 关注

原创 新手如何学好C语言?
作为一名资深码农,在软件行业也拼搏了十多年,这里跟想学习C语言的萌新童鞋分享下我的个人学习心得!!!在大学时代,我们大二才开始学习C语言(起步有点晚啊),第一次看到那本黄黄的谭浩强老师的《c语言教程》,哈哈哈,就是这本了,满满的回忆啊!开学拿到这本书后,心情很激动,因为以前总是羡慕那种黑客,好像很牛的样子, 抱着好奇的心理随便翻开了几页看了看,全程一脸懵逼, 因为以前从来没有接触过编程...
2020-04-27 13:59:47
2590
3

原创 一个普通的计算机专业专科生,毕业后想拿高薪,大学三年具体应该怎么做?
最近有一位大一的童鞋问我:黄老师, 我现在是一个普通院校的专科,学历含金量并不高,随大流选了一个计算机专业,很迷茫,不知道毕业后能干嘛,但我还是不想虚度大学三年,因为家境并不好,想通过自己努努力毕业能拿一份不错的薪水,能给点建议吗?其实也不是这一位同学向我咨询类似的问题,这几年其实蛮多的普通院校大学生都感到压力,因为没有名校背景,没有较高的学历,大学毕业后,只能进入普...
2020-04-24 16:45:34
4682

原创 全套C C++ 编程视频课程收录
【C语言】小白可以短时间很快入门的《从小白入门C语言视频课程》http://edu.csdn.net/course/detail/5895然后C语言中为核心知识点,附上指《C语言指针精讲视频课程》http://edu.csdn.net/course/detail/5896指针是重点《30分钟学会C语言指针视频课程》https://edu.csdn.net/cou...
2017-10-27 14:58:48
11284

原创 新手如何学好C++?
最近,很多学员都给我发邮件问我应该如何学习C++,如何学好C++?那么作为一个从C语言小白摸爬滚打、入坑无数到成长为如今的高级C++游戏开发工程师、高级C++服务端工程师、项目经理、技术总监、我想跟大家分享下我自己的学习心得与体会!Linus曾说过:“C++是一门很恐怖的语言,而比它更恐怖的是很多不合格的程序员在使用着它”,这个世界上最难的编程语言可能非C++莫属了,呵呵,虽然有点夸...
2017-10-10 09:32:28
21951
6
原创 C语言中的指定初始化器
C99标准引入了一种更灵活、直观的初始化语法——指定初始化器(designated initializer), 可以在初始化列表中直接引用结构体或联合体成员名称的语法。通过这种方式,我们可以跳过某些不需要初始化的成员,并且可以以任意顺序对特定成员进行初始化。这对于维护和阅读代码特别有帮助,尤其是在处理复杂的结构体时。int x;int y;C++20中Designated initializers也是类似的指定的初始值设定项。
2025-05-15 17:22:55
91
原创 C++ Qt框架开发的程序添加自动更新功能
由于直接替换正在运行的程序文件本身是一个挑战(因为操作系统通常会锁定正在执行的文件),因此需要一些技巧来实现这一目标。多线程下载将一个大的文件分成多个小的块,每个块由一个线程负责下载。当所有线程都完成各自的下载任务后,再将这些小块文件合并成最终的文件。文件分割 :根据文件的大小,将其分割成多个分块(chunks),确定每个分块的起始和结束字节。下载并记录进度 :每个线程在下载时,需要记录当前已下载的字节数,以备后续的断点续传。文件合并 :所有分块下载完成后,需要将分块文件按照顺序合并成完整的文件。
2025-05-15 09:28:36
124
原创 Spring 中常见的属性注入方式(XML配置文件)
在 Spring 中,XML 配置属性注入。以下是几种常见的属性注入方式及其对应的简单示例代码。
2025-05-14 16:47:56
182
原创 Spring 中的 @Configuration @Bean注解
是 Spring 提供的一个注解,用于标记某个类为配置类。该类可以定义 Bean 的创建方式,并通过@Bean注解的方法来注册这些 Bean 到 Spring 容器中。特性说明注解名称所属包是否必须否,但在基于 Java 的配置中非常常见是否可被扫描是,但自身不是组件支持哪些功能Bean 定义、组件扫描、条件化配置、属性注入等是 Spring 框架中非常强大而灵活的注解之一,是现代 Spring 开发中推荐使用的配置方式。
2025-05-14 16:31:40
93
原创 Spring 中的 @ComponentScan注解详解
是 Spring 提供的一个用于启用组件扫描的注解。自动扫描指定包路径下的类。自动注册这些类为 Spring 容器中的 Bean。只有被特定注解标注的类才会被识别,例如@Component@Service等。@Component@Service@Autowired注解用途说明是否可被扫描@Component最基础的组件注解✅@Service用于服务层✅用于数据访问层✅用于控制器类✅标识配置类,常与搭配使用。
2025-05-14 16:19:33
74
原创 Qt5.14.2 链接 MySQL 8.4 遇到的问题
"Plugin caching_sha2_password could not be loaded: 找不到指定的模块。Library path is 'caching_sha2_password.dll' QMYSQL: Unable to connect"修改my.ini文件。
2025-05-12 23:50:33
379
原创 Qt解决自定义窗口样式不生效问题
方法三:重新实现QWidget的paintEvent函数时,使用QStylePainter绘制。将类继承QWidget 改成继承 QFrame。
2025-05-10 19:37:24
200
原创 Java、javax 和 Jakarta有什么区别?
2017 年,Oracle 将 Java EE 移交给 Eclipse 基金会管理,并将其更名为Jakarta EE。这是为了摆脱 Oracle 商标限制,并推动社区主导的企业级 Java 发展。因此,从开始,原本属于javax.*的包全部改名为jakarta.*。名称来源是否标准主要用途是否已过时java✅ 是Java SE 核心类库❌ 否javaxOracle✅ 是(曾是 Java EE 标准)Java 扩展类库,如 Servlet、Swing 等✅ 是(部分)jakarta。
2025-05-09 17:12:23
132
原创 Java 模板引擎 Thymeleaf JSP FreeMarker
模板引擎是一种用于将数据模型和视图分离的技术工具。将业务逻辑与页面展示解耦提高开发效率和可维护性支持多种输出格式(HTML、XML、JSON、文本等)引擎名称简介Thymeleaf现代化、支持自然模板,适合Spring项目JSPJava早期标准,内嵌Java代码,适用于传统Web应用FreeMarker高性能、灵活、独立于框架,适合复杂内容生成轻量级、跨平台、语法简洁VelocityApache项目,历史悠久,适合老系统迁移Pebble类似Twig的模板引擎,支持继承、过滤器等高级功能引擎名称。
2025-05-09 15:28:28
53
原创 Servlet、HttpServlet 和 DispatcherServlet 区别与关系
所属包作用:是所有 Servlet 的根接口,定义了 Servlet 生命周期的基本方法。特点与协议无关(可以用于任何协议,如 HTTP、FTP 等)。是一个底层接口,通常我们不会直接实现它,而是继承其子类(如所属包作用:专门用于处理 HTTP 协议的抽象类,是Servlet的扩展。特点只处理 HTTP 请求(GET、POST、PUT、DELETE 等)。提供了doGet()doPost()等方法,开发者只需重写这些方法即可。所属框架作用。
2025-05-09 15:23:41
541
原创 PyQt5 实现自定义滑块,效果还不错
最近,黄老师闲来无事,需要做一个 播放器的滑块,但是Qt官方的长这个样子,不太好看。功能可以点击,可以拖拽改变进度,和播放器的进度条一样。
2025-05-07 21:08:31
163
原创 Java中的Classpath 包含哪些目录?
Classpath是JVM用来搜索用户自定义类和包的路径列表。它由一系列目录、JAR文件或ZIP文件组成,这些位置存储了编译后的.class文件和需要的库文件。Classpath可以显式地通过命令行参数设置,也可以隐式地由IDE或构建工具自动管理。手动指定:除了上述默认目录外,你还可以通过命令行参数-cp或-classpath来指定额外的目录或JAR文件加入到classpath中。这对于快速测试或者执行特定任务非常有用。
2025-05-06 16:09:08
36
原创 JDBC 与 JdbcTemplate区别
在Java应用程序中,JDBC(Java Database Connectivity)是用于执行SQL语句的标准API。它允许Java程序与数据库进行交互。然而,直接使用JDBC可能会导致编写大量的样板代码,比如获取连接、创建语句对象、处理结果集以及关闭资源等。Spring框架提供的正是为了解决这些问题而设计的,简化了数据库操作。
2025-05-06 15:35:41
35
原创 AOP、IOC、DI 底层实现与代理技术详解
技术特点适用场景静态代理易于理解和实现,但冗余代码多小型项目或简单代理需求JDK 动态代理运行时动态生成代理类,只能代理接口需要代理接口的场景CGLIB 代理基于字节码操作,可代理类和接口需要代理具体类的场景IOC 容器解耦对象创建和使用,提高可测试性大中型项目,需要解耦的场景DI自动注入依赖对象,简化配置需要灵活管理依赖关系的场景AOP分离横切关注点,提高代码复用日志记录、事务管理、安全控制等。
2025-05-06 14:52:44
699
原创 Qt 的信号与槽机制依赖元对象系统(Meta-Object System)实现
在 Qt 中,信号和槽之间的连接主要通过 类及其相关的私有类进行管理。每个 实例都维护着一个指向其 的指针,该对象包含了有关类的所有元信息,包括信号、槽等。此外,还有一个关键的数据结构用于存储信号与槽之间的连接信息,即 结构体。 是 Qt 内部使用的一个结构体,用于表示单个信号到槽的连接。它通常包含以下字段:QMetaObject:包含类名、父类信息、属性列表、方法列表(包括信号和槽)、信号与槽的元信息等。它是 Qt 元对象系统的核心。QObjectPrivate: 类的私有部分,包含了一些对开发者
2025-04-30 11:29:27
115
原创 C++ Lambda表达式中& 与 =的作用
捕获列表(Capture list):指定哪些外部变量可以被Lambda表达式访问。参数列表(Parameter list):类似于普通函数的参数列表。可选的异常说明符(Exception specification)。可选的尾置返回类型(Trailing return type)。函数体(Body)。
2025-04-30 10:33:13
132
原创 JCE cannot authenticate the provider BC
Bouncy Castle 是一个开源的加密库,提供了丰富的加密算法和协议支持。它是 Java Cryptography Extension (JCE) 的扩展,支持许多标准和非标准的加密算法。相比于 Java 自带的加密提供者(如 SunJCE),Bouncy Castle 提供了更多的功能和更高的灵活性。
2025-04-24 17:25:18
73
原创 一分钟搞清楚Spring框架中的IOC、DI AOP
概念解释:控制反转是一种设计思想,它将创建对象的控制权从应用程序代码转移到外部容器(如Spring容器)。这使得我们的代码更加解耦合且易于管理。生活中的比喻:想象你正在组织一场晚宴。传统做法是你自己去购买所有食材。但是,在使用“控制反转”的情况下,你可以雇佣一个厨师团队。这个团队不仅负责根据你的菜单采购所需的全部食材和调味料。这样,你就把控制权交给了专业的人士,自己则可以专注于邀请客人和享受聚会的乐趣。通过上述的生活例子,我们希望能够让大家对Spring框架中的IOC、DI和AOP有更直观的理解。
2025-04-24 11:13:35
37
原创 Spring框架中 @Configuration @ComponentScan @Bean 作用
结合使用这两个注解,可以实现基于Java配置的Spring应用开发,无需使用传统的XML配置方式。是Spring框架中用于配置和自动扫描组件的注解,它们在创建基于Java的配置类时非常有用。等注解的类),并将其注册为Spring容器中的beans。注解标记的,这意味着它是一个配置类,同时使用了。包及其子包下的所有组件(即使用了。注解来指示Spring自动扫描。
2025-04-24 10:26:45
33
原创 深入理解 Spring @Configuration 注解
定义是一个标记注解,表明被注解的类主要作为 Bean 定义的来源。这些类通常包含使用@Bean注解的方法,每个这样的方法都会向 Spring 容器注册一个 Bean。作用提供 Bean 定义类是 Spring IoC 容器的一部分,允许你以编程方式定义和管理 Bean。增强灵活性:与 XML 配置相比,基于注解的配置提供了更灵活且易于维护的方式。支持复杂初始化逻辑:可以在@Bean方法中实现复杂的初始化逻辑。利用@Profile。
2025-04-22 11:13:45
205
原创 深入理解 Java 中的 Classpath
在 Java 开发中,是一个至关重要的概念。它决定了 JVM(Java Virtual Machine)在哪里查找用户定义的类文件、第三方库以及资源文件。
2025-04-22 11:02:57
35
原创 深入理解 Spring 中的 @Autowired 和 @Value 注解
Autowired提供了一种方便的方式来自动装配依赖项,无论是通过构造函数、字段还是 setter 方法。@Value则主要用于从外部配置源注入简单的值或使用 SpEL 表达式进行复杂的数据绑定。
2025-04-22 10:46:18
56
原创 深入理解 Spring @Bean 注解
定义@Bean是一个方法级别的注解,用于指示一个方法产生一个由 Spring IoC 容器管理的 Bean。这个注解通常与注解一起使用,类是一个特殊的类,旨在通过定义 Bean 来配置应用程序上下文。作用提供了一种灵活的方式来创建和管理 Bean,允许开发者完全控制 Bean 的创建过程。支持复杂的初始化逻辑,如依赖注入、条件判断等。@Bean注解提供了一种灵活且强大的方式来定义和管理 Spring 容器中的 Bean。结合使用,可以实现复杂的应用程序上下文配置。
2025-04-22 10:27:39
47
原创 Spring 中 @Bean 和 @Component 的功能介绍及区别
在 Spring 框架中,@Bean和@Component都是用来定义 Spring 容器中的 Bean,但它们的使用场景和工作方式有所不同。下面将详细介绍这两个注解的功能及其主要区别。@Bean。
2025-04-22 10:12:51
47
原创 Spring中配置 Bean 的两种方式:XML 配置 和 Java 配置类
特性XML 配置Java 配置类定义方式基于 XML 文件基于 Java 类优点配置集中,易于修改类型安全,支持 IDE 自动补全和重构缺点不易调试,容易出错配置较复杂时可能显得冗长适用场景旧项目或需要动态修改配置的场景新项目或需要类型安全的场景XML 配置适合于需要动态修改配置的场景,但不够直观且不易调试。Java 配置类更加现代化,提供了类型安全和更好的开发体验。在实际项目中,可以根据需求选择合适的配置方式,甚至可以结合两者使用。
2025-04-22 09:51:06
630
原创 Spring 中 @Component, @Repository, @Service 的区别及示例代码
注解适用范围特点@Component通用组件基础注解,适用于所有类型的组件。数据访问层(DAO 层)捕获持久化异常,适用于与数据库交互的类。@Service业务逻辑层(Service 层)明确标识业务逻辑层组件,提高代码可读性和分层清晰度。@Component是最通用的注解,适用于任何类型的组件。专门用于数据访问层,简化了异常处理。@Service用于业务逻辑层,明确区分业务逻辑和其他层次。通过合理使用这些注解,可以使代码结构更加清晰,便于维护和扩展。
2025-04-22 09:24:03
376
原创 Spring 中 @Component, @Repository, @Service的区别
Component 是一个泛化的概念,表示任何被Spring管理的组件。@Component 不会对被注解的类有任何特殊的处理,因此它是一个通用的注解。@Repository 注解通常用于标识数据访问层(DAO)的类,表示这个类是一个仓库(Repository)类,负责数据库相关的操作。@Service 注解通常用于标识服务层(Service)的类,表示这个类是一个服务类,负责业务逻辑的处理。@Repository 注解的作用与 @Component 注解类似,但它是专门用来标识数据访问对象的。
2025-04-22 09:21:08
143
原创 PyCharm使用Anaconda 中的虚拟环境
在设置窗口中,找到 Project: <项目名称> > Python Interpreter。首先,我安装了AnaConda, 创建了一些虚拟环境。点击顶部菜单栏的 File > Settings。
2025-04-20 20:10:38
82
原创 MyBatis 中 Mapper 传递参数的多种方法
**便于维护**:即使参数顺序发生变化,也不会影响 SQL 映射文件中的引用。- **不易维护**:随着参数数量增加或参数顺序调整,容易导致混淆和错误。- **类型安全**:编译期间即可检查类型错误,减少运行时异常。- **简单直接**:对于少量且固定的参数,这种方式非常直观。- **增强代码结构**:使代码更加模块化,易于管理和扩展。- **提高可读性**:参数名更加清晰,易于理解。- **减少接口变更**:无需频繁修改接口定义。- **灵活性高**:适合动态参数的情况。
2025-04-13 21:56:58
468
原创 MyBatis Mapper 传递参数的多种方法
如果只是简单的查询或更新操作,涉及少量参数,使用@Param注解是最佳选择。当需要处理大量动态参数时,使用 Map 更加灵活。针对一组经常使用的参数,建议使用对象封装,以提升代码的可读性和可维护性。
2025-04-13 21:56:27
386
原创 Mybatis 中 <mappers> 标签四种配置方式
配置方式适用场景是否需要 XML 同包同名示例代码加载类路径下的 XML 文件是加载接口类是批量扫描包中的接口是加载文件系统中的 XML 文件(绝对路径)否推荐优先使用<package>或,以简化配置和维护工作。
2025-04-13 09:55:40
58
原创 Html中如何调试JavaScript 代码?
(按 F12 或者单击鼠标右键,在弹出的菜单中选择“检查”),然后在找到并选择“等方法来打印程序中各个变量、对象、表达式的值。那么这个代码如何调试呢?
2025-03-31 21:37:35
56
UGUI Super ScrollView 最新版2.3.2
2019-02-23
openGL的实用工具包 GLUT库
2011-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人