都快2025年了,来看看哪个编程语言才是时下热门吧

早上好啊,大佬们,今天咱们不讲知识,今天我们来看看时下热门的编程语言都是哪些,大佬们又都是在学哪些语言呢。

最近一些朋友和我在讨论哪个编程语言是现在 最好用 最厉害 的编程语言。

有人说,Python简单好用,它是最好的;但又有人认为,C++运行效率高,它是最好使的;但java佬又不服了,它写一次代码到处都能用,java才是最好使的。

哒咩哟

公说公有理,婆说婆有理,但是大家都知道编程语言不是用来比较的,只能说哪个更适合。

就相当于你是中国人,你说中文是最好用的;你是英国人,你说英语是最好用的。大佬们,相信你们都知道将英语和中文进行比较这不合理,我们是因为在英国所以才觉得英语好用,中文不能用吗,不是的,英国也有会中文的人,也是能交流的,只是适合不适合的问题。

所以世界上对语言的认可度都是从适用范围和使用人口进行评价,我们编程语言也是一样的。

所以我们这一期做两个事情:


一个是看看现在热门的语言是哪些,给准备学习一门新语言的大佬提提建议;

再一个是看看每个语言适合做哪些事儿。


时下热门的编程语言

咱们来看看 TIOBE 排行榜 统计的每一种语言的使用情况。

(以下数据均来源于TIOBE)

先是2024年1月:

然后是2024年10月:

首先我们看到的就是Python一直保持着第一的位置,毕竟这是大家公认的比较好入门的编程语言,在浙江省内,也是将Python的学习纳入了高考的范围内。

接着的也是一些我们耳熟能详的语言,C、C++、Java、C#、JavaScript、VB等等。

有意思的是在一月份时,有一条新闻:

一月头条新闻:C# 是 2023 年编程语言!

C# 在 TIOBE 指数历史上首次荣获年度编程语言奖。恭喜!C# 已经稳居前 10 名长达 20 多年,如今它正在追赶四大语言,成为一年内涨幅最大的语言(+1.43%),当之无愧地获得了当之无愧的奖项。排名第二的是 Scratch (+0.83%) 和 Fortran (+0.64%)。C# 正在蚕食 Java 的市场份额,并且在 Web 应用程序后端和游戏等领域变得越来越流行(感谢 Unity)。C# 可以免费使用,并稳步发展,使该语言的每个新版本都更具表现力。C# 将会继续存在,甚至可能很快就会超越 Java.

但是在十月份时,好像对 C# 取代Java 仍是需要点时间的。

对于Python语言,也由于它运行速度较慢,大家也在寻找一个更合适的语言,也就是Rust,

King of all, Python, is easy to learn and secure, but not fast. Hence, engineers are frantically looking for fast alternatives for Python. C++ is an obvious candidate, but it is considered "not secure" because of its explicit memory management. Rust is another candidate, although not easy to learn. Rust is, thanks to its emphasis on security and speed, making its way to the TIOBE index top 10 now.

热门语言适合的应用场景

通过TIOBE的榜单如今热门的语言,大家也已经心知肚明。

我们接下来也盘点一下,这些热门语言的应用场景,让大家在选择语言时有一个更有价值的参考意见。

1、Python

优势:

  1. 简单易学:Python的语法简洁明了,易于上手,适合初学者。
  2. 开发效率高:Python代码量少,开发效率较高。
  3. 丰富的库和框架:Python拥有丰富的标准库和第三方库,简化开发过程。
  4. 跨平台性:Python具有良好的跨平台性,可在多种操作系统上运行。
  5. 开源免费:Python是一种开源免费的编程语言,任何人都可以自由获取、使用和修改。
  6. 动态类型系统:Python是动态类型语言,不需要事先声明变量的类型。
  7. 面向对象编程:Python支持面向对象编程,提高了代码的模块化和可维护性。

劣势:

  1. 运行速度较慢:Python是解释性语言,运行速度相对较慢,尤其是在性能要求高的应用中。
  2. 线程处理能力有限:由于全局解释器锁(GIL)的存在,Python的多线程并不能充分利用多核CPU的优势。
  3. 版本兼容性问题:Python版本升级较快,不同版本间可能存在兼容性问题。

