计算机二级知识点整理

news2024/11/29 18:39:58

翻到了之前准备计算机二级的笔记,现在给大家分享出来。

一、基本知识:

  1. 计算机把完成一条指令所花费的时间称为一个指令周期
  2. 结构化程序设计强调的是程序的易读性
  3. boolean类型不能转为其他基本类型数据
  4. 表达式是由运算符和运算对象构成的,#不是运算符
  5. a的ASCII码是97,以此类推
  6. 理论上计算机的虚拟内存最大容量取决于计算机地址位数
  7. 构造方法不一定要有返回值
  8. I/0方式中使计算机系统并行工作程度最高的是通道
  9. Java的反汇编命令是javap
  10. 运算符优先级参照
    在这里插入图片描述
  11. double转int会丢失小数点后面的数值
  12. switch中只允许表达式是int、byte、short、char、String
  13. 结构图是描述软件系统结构的图形工具
  14. public可以被所有的类访问、private只能被本类访问、protected可以被本类和同一个包中的类及其子类访问,default不是权限修饰符。
  15. Jvm运行java代码的执行顺序是加载、校验、执行
  16. java标识符不能是数字开头
  17. SequencelInputStream表示其他输入流的逻辑串联。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止。
  18. 内部类可以使用外部类的静态成员变量;内部类可以使用外部类的实例成员变量;内部类不可以使用外部类的方法中的局部变量;内部类可以声明为abstract抽象类。
  19. 扇出指由一个模块直接调用的其他模块个数。
  20. 数据流图图形
    在这里插入图片描述
  21. 过程控制系统属于实时系统
  22. 动态地址重地位不再要求程序装入固定的内存空间
  23. 立即寻址(所需的操作数由指令的地址码部分直接给出)、 直接寻址(指令的地址码部分给出操作数在存储器中的地址)、隐含寻址(操作数的地址隐含在指令的操作码或者某个寄存器中)
  24. 执行指令的过程中,cpu不经过总线能够直接访问寄存器
  25. java虚拟机执行的任务有加载、校验、执行
  26. 带符号的定点数中,正数的原码、反码、补码均相同;负数的反码是对该数的原码除符号位外各位取反,补码是在该数的反码的最后(即最右边) -位上加1
  27. 不管是正数还是负数,其补码的符号位取反即是偏移码
  28. Serializable接口主要用来处理对象流进行序列化和反序列化,里面没有抽象方法。
  29. 对象中需要进行并发操作保护的共享数据必须是private的
  30. java没有提供避免死锁的机制
  31. break、continue、return属于跳转语句
  32. 一元运算符 sizeof + - ++ – , ~
  33. 集成测试是为了发现概要设计的错误
  34. 软件设计准则:①提高模块独立性:②模块规模应该适中,③深度、宽度、扇出和扇入都应适当;④模块的作用域应该在控制域之内,⑤降低模块之间接口的复杂程度;⑥设计单入口和单出口的模块,不要使模块间出现内容耦合;⑦模块功能应该可以预测
  35. 与信息隐蔽概念直接有关的概念是模块的独立性
  36. 分时操作系统特点:交互性、独立性、及时性、同时性
  37. 软件设计的文档有:概要设计说明书、详细设计说明书、测试计划初稿
  38. 对类-对象的主要特征描述的是:对象的唯一性
  39. 同一个关系模型的任意两个元组值不能全相同
  40. 在关系数据库中,描述全局数据逻辑结构的是概念模式
  41. 软件设计的常用工具有:结构图、程序流程图、N-S图、PAD图、HIPO图、PDL图
  42. 机器周期的同步标准是CPU访问存储器一次的所需时间
  43. 事件保护是事件处理过程的应用,不是事件处理过程涉及的对象
  44. 机器码补码的符号位取反既是偏移码
  45. Java的特点为:简单性、面向对象、分布式、健壮性、安全性、体系结构中立、可移植性、解释型、高性能、多线程、动态性。

二、集合

  1. 在vector类中,在集合的最后增加一个元素的方法是addElement()

三、异常

  1. catch中的对象类型是try中可能抛出的异常或其父类
  2. try后可能有多个catch

四、数据库

  1. 数据库系统中支持安全性定义和检查的语言是数据控制语言
  2. 在数据库中存储的是数据以及数据之间的联系

