当前位置: 首页 > news >正文

2023十大编程语言及未来展望

2023十大编程语言及未来展望

  • 1. 2023年十大编程语言排行榜
  • 2. 十大编程语言未来展望
    • Python
    • C
    • C++
    • Java
    • C#
    • JavaScript
    • PHP
    • Visual Basic
    • SQL
    • Assembly language

1. 2023年十大编程语言排行榜

在这里插入图片描述
TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube和Baidu(百度)统计出排名数据,客观反映了某个编程语言的热门程度。

2. 十大编程语言未来展望

Python

Python是一种高级的、动态类型的解释型脚本语言,它的设计哲学强调代码的可读性,并允许程序员用少量代码表达想法。Python最初于1989年由Guido van Rossum在荷兰的阿姆斯特丹创建,其名字来源于英国喜剧团体Monty Python。从那时起,Python语言经历了许多发展和改进,使其成为一种强大、灵活且易于使用的编程语言。

Python的早期版本(1.x)在1991年至2000年间发布,这些版本主要用于研究和开发,为Python语言的后续发展奠定了基础。Python 2.0于2000年发布,引入了新的特性,如列表推导、生成器和装饰器等,这些特性使得Python更加易于使用和强大。

随着Python的普及和广泛使用,社区开始快速发展,Python的应用领域也得到了极大的扩展。在Web开发、数据科学、机器学习、网络爬虫、系统自动化等领域,Python都表现出强大的实力。Python 3.0于2008年发布,这个版本对Python进行了许多改进和优化,包括语法改进、性能提升和更好的支持Unicode等。

Python有大量的第三方库和框架可供使用,如NumPy、Pandas、Django和Flask等,这些库和框架使得Python在科学计算、数据分析、Web开发等领域具有强大的竞争力。

Python目前已经成为世界上最受欢迎的编程语言之一。它的简单易学、优雅的语法和强大的功能使得Python成为许多开发者和数据科学家的首选语言。随着人工智能和机器学习技术的快速发展,Python在这些领域的应用将更加广泛。

同时,随着云计算、大数据和物联网技术的普及,Python在系统自动化、数据分析和管理大规模数据方面的应用也将得到进一步发展。此外,随着Python的普及和推广,更多的人将会开始学习和使用Python,这有助于推动Python的发展和创新。

未来,随着技术的不断发展和进步,Python的应用领域也将继续扩大。无论是初学者还是经验丰富的开发者,学习Python都将带来无限的可能性和机会。

C

C语言诞生于1972年,由美国贝尔实验室的Dennis Ritchie设计并实现。C语言最初被用于开发UNIX操作系统,其设计理念是提供一种既能描述硬件操作又能进行软件编程的通用编程语言。C语言继承了B语言的特性,同时也引入了结构体、指针等新特性,使得程序员可以更加高效地进行系统级编程。

随着UNIX操作系统的成功,C语言逐渐受到了全球范围内的关注。它被广泛用于开发各种软件和操作系统,包括Linux和Windows。在C语言的发展过程中,ISO制定了一系列标准,规范了C语言的语法和库函数,使得C语言更加标准化和可靠。

尽管现在有许多新的编程语言和技术涌现,但C语言仍然在系统编程、嵌入式系统等领域占据着重要的地位。其强大的性能和可移植性使它在这些领域具有无法替代的地位。同时,C语言也在不断发展,例如C11和C17标准的引入,进一步提高了C语言的安全性和并发性。

C语言自诞生以来,已经走过了近50年的历程。它不仅影响了计算机科学的发展,也改变了我们的生活。未来,随着物联网、人工智能等技术的不断发展,C语言的需求可能会进一步增加。其低级特性和高性能的特性使其在嵌入式系统、操作系统、游戏开发等领域具有广阔的应用前景。此外,由于C语言能直接与硬件交互,未来在AI芯片、高性能计算等领域也可能会看到C语言的身影。

C++

C++的诞生可以追溯到1983年,由Bjarne Stroustrup在贝尔实验室开发。作为C语言的扩展,C++首次引入了面向对象编程的概念,包括类、继承、多态等核心特性。这种新的编程范式使得程序的设计和组织变得更加直观和灵活。

自C++诞生以来,它经历了多个版本的发展。1985年,C++1.0版本发布,奠定了C++作为一门独立编程语言的基础。随后的版本迭代中,C++逐渐完善了其标准库,并增加了异常处理、模板等新特性。到了1998年,C++标准委员会发布了C++98标准,标志着C++语言的成熟。

随着时间的推移,C++逐渐成为软件开发中的主流语言,广泛应用于游戏开发、系统编程、Web开发等多个领域。许多知名的软件和游戏都使用C++编写,如《魔兽世界》、《守望先锋》等。