应用场景:

  1. Web开发:使用框架如Django和Flask进行Web应用的开发。
  2. 数据分析:利用NumPy、Pandas、Matplotlib等库进行数据处理和分析。
  3. 人工智能:使用TensorFlow、PyTorch、Keras等库进行机器学习和深度学习。
  4. 自动化测试:使用Selenium、Pytest等框架进行自动化测试。
  5. 网络编程:使用Socket、Twisted、Requests等库进行网络编程。
  6. 游戏开发:使用Pygame、Panda3D等游戏引擎进行游戏开发。
  7. 科学计算:使用SciPy、SymPy等库进行科学计算。
  8. 自动化运维:用于系统维护和管理,作为运维工程师的首选编程语言。
  9. 云计算:在构建云计算平台如OpenStack中发挥重要作用。

2、C

优势:

  1. 性能:C语言提供了接近硬件的控制能力,运行效率高。
  2. 灵活性:C语言提供了丰富的库和操作符,允许进行底层编程。
  3. 跨平台:C语言编写的程序可以在多种操作系统上编译和运行。
  4. 广泛的应用:C语言在系统编程和嵌入式系统开发中有广泛的应用。

劣势:

  1. 没有面向对象:C语言是一种过程式编程语言,不支持面向对象编程。
  2. 内存管理:需要手动管理内存,容易出错。
  3. 缺乏高级特性:相比于现代编程语言,C语言缺乏一些高级编程特性,如异常处理、模板等。

应用场景:

  1. 系统编程:操作系统、编译器和数据库系统等。
  2. 嵌入式系统:由于C语言的高效性和对硬件的直接控制能力,它在嵌入式系统开发中非常流行。
  3. 性能关键型应用:需要高性能的应用,如游戏引擎、高性能服务器等。

3、C++

优势:

  1. 面向对象:C++支持面向对象编程,提供了类、继承、多态等特性。
  2. 性能:C++提供了高性能的执行能力,接近C语言。
  3. 丰富的库:C++拥有STL(标准模板库),提供了数据结构和算法的实现。
  4. 多范式编程:C++支持过程式编程、面向对象编程和泛型编程。

劣势:

  1. 复杂性:C++语言特性丰富,学习曲线较陡峭。
  2. 内存管理:虽然提供了一些自动内存管理机制,但仍然需要手动管理内存,容易出错。
  3. 编译时间:由于语言复杂性,C++程序的编译时间通常较长。
  4. 平台依赖性:某些特性(如IO库)在不同平台上的行为可能有所不同。

应用场景:

  1. 系统/应用软件:操作系统、数据库管理系统、高性能服务器等。
  2. 游戏开发:许多游戏引擎和游戏使用C++开发。
  3. 高性能计算:科学计算、大数据分析等领域。
  4. 嵌入式系统:虽然C语言更常用,但C++也可用于需要面向对象特性的嵌入式系统。

4、Java

优势:

  1. 跨平台兼容性:Java程序可以在多种操作系统上运行,无需修改。
  2. 广泛的应用:Java在企业级应用、Android开发、大数据技术、云计算等领域有广泛的应用。
  3. 强大的生态系统:Java拥有一个庞大的开发者社区和丰富的库及框架,如Spring、Hibernate等。
  4. 性能:Java的性能非常出色,尤其是在JVM优化和即时编译技术(JIT)的帮助下。
  5. 易于学习和使用:Java的语法清晰,结构化良好,对于初学者来说相对容易上手。
  6. 自动垃圾回收:Java的垃圾回收机制自动管理内存,减少了内存泄漏和内存溢出的风险。

劣势:

  1. 启动时间:Java程序的启动时间通常比编译型语言如C或C++慢,因为需要通过JVM来解释执行。
  2. 内存消耗:Java程序通常比C或C++程序消耗更多的内存,部分原因是由于JVM的内存管理和垃圾回收机制。
  3. 控制有限:与C/C++相比,Java对系统资源的控制和访问能力有限,这在某些需要直接硬件操作的场景下可能是一个劣势。
  4. 版本兼容性:Java的版本更新较快,不同版本之间可能存在兼容性问题。

应用场景:

  1. 企业级应用:Java是构建企业级应用的首选语言,因为它提供了高可靠性和安全性。
  2. Android开发:Android操作系统使用Java作为主要的开发语言。
  3. 大数据技术:Java在Hadoop和其他大数据技术中广泛使用。
  4. Web开发:Java是构建服务器端Web应用的流行选择,尤其是使用Spring框架。
  5. 桌面应用:Java也被用于开发跨平台的桌面应用。
  6. 云计算:Java在构建云服务和云应用方面也非常流行。