五、软件测试

  1. 软件测试的实施过程主要有4个步骤:单元测试、集成测试、确认测试(验收测试)和系统测试
  2. 黑盒测试方法和技术有等价类划分法、边界值分析法、错误推测法和因果图等。白盒测试的主要技术有逻辑覆盖测试、基本路径测试
  3. 与确认测试有关的文档是需求规格说明书
  4. 软件危机有:开发进度难以预测、开发成本难以控制、用户对产品功能难以满足、软件质量无法保证、软件产品难以维护、软件缺少文档资料

六、文件操作

reader和writer结尾都是字符流,以stream结尾的都属于字节流

  1. 向文件写入int类型用writeInt()方法
  2. 查找文件名用File类,读写数据用FileInputStream、FileOutputStream等流
  3. 所有的字符输出流都从OutputStreamWriter类继承
  4. java.io提供了ByteArrayOutputStream、ByteArrayInputStream和StringBufferInputStream类可直接访问内存。
  5. ByteArrayInputStream可以从字节数组读取数据; ByteArrayOutputStream可以向字节数组(缓冲区)写入数据
  6. Reader/Writer处理的是字符流,IntputStream/OutputStream处理的是字节流,这几个都是抽象类
  7. RandomAccessFile是直接继承了java.lang.Object类
  8. 不能处理Unicode的类是字符流的类
  9. DMA 直接内存存取,是I/O设备与主存储器之间由硬件组成的直接数据通路,用于成组的数据传送
  10. Java对输入/输出访问提供同步处理机制是过滤流
  11. DeflaterOutputStream类的作用是对输出文件进行过滤和压缩

七、线程/进程

  1. 重写Runnable接口中的run方法不能有参数
  2. 如果线程正处于运行状态,则它可能到达的下一个状态有:可运行状态、阻塞状态、终止状态
  3. 多线程并发能给对象加锁的语句是 synchronized(x)
  4. 当一个进程在运行过程中释放了系统资源后要调用唤醒原语
  5. 进程调度只对CPU负责
  6. 实现线程同步,建议使用wait()和notify()
  7. 一个线程的代码可以被其他线程共享
  8. 可以调用wait()和join()方法让线程进入阻塞状态
  9. join()是把指定线程加入到当前线程,isAlive()是判断当前线程是否处于活动状态、sleep()是让线程进行休眠,yield()是让运行状态的线程退回可运行状态
  10. 类继承了Thread类后,可以调用Thread的getName()和setName
  11. 线程模型包括:虚拟的CPU、代码所操作的数据、该CPU执行的代码
  12. 进程属性:动态性、共享性、独立性、制约性、并发性
  13. 一个进程在运行过程中释放了系统资源后要调用唤醒进程源语而不是阻塞进程源语

八、XML

  1. Applet用来获取参数

九、事件

  1. keyPressed()为按下某个键时调用的方法、keyRelesed()为释放某个键是调用的方法、keyTyped()为键入某个键是调用的方法
  2. ActionEvent回车事件,ButtonEvent按钮事件,FocusEvent鼠标聚焦事件,MouseEvent鼠标拖动事件

十、Swing

  1. Swing构件是以J开头的
  2. 获取构件前景色的方法是 getForetground()
  3. Swing与AWT相比新增的布局管理器是BoxLyout
  4. 对点击按钮操作所产生的事件进行处理的接口是ActionListener
  5. WindowListener接口包括以下方法: windowActivated、windowDeactivated、 windowClosing、 windowClosed、 windowlconified、windowDeiconified、 windowOpened方法
  6. 根面板是由一个玻璃面板,一个内容面板,和一个可选的菜单条组成
  7. Swing顶层容器共四个: JWindow、JFrame、 JDialog和JApplet、 其他三个是中间容器。
  8. 当按钮被按下的时候,执行actionPerformed(ActionEvent e)方法
  9. JRadioButton是单选组件,JComboBox是下拉组件,JList可以作为多项选择组件
  10. 在JFrame中添加菜单的方法是JMenu()
  11. setJMenuBar()是用来创建菜单条,add可以向菜单添加指定的选项
  12. JPanel不属于容器类
  13. 一个监听器只能监听一个组价的一种事件
  14. JFrame的默认布局容器是流布局 FlowLayout
  15. Swing不可以直接把组件加到顶层容器中

十一、Applet

  1. 如果Applet要在浏览器中显示一个字符串, 则需要重写的方法是paint()
  2. applet的main方法不由浏览器调用,由java虚拟机调用
  3. applet支持外部参数
  4. applet不能通过java命令运行,它是在web浏览器运行
  5. Applet中可以重写Applet类中的paint()方法
  6. Applet的间接父类才是Object
  7. Applet中支持与Application相同的GUI事件响应机制
  8. Applet可以用javac编译,但不可以用java命令运行

