-
C语言是菜鸟和大神的边界线
所属栏目:[语言] 日期:2021-05-22 热度:151
所有的程序都在拼尽全力节省内存,都在不遗余力提高内存使用效率,计算机的整个发展过程都在围绕内存打转,不断地优化内存布局,以保证可以同时运行多个程序。 不了解内存,就学不会进程和线程,就没有资格玩中大型项目,没有资格开发底层组件,没有资格架[详细]
-
C语言是计算机产业的关键语言
所属栏目:[语言] 日期:2021-05-22 热度:56
也许是机缘巧合,C语言出现后不久,计算机产业开始爆发,计算机硬件越来越小型化,越来越便宜,逐渐进入政府机构,进入普通家庭,C语言成了编程的主力军,获得了前所未有的成功,操作系统、常用软件、硬件驱动、底层组件、核心算法、数据库、小游戏等都使用[详细]
-
接口存在的价值及其特性
所属栏目:[语言] 日期:2021-05-22 热度:53
在我自己早期学习编程的时候,对接口存在的意义实在困惑,我自己乱写代码的时候基本上不可能意识到需要去写接口,不知道接口到底有什么用,为什么要定义接口,感觉定义接口只是提前做了个多余的工作。 其实不是,定义接口并非多余,「接口是用来提供公用的[详细]
-
接口是一个抽象类还要抽象的类
所属栏目:[语言] 日期:2021-05-22 热度:149
在讲解接口之前,抽象类是绕不过去的一个概念,接口可以认为是一个比抽象类还要抽象的类。 什么是抽象类?「包含一个或多个抽象方法的类就是抽象类,抽象方法即没有方法体的方法」,抽象方法和抽象类都必须声明为 abstract。例如: //抽象类 publicabstrac[详细]
-
Go 语言新方案:支持使用-keepfuzzing进行模糊测试
所属栏目:[语言] 日期:2021-05-22 热度:66
据介绍,此项提案会为 Go 添加新的testing.F类型,在_test.go文件中支持FuzzFoo函数,并增加新的go命令行为。该提案的 Draft Design 已发布,并根据 Go 社区的反馈进行了迭代。下一步要做的工作是将提案实现为语言特性。 此项特性在 Go 1.17 中会被视为实[详细]
-
C++多线程基本概念及其创建线程的操作
所属栏目:[语言] 日期:2021-05-22 热度:186
副标题#e# 并发、进程、线程的基本概念 并发两个或者多个任务(独立的活动)同时发生(进行):一个程序通知执行多个独立的任务并发假象(不是真正的并发):单核CPU通过上下文切换方式实现进程 进程计算机中的程序关于某数据集合上的一次运行活动 进程特性 动态性[详细]
-
让你滔滔不绝的Java的泛型知识点梳理
所属栏目:[语言] 日期:2021-05-22 热度:168
副标题#e# 最近技术交流群里,有朋友问:Object和泛型T有啥区别。回答完问题,不禁在想,面试在即,还有那么多朋友不了泛型?是时候给大家整理一篇泛型相关的文章了,一篇文章全面搞定泛型,让大家再也不愁面试或实践中泛型相关的问题了。 什么是泛型 泛型是[详细]
-
Java高并发编程入门篇:AQS
所属栏目:[语言] 日期:2021-05-22 热度:110
曾经有一道比较比较经典的面试题你能够说说java的并发包下面有哪些常见的类?大多数人应该都可以说出 CountDownLatch、CyclicBarrier、Sempahore多线程并发三大利器。这三大利器都是通过AbstractQueuedSynchronizer抽象类(下面简写AQS)来实现的,所以学习三[详细]
-
FileOutputStream与FileInputStream的随机访问文件读写
所属栏目:[语言] 日期:2021-05-22 热度:140
副标题#e# 由于流是单向的,简单文件写可使用FileOutputStream,而读文件则使用FileInputStream。 任何数据输出到文件都是以字节为单位输出,包括图片、音频、视频。以图片为例,如果没有图片格式解析器,那么图片文件其实存储的就只是按某种格式存储的字节[详细]
-
用Python实现多Excel、多Sheet的合并处理的方法
所属栏目:[语言] 日期:2021-05-22 热度:146
1)如何选择要合并的Excel文件? 利用os,获取所有要合并的Excel文件。 2)如何选择要合并的Sheet? 利用xlrd库进行Excel读取,获取要合并的Sheet名。 3)如何合并? 利用pandas库,对所有Sheet名逐一循环打开,通过concat()进行数据追加合并即可。 4)如何保存文[详细]
-
Java中基础类型的包装类在拆箱和装箱过程中起到了什么用处
所属栏目:[语言] 日期:2021-05-22 热度:121
副标题#e# 下面通过一个简单的示例才重现一下异常出现的场景。 publicclassBoxTest{ publicstaticvoidmain(String[]args){ MapString,Objectresult=httpRequest(); longuserId=(Long)result.get(userId); } //模拟一个HTTP请求 privatestaticMapString,Obje[详细]
-
extends与super通配符的差异
所属栏目:[语言] 日期:2021-05-22 热度:119
副标题#e# 在定义泛型类型Generic的时候,也可以使用extends通配符来限定T的类型: publicclassGenericTextendsNumber{...} 现在,我们只能定义: GenericNumberp1=null; GenericIntegerp2=newGeneric(1,2); GenericDoublep3=null; 因为Number、Integer和Do[详细]
-
Java 泛型机制允许程序员在编译时检验到非法的类型
所属栏目:[语言] 日期:2021-05-22 热度:62
Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。 简单理解就是:泛型指定编译时的类型,减少运行时由于对象类型不匹配引发的异常。其主要用途是提高我们的代码的复用率。[详细]
-
Java注解annotation的用途分析
所属栏目:[语言] 日期:2021-05-22 热度:125
今天在看以前写的代码,发现自己对注解的了解还不是非常透彻,经常选择性就忽视了对注解实现的探究,遂查询资料学习了一下。 注解是什么 实现格式 从代码来看我们知道注解的实现格式是: public@interfaceMyAnnotation{ 属性列表; } 所以我们有了第一直觉[详细]
-
GDB watch命令监视变量值的变化
所属栏目:[语言] 日期:2021-05-11 热度:133
要知道,GDB 调试器支持在程序中打 3 种断点,分别为普通断点、观察断点和捕捉断点。其中 break 命令打的就是普通断点,而 watch 命令打的为观察断点,关于捕捉断点,后续章节会做详细讲解。 使用 GDB 调试程序的过程中,借助观察断点可以监控程序中某个变量[详细]
-
GDB自动补全命令
所属栏目:[语言] 日期:2021-05-11 热度:137
除了 help 命令辅助用户使用 GDB 调试器之外,GDB 还支持命令的自动补全。所谓自动补全,即在 (gdb) 右侧输入 GDB 命令时,对于特别长的命令,我们只需要输入命令的前几个字符,然后按下 Tab 键,GDB 就会自动帮我们补全整个命令。 举个例子: (gdb) info br[详细]
-
GDB help命令:查看目标命令的准确使用
所属栏目:[语言] 日期:2021-05-11 热度:156
实际上,GDB 调试器的开发人员也想到了这个问题。为了降低用户使用 GDB 调试器的学习成本,GDB 提供了 help 命令,它可以帮用户打印出目标命令的功能和具体用法。 首先,为了方便用户能够快速地从众多 GDB 命令中查找到目标命令,help 命令根据不同 GDB 命令[详细]
-
GDB edit命令:编辑文件和搜索源码
所属栏目:[语言] 日期:2021-05-11 热度:183
在 GDB 中编辑源文件中使用 edit 命令,该命令的语法格式如下: (gdb) edit [location] (gdb) edit [filename] : [location] location 表示程序中的位置。这个命令表示激活文件的指定位置,然后进行编辑。 举个例子: (gdb) edit 16 //表示激活文件中的第16[详细]
-
GDB backtrace命令你知道吗
所属栏目:[语言] 日期:2021-05-11 热度:99
backtrace 命令用于打印当前调试环境中所有栈帧的信息,常用的语法格式如下: (gdb) backtrace [-full] [n] 其中,用 [ ] 括起来的参数为可选项,它们的含义分别为: n:一个整数值,当为正整数时,表示打印最里层的 n 个栈帧的信息;n 为负整数时,那么表示[详细]
-
GDB frame命令的使用
所属栏目:[语言] 日期:2021-05-11 热度:82
当程序因某种异常停止运行时,我们要做的就是找到程序停止的具体位置,分析导致程序停止的原因。 对于 C、C++ 程序而言,异常往往出现在某个函数体内,例如 main() 主函数、调用的系统库函数或者自定义的函数等。要知道,程序中每个被调用的函数在执行时,都[详细]
-
GDB handle命令:信号处置
所属栏目:[语言] 日期:2021-05-11 热度:165
C、C++ 程序中,信号常常作为进程间通信的一种重要手段。举个例子: #include stdio.h #include unistd.h #include signal.h void display () { printf ( http://c.biancheng.net/gdb/ ); } int main () { pid_t cpid ; pid_t ppid ; signal ( SIGINT , disp[详细]
-
GDB禁用与删除断点
所属栏目:[语言] 日期:2021-05-11 热度:195
我们知道,GDB 调试器支持 3 种断点,分别为普通断点(用 break 命令创建)、观察断点(用 watch 命令建立)以及捕捉断点(用 catch 命令建立)。并且如果需要的话,我们可以在被调试程序中打多个断点,甚至于 GDB 允许在同一位置打多个断点。 这就产生一个[详细]
-
GDB print和display命令:查看变量表达式值
所属栏目:[语言] 日期:2021-05-11 热度:150
前面章节中提到,使用 GDB 调试程序,最常用的方法是:单步调试或者断点调试程序,期间通过查看某个变量或者表达式的值,判断当前程序的执行过程是否正确,不断缩小异常或 Bug 位于代码中的范围,最终找到并修复。 对于在调试期间查看某个变量或表达式的值,[详细]
-
GDB单步调试执行程序
所属栏目:[语言] 日期:2021-05-11 热度:82
根据实际场景的需要,GDB 调试器共提供了 3 种可实现单步调试程序的方法,即使用 next、step 和 until 命令。换句话说,这 3 个命令都可以控制 GDB 调试器每次仅执行 1 行代码,但除此之外,它们各自还有不同的功能。 本节就来一一给大家讲解这 3 个命令的功[详细]
-
GDB条件断点叙述
所属栏目:[语言] 日期:2021-05-11 热度:166
前面章节给大家介绍了 GDB 调试器中普通断点、观察断点以及捕捉断点的功能和用法。其中值得一提的是,对于普通断点的建立,可以使用如下格式的 break 命令: (gdb) break ... if cond ... 参数用于指定生成断点的具体位置;cond 参数用于代指某个表达式。通[详细]

浙公网安备 33038102330476号