5、JavaScript

优势:

  1. 跨平台性:JavaScript最初是为网页开发设计的,但现在也可以在服务器端(Node.js)和移动应用中使用。
  2. 广泛的社区支持:JavaScript拥有一个庞大的开发者社区,提供了大量的库和框架,如React、Angular、Vue等。
  3. 灵活性:JavaScript是一种非常灵活的语言,可以用于前端和后端开发,以及桌面和移动应用开发。
  4. 事件驱动和异步编程:JavaScript的事件驱动特性和对异步编程的支持使其非常适合开发交互式Web应用。
  5. 易于集成:JavaScript可以很容易地与HTML和CSS集成,用于增强网页的交互性和动态性。

劣势:

  1. 性能问题:虽然现代JavaScript引擎(如V8)已经非常快,但在某些计算密集型任务中,JavaScript的性能可能不如编译型语言。
  2. 单线程限制:JavaScript的单线程特性意味着长时间的计算会阻塞UI线程,影响用户体验。
  3. 类型安全问题:JavaScript的动态类型特性可能导致运行时错误,尤其是在大型项目中。
  4. 错误处理:JavaScript的错误处理机制不如一些静态类型语言成熟,虽然ES6引入了try...catch语句,但仍然不如Java或C#等语言强大。

应用场景:

  1. Web开发:JavaScript是Web开发的核心语言,用于创建交互式网页和Web应用。
  2. 服务器端开发:通过Node.js,JavaScript可以在服务器端运行,用于构建API和后端服务。
  3. 移动应用开发:使用React Native、Ionic等框架,JavaScript可以用于开发跨平台的移动应用。
  4. 桌面应用开发:使用Electron等框架,JavaScript可以用于开发跨平台的桌面应用。
  5. 游戏开发:虽然不是游戏开发的首选语言,但JavaScript也可以用于开发简单的游戏和游戏原型。
  6. 物联网(IoT):JavaScript也被用于物联网设备的开发,尤其是在需要与Web服务交互的场景中。

6、C#

优势:

  1. 现代语法体系:相比Java,C#有更先进的语法体系,支持事件、委托、属性、Linq等一系列让业务开发更简单的功能。
  2. 强大的IDE和文档支持:C#的IDE功能非常强大,文档支持多国语言,包括中文,运行平台在Windows上内置,为用户提供强大的支持和售后服务。
  3. 性能优异:在面向对象编程中,C#相较于Java的内存占用表现更为出色。
  4. 跨平台开发:随着.NET Core的发展,C#已经不再是Windows的专属语言,现在可以使用C#进行跨平台的开发,包括Linux和macOS。
  5. 安全性:C#的设计注重安全性,提供了诸如代码访问安全、类型安全和异常处理等特性,有助于构建安全的应用程序。

劣势:

  1. 性能问题:C#在性能方面可能不如一些底层语言,如C++和C。这是因为C#代码需要先编译成中间语言(IL),然后再编译成机器语言执行,这在大型应用中可能会感觉到性能差异。
  2. 低级功能限制:如果需要进行低级编程任务,如直接与硬件交互、创建驱动程序或处理固件,C#并不是最佳选择,因为它不支持这些功能。虽然C#可以用于嵌入式编程和物联网(IoT)编程,但真正的低级编码不是C#的特点。

  3. 平台依赖性:尽管C#通过.NET Core和Mono项目改善了跨平台能力,但C#和.NET生态系统仍然主要与Windows平台绑定,这可能限制了其在其他平台上的应用

应用场景:

  1. 游戏开发:C#在游戏开发领域的应用非常广泛,Unity游戏引擎就是使用C#作为主要编程语言,它使得开发者能够利用C#语言创建跨平台的游戏。
  2. Web开发:ASP.NET是C#在Web开发领域的核心框架。使用C#和ASP.NET,开发者可以创建功能强大的Web应用程序和网站。
  3. 后端开发:无论是桌面应用的后端逻辑,还是微服务、APIs或者云服务,C#都是一个很好的选择。
  4. 桌面应用开发:Windows Forms和WPF是C#在桌面应用开发领域的两大支柱。使用这些框架,开发者可以创建出用户界面友好、性能卓越的桌面应用程序。
  5. 物联网(IoT):随着物联网的兴起,C#也在这一领域找到了新的应用场景。
  6. 人工智能与机器学习:虽然C#本身并不是机器学习的首选语言,但是通过与Python的交互,以及利用诸如ML.NET这样的框架,C#开发者也可以在AI领域大展拳脚。