尽管已经发展了几十年,但C++的前景依然充满希望。随着技术的不断进步,C++也面临着新的挑战和机遇。

  • 并行和分布式计算:随着多核处理器和云计算的普及,并行和分布式计算成为了一个热门话题。C++20标准引入了并发原语和原子操作,使得开发者能够更加高效地编写并行代码。未来,C++可能会进一步增强其并发编程能力,以适应这一趋势。
  • AI和机器学习:人工智能和机器学习是当前的技术热点。C++拥有强大的性能和灵活性,使其成为AI和机器学习领域的理想选择。许多开源机器学习库,如TensorFlow和PyTorch,都支持使用C++进行开发。预计未来C++在AI和机器学习领域的应用将进一步扩大。
  • 低级编程与硬件交互:C++具有与硬件直接交互的能力,使其在嵌入式系统、操作系统内核等低级编程领域具有不可替代的地位。随着物联网和边缘计算的兴起,C++可能会在这些领域发挥更大的作用。
  • 标准库和工具链的改进:随着技术的进步,C++的标准库和工具链也在不断演进。未来,我们期待看到更多高效、易用的库和工具的出现,以帮助开发者更加高效地编写代码。

Java

Java语言自1995年首次发布以来,已经成为了全球最流行的编程语言之一。它被广泛应用于各种领域,如Web开发、移动应用开发、游戏开发、企业级应用等。

Java的起源可以追溯到1991年,由Sun Microsystems的工程师James Gosling领导的团队开始开发一种新的编程语言。他们希望这种语言能够具有面向对象、跨平台和安全等特性,以简化企业级应用的开发。经过几年的研发,Java 1.0于1995年正式发布。这个版本主要关注的是跨平台能力,并为Java的广泛应用奠定了基础。

在Java的发展历程中,有几个关键的里程碑。首先是Java 2(也称为Java SE 1.2)的发布,于1998年推出。这个版本引入了新的API和工具,如Java Swing和Java Applet等,使得开发者能够构建更加丰富的桌面应用程序。随后,Java SE 5.0(也称为Java 1.5)于2004年发布,引入了泛型、枚举和for-each循环等新特性,进一步增强了Java语言的表达能力。

随着Java的普及和广泛使用,Java社区也得到了迅速发展。大量的开发者开始使用Java进行各种应用开发,并形成了一个庞大的生态系统。在这个生态系统中,许多开源框架和库不断涌现,如Spring、Hibernate、Struts和JavaFX等。这些框架和库为开发者提供了强大的工具和库支持,使得他们能够更快速地构建高质量的应用程序。

如今,Java已经成为许多企业级应用、Web开发和移动应用开发的首选语言。它拥有庞大的社区和丰富的生态系统,为企业和个人开发者提供了广泛的支持。在云计算、大数据和人工智能等新兴领域,Java也得到了广泛应用。例如,Hadoop和其他大数据处理框架主要使用Java编写,而许多机器学习和人工智能应用也依赖于Java进行后端开发。

未来,随着技术的不断发展和进步,Java将继续发挥其重要作用。随着企业对于跨平台、可扩展和高性能应用的需求不断增加,Java将进一步改进其性能和功能。同时,随着物联网和边缘计算等领域的兴起,Java也将拓展其应用范围,为更多的领域提供支持。

C#

C#(C Sharp)语言由微软公司于2000年首次发布,设计初衷是为了提供一个强大的、类型安全的面向对象编程语言,用于构建.NET应用程序。C#结合了C++的强大功能和Java的易用性,使得开发人员能够更快速、更有效地构建软件应用程序。

自2000年以来,C#已经经历了多次版本更新,每个版本都带来了一些新的特性和改进。以下是C#发展历程中的一些关键里程碑:

  • C# 1.0(2000年):标志着C#的诞生,主要用于构建.NET应用程序。
  • C# 2.0(2005年):引入了新的特性,如泛型、匿名方法和局部类型推断。
  • C# 3.0(2007年):引入了LINQ(Language Integrated Query)和Lambda 表达式等新特性。
  • C# 4.0(2010年):增加了对动态类型和并行编程的支持。
  • C# 5.0(2013年):重点支持异步编程和集合。
  • C# 7.0及以后版本(2017年至今):引入了值类型、模式匹配等新特性,增强了语言的表达能力。

随着技术的不断进步,C#也在持续演进和发展。以下是对C#未来发展的几个展望:

  • 值类型和引用类型的进一步整合:C# 7.0引入了值类型,这使得我们可以在不牺牲面向对象编程的情况下获得类似于结构体的性能。未来,我们期待看到值类型和引用类型之间的界限进一步模糊,以提供更加高效和灵活的编程模型。
  • 模式匹配的增强:C# 7.0开始引入了模式匹配的功能,使得我们能够根据变量的不同类型进行不同的处理。未来,我们期待看到模式匹配在C#中的进一步增强,以提供更加丰富和强大的匹配功能。
  • 异步编程的改进:随着异步编程需求的不断增加,我们期待C#在异步编程方面进行进一步的优化和改进,提供更加高效和易用的异步编程模型。
  • 与AI和机器学习的集成:人工智能和机器学习是当前的技术热点,而C#在这些领域中的应用也越来越多。未来,我们期待看到C#与AI和机器学习之间的集成更加紧密,提供更加高效和易用的开发工具和库。
  • 云原生和微服务的发展:随着云原生和微服务架构的普及,C#也将在这些领域发挥更大的作用。我们期待看到C#在云原生和微服务方面提供更加完善和强大的支持。
  • 跨平台的支持:随着跨平台开发的普及,我们期待看到C#在跨平台方面的支持更加完善和强大,包括对移动平台、Web平台等的支持。
  • 安全性和可靠性的增强:安全性是软件开发中越来越重要的问题。未来,我们期待看到C#在安全性和可靠性方面进行进一步的增强,提供更加安全和可靠的编程模型。

