- 博客(82)
- 资源 (6)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 掌握Java对象本质:从打工者到技术专家的飞跃
编程范式的演变:从最初的机器视角,即通过直接操作硬件指令的汇编语言,到逐渐发展出更加抽象和高级的编程语言,这一过程不仅简化了编程难度,还极大地提高了代码的复用性和可移植性。面向对象编程(OOP)的兴起,更是将编程带入了从问题视角出发的新时代,使得程序员能够更加专注于解决问题本身,而非与计算机硬件细节纠缠。接口与对象:在OOP中,接口定义了对象能够响应的请求,是对象与外界交互的桥梁。一个设计良好的接口不仅提高了代码的可用性,还增强了系统的模块化和可维护性。
2024-08-12 23:14:49
2425
8
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 ASP.NET Core 9.0 MVC 入门教程:与MVC三兄弟的亲密对话
模型开发者可以专注于业务逻辑和数据的管理,视图开发者可以专注于用户界面的设计,而控制器开发者则可以专注于用户请求的处理和业务流程的协调。在MVC框架中,我扮演着‘交通警察’的角色,负责处理用户的请求,并根据请求的类型来执行相应的业务逻辑。MVC框架的核心思想就是实现关注点分离,将应用程序的不同部分分离成独立的组件,使得开发者可以更加专注于自己的领域。:“对,MVC框架的优势确实很明显。在这个例子中,我作为控制器,不仅处理了用户的请求,还协调了Model和View的工作,确保了整个登录过程的顺利进行。
2021-12-06 01:13:32
109
5
原创 第11章 使用Razor Pages
Razor Pages 是一种用于构建动态Web页面的框架,它将页面逻辑封装在单个Razor页面中,这些页面包含了HTML标记和Razor代码。Razor Pages模型由三个主要部分组成:页面模型(PageModel)、Razor视图(.cshtml文件)和页面路由。Razor Pages为ASP.NET Core开发者提供了一种简洁而强大的方式来构建动态Web页面。通过页面模型、Razor视图和页面路由的紧密协作,Razor Pages使得Web开发变得更加简单和高效。
2024-08-29 21:59:31
49
2
原创 Chapter 10 Using Entity Framework Core to Save Data
【代码】Chapter 10 Using Entity Framework Core to Save Data。
2024-08-29 21:57:14
77
原创 java.time包时间类浅谈
Java 17在时间处理方面没有引入全新的接口,但它通过优化现有类、改进编译器和垃圾收集器等方式,为时间处理提供了更好的性能和易用性。开发者可以继续使用Java 8及后续版本中引入的java.time包中的类来处理日期和时间。
2024-08-29 21:47:50
638
3
原创 Java与C#在中国:我们在信息技术领域的脆弱性和依赖性
2019年8月,微软公司宣布停止在俄罗斯销售新产品和服务,并暂停相关更新和授权。这一决定对俄罗斯用户和企业造成了不小的冲击。2024年6月,微软陆续关闭中国线下门店授权。微软官方给出的回应是:为了满足客户不断变化的需求,决定对中国大陆市场的渠道进行整合。很多高知和公知第一时间跳出来进行说明:在中国,微软的利润也根本就不来自于这些硬件方面。高知和公知的确各有洞见,他们告诉大家,人才最值钱!2024年6月22网易新闻,微软总裁确认:将 700 多名中国员工移居海外。
2024-08-25 22:19:32
1220
5
原创 在安全性方面Java和C#哪个更具优势
重要的是采用最佳的安全实践来构建安全的应用程序,并充分利用所选语言提供的安全特性和机制。丰富的安全机制:Java提供了丰富的安全机制,如访问控制(通过安全管理器和类加载器实现)、加密库(如Java Cryptography Architecture, JCA)等,这些机制可以帮助开发者构建安全的应用程序。跨平台安全性:Java通过Java虚拟机(JVM)实现了跨平台运行,这一特性本身就有助于提高安全性,因为相同的字节码可以在不同的平台上以相同的方式执行,减少了平台相关的安全漏洞。
2024-08-25 04:03:13
297
原创 Java和C#哪个更适合大型项目?
高效的开发环境:C#的主要开发环境是Visual Studio,这是一个功能丰富的集成开发环境(IDE),提供了出色的调试工具、丰富的生态系统支持和高效的代码管理。成熟稳定的生态系统:Java拥有庞大的社区和丰富的开源资源,如Spring、Hibernate等框架,这些框架为企业级应用提供了全面的解决方案。强大的标准库和API:C#的.NET框架为开发者提供了一套全面的标准库和API,涵盖了从图形界面到网络服务的广泛功能。这些库和API都是紧密集成的,使得开发者可以快速地构建出功能强大的大型项目。
2024-08-25 03:28:46
1055
原创 第9章 配置ASP.NET Core应用程序
ASP.NET Core配置系统是一个灵活且强大的机制,允许从多种配置源读取设置,并将这些设置绑定到强类型的配置对象上。配置源可以包括JSON文件、XML文件、INI文件、环境变量、命令行参数、内存中的.NET对象等。配置是ASP.NET Core应用程序中不可或缺的一部分。通过灵活且强大的配置系统,开发者可以轻松地从多种配置源读取设置,并将它们绑定到强类型的对象上。
2024-08-23 08:30:00
34
原创 Chapter 9: Configuring ASP.NET Core Applications
【代码】Chapter 9: Configuring ASP.NET Core Applications。
2024-08-20 00:03:17
145
原创 第10章 使用Entity Framework Core 保存数据
EF Core 提供了一种高效的方式来访问数据库,同时保持代码的简洁性和可维护性。它支持多种数据库系统,如 SQL Server、SQLite、PostgreSQL、MySQL 等。通过使用 EF Core,开发者可以定义与数据库表相对应的 C# 类(称为实体),并使用 LINQ(Language Integrated Query)来查询数据库。在 EF Core 中,每个数据库表都对应一个 C# 类(实体类)。这些类通常包含属性,这些属性映射到数据库表中的列。
2024-08-19 22:38:58
49
原创 Java编程中接口与实现分离的七种关键技术和设计模式
本教程深入探讨了Java编程中实现接口与实现分离的七种关键技术和设计模式。通过抽象类和接口,我们定义了行为的标准和结构的基础。委托模式允许对象将任务责任转移给其他对象,提高了代码的灵活性。策略模式则提供了一种定义和切换算法的方式,使得算法的选择和使用得以解耦。工厂模式简化了对象的创建过程,使得对象的创建和使用分离。依赖注入进一步解耦了对象与其依赖项,提高了代码的可测试性和可维护性。最后,服务提供者接口(SPI)为系统提供了高度的扩展性,支持在不修改核心代码的情况下添加或更改功能。
2024-08-19 09:00:00
1382
1
原创 Java中的资源管理
在Java编程中,资源管理是一个重要的概念,尤其是当涉及到非内存资源(如文件、网络连接、数据库连接等)时。这些资源不会由Java的垃圾收集器自动回收,因此需要程序员显式地管理它们的生命周期。
2024-08-18 23:46:04
364
原创 Java中的委托(Delegation)
委托是一种强大的设计模式,它介于继承和组合之间,提供了一种灵活的方式来复用代码和定义类之间的关系。在Java中,虽然没有直接的语言级支持,但我们可以通过接口和类的组合来实现委托模式。委托模式可以提高代码的复用性、减少耦合,并使得系统更加灵活和易于维护。希望本教程能够帮助你深入理解委托模式及其在Java中的应用。
2024-08-18 19:16:03
661
原创 第8章 依赖注入
依赖注入是一种设计模式,其核心思想是将一个类的依赖项从类的内部创建转移到类的外部,并由外部以参数的形式传递给类的构造函数或属性。这样做的好处是减少了类之间的耦合度,使得类更容易测试和维护。在ASP.NET Core中,依赖注入是通过内置的依赖注入容器来实现的。开发者只需声明所需的依赖项,容器就会在应用启动时自动解析并注入这些依赖项。依赖注入是ASP.NET Core中一个强大的特性,它帮助开发者构建松耦合、可测试、可维护的应用。
2024-08-18 08:15:00
36
原创 Java可变参数列表
在使用模块化的Java应用中,你可能需要确保使用可变参数的方法对所需类型的模块是可访问的。这意味着,如果你在一个模块中定义了一个使用可变参数的方法,并且这个方法需要访问另一个模块中的类,那么你需要确保这两个模块之间有适当的依赖关系。在Java中,可变参数(Varargs)允许开发者在调用方法时传递任意数量的参数,这些参数在方法内部会被统一处理为数组形式。如果你有两个重载方法,一个接受基本类型的可变参数,另一个接受对应的包装类的可变参数,编译器可能无法确定应该调用哪个方法,尤其是在没有传递任何参数时。
2024-08-16 22:51:27
684
原创 Java垃圾收集器工作原理
关键字创建的对象和数组。然而,Java通过其高效的垃圾收集(Garbage Collection,GC)机制,实现了与栈分配相近的堆分配速度,从而确保了程序的性能。为了深入理解Java堆内存的高效分配机制,我们可以将其比喻为一条在虚拟内存中运作的传送带,而这条传送带是由固定大小的页(Page)所构成的。然而,在对象的不断创建和销毁过程中,内存可能会变得碎片化,形成许多未被使用的空洞。因此,垃圾收集器扮演着至关重要的角色,它负责回收那些不再被使用的对象所占用的内存页或页内的内存区域,以确保内存的可持续利用。
2024-08-16 08:15:00
978
2
原创 Java探索:@Override、@SuppressWarnings(“deprecation“)与System.gc()的实战解析与融合应用
如果我们确信自己的代码是安全的,并且出于某种原因需要使用这些不推荐使用的元素,可以使用。虽然垃圾收集主要由JVM自动管理,但在某些内存敏感的操作中,我们可能希望手动触发垃圾收集以回收不再使用的对象占用的内存。注解在Java编程中扮演着至关重要的角色,它犹如一位严谨的守护者,确保子类方法正确重写了父类中的方法。方法的实战应用,揭示它们如何协同工作,共同塑造健壮、可维护的代码基石。注解抑制了编译器关于使用不推荐使用方法的警告,并明确调用了父类的。类的方法,编译器将发出错误提示,从而帮助我们及时发现并修正问题。
2024-08-15 23:02:19
595
原创 Java兮@Override凌苍穹,SuppressWarnings(“deprecation“)兮夜照明,System.gc()兮优性能。
Java之中,垃圾收集主要由JVM自动管理,然于某些内存敏感之操作,开发者或欲手动触发之,以回收无用之对象,节省内存之空间。余观之而叹曰:Java之伟,非止于其语言之规、编程之法,更在于其注解与方法之玄妙无穷也!@Override注之,则编译器知其意,若重写有误,则警示之,使开发者得以即时更正,代码之严谨性得以保全。而后Java出,立语言之规,定编程之法,乃使万物有序,代码生辉。于其间,注解与方法,如星辰之于苍穹,各司其职,共筑辉煌。今余欲探其深奥,析其精妙,特作此章,以颂Java之伟,注解与方法之玄妙。
2024-08-15 22:46:54
319
原创 Java与C#中的数据存储:相似性与差异性探讨
Java提供了内建的支持机制来处理序列化与持久化任务,同时,诸如JDBC与Hibernate等高级框架的加入,更是极大地简化了将对象存储至数据库的过程,为开发者带来了极大的便利。需要明确的是,对象本身并不栖身于栈中,而是安居于堆中,栈中仅保留了指向堆中对象的引用标识。在Java和C#等高级编程语言中,栈(Stack)和堆(Heap)都是位于RAM中的,用于存储程序运行时的各种数据和对象。常量,即在程序执行期间恒定不变的值,它们在Java中要么被直接嵌入代码之中,要么被安置于特定的内存区域。
2024-08-13 17:00:40
363
6
原创 Java中的值传递与引用传递
值传递:当你将一个变量传递给一个方法时,你实际上传递的是该变量值的一个副本。这意味着,如果你在方法内部对这个副本进行修改,原始变量的值是不会改变的。引用传递:当你将一个变量传递给一个方法时,你实际上传递的是该变量的引用(或内存地址)。这意味着,如果你在方法内部通过这个引用修改了变量的值,那么原始变量的值也会发生改变。在Java中,无论是基本类型还是引用类型,都是通过值传递的。对于引用类型,传递的是指向对象的引用的一个副本。
2024-08-12 23:52:34
158
1
原创 Chapter 7: Model Binding and Validation in .NET 8.0 ASP.NET Core Book Management System
【代码】Chapter 7: Model Binding and Validation in .NET 8.0 ASP.NET Core Book Management System。
2024-08-11 15:24:33
37
原创 第7章 .NET 8.0 ASP.NET Core图书管理系统:模型绑定和验证
虽然ASP.NET Core提供了强大的默认模型绑定器,但在某些情况下,你可能需要实现自定义模型绑定逻辑。例如,当你需要处理复杂的数据格式或执行额外的验证时。自定义模型绑定可以通过实现接口来完成。// 自定义绑定逻辑// ...// 设置绑定结果// 假设这里是从bindingContext中提取数据并赋值Property1 = // 从bindingContext.ValueProvider中获取数据在控制器或Razor Page中,你可以通过属性指定使用自定义模型绑定器。
2024-08-11 15:17:17
45
原创 《C#面向语言版本编程》C# 13 中的新增功能
在C#的早期版本中,当编译器遇到涉及方法组的表达式时,它会构造一个完整的候选方法集。这种方法在处理包含大量候选方法的复杂场景时,可能会变得低效,因为编译器需要遍历所有候选方法才能找到匹配的方法。在ASCII码表中,它对应的十进制值是27。:如果编译器在任何一个作用域内找到了至少一个匹配的候选方法,它将根据重载决策算法从这些候选方法中选择一个“最佳”方法。在 C# 13 之前的版本中,如果你需要在对象初始值设定项中初始化一个数组或集合,你必须显式地为每个元素指定索引,并且这些索引必须从 0 开始,逐个递增。
2024-08-11 00:04:05
268
原创 Jar工具完全指南:从入门到精通
Jar(Java Archive)是Java生态系统中的一个核心组件,它允许你将多个Java类文件、相关元数据和资源打包成一个单独的文件,以便于分发、部署和共享。Jar文件是基于Zip格式的,因此你可以使用任何支持Zip的工具来查看其内容,但Jar工具提供了更多针对Java特定需求的功能。现在,Jar文件几乎无处不在,从简单的Java程序到复杂的企业级应用,都可以看到它的身影。本教程将带你深入了解Jar工具的每一个方面,从最基本的创建和提取操作,到更高级的清单文件管理和应用程序打包技巧。
2024-08-05 19:10:59
1063
1
原创 Java编程 启程:Hello, World!的探索之旅
负责执行这一链接步骤的程序,自然而然地,被称作链接器,在Java中,编译过程是在程序执行之前完成的,它将源代码转换为字节码。编译器成为了我们的桥梁,将编写的源代码转化为字节码,随后链接器(在Java中,这一角色通常由Java虚拟机(JVM)在运行时担任)将这些字节码联结成一个可执行的应用程序。编译器检测到的错误被归类为编译时错误,而链接器(或更准确地说,是JVM的类加载器和链接器)在加载和链接类时发现的错误,则被称为链接时错误。但是,不要小看这个程序,它是你编程之路的起点,是你与计算机交流的第一次尝试。
2024-08-04 00:04:26
671
原创 Chapter 6: .NET 8.0 ASP.NET Core Book Management System: Delving into the World of Routing
【代码】Chapter 6: .NET 8.0 ASP.NET Core Book Management System: Delving into the World of Routing。
2024-08-03 20:05:33
127
原创 第6章 .NET 8.0 ASP.NET Core图书管理系统:深入路由的世界
创建自定义路由策略来处理不同语言的URL,并根据用户的偏好或请求头中的信息来选择相应的路由。
2024-08-03 19:50:50
286
原创 Chapter 5: Middleware in .NET 8.0 ASP.NET Core Book Management System
【代码】Chapter 5: Middleware in .NET 8.0 ASP.NET Core Book Management System。
2024-07-26 16:41:38
53
原创 第5章 .NET 8.0 ASP.NET Core图书管理系统 :中间件
中间件是一种封装在委托中的软件组件,它接受两个参数:一个对象和一个表示管道中下一个中间件的。// 在调用下一个中间件之前执行的代码// 调用管道中的下一个中间件// 在调用下一个中间件之后执行的代码在BookQuerySystem图书管理系统中,我们可能需要实现一些自定义的中间件来处理特定的逻辑,比如请求时间记录、请求头验证等。创建一个自定义中间件通常涉及定义一个中间件类,该类包含方法。// 可以在这里记录日志或执行其他操作ms");// 中间件扩展方法。
2024-07-26 16:14:24
75
原创 【Java文件处理技巧:掌握Scanner和PrintWriter的使用方法】
上面的代码首先检查file.txt是否存在,如果不存在,则使用Files.createFile方法创建一个空文件。注意,PrintWriter在打开文件时会自动创建或覆盖现有文件,所以我们不需要提前检查file_copy.txt是否存在。这样,无论file.txt是否存在,程序都能够顺利进行,并将读取到的内容写入到file_copy.txt中。注意,为了避免读写冲突,程序将读取的内容写入到了一个新的文件。这个程序是一个基本的文件读写示例,展示了如何使用Java的。读取文件内容,并使用。
2024-07-25 23:13:25
818
原创 Java中的Console对象:增强程序与用户交互的利器(readPassword()、readLine(),printf() 和format() )
在Java编程语言中,方法扮演着尝试获取与当前运行的Java应用程序相关联的控制台(Console)对象的角色。这个控制台对象,如果成功获取,为程序提供了一个与用户进行交互的界面,无论是读取输入还是打印输出。然而,是否能够获取到这个控制台对象,很大程度上取决于Java虚拟机(JVM)的启动环境。
2024-07-25 20:36:06
577
原创 Java的函数式编程与并发执行:传统与现代的完美融合(Lambda表达式、函数式接口、Stream API以及Fork/Join框架和CompletableFuture)
Java,这门历史悠久的编程语言,自诞生以来,就以其卓越的跨平台能力、丰富的API库以及稳健的性能,在软件开发领域赢得了广泛的认可与应用。随着技术的不断进步,Java也在不断地自我革新,以适应新的编程趋势和需求。其中,函数式编程与并发执行的支持,便是Java近年来两大显著的进步,它们为Java注入了新的活力,使其在现代软件开发中依然保持着强大的竞争力。
2024-07-24 23:45:40
1727
6
原创 Java字符串与Unicode编码(码点、代码单元、基本多语言平面BMP、辅助平面、代理对)
Unicode是一个为世界上所有书写系统设计的字符编码标准。它旨在解决不同编码标准之间不兼容的问题,使得计算机能够处理和显示世界上几乎所有的字符。Unicode为每个字符分配了一个唯一的数字,称为“码点”(Code Point)。
2024-07-24 18:18:36
1178
1
原创 【Chapter 4 .NET 8.0 ASP.NET Core BookQuerySystem: Project Layout】
【代码】【Chapter 4 .NET 8.0 ASP.NET Core BookQuerySystem: Project Layout】
2024-07-21 05:43:28
172
原创 第4章 .NET 8.0 ASP.NET Core图书管理系统 :项目布局
在本章中,我们深入探讨了ASP.NET Core图书管理系统(BookQuerySystem)的项目布局和关键文件。我们首先从Project.cs文件开始,了解了它是如何作为应用程序的入口点,并配置服务和中间件的。接着,我们详细解释了顶级语句的工作原理,以及它们如何在简化代码结构的同时保持应用程序的灵活性和可扩展性。然后,我们讨论了appsettings.json文件的重要性,它用于存储应用程序的配置设置,如日志级别和允许的主机名。
2024-07-21 04:53:16
494
原创 【Chapter 3: Creating Minimal API Applications】
【代码】【Chapter 3: Creating Minimal API Applications】
2024-07-15 13:49:22
167
原创 第3章 创建最小(Minimal APIs)API应用程序
在ASP.NET Core的广阔天地里,"最小API应用程序"如同一把轻巧而强大的瑞士军刀,专为迅速构建HTTP API而生。这些API天生具备将数据编织成JSON语言的能力,无论是与单页应用(SPA)的细腻对话,还是与手机APP的快捷交互,都能游刃有余。它们常与前端领域的明星(如Angular、React.js等)或移动开发平台并肩作战,共同编织出流畅的用户体验和高效的数据流转。踏入ASP.NET Core的API构建之旅,最小API(Minimal APIs)仿佛为我们铺设了一条高速通道。
2024-07-14 22:07:06
193
eclipse-inst-jre-win64.exe (2024/06)
2024-07-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人