十二、 数据结构

12.1 基本知识

  1. 循环链表是一种链式存储结构,循环队列是队列的一种顺序存储结构,属于线性结构。
  2. 多重链表可以有多个指针域
  3. 循环链表的存储空间可能是不连续的
  4. 最坏情况下时间复杂度:有序表的二分查找为O(log2n),寻找最大项为0(n-1), 顺序查找为O(n),堆排序为O(nlog2n)。 故最坏情况下时间复杂度最低的是有序表的对分查找
  5. 向量是顺序存储的线性结构
  6. 对数据进行压缩存储会降低算法的空间复杂度
  7. 线性表特征:表中所有元素所占的存储空间是连续的,每一个数据元素所占的字节相同、表中个数据元素在存储空间中按逻辑顺序依次存放
  8. 链式存储比顺序存储更浪费空间
  9. 带链栈的栈底指针是随栈的操作而动态变化的
  10. 二叉树属于非线性结构

12.2 树

  1. 前序遍历:根节点-左节点-右节点

  2. 中序遍历:左节点-根节点-右节点

  3. 后序遍历:左节点-右节点-根节点

  4. 树的总的节点数为树中所有节点的度数之和再加一

  5. 度为0的结点(即叶子结点)总是比度为2的结点多一个

  6. 二叉树 第 k 层 最多有 2的k-1次方 个节点

  7. 深度为 k 的满二叉树 有 2的k次方 -1 个节点

  8. 设某棵树的度为3,其中度为3,2,1的结点个数分别为3,0,4。则该树中的叶子结点数为7

    解析:
    设叶子节点数为N,这棵树的总结点数为3+0+4+n,再根据树的性质树的总的节点数为树中所有节点的度数之和再加一,则总结点数为 总度数+1 = 节点数 3X3+2X0+1X4+0Xn+1 = 3+4+n 解得N=7

  9. 某二叉树共有399个结点,其中有199个度为2的结点,则该二叉树中的叶子结点数为200

    解析:根据二叉树的性质:对任何一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个。本题中,度为2的结点个数为199,则叶子结点数为199+ 1=200。199+ 200= 399,即这棵二叉树中只存在度为0和度为2的结点,不存在度为1的结点。

  10. 度为3的一棵树共有30个结点,其中度为3, 1的结点个数分别为3,4。则该树中的叶子结点数为 15
    解析:
    设叶子节点个数为M,度为2的节点个数为N个,树的总结点数=所有节点的度数之和+1,则3X3+2XN+1X4+0XM+1=30 N=8,树的总结点数=3+8+4+M = 30,则叶子节点数为15

12.3 数组

  1. 获取数组长度用length
  2. 除数为0会抛出ArithmeticException除数不能为0的异常
  3. 对长度为N的线性表进行快速排序,最坏的的情况下需要n(n-1)/2次
  4. 对长度为N的线性表进行二分查找,最坏的的情况下需要log2n次

12.4 栈和队列

  1. 带链的栈是具有栈属性的链表。链表的存储单元是不连续的,由于是不连续的存储空间,所以指针将不会有规律地连续变化。当top=bottom=NULL时,为栈空;当top= bottom且不等于NULL时,栈中存在一个元素, 其他情况无法判断。
  2. 带链的队列是采用链式存储结构表示的队列。链式存储的存储单元是不连续的,因为是不连续的存储空间,所以指针将不会有规律地连续变化。当front=rear=NULL时, 为队空;当front=rear且不等于NULL时, 队列中存在一个元素, 其他情况无法判断。
  3. 循环队列长度为m,初始状态为front=rear=m, 此时循环队列为空。现经过一系列入队与退队运算后,front=rear且不为m,此时循环队列为队满或队空,循环队列中的元素个数为0或m。
    若循环队列的存储空间为(1:m),在循环队列运转起来后,如果front <rear,则队列中的元素个数为rear-front;如果front> rear,则队列中的元素个数为rear-front+m
  4. 设栈的存储空间为S(1:50),初始状态为top=51。现经过一系列正常的入栈与退栈操作后,top=50,则栈中的元素个数为1个
    解析:栈的存储空间为S(1:50),初始状态为top=51,即栈的初始状态为空。当第一个元素进栈后,top=50, 第二个元素进栈后, top=49,第三个元素进栈后,top=48,以此类推;若第三E个元素出栈后,top=48, 第二个元素出栈后,top=50。即每进栈一个元素, top-1; 每出栈一个元素,top+1。 当top= 50时,栈中只有一个元素。 本题答案为1个
  5. 若循环队列的存储空间为(1:m),在循环队列运转起来后,如果front <rear,则队列中的元素个数为rear-front;如果front>rear,则队列中的元素个数为rear-front+ m
  6. 设循环队列的存储空间为Q(1:m),当front=rear=m时, 循环队列为空;当front=rear且不等于m时,循环队列可能为空,也可能为满。当为空时,可以插入元素;当为满时,插入元素会发生"上溢”错误。

