IT行业专业术语_编程(学习笔记)

IT行业相关专业术语的解释。

Bit (位)

Bit :Bit 是一个比特位或者二进制中的一位,也就0或1, 是信息的最小单位。

Byte (字节)

Byte:Byte 是一个字节,由8个 Bit 组成,可以表达 0~255这256 个数。对于计算机来说,当我们说 “64位计算机”的时候,指的是计算机寄存器的大小为 64 位,也就是它可以一次计算的数据大小为 2的64 次方。

指针 (Pointer)

指针:编程语言中用来表示或存储一类数据类型及其对象或变量的内存地址,这个地址直接指向 (pointsto) 存储在该地址的对象。

句柄 (Handle)

句柄: Windows 操作系统用来标识被应用程序所创建或使用的对象的一个整数(索引数),其本质相当于带有引用计数的智能指针。当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,可以使用句柄。举个例子。 door handle 是指门把手,通过门把手可以去控制门,但 door handle 并非 door 本身,只是一个中间媒介。又比如, knife handle 是刀柄,我们通过刀柄可以使用刀。

文件描述符 (File Descriptor )

文件描述符:一个用于表述指向文件的引用的抽象化概念。当程序打开文件需要操作文件时,给所操作的文件编的一个号。文件描述符在形式上是一个非负整数。实际 ,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。计算机系统上有三个标准的文件描述符:0代表标准输入(键盘), 1代表标准输出(显示器),2 代表标准错误(显示器)。

套接字 Socket)

套接字:操作系统提供的进程间通信机制,可以通过网络进行通信。在套接字接口中,以 IP 地址及端口组成套接字地址 (socke address) ,再加上远程的 IP 地址、端口号、通讯协议,形成一个五元组 (five -elem nt tuple) ,作为套接字对 (socket pairs) 完成网络通信。

输人输出 (l/0)

输人输出 (l/0) :I/0是Input和Output 的缩写,也就是输入输出。 I/0 设备就是输入输出设备。软件和系统的 I/0指忙闲状态,如硬盘 I/O 、网络 I/0等。

布尔 (Boolean)

布尔:计算机科学中的逻辑数据类型。布尔只有两个值,一个是真 (True) ,一个是假 (False) 。布尔值前可以进行与 (AND) 、或 (OR) 、异或 (XOR) 、非 (NOT)等逻辑运算操作。计算机通过布尔表达式来判断当前程序该怎么执行,不同的执行对应不同的程序运行分支。

数组 (Array)

数组 :一种常见的基础数据结构,是有序的元素序列。如果将有限个类型相同的变量的集合命名,那么这个名称为数组名。

链表 (Linked List)

链表:一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针。

栈(Stack)

栈:一种数据项按序排列的数据结构,只能在一端(称为栈顶, top) 对数据项进行插入和删除 。它具有两个主要的主要操作 :进栈 (Push) 一将元素添加到集合中;退栈 (Pop) 一一删除尚未删除的最近添加的元素。

二叉树:(Binary Tree)

二叉树:一种数据结构,用于以有组织的方式存储数据(例如数字)。二叉树允许二分搜索以快速查找、添加和删除数据项,并可用千实现动态集和查找表。

哈希表 (Has Table)

哈希表:也叫散列表,是根据键 (Key)而直接进行访问的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数叫哈希函数,存放记录的数组叫哈希表。

算法(Algorithm)

算法:通过计算机语言的编程方式为某种问题所编写的流程,可以非常高效地解决问题 比如,找到 个字符串内第一个只出现过一次的字符,在一个串中查到一个单词……它是一系列解决问题的清晰指 ,代表着用系统的方法描述解决问题的策略机制,是一种用计代码来表现的数学思维。

面向对象编程 (Ob ect-Oriented Programming)

面向对象编程:有对象(对象指的是类的实例)概念的程序编程范式,同时也是一种程序开发的抽象方法,包含数据、属性,代码与方法 它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问及经常修改对象相关联的数据 世界上的主流编程语言都支持面向对象编程,比如 C+ +、 Java C# Python PHP JavaScript ……封装、继承、多态是面对对象的三大特性。

封装 (Encapsulation)

封装:在面向对象编程方法中,封装是种将抽象性函数接口的实现细节部分包装、隐藏起来的方法 同时它也是一种防止外界调用端,去访问对象内部实现细节的手段,这个手段是由编程语言本身来提供的。

继承 (Inheritance)

继承:如果一个类别 B“ 继承自“另一个类别 A, 我们就把 称为 “A 的子类”,而把 称为 “B 的父类别',也可以说 “A 的超类" 继承可以使得子类具有父类别的各种属性和方法,而不需要再次编写相同的代码多态 (Polymorphism) :指相同的定义在面对不同的实例时会有不同的执行行为。