JavaScript

在Web开发的世界里,JavaScript已经成为了不可或缺的一员。它为网页添加了动态和交互性,改变了我们浏览和体验互联网的方式。

JavaScript的诞生可以追溯到1995年,当时它被作为一种脚本语言,用于使静态的HTML页面具有一些简单的交互功能。那时候的JavaScript主要用于表单验证和一些简单的动态效果。

随着Web的发展,JavaScript也经历了多次重要的更新和改进。

  • ES5(2009年):引入了严格模式和一些新特性,如新增的Array方法、函数的"rest"参数等。
  • ES6(2015年):也被称为ECMAScript 2015,引入了模块化、类、箭头函数等新特性,使得JavaScript更加面向对象和模块化。
  • ES7(2016年):引入了"spread"操作符、异步函数等新特性,进一步增强了JavaScript的功能。
  • ES8(2017年):引入了剩余参数、Promise.prototype.finally等新特性,进一步优化了JavaScript的性能和可读性。
  • ES9(2018年):引入了异步迭代、BigInt等新特性,使得JavaScript在处理大规模数据和高并发场景时更加高效。

随着技术的不断进步和Web开发的日益复杂化,JavaScript也在持续演进和发展。以下是几个未来可能的趋势和展望:

  • 性能优化和运行时特性:随着浏览器和JavaScript引擎的不断发展,JavaScript的性能将得到进一步提升。新的运行时特性,如WebAssembly集成,将使JavaScript能够处理更复杂的任务,如高性能游戏或大规模数据处理。
  • 模块化和组件化:随着前端应用程序的日益复杂化,模块化和组件化已经成为了一种趋势。未来的JavaScript可能会进一步标准化和优化模块和组件的构建和管理方式。
  • 异步编程的改进:异步编程是现代Web应用程序中的关键部分。未来,JavaScript可能会引入更多关于异步编程的特性和工具,以简化异步代码的开发和维护。
  • 与AI和机器学习的集成:人工智能和机器学习已经成为Web应用程序中的重要组成部分。未来,JavaScript可能会提供更加高效和易用的开发工具和库,以支持人工智能和机器学习的集成。
  • 安全性和可靠性的增强:安全性是软件开发中越来越重要的问题。未来的JavaScript可能会进一步增强安全性和可靠性方面的特性,提供更加安全和可靠的编程模型。
  • 与其他语言的互操作性:为了更好地与其他语言集成,JavaScript可能会改进与其他语言的互操作性,使得开发者能够更加方便地在不同语言之间切换。

PHP

PHP的诞生可以追溯到1995年,由Rasmus Lerdorf创建。最初,PHP被设计为一个简单的脚本语言,用于动态生成网页。随着时间的推移,PHP逐渐发展成为一种功能强大的编程语言,广泛应用于Web开发领域。

在PHP的发展历程中,有几个关键的里程碑:

  • PHP 3.0(1998年):这个版本引入了更多的特性和功能,如面向对象编程的支持、数据库连接等,使得PHP更加成熟和强大。
  • PHP 4.0(2000年):这个版本进一步增强了PHP的性能和可扩展性,引入了更多的特性和功能,如异常处理、会话管理等。
  • PHP 5.0(2004年):这个版本标志着PHP的一个重要里程碑,引入了新的对象模型、命名空间、类型声明等新特性,使得PHP更加现代化和健壮。
  • PHP 7.0(2015年):这个版本对PHP进行了重大改进,引入了JIT编译器、新的数据类型和语法糖等新特性,进一步提升了PHP的性能和开发效率。

随着技术的不断进步和Web开发的日益复杂化,PHP也在持续演进和发展。以下是几个未来可能的趋势和展望:

  • 性能优化和运行时特性:随着Web应用程序的日益复杂化,性能优化成为了关键。未来的PHP可能会引入更多关于性能优化的特性和工具,以提升应用程序的运行效率。
  • 微服务和分布式系统支持:随着微服务和分布式系统的普及,PHP可能会提供更多相关的特性和工具,以支持这些新兴的开发模式。
  • AI和机器学习的集成:人工智能和机器学习已经成为了Web应用程序的重要组成部分。未来的PHP可能会提供更加高效和易用的开发工具和库,以支持AI和机器学习的集成。
  • 安全性增强:随着网络安全问题的日益突出,未来的PHP可能会进一步增强安全方面的特性,提供更加安全和可靠的编程模型。