十三、操作题

  1. 创建ActionListener对象必须重写其中的actionPerformed(ActionEvent e)抽象方法
  2. WindowEvent处理窗口事件,点击窗口会触发该事件,System.exit(0)方法为退出该系统
  3. 实现接口用implements
  4. 抽象类定义用abstract
  5. java涉及鼠标点击事件需要继承MouseAdapter
  6. applet在指定位置绘制字符串用drawString()
  7. 遍历字符charAt(String s)
  8. JOptionPane.showMessageDialog()
  9. setLayout(new BorderLayout())
  10. swing使窗口隐藏或消除frame.dispose()
  11. Integer.parseInt()
  12. 获得JFrame面板 getContentPane()
  13. setText(String s) 设置文本
  14. frane.setVisible(true) 控制显示窗口
  15. import java.awt.event.*;
  16. Container contentPane = getContentPane();
  17. xVal = JOptionPane.showInputDialog(“输入1个整数:” ); 显示输入框

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

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

相关文章

SimpleCG程序交互操作

前言 之前所有示例程序都是属于展示型的&#xff0c;只是作为展示板输出使用&#xff0c;不涉及键盘和鼠标的输入交互&#xff0c;下面我们开始接触具有交互功能的程序。 没有交互功能的程序可以满足一定需求,不过大部分的程序是不能脱离交互功能的。程序依据使用者的操作进行相…

Error response from daemon

文章目录 遇到的问题解决方法参考 遇到的问题 当输入下面的指令时 docker pull xxxxxx解决方法 打开/etc/docker/daemon.json文件 vim /etc/docker/daemon.json写入以下内容&#xff1a; {"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]…

OpenCV 图像像素运算操作

加法操作详解 加减乘除 #include <opencv2/opencv.hpp>using namespace cv;int main() {Mat image imread("image.jpg");if (image.empty()) {std::cout << "无法加载图像" << std::endl;return -1;}// 加法变换Mat addResult;add(ima…

mac在vscode编码过程中输入()光标在里面的时候想移出来还得动用左右键很麻烦有什么快捷方法

下载vscode插件: 想跳出大括号的时候就可以使用tab直接跳出来就行了

Buuctf web [SUCTF 2019]EasySQL

又是一道考察sql注入的题 1、起手试探 &#xff08;主要看看输入什么内容有正确的回显&#xff09; 1 0 1 1 # 发现只有在输入1的情况下有正常的回显,输入0或其他字符都没有回显&#xff0c;所以这题就要尝试堆叠注入了。 ps&#xff1a;&#xff08;如果想尝试其他注入方法…

带你打穿三层内网-红日靶场七

文章目录 前记环境配置web1信息搜集cve-2021-3129redis未授权|ssh密钥后渗透 Win7&#xff08;PC1&#xff09;永恒之蓝 web2docker逃逸 win7&#xff08;PC2&#xff09;|DC 前记 所用工具 msfcsvenomfrp蚁剑冰蝎laravel.pyfscan 注意事项 msf的永恒之蓝每次都需要两次才能…

VM-Linux基础操作命令

命令执行的本质&#xff1a; 当输入命令&#xff08;单词&#xff09;后敲击回车的那一刻。它就会立刻到以下图片&#xff0c;变量中的文件中去找对应的可执行文件 此路径又叫环境变量 1.shell命令提示符 默认&#xff1a;[rootlocalhost ~]# root&#xff1a;现已登录的账户名…

重构优化第三方查询接口返回大数据量的分页问题

# 问题描述 用户线上查询其上网流量详单数据加载慢&#xff0c;且有时候数据没有响应全~ 1、经排除是调用第三方数据量达10w条响应会超时&#xff0c;数据没正常返回 2、现有线上缓存分页也是加载慢数据不能正常展示 3、第三方接口返回类似报文jsonj&#…

基于Yolov8的光伏电池缺陷检测,引入ICCV2023 动态蛇形卷积和独家全网首发多维协作注意模块MCA,实现涨点创新十足