函数式编程 (Functional Programming)

函数式编程:一种编程范式,它将程序运算视为函数运算,并且避免使用程序运行状态的改变。其中,入表达式 (lambda calculus) 为该语言最重要的基础 而且,入表达式的函数可以接受函数当作输入(引数)和输出(传出值)。

递归 (Recursion)

递归 (Recursion) :在数学与计算机科学中,指在函数的定义中使用函数自身的方法,也就是在运行的过程中调用自己。打个比方:从前有座山,山里有座庙,庙里有个老和尚和小和尚,老和尚对小和尚说,从前有座山,山里有座庙,庙里有个老和尚和小和尚,老和尚对小和尚说……这就是递归。

闭包 (Closure)

闭包:也称函数闭包,是一种在支持头等函数的编程语言中实现词法绑定的技术。在操作上,闭包
函数与其环境一起存储的方式。也就是说,闭包是一个持久作用域,即使代码执行已经离开该语句块,它也保留了局部变矗,支持闭包的语言有 JavaScript, Swift Rub。

垃圾回收 (Garbage Collection)

垃圾回收:一种自动的内存管理机制。当某个程序占用的一部分内存空间不再被这个程序访问时,这个程序会借助垃圾回收算法向操作系统归还这部分内存空 。垃圾回收器可以减轻软件工程师的负担,也减少程序中的错误 垃圾回收最早起源千 LISP 语言,目前许多语Smalltalk Java #和 Go 语言都支持垃圾回收器。

MVC 模式 (Model-View-Controller)

MVC 模式 :一种软件架构模式,目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某 部分的重复利用成为可能。
这种模式把软件系统分为三个基本部分:
.模型 (Model) :软件工程师编写程序应有的功能 (实现算法等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。
.视图 (View) :界面设计人员进行图形界面设计。
.控制器 (Controller) :负责转发请求,对请求进行处理。

RAIi (Resource Acquisition Is Initialization)

RAIi :资源获取,即初始化。 它是在一些面向对象语言中的一种惯用法RAII 要求资源的有效期与持有资源的对象的生命期严格绑定,即由对象的构造函数完成资源的分配(获取),同时由析构函数完成资源的释放 在这种要求下,只要对象能正确地析构,就不会出现资源泄露问题。硬编码 (Hard Code) :用于描述在代码中写死相应的逻辑或配置的行为。一旦逻辑或配置被写死,再想做任何修改就得重改源码,重新编译打包程序,并重新安装或部署程序。

魔数 (Magic Number)

魔数 :指硬编码在代码里的具体数值(如 “10" “123” 等以数字直接写出的值)。虽然程序作者写的时候自己能了解数值的意义,但对其他软件工程师而言,甚至作者本人经过一段时间后,会难以了解这个数值的用途,只能苦笑讽刺”这个数值的意义虽然不懂,不过至少程序能够运行,真是个魔术般的数字",魔数因此而得名。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
嗨!很高兴回答你关于Java并发编程的问题。请问你想知道什么方面的内容呢?我可以分享一些学习笔记和建议给你。 1. 并发编程基础:了解并发编程的基本概念,如线程、进程、锁、同步等。学习Java中的并发编程模型以及相关的API,如Thread、Runnable、Lock、Condition等。 2. 线程安全性:学习如何保证多线程环境下的数据安全性,了解共享资源的问题以及如何使用同步机制来防止数据竞争和并发问题。 3. 线程间的通信:掌握线程间的通信方式,如使用wait/notify机制、Lock/Condition等来实现线程的协调与通信。 4. 并发容器:学习并发容器的使用,如ConcurrentHashMap、ConcurrentLinkedQueue等。了解它们的实现原理以及在多线程环境下的性能特点。 5. 并发工具类:熟悉Java提供的并发工具类,如CountDownLatch、CyclicBarrier、Semaphore等,它们可以帮助你更方便地实现线程间的协作。 6. 并发编程模式:学习一些常见的并发编程模式,如生产者-消费者模式、读者-写者模式、线程池模式等。了解这些模式的应用场景和实现方式。 7. 性能优化与调试:学习如何分析和调试多线程程序的性能问题,了解一些性能优化的技巧和工具,如使用线程池、减少锁竞争、避免死锁等。 这些只是一些基本的学习笔记和建议,Java并发编程是一个庞大而复杂的领域,需要不断的实践和深入学习才能掌握。希望对你有所帮助!如果你有更具体的问题,欢迎继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

终生成长者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值