Visual Basic

Visual Basic的起源可以追溯到1991年,当时微软公司发布了一个名为“Microsoft Basic”的新产品。这个产品基于之前已有的QuickBASIC编程语言,并为其添加了一个可视化的开发环境。这意味着开发者可以通过图形界面来创建应用程序,而无需编写大量的代码。

随着时间的推移,Visual Basic经历了多个版本的更新和改进。以下是几个关键的里程碑:

  • Visual Basic 1.0(1991年):这个版本标志着Visual Basic的诞生,为开发者提供了一个可视化的开发环境。
  • Visual Basic 3.0(1992年):这个版本引入了更多控件和功能,使得开发者能够创建更加复杂的GUI应用程序。
  • Visual Basic 4.0(1995年):这个版本引入了更多面向对象的特性,并支持创建ActiveX控件
  • Visual Basic 6.0(1998年):这个版本是Visual Basic的一个重要里程碑,它引入了更多数据库和Web开发的功能。
  • .NET框架时代(2002年至今):随着.NET框架的发布,Visual Basic也进行了重大的更新和改进,成为了一个功能强大且现代化的编程语言。

随着技术的不断进步和开发需求的变化,Visual Basic也在持续演进和发展。以下是几个未来可能的趋势和展望:

  • 人工智能和机器学习的集成:人工智能和机器学习已经成为当今软件开发的重要部分。未来,Visual Basic可能会提供更多相关的库和工具,以支持这些技术的集成。
  • 云和分布式系统的支持:随着云和分布式系统的普及,Visual Basic可能会增加更多相关的功能和工具,以支持这些新兴的开发需求。
  • 现代化UI和用户体验的改进:随着用户对应用程序界面和用户体验的要求不断提高,Visual Basic可能会引入更多现代化的UI控件和设计工具。
  • 与其他技术的互操作性:为了更好地与其他技术集成,Visual Basic可能会增强与其他技术的互操作性,如与C++、Python等语言的集成。

SQL

1970年代初,关系数据库的概念开始兴起,而SQL正是为了满足关系数据库的需要而诞生的。Edgar Codd提出了关系数据库模型,并由IBM的研究员Don Chamberlin和Ray Boyce在1974年开发出了SQL的雏形。

随着时间的推移,SQL经历了多个版本的更新和改进,逐渐成为关系数据库的标准语言。1986年,美国国家标准学会(ANSI)正式制定了SQL标准,为SQL的普及和应用奠定了基础。

随着技术的不断进步和数据量的爆炸性增长,SQL也在持续演进和发展。以下是几个未来可能的趋势和展望:

  • 性能优化和分布式数据库支持:随着数据量的增长,性能优化成为了关键。未来的SQL可能会引入更多关于性能优化的特性和工具,以提升数据库的运行效率。同时,分布式数据库的需求也在不断增加,SQL可能会提供更多相关的功能和工具来支持分布式数据库的发展。
  • AI和机器学习的集成:人工智能和机器学习已经成为了数据库发展的重要方向。未来的SQL可能会提供更加高效和易用的开发工具和库,以支持AI和机器学习的集成。例如,通过机器学习算法对数据库进行智能化分析和预测,从而提高数据处理和分析的效率。
  • 安全性增强:随着网络安全问题的日益突出,未来的SQL可能会进一步增强安全方面的特性,提供更加安全和可靠的数据管理模型。例如,引入更加严格的访问控制和加密技术,以确保数据的安全性和隐私保护。
  • 与其他技术的互操作性:为了更好地与其他技术集成,未来的SQL可能会改进与其他技术的互操作性,使得开发者能够更加方便地在不同技术之间切换。例如,与Python、Java等语言的集成,使得开发者能够更加灵活地使用不同的语言来处理和分析数据。

Assembly language

Assembly language的起源可以追溯到计算机技术的早期阶段。在计算机发展的初期,程序员需要通过直接编写二进制代码来控制计算机的运行。然而,这种方式非常繁琐且容易出错。为了解决这个问题,汇编语言应运而生。

汇编语言的出现使得程序员可以使用更高级的符号和助记符来表示二进制指令,从而提高了编程的效率和可读性。随着计算机技术的不断发展,汇编语言也经历了多个版本的更新和改进,适应了不同硬件架构和操作系统的需求。