7、Go

优势:

  1. 高效的编译速度:Go程序的编译速度非常快,这使得Go语言非常适合用于开发大型的软件系统。
  2. 易于学习和使用:Go语言的语法简洁,静态类型系统和强大的标准库使得Go语言易于学习和使用。
  3. 天生的并发支持:Go语言的并发模型使得它非常适合开发需要高并发支持的应用,例如网络服务器和并行计算系统。
  4. 跨平台:Go语言支持跨平台开发,你可以在一种操作系统上编写程序,然后在另一种操作系统上编译和运行。
  5. 开源:Go语言是开源的,这意味着任何人都可以查看和改进它的源代码。

劣势:

  1. 生态系统相对较小:相比于Java、Python等成熟的编程语言,Go语言的生态系统较小,导致开发者在选择框架、库和工具时面临有限的选择。这种局限性使得开发者在遇到复杂项目需求时,往往会选择那些有更丰富生态系统支持的语言。

  2. 学习曲线较陡:尽管Go语言以其简洁的语法易于上手,但在某些领域,如并发编程和系统级编程,Go语言的学习曲线可能相对较陡,需要开发者投入更多的时间和精力去掌握。

  3. 有限的应用场景:Go语言的应用场景主要集中在后端服务和微服务架构,这使得它在广泛的开发需求中显得有些局限。

应用场景:

  1. 网络编程和分布式系统:Go语言原生支持高效的并发编程,非常适合构建网络应用程序和分布式系统。
  2. 大数据处理:Go语言具有高效的执行性能和并发处理能力,适用于处理大量数据。
  3. 云计算:由于云计算中的系统通常是分布式的,Go语言的并发编程模型非常适合处理云计算中的任务。
  4. 微服务:Go语言对于构建微服务和API很有优势,因为它的代码结构简单,易于维护,同时具有高效和高并发特性。
  5. Web开发:由于Go语言具有高效和高性能的特性,非常适合构建Web应用程序。
  6. 系统编程:Go语言的语言特性、安全性和执行效率都非常适合用于系统编程领域。
  7. 内存数据库和云平台领域开发:Go语言还适用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发。

8、Rust

优势:

  1. 内存安全:Rust的所有权系统和借用规则可以在编译时捕获许多常见的内存安全错误,如空指针引用和数据竞争,避免了许多常见的安全漏洞。
  2. 高性能:Rust提供了与C/C++相媲美的性能,同时也提供了更高级别的抽象和安全性。它的“零成本抽象”意味着高级别的抽象不会带来性能损失。
  3. 并发性:Rust的所有权模型和类型系统使得编写并发代码更加安全和简单。它提供了零成本的抽象,如线程安全的数据结构和异步编程模型,使得处理并发任务变得更加容易。
  4. 跨平台性:Rust具有很好的跨平台支持,可以轻松地编写跨平台的应用程序,而不需要担心平台相关的细节。
  5. 生态系统:Rust生态系统日益壮大,拥有丰富的库和工具,支持各种应用场景,从系统编程到Web开发和数据科学。
  6. 可靠性:Rust丰富的类型系统和所有权模型保证了内存安全和线程安全,让您在编译期就能够消除各种各样的错误。
  7. 生产力:Rust拥有出色的文档、友好的编译器和清晰的错误提示信息,还集成了一流的工具——包管理器和构建工具,智能地自动补全和类型检验的多编辑器支持,以及自动格式化代码等等。

劣势:

  1. 学习曲线较陡:Rust的独特特性,如所有权和生命周期,对于新手来说可能难以理解,导致学习曲线较陡。
  2. 编译时间:与其他语言相比,Rust程序的编译时间可能更长,这可能会影响到开发效率。
  3. 库支持较少:尽管Rust生态系统正在增长,但与C++或Python等更古老的语言相比,它仍然较小。
  4. 就业市场有限:尽管Rust的就业市场正在增长,但与更成熟的语言相比,它目前仍然较小。