1.光伏电池缺陷数据集介绍 背景&#xff1a;太阳能作为一种极具吸引力的替代电力能源&#xff0c;太阳能光伏电池&#xff08;即光伏电池&#xff09;是太阳能发电系统的基础&#xff0c;一般情况下&#xff0c;电池中的各类缺陷会直接影响到光伏电池的光电转化效率和使用寿命…

Mybatis-Genertor逆向工程

1、导入mybaties插件 <build><plugins><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.4.2</version><dependencies><dependency>…

Android Fragment

基本概念 Fragment是Android3.0后引入的一个新的API&#xff0c;他出现的初衷是为了适应大屏幕的平板电脑&#xff0c; 普通手机开发也会加入这个Fragment&#xff0c; 可以把他看成一个小型的Activity&#xff0c;又称Activity片段&#xff01; 如果一个很大的界面&#xff…

视频直播点播平台EasyDSS创建用户详细操作来啦!

视频推拉流EasyDSS视频直播点播平台&#xff0c;集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体&#xff0c;可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务。 由于旭帆科技的EasyDSS平台支持新建用户&#xff0c;但新建时用户…

Python 图片处理笔记

import numpy as np import cv2 import os import matplotlib.pyplot as plt# 去除黑边框 def remove_the_blackborder(image):image cv2.imread(image) #读取图片img cv2.medianBlur(image, 5) #中值滤波&#xff0c;去除黑色边际中可能含有的噪声干扰#medianBlur( Inp…

懒汉式之并发安全问题

在高并发场景下的懒汉式创建对象&#xff0c;造成ID重复创建&#xff0c;代码见下图&#xff1a; 并发场景下&#xff0c;iDCreator对象并未随类的创建而创建&#xff0c;而是在需要的时候进行创建&#xff0c;导致垃圾回收器可以对其进行回收&#xff0c;从而有可能同一时间戳…

帮助企业轻松搭建帮助中心-Baklib

Baklib是一个在线知识管理平台&#xff0c;帮助企业搭建在线产品手册、帮助中心、知识库等&#xff0c;Baklib是一个工具型软件&#xff0c;帮助企业高效快速搭建相关文档内容&#xff0c;轻松进行对外分享。 Baklib起源——目前企业的知识管理现状 存储难 将文档存储在本地与…

卷积网络:实现手写数字是识别50轮准确率97.3%

卷积网络&#xff1a;实现手写数字是识别50轮准确率 1 导入必备库2 torchvision内置了常用数据集和最常见的模型3 数据批量加载4 绘制样例5 创建模型7 设置是否使用GPU8 设置损失函数和优化器9 定义训练函数10 定义测试函数11 开始训练12 绘制损失曲线并保存13 绘制准确率曲线并…

Xilinx ZYNQ 7000学习笔记五(Xilinx SDK 烧写镜像文件)

概述 前面几篇讲了ZYNQ7000的启动过程&#xff0c;包括BootRom和FSBL的代码逻辑&#xff0c;其中关于FSBL代码对启动模式为JTAG被动启动没有进行分析&#xff0c;本篇将通过将JTAG的功能和通过Xilinx SDK烧写镜像文件到flash来顺道把FSBL中的JTAG代码部分给讲解下。 1.JTAG …

springboot+jxls复杂excel模板导出

JXLS 是基于 Jakarta POI API 的 Excel 报表生成工具&#xff0c;可以生成精美的 Excel 格式报表。它采用标签的方式&#xff0c;类似 JSP 标签&#xff0c;写一个 Excel 模板&#xff0c;然后生成报表&#xff0c;非常灵活&#xff0c;简单&#xff01; Java 有一些用于创建 …

为什么不推荐使用Lombok?@Data不香吗?

目录 一、前言 二、源码跟踪 三、总结 一、前言 之前写项目遇到的一个Bug&#xff0c;下面是模拟代码。 新建一个springboot的项目&#xff0c;Person一个实体类&#xff0c;定义一个方法传一个JSON数据 Data public class Person {private String name;private String a…

el-table表格动态设置最大高度 高度根据窗口可视高度大小改变自适应

由于表格内容过多&#xff0c;如果不给高度限制&#xff0c;每页100条数据的情况下&#xff0c;去操作底部的分页或者其他功能都需要划到数据最底部操作&#xff0c;用户体验性较差。解决方法是让表格一屏展示&#xff0c;超出部分滚动展示。 1.效果及思路图&#xff1a; 思路是…