虽然高级编程语言已经成为主流,但汇编语言仍然在某些领域中发挥着重要的作用,例如系统级编程、嵌入式系统开发、低级编程等。以下是几个未来可能的趋势和展望:

  • 硬件相关的创新:随着硬件技术的不断发展,新的指令集和架构将会出现。汇编语言将需要继续适应这些变化,提供对新指令集的支持,以充分利用硬件的性能。
  • 底层优化与性能追求:在高性能计算、游戏开发、图形处理等场景中,汇编语言的性能优势仍然明显。随着硬件性能的提升,汇编语言可能会在这些领域中发挥更大的作用。
  • 嵌入式系统与物联网:在嵌入式系统和物联网设备中,由于资源有限,高级语言可能无法满足性能需求。此时,汇编语言凭借其与硬件的紧密结合,将在这些领域中发挥关键作用。
  • 低功耗需求:随着物联网和嵌入式系统的普及,对于低功耗和高效能的需求日益增加。汇编语言将在这些领域中发挥重要的作用,帮助开发者优化代码的执行效率。

相关文章:

2023十大编程语言及未来展望

2023十大编程语言及未来展望 1. 2023年十大编程语言排行榜2. 十大编程语言未来展望PythonCCJavaC#JavaScriptPHPVisual BasicSQLAssembly language 1. 2023年十大编程语言排行榜 TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎&a…...

Docker启动各种服务

文章目录 1 启动MySQL2 启动maven,用于编译java程序3 容器内启动sshd,用于远程编码和调试 1 启动MySQL 守护方式运行一个容器: docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD123456 -p 3307:3306 -d mysql进入容器: dock…...

AndroidR集成三方Native服务组件

一、背景 该项目为海外欧盟市场版本,需集成三方IDS安全组件,进程运行时注入iptables指令至链表,检测网络运行状态,并收集异常日志并压缩打包成gz文件,提供给Android上层应用上报云端。 二、分析 1、将提供的组件包集成至系统vendor分区 /vendor/bin/idsLogd/vendor/li…...

C++连接数据库(DataBase)之加载外部依赖项

文章目录 在VS中进行配置一、 先找到VS的解决方案资源管理器:二、 找到“属性”,进行附加项配置三、 移植libmysql.dll目录 在VSCode中进行配置依赖文件的移动库文件的移动可能遇到的问题 重点!!!!&#xf…...

论文阅读——Slide-Transformer(cvpr2023)

Slide-Transformer: Hierarchical Vision Transformer with Local Self-Attention 一、分析 1、改进transformer的几个思路: (1)将全局感受野控制在较小区域,如:PVT,DAT,使用稀疏全局注意力来…...

【Flink-Kafka-To-Mysql】使用 Flink 实现 Kafka 数据写入 Mysql(根据对应操作类型进行增、删、改操作)

【Flink-Kafka-To-Mysql】使用 Flink 实现 Kafka 数据写入 Mysql(根据对应操作类型进行增、删、改操作) 1)导入依赖2)resources2.1.appconfig.yml2.2.application.properties2.3.log4j.properties2.4.log4j2.xml 3)uti…...

SpringMVC学习与开发(四)

注&#xff1a;此为笔者学习狂神说SpringMVC的笔记&#xff0c;其中包含个人的笔记和理解&#xff0c;仅做学习笔记之用&#xff0c;更多详细资讯请出门左拐B站&#xff1a;狂神说!!! 11、Ajax初体验 1、伪造Ajax 结果&#xff1a;并未有xhr异步请求 <!DOCTYPE html> &…...

odoo17核心概念view7——listview总体框架分析

这是view系列的第七篇文章&#xff0c;今天主要介绍我们最常用的list视图。 1、先看list_view,这是主文件 /** odoo-module */import { registry } from "web/core/registry"; import { RelationalModel } from "web/model/relational_model/relational_mode…...

大创项目推荐 深度学习交通车辆流量分析 - 目标检测与跟踪 - python opencv

文章目录 0 前言1 课题背景2 实现效果3 DeepSORT车辆跟踪3.1 Deep SORT多目标跟踪算法3.2 算法流程 4 YOLOV5算法4.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; *…...

数字图像处理——亚像素边缘的轮廓提取

像素 像素是图像处理中的基本单位&#xff0c;一个像素是图像中最小的离散化单位&#xff0c;具有特定的位置和颜色信息。在数字图像中&#xff0c;每个像素都有一个特定的坐标&#xff0c;通常以行和列的形式表示。每个像素的颜色信息可以通过不同的表示方式&#xff0c;如灰…...

【六袆 - Framework】vue3入门;vue框架的特点矩阵列举;Vue.js 工作原理

vue框架的特点 Vue.js的特点展开叙述Vue.js的工作原理展开叙述 官方文档&#xff1a; https://cn.vuejs.org/guide/introduction.html Vue.js的特点 ┌────────────────────┬────────────────────────────────────…...

GO学习记录 —— 创建一个GO项目

文章目录 前言一、项目介绍二、目录介绍三、创建过程1.引入Gin框架、创建main2.加载配置文件3.连接MySQL、redis4.创建结构体5.错误处理、返回响应处理 前言 代码地址 下载地址&#xff1a;https://github.com/Lee-ZiMu/Golang-Init.git 一、项目介绍 1、使用Gin框架来创建项…...

C语言中的goto语句:使用、争议与最佳实践