应用场景:

  1. 系统编程:作为一种系统级编程语言,Rust非常适合编写操作系统、文件系统、游戏引擎、浏览器组件等底层软件。
  2. 网络编程:Rust的类型系统和包管理器使其适合于构建网络服务器和应用程序,例如web服务器或微服务架构。
  3. 命令行工具:Rust的生态系统支持快速实现命令行工具,这些工具通常需要与底层系统紧密集成。
  4. 嵌入式系统:Rust的设计目标包括安全性和并发性,这使得它适用于嵌入式系统和物联网设备的开发。
  5. 跨平台客户端框架:Rust也可以用来开发跨平台的客户端应用程序。
  6. 区块链和加密货币:Rust的安全性和性能优势也使其在区块链和加密货币领域的开发中得到应用

总结

说实话,看完上面这些介绍,大家应该更加迷糊了, 我简单总结一下。

1、如果是新手朋友,可以选择 C语言 或者 Python:

C语言作为一个编程语言基础,在很多地方都作为基础语言进行学习,而且C语言比较容易入门,而且学会之后对一些语言内容都会有比较牢固的掌握。

而Python,它的入手难度可以说是比C语言还低,而且它作为目前最热门的语言,市场前景比较宽阔,而且无论你学编程语言的目的是什么,Python都能够衔接上。

2、如果是做大数据,AI,爬虫等,直接选Python

3、如果是想做前端的,选JavaScript。

4、如果是学后端的,选Java。

5、如果是嵌入式的,C/C++相对建议一些。

6、C# 和 Rust 在未来可能会有很大的市场,也可以纳入考虑。

大致就是这么回事儿,但是记住多学一门语言总是更好的,以后你需要用到哪个语言,不是由你来选择的,而是这个项目一直以来是用什么语言写的,你就需要用什么语言写,所以多学一门语言总是没错的。

OK了,那么今天就讨论这么多,大佬们可以在评论区里讨论一下自己学的是什么语言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/884512.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【雷达信号数据集】雷达脉冲活动分段的多级学习算法【附下载链接】

摘要 无线电信号识别是电子战中的一项重要功能。电子战系统需要精确识别和定位雷达脉冲活动,以产生有效的对抗措施。尽管这些任务很重要,但基于深度学习的雷达脉冲活动识别方法在很大程度上仍未得到充分探索。虽然之前已经探索了用于雷达调制识别的深度…

vscode php Launch built-in server and debug, PHP内置服务xdebug调试,自定义启动参数配置使用示例

在vscode中,当我们安装了插件 PHP Debug(xdebug.php-debug)或者 xdebug.php-pack 后 我们通过内置默认的 php xdebug配置启动php项目后,默认情况下我们在vscode中设置断点是不会生效的,因为我们的内置php服务默认启动时…

(二 上)VB 2010 设计初步

目录 一、常用类应用 1.Console类控制台 2.窗体基本控件 二、面向对象程序设计 1.类和对象 2.对象的属性、方法、事件属 1.属性 2.方法 3.事件、事件过程 1.事件 2.事件过程 3.对象浏览器 三、.NET类库与命名空间 1.命名空间 常用命名空间 1.System命名空间 2.…

[CARLA系列--01]CARLA 0.9.15 在Windows下的安装教程(一)

Carla是一款开源的自动驾驶仿真器,它基本可以用来帮助训练自动驾驶的所有模块,包括感知系统,Localization, 规划系统等等.Carla这个产品目前已经更新到了最新的0.9.15版本,目前遇到好多人在windows系统上如何安装可编辑版的Carla遇到了好多问…

禾川HCQ1控制器程序编译报错如何解决

1、第一次打开用户程序 2、提示库未安装 3、安装库文件 4、脉冲轴库未安装 5、没有错误 去禾川自动化官网,把可以安装的包和库都安装下,程序编译就没有错误了。 6、下载相关包文件

ubuntu20安装opencv3.2记录

系统环境 ubuntu20安装了ros-noetic,所以系统默认装了opencv4.2.0,但是跑fastlivo推荐的是opencv3.2.0,而且海康相机别人写的ros驱动(海康相机ros驱动)也是需要opencv3.2.0,最终还是选择安装多版本的openc…

基于NVIDIA NIM平台实现盲人过马路的demo(一)

前言:利用NVIDIA NIM平台提供的大模型进行编辑,通过llama-3.2-90b-vision-instruct模型进行初步的图片检测 step1: 部署大模型到本地,引用所需要的库 import os import requests import base64 import cv2 import time from datetime import datetimestep2: 观看官方使用文…

MATLAB下的四个模型的IMM例程(CV、CT左转、CT右转、CA四个模型),附源代码可复制

文章目录 基于IMM算法的目标跟踪概述源代码运行结果代码结构与功能1. 初始化2. 仿真参数设置3. 模型参数设置4. 生成量测数据5. IMM算法初始化6. IMM迭代7. 绘图8. 辅助函数总结基于IMM算法的目标跟踪 概述 该MATLAB代码实现了基于交互式多模型(IMM)算法的目标跟踪,旨在估…

Netty 组件介绍 - Future Promise

在异步处理时,经常用到这两个接口 netty 中的 Future 继承 jdk 中的 FutuFuture,而Promise 又对 netty Future 进行了扩展。 idk Future 只能同步等待任务结束(或成功或失败)才能得到结果netty Future 可以同步等待任务结束得到结也可以异…

ai数字人分身123口播克隆数字人小程序源码_博纳软云

功能配置 一、用户 用户管理小黑屋用户反馈登录设置短信参数 二、作品 视频作品背景音乐库背景音乐分类 三、形象分身 上传记录视频要求参数配置 四、声音克隆 克隆记录参数配置声音要求文案示例 五、AI文案 生成记录创作模型模型分类Al配置 六、充值 充值订单积分套…

Elasticsearch Interval 查询:为什么它们是真正的位置查询,以及如何从 Span 转换

作者:来自 Elastic Mayya Sharipova 解释 span 查询如何成为真正的位置查询以及如何从 span 查询过渡到它们。 长期以来,Span 查询一直是有序和邻近搜索的工具。这些查询对于特定领域(例如法律或专利搜索)尤其有用。但相对较新的 …

软件测试模型

软件测试模型是在软件开发过程中,用于指导软件测试活动的一系列方法和框架。这些模型帮助测试团队确定何时进行测试、测试什么以及如何测试,从而确保软件的质量和稳定性。 一 V模型 V模型是一种经典的软件测试模型,它由瀑布研发模型演变而来的测试模型…

Tiling与流水线技术小结

文章目录 Tiling技术Loop TilingAI推理中的Tiling 参考 流水线技术指令周期 参考 Tiling技术 Tiling(平铺)是一种将大的问题或数据集分解为较小的子问题或子数据集的技术,目的是提高数据局部性和缓存利用率,从而提升程序性能。 在…

Pinia-状态管理

Pinia-状态管理 特点: 1. 轻量和模块化 Pinia 是一个轻量级的状态管理库,支持模块化管理,即可以将应用的状态分成多个 store 以实现更好的组织。使用 Pinia,可以定义多个 store,每个 store 都是一个独立的模块&#x…

openpnp - 在openpnp中单独测试相机

文章目录 openpnp - 在openpnp中单独测试相机概述笔记测试工装相机镜头顶部盖子到目标的距离END openpnp - 在openpnp中单独测试相机 概述 底部相机的位置不合适, 重新做了零件,准备先确定一下相机和吸嘴的距离是多少才合适。 如果在设备上直接实验,那…

网络模型——二层转发原理

网课地址:网络模型_二层转发原理(三)_哔哩哔哩_bilibili 一、路由交换 网络:用来信息通信,信息共享的平台。 网络节点(交换机,路由器,防火墙,AP)介质&#…

[watevrCTF 2019]Voting Machine 1-好久不见10

shiiftF12查找字符串,发现flag.text跟踪 from pwn import * i remote("node5.anna.nssctf.cn",22956) address 0x400807 payload ba*(0x28) p64(address) i.sendline(payload) i.interactive()

【Linux】从零开始使用多路转接IO --- select

碌碌无为,则余生太长; 欲有所为,则人生苦短。 --- 中岛敦 《山月记》--- 从零开始认识五种IO模型 1 前言2 认识多路转接select3 多路转接select等待连接4 完善代码5 总结 1 前言 上一篇文章我们讲解了五种IO模型的基本概念,并…

【Java SE 】String 类 详解!

🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 1. String 的地位 在Java 编程中,字符串的使用是非常频繁的,而字符串的使用有离不开 String类 ,在开发和面试中String类也是非常…

专业130+总400+武汉理工大学855信号与系统考研经验电子信息与通信工程,真题,大纲,参考书。

已经顺利读研一段时间,回顾一下考研还是历历在目。应群里学弟要求,回忆总结一下自己考研经历,希望对大家复习有帮助。总分400,专业课855信号与系统130(犯了低级错误,计算出现问题,大家专业好好准…