各位少年&#xff1a; 引言&#xff1a; 在C语言编程中&#xff0c;goto语句是一个历史悠久且颇具争议的控制流结构。作为无条件跳转指令&#xff0c;它允许程序执行从当前点直接跳转到同一函数内的任意位置&#xff0c;由一个标签&#xff08;label&#xff09;来指定目标。尽…...

wpf-动态设置组件【按钮为例】样式

文章速览 解决方案具体实现Converter 部分创建样式Binding样式 坚持记录实属不易&#xff0c;希望友善多金的码友能够随手点一个赞。 共同创建氛围更加良好的开发者社区&#xff01; 谢谢~ 解决方案 创建一个Converter&#xff0c;返回对应的style实现对应的修改 创建多个样式…...

40道MyBatis面试题带答案(很全)

1. 什么是MyBatis &#xff08;1&#xff09;Mybatis是一个半ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;它内部封装了JDBC&#xff0c;开发时只需要关注SQL语句本身&#xff0c;不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接…...

python:PyCharm更改.PyCharm配置文件夹存储位置

关联账号文章&#xff1a;另外的账号 在启动 PyCharm 后选择 Help -> Edit Custom Properties 的选项&#xff0c;弹出&#xff1a; 选择 Create &#xff0c;之后在文件中添加配置文件新的存储位置即可&#xff0c;例如&#xff1a; idea.config.pathD:/Program Files/.Py…...

Centos安装Kafka(KRaft模式)

1. KRaft引入 Kafka是一种高吞吐量的分布式发布订阅消息系统&#xff0c;它可以处理消费者在网站中的所有动作流数据。其核心组件包含Producer、Broker、Consumer&#xff0c;以及依赖的Zookeeper集群。其中Zookeeper集群是Kafka用来负责集群元数据的管理、控制器的选举等。 由…...

学习笔记13——Spring整合Mybatis、junit、AOP、事务

学习笔记系列开头惯例发布一些寻亲消息 链接&#xff1a;https://baobeihuijia.com/bbhj/ Mybatis - Spring&#xff08;使用第三方包new一个对象bean&#xff09; 原始的Mybatis与数据库交互【通过sqlmapconfig来配置和连接】 初始化SqlSessionFactory获得连接获取数据层接口…...

【12月比赛合集】4场可报名的「创新应用」、「数据分析」和「程序设计」大奖赛,任君挑选!

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…&#xff09;比赛。本账号会推送最新的比赛消息&#xff0c;欢迎关注&#xff01; 以下信息仅供参考&#xff0c;以比赛官网为准 目录 数据分析赛&#xff08;1场比赛&#xff09;程序设计赛&#…...

Cisco模拟器-企业网络部署

某企业园区网有&#xff1a;2个分厂&#xff08;分别是&#xff1a;零件分厂、总装分厂&#xff09;1个总厂网络中心 1个总厂会议室&#xff1b; &#xff08;1&#xff09;每个分厂有自己的路由器&#xff0c;均各有&#xff1a;1个楼宇分厂网络中心 每个楼宇均包含&#x…...

WPF+Halcon 培训项目实战(12):WPF导出匹配模板

文章目录 前言相关链接项目专栏运行环境匹配图片WPF导出匹配模板如何了解Halcon和C#代码的对应关系逻辑分析&#xff1a;添加截取ROI功能基类矩形圆形 生成导出模板运行结果&#xff1a;可能的报错你的文件路径不存在你选择的区域的内容有效信息过少 前言 为了更好地去学习WPF…...

uniapp中uview组件库的丰富Upload 上传上午用法

目录 基础用法 #上传视频 #文件预览 #隐藏上传按钮 #限制上传数量 #自定义上传样式 API #Props #Methods #Slot #Events 基础用法 可以通过设置fileList参数(数组&#xff0c;元素为对象)&#xff0c;显示预置的图片。其中元素的url属性为图片路径 <template>…...

Unity关于动画混合树(Blend Tree)的使用

在动画与动画的切换过程中&#xff0c;常因为两个动画之间的差距过大&#xff0c;而显得动画的切换很不自然。 这时候就需要动画混合树Blend Tree这个功能。使用混合树可以将多个动画混合在一起&#xff0c;例如在处理角色的移动中&#xff0c;走动画与跑动画切换的时候&#x…...

怎么下载landsat 8影像并在ArcGIS Pro中进行波段组合

Landsat 8&#xff08;前身为Landsat数据连续性任务&#xff0c;或 LDCM&#xff09;于2013年2月11日由 Atlas-V火箭从加利福尼亚州范登堡空军基地发射升空&#xff0c;这里为大家介绍一下该数据的下载的方法&#xff0c;希望能对你有所帮助。 注册账号 如果之前已经注册过的…...

编程新手IDE

身为一个前端开发者&#xff0c;我深知一个好的开发环境对于编程体验的重要性。对于新手来说&#xff0c;选择一个合适的IDE&#xff08;集成开发环境&#xff09;更是至关重要。一个好的IDE可以提高编程效率&#xff0c;减少错误&#xff0c;让新手更专注于学习编程本身。 今…...

如何将一个JSON字符串解析为JavaScript对象或值

JSON.parse(JSON.stringify(data)) 将后端传入的JSON数据data放入该方法的参数中&#xff0c;返回的结果就是JavaScript对象 比如将后端传入的对象key作为对象&#xff0c;而不是字符串双引号格式 {"path": "/home","name": "home",…...

idea配置docker推送本地镜像到远程私有仓库

目录 1&#xff0c;搭建远程Docker 私有仓库 Docker registry 2&#xff0c;Windows10/11系统上安装Docker Desktop 3&#xff0c;idea 配置远程私有仓库地址 4&#xff0c;idea 配置Docker 5&#xff0c;idea在本地构建镜像 6&#xff0c;推送本地Docker镜像到远程 Dock…...

Spring Boot学习随笔- 集成MyBatis-Plus(二)条件查询QueryWrapper、聚合函数的使用、Lambda条件查询

学习视频&#xff1a;【编程不良人】Mybatis-Plus整合SpringBoot实战教程,提高的你开发效率,后端人员必备! 查询方法详解 普通查询 // 根据主键id去查询单个结果的。 Test public void selectById() {User user userMapper.selectById(1739970502337392641L);System.out.print…...

十二、K8S之污点和容忍

污点和容忍 一、概念 k8s 集群中可能管理着非常庞大的服务器&#xff0c;这些服务器可能是各种各样不同类型的&#xff0c;比如机房、地理位置、配置等&#xff0c;有些是计算型节点&#xff0c;有些是存储型节点&#xff0c;此时我们希望能更好的将 pod 调度到与之需求更匹配…...

llvm后端之指令选择源码分析

llvm后端之指令选择源码分析 引言1 主要流程1.1 参数降级1.2 构建DAG1.3 类型合法化1.4 向量合法化1.5 DAG合法化1.6 DAG合并 2 目标实现2.1 TargetLowering2.2 SelectionDAGISel 引言 llvm后端指令选择主要是class SelectionDAGISel的子类实现。整个过程将llvm IR转为有向无环…...

【消息中间件】Rabbitmq消息可靠性、持久化机制、各种消费

原文作者&#xff1a;我辈李想 版权声明&#xff1a;文章原创&#xff0c;转载时请务必加上原文超链接、作者信息和本声明。 文章目录 前言一、常见用法1.消息可靠性2.持久化机制3.消息积压批量消费&#xff1a;增加 prefetch 的数量,提高单次连接的消息数并发消费&#xff1a;…...

aws-sdk-cpp通过bazel构建的S3_client轮子

感觉时间过得很快&#xff0c;又是很久没有更新了 哎&#xff0c;主要原因还是很久都没有学什么东西了&#xff0c;进入社会后不知不觉间倦怠了许多 没什么办法&#xff0c;上班了之后做的很多东西都是调用api&#xff0c;越来越像一个工具人了&#xff0c;虽然说本身也大差不…...

关于WPF MVVM 的详细使用过程以及注意的问题

WPF MVVM 是一种常用的设计模式&#xff0c;在 WPF 应用程序中使用它可以更好地分离界面逻辑和业务逻辑&#xff0c;并且更容易进行单元测试和重构。下面是深入理解 WPF MVVM 的详细使用过程以及注意的问题。 一、MVVM 的基本概念 MVVM 是 Model-View-ViewModel 的缩写&#…...

计算机视觉 全教程目录

1、OpenCV 图像处理框架 实战系列 总目录 OpenCV 图像处理框架 实战系列 总目录 2、现代卷积网络实战系列 总目录 现代卷积网络实战系列 总目录 3、YOLO 物体检测 系列教程 总目录 YOLO 物体检测 系列教程 总目录 4、图像分割实战-系列教程 总目录 图像分割实战-系列教程 总目录…...

油猴脚本开发,之如何添加html和css

简介 油猴是一个脚本管理器,让我们能够方便的使用js脚本&#xff0c;以实现对页面内容的修改、功能增强或其他定制化操作。 常见脚本管理器 Tampermonkey 应该是各位见得最多的也是最知名的&#xff0c;好用又稳定&#xff0c;多浏览器支持Greasemonkey 用户脚本始祖&#x…...

【MATLAB】BiGRU神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 BiGRU神经网络时序预测算法是一种基于双向门控循环单元&#xff08;GRU&#xff09;的多变量时间序列预测方法。该方法结合了双向模型和门控机制&#xff0c;旨在有效地捕捉时间序列数据中…...

57.0/初识 PhotoShopCS4(详细版)

目录 57.1 PhotoShop 概要 57.2.1 像素和分辨率 57.2.2 色彩模式 57.2.3 位图和矢量图 57.3 PhotoShop 基本操作 57.3.1 PhotoShop 界面的认识 57.3.2 PhotoShop 基本界面工具 57.3.3 移动选择工具(V) 57.3.4 选框工具(M)​编辑 ​编辑57.3.5 套索工具(L) 57.3…...

[C#]opencvsharp进行图像拼接普通拼接stitch算法拼接

介绍&#xff1a; opencvsharp进行图像拼一般有2种方式&#xff1a;一种是传统方法将2个图片上下或者左右拼接&#xff0c;还有一个方法就是融合拼接&#xff0c;stitch拼接就是一种非常好的算法。opencv里面已经有stitch拼接算法因此我们很容易进行拼接。 效果&#xff1a; …...

《妙趣横生的算法》(C语言实现)-第10章算法设计与数据结构面试题精粹

【10-1】输入一个字符串并将它输出&#xff0c;以ctrlz组合键表示输入完毕&#xff0c;要求将输入的字符串中多于1个的连续空格符合并为1个。 //10-1 2023年12月30日17点11分-17点18分 # include <stdio.h> int main() {char c;c getchar();//scanf("%c", &a…...

(JAVA)-(网络编程)-初始网络编程

网络编程就是在通信协议下&#xff0c;不同的计算机上运行的程序&#xff0c;进行的数据传输。 讲的通俗一点&#xff0c;就是以前我们写的代码是单机版的&#xff0c;网络编程就是联机版的。 应用场景&#xff1a;即时通信&#xff0c;网游对战&#xff0c;金融证券&#xf…...

Observer观察者模式(组件协作)

观察者模式&#xff08;组件协作&#xff09; 链接&#xff1a;观察者模式实例代码 解析 目的 在软件构建过程中&#xff0c;我们需要为某些对象建立一种“通知依赖关系” ——一个对象&#xff08;目标对象&#xff09;的状态发生改变&#xff0c;所有的依赖对象&#xff0…...

数据挖掘 聚类度量

格式化之前的代码&#xff1a; import numpy as np#计算 import pandas as pd#处理结构化表格 import matplotlib.pyplot as plt#绘制图表和可视化数据的函数&#xff0c;通常与numpy和pandas一起使用。 from sklearn import metrics#聚类算法的评估指标。 from sklearn.clust…...

[Angular] 笔记 24:ngContainer vs. ngTemplate vs. ngContent

请说明 Angular 中 ngContainer&#xff0c; ngTemplate 和 ngContent 这三者之间的区别。 chatgpt 回答&#xff1a; 这三个在 Angular 中的概念是关于处理和组织视图的。 1. ngContainer&#xff1a; ngContainer 是一个虚拟的 HTML 容器&#xff0c;它本身不会在最终渲染…...

❀My排序算法学习之插入排序❀

目录 插入排序(Insertion Sort):) 一、定义 二、基本思想 三、示例 时间复杂度 空间复杂度 bash C++ 四、稳定性分析...

【算法题】30. 串联所有单词的子串

题目 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如&#xff0c;如果 words ["ab","cd","ef"]&#xff0c; 那么 "…...

SAP-FI模块 处理自动生成会计凭证增强

ENHANCEMENT 2 ZEHENC_SAPMF05A. "active version * FI 20221215&#xff1a;固定资产业务过渡科目摘要增强功能 WAIT UP TO 1 SECONDS.READ TABLE xbseg WITH KEY hkont 1601990001. IF sy-subrc 0.DATA: lt_bkdf TYPE TABLE OF bkdf,lt_bkpf TYPE TABLE OF bkpf,…...

Shell脚本-bin/bash: 解释器错误: 没有那个文件或目录-完整路径执行-“/”引发的脑裂

引起该不适的一种可能以及解决方案&#xff0c;网上较多&#xff0c;比如&#xff1a; 但按以上方式操作&#xff0c;并经过查看&#xff0c;发现仍然未能解决问题。 因为两种方式执行&#xff0c;有一种能成功&#xff0c;有一种不能&#xff0c;刚开始未怀疑是文件问题&…...

React MUI(版本v5.15.2)详细使用

使用React MUI&#xff08;版本v5.15.2&#xff09;的详细示例。请注意&#xff0c;由于版本可能会有所不同&#xff0c;因此建议您查阅官方文档以获取最新的信息和示例。但是&#xff0c;我将根据我的知识库为您提供一些基本示例。 首先&#xff0c;确保您已经按照之前的说明…...

用CSS中的动画效果做一个转动的表

<!DOCTYPE html> <html lang"en"><head><meta charset"utf-8"><title></title><style>*{margin:0;padding:0;} /*制作表的样式*/.clock{width: 500px;height: 500px;margin:0 auto;margin-top:100px;border-rad…...

【linux】Linux管道的原理与使用场景

Linux管道是Linux命令行界面中一种强大的工具&#xff0c;它允许用户将多个命令链接起来&#xff0c;使得一个命令的输出可以作为另一个命令的输入。这种机制使得我们可以创建复杂的命令链&#xff0c;并在处理数据时提供了极大的灵活性。在本文中&#xff0c;我们将详细介绍Li…...