自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 计算机系统概念

程序转换概念1.机器指令和汇编指令2.机器级程序员感觉到的属性和功能特性3.高级语言程序转换为机器代码的过程从高级语言出发,用其对用的机器级代码以及内存(栈)中信息的变化来说明实现底层。计算机中的指令有微指令、机器指令和伪指令之分微指令是微程序级命令,属于硬件范畴伪指令是由若干机器指令组成的指令序列,属于软件范畴机器指令介于二者之间,处于硬件和软件的交界面汇编指令是机器指令的汇编...

2020-04-26 16:33:12 360

原创 计算机系统

做加法时,主要判断是否溢出无符号加溢出条件:CF=1;带符号加溢出条件:OF=1;举例:若n=8,计算107+46=?107=0110 1011 46=0010 1110 —————————————— 01001 1001溢出标志OF=1、零标志ZF=0、符号标志SF=1、进位标志CF=0无符号:sum=153,因为CF=0,故未发生溢出,结果正确!带符号:sum=...

2020-04-16 13:12:19 401 1

原创 再谈Java

使用异常机制的技巧1.异常处理不能代替简单的测试2.不要过分的细化异常3.利用异常层次结构4.不要压制异常5.在检测错误时,”苛刻“要比放任更好6.不要羞于传递异常使用断言大部分确信某个属性符合要求,并且代码的执行依赖于这个属性。这个时候如果抛出异常会在程序中包含大量这种检查,拖慢程序运行速度,Java中引用了assert关键字assert 条件和assert 条件:表达式这两种形...

2020-04-15 10:10:25 204

原创 操作系统

存储管理存储管理的功能存储器的层次1.高速缓冲存储器(cache)2.内存(主存)3.外存(辅存)内存分为:系统区、用户区:存储器管理要管理的区域物理地址:把内存分为若干个大小相等的存储单元,每个单元给一个编号,这个编号称为内存地址(物理地址、绝对地址、实地地址),存储单元占8位,称为字节物理地址空间:物理地址的集合称为物理地址空间(主存地址空间),他是一个一维的线性空间内存的...

2020-04-14 10:32:18 630

原创 计算机系统概念

数据的运算——整数算术运算、浮点数算术运算——按位、逻辑、移位、位扩展和位截断指令集中涉及到的运算——涉及到的定点运算算术运算1.带符号整数运算:取负/符号扩展/加/减/乘/除/算术移位2.无符号整数运算:0扩展/加/减/乘/除逻辑运算1.逻辑操作:与/或/非……2.移位运算:逻辑左移/逻辑右移涉及到浮点数的运算:加减乘除,没有位移操作和扩展操作。基本运算部件ALU设计算...

2020-04-13 14:57:10 909

原创 操作系统

管道(直接通信):是一种信息流缓冲机构,unix系统中管道基于文件系统,在内核中通过文件描述符表示。管道以先进先出(F1F0)方式组织数据传输 调用pipe()函数创建管道 int pipe(int fd[2]); fd[0]为管道里的读取端 fd[1]则为管道的写入端。 通过write()函数写入信息 int write (int handle,char *buf...

2020-04-13 13:28:53 114

原创 再谈Java

捕获异常如果某个异常发生的时候没有在任何地方进行捕获,那程序就会终止,并在控制台上打印异常信息。其中包括异常的类型和堆栈的内容。对于图形界面,在捕获异常后也会打印堆栈信息,但程序将返回用户界面的处理循环中(在调试GUI程序时,最好保证控制台窗口可见,并且没有最小化)要想捕获一个异常必须设置try/catch语句try ={ code more code more code}cat...

2020-04-08 13:33:41 150

原创 操作系统

线程进程的特性线程由3个基本状态:即执行、就绪和阻塞。但是线程没有进程中的挂起状态。线程只是一个与内存和寄存器相关的概念,它的内容不会因交换而进入内存存在5种基本操作来转换线程的状态。这5种基本状态操作:1.派生:线程在进程内派生出来,它即可由进程派生,也可由线程派生。用户一般用系统调用派生自己的进程,一个新派生出来的线程具有相应的数据结构指针和变量,这些指针和变量作为寄存器上下文放在相应...

2020-04-05 17:19:56 168

原创 操作系统

管道进程通信实例——UNIX系统的管道通信。提供有名管道和无名管道两种数据通信方式。无名管道为建立管道的进程及其子孙提供一条以比特流方式传送消息的通信管道。该管道在逻辑上被看作管道文件,在物理上则由文件系统的高速缓冲区构成,而很少启动外设.发送进程利用文件系统的系统调用write(fd[1],buf,size),把buf中的长度为size字符的消息送入管道入口fd[1],接收进程则使用系统...

2020-04-05 14:14:39 114

原创 操作系统

进程通信的实例—和控制台的通信通用计算机中,除了用户终端之外,还有一台由系统操作员控制的控制台终端。各用户进程可将消息送到控制台进程,操作员可读到这些消息后做出相应的处理设控制台终端由键盘和显示器组成,终端和主机之间按全双工模式发送和接收数据,即键盘和数据显示彼此独立。设键盘控制进程和显示控制进程分别为KCP和DCP,用户进程和控制台终端的通信由会话控制进程CCP控制完成。其中控制台键盘...

2020-04-05 14:04:56 323

原创 计算机系统概念

非数值数据的表示、数据的存储逻辑值、西文字符、汉字字符数据宽度单位大端/小端、对齐存放编码表示1.用一位表示。2.N位二进制可表示N个逻辑数据,或一个位串。编码运算1.按位进行2.按位与、按位或、逻辑左移、逻辑右移编码识别逻辑数据和数值数据在形式上并差别,也是一串0/1序列,机器靠指令来识别。位串用来表示若干状态位或控制位(OS中使用较多)例如:x86的标志寄存器含义如...

2020-04-03 15:49:51 721

原创 再谈Java

处理错误

2020-04-02 14:47:11 109

原创 操作系统

进程的通信进程通信:在进程间传输数据(交换信息)根据通信内容可以划分为两种:1.低级通信:控制信息的传送,一般只传送一个或几个字节的信息,以达到控制进程执行速度的作用。2.高级通信:大批量数据传送,目的不是为了控制进程的执行速度,而是为了交换信息。低级通信:只能传递状态和整数值(控制信息)缺点:...

2020-04-01 22:25:27 515

原创 再谈Java

内部类内部类是定义在另一个中的类,内部类的作用:1.内部类可以访问该类定义所在的作用域中的数据,包括私有数据2.内部类可以对同一个包中的其他类隐藏起来3.当想定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷使用内部类访问对象的状态一个方法可以引用调用这个方法的对象数据域。内部类既可以访问自身内部的数据域,也可以访问创建它的外围类对象的数据域。为了运行这个程序,内部类的对象总...

2020-04-01 13:51:41 149

原创 操作系统

进程同步同步的概念计算进程和打印进程共同使用同一缓冲区。计算进程反复地把每次计算的结果放在Buf中,而打印进程则把计算计算进程每次放入Buf中的数据通过打印机输出。如果不采取任何制约措施,这两个进程执行起始时间和执行速度都是独立的。异步环境:主要是指各并发进程的起始时间的随机性和执行速度的独立性。...

2020-03-30 19:47:49 420

原创 再谈Java

lambda表达式lambda表达式是一个可传递的代码块,可以在以后执行一次或多次。将一个代码块传递到某个对象。这个代码块将来在某个时间调用。在Java中想要传递代码块只能构造一个对象,所以要想实现这个特性Java引用了lambda。lambda表达式的语法一个方法由返回值,函数名,参数,函数代码构成。例如:class example implements Comparator<S...

2020-03-30 16:46:36 118

原创 计算机系统概念

数据的机器级表示与处理数值数据的表示定点数的编码表示、整数的表示、无符号整数、带符号整数、浮点数的表示C语言程序的整数类型和浮点数类型转换的概念在数据表示中的反映数值数据表示的三要素进位记数制定、浮点表示如何使用二进制编码进位记数制十进制、二进制、十六进制、八进制以及互相转换定/浮点表示(解决小数问题)定点整数、定点小数浮点数(可以用一个定点小数和一个定点整数来表示)...

2020-03-29 10:38:22 246

原创 操作系统

进程的互斥假设由两个进程Pa和Pb,共享内存MS。其中MS分为三个区域:系统区、进程工作区和数据区。数据区被划为大小相等的块。系统区主要是堆栈S,其中存放那些空数据块的地址。当进程要求空数据块时,从堆栈最顶部取出所需的数据块,当进程释放数据块时,则把所释放数据块的地址放入堆栈顶部。临界资源:一次仅允许一个进程使用共享资源。临界区:进程中访问临界资源的一段代码。进入区:在进入临界区之前,...

2020-03-28 16:33:54 383 1

原创 再谈Java

接口与回调回调是一种常见的程序设计模式,在这种模式中,可以指出某个特定的事件发生时该采取的动作。在Java.swing包中有一个Timer类,可以使用他在给定时间间隔时发出通告,例如时钟,在每过一秒获得一个通告,以便更新表盘,在Java中,将一个对象传递给定时器,然后这个对象调用这个方法,要想让定时器知道调用哪个方法,要求对象所属的类实现了ActionListener接口,并在实现接口的类中定义...

2020-03-25 20:52:37 122

原创 操作系统

进程的概念进程可以并行执行计算部分进程是一个独立的可以调度的活动进程是一个抽象实体,当它执行某个任务时,将要分配和释放各种资源行为的规则交进程,程序在处理机上执行的活动成为进程。一个进程是一系列逐一执行的操作,而操作的确切含义则有赖于以何种详尽成都来描述进程。进程:一个具有独立功能的程序对某个数据集在处理机上的执行过程和分配资源的基本单位程序:指一组操作序列,而数据集则是接受程序规定...

2020-03-25 18:40:18 248

原创 再谈Java

接口在Java程序设计中接口不是类,对类的一组需求描述,要求类遵从接口描述的统一格式。接口概念接口中所有的方法都为public,即使不用声明也自动是这个类型,接口不可以提供实例域,之前不能提供实现方法,现在可以提供简单的方法,但是不能引用实例。提供实例域和实现方法的任务由实现接口的那个类来完成,所以接口和抽象类类似,但是有所不同。让类实现一个接口,需要两个步骤完成:1)将类声明为实现的给...

2020-03-19 13:49:29 81

原创 计算机系统概论

要站在计算机系统的角度考虑问题计算机系统抽象转换程序执行结果不仅仅取决于算法、程序编写而且取决于语言处理系统、操作系统、ISA、微体系结构,不同计算机课程处于不同层次。如图:清楚理解计算机是如何生成和运行可执行文件的冯诺依曼计算机模型早期,部件之间用分散方式连接现在,不见之间大多用总线方式连接趋势,点对点(分散方式)高速连接计算机由运算器、控制器、存储器、输入设备和输出设备存...

2020-03-16 13:03:37 266

原创 操作系统

系统调用—程序级接口1.在计算机系统中有两类程序运行:用户程序和系统程序:用户程序必须在系统程序下控制和管理运行;用户程序和系统程序执行时有不同权限2.根据系统资源和机器指令的使用权限,把处理机执行时的工作状态分为系统态和用户态:系统态:处理及在系统程序中执行;用户态:处理机在用户程序中执行特权指令:只允许在系统态下使用的指令,实现系统资源的调配,为用户提供外部设备服务,包括:1)使用外设...

2020-03-11 17:14:44 1730

原创 操作系统

操作系统的操作界面:分为两大类,针对不同的用户,提供给用户的界面和一些用户交互的窗口。一类用户使用计算机,一类用户进行系统的管理不同的用户操作系统提供不同用户界面操作命令:普通用户系统调用:编程人员不同的操作系统为用户提供不同的操作命令,不同的系统调用不编制应用程序的过程:一个作业从输入到输出的过程作业包括:程序、数据、作业说明书作业的输入方式:联机输入、脱机输入、直接耦合输入、...

2020-03-11 09:43:03 492

原创 再谈Java

继承的设计技巧1.将公共的操作放在超类中2.尽量不使用受保护的域3.使用继承is-a关系4. 除非所有的继承方法都有意义,否则不要使用继承5. 覆盖方法时不要改变预定义行为6. 使用多态7. 不要过多的使用反射...

2020-03-10 11:56:59 83

原创 再谈Java

反射反射机制可以用来:1)在运行时分析类的能力2)在运行时查看对象3)实现通用数组操作代码4)利用method对象,这个对象很像c++中的指针他是一个使用人员主要是工具构造者class类程序运行期间,Java运行时系统始终为所有对象维护一个被称为运行时的类型标识。这个信息跟踪每个对象所属的类,虚拟机根据类型信息选择相应的方法执行。可以通过专门的类访问这些信息,这个类就是class...

2020-03-10 11:51:57 98

原创 再谈JAVA

参数数量可变的方法现在的Java版本都可以用可变的参数数量调用方法,printf方法就是运用的参数可变的这个方法,printf又两个参数,一个是格式字符串,另外一个是Object[]数组,其中保存着所有的参数(如果参数是整形数组或者其他基本类型,自动装箱功能把他们装成对象),现在扫描fmt字符串,并将第i个格式说明符与args{i}的值匹配起来,可以将已经存在的放最后一个参数数数组的方法重新定义...

2020-03-05 15:55:04 95

原创 计算机组成原理

计算机分类:机械计算机电子模拟计算机:数值由由连续的量来表示电子数字计算机:计算机中的数值由比连续的数字表示专用机:经济,有效,快速,适应性差通用机:适应性强巨型机 大型机 中型机 小型机 微型机 单片机简易性由低到高体积、功耗、性能、价格由高到低电子数字计算机是一种能够自动、快捷、准确地实现信息存放数值计算、数值处理过程控制等多种功能的电子机器,最基本功能是进行数字化...

2020-02-27 15:12:30 284

原创 再谈Java

对象包装器与自动装箱每个基本数据类型都有一个与之对应的类,例如int对应integer,这些类被称为包装器。对象的包装器不可改变,所以构造了包装类后,就不允许改变包装类在其中的值,同时,包装器类还是final,所以不能定义子类。假设定义一个整形数组列表,尖括号中不允许使用基本数据类型,所以声明int必须使用包装器类。可以直接将int类型添加到这个数组列表中,因为因为拥有一个可以将int变量变成i...

2020-02-26 19:52:13 97

原创 操作系统

分时操作系统一台计算机可以连接多个用户终端,每个用户可以在自己的终端上联机使用计算机。分时技术:把处理机运行的时间分成很短的时间片,按时间片顺序将处理机分配给用户终端对话方式,便于程序组的动态修改和调试,适用于交互任务。实时操作系统实时操作系统是以允许在时间范围之内做出响应的特征。相应对象要求在秒级,毫秒,甚至微妙用于工业过程控制、军事实时控制通用操作系统可以同时具有多道批处理、...

2020-02-26 13:57:14 347

原创 操作系统

常见的操作系统:windows Linux MacOS X iOS Android操作系统的定义:系统软件管理和控制计算机系统中的硬件及软件资源,合理的阻止计算机工作流程为用户理工一个功能强、使用方便和可扩展的工作环境接口操作系统的历史第一代,电子管时代,无操作系统第二代,晶体管时代,批处理操作系统第三代,集成电路时代,多道程序设计第四代,大规模和超大规模集成电路时代,分...

2020-02-24 14:05:48 585

原创 再谈JAVA

泛型数组列表在JAVA中允许存在在运行时改变数组的大小。但是一旦确定数组大小很难改变。使用ArrayList的类,具有删除和添加的功能,不需要为此编写任何代码。ArrayList是一个采用类型参数的泛型类。为了指定数组列表保存的元素类型,需要用一对尖括号将类名括起来,加在后面如ArrayList<Employee> 如果在菱形中赋值变量、方法或者某个方法的返回。编译器都会将这个变量...

2020-02-18 18:57:44 182

原创 再谈JAVA

Object:所有类的超类Object是所有包的始祖,每个类都是由这个类扩展来的,只要没有明确的指出指定的超类,那么超类基本上都是Object,当声明一个对象时可以将Object当成对象类型,但是要想使用子类的具体操作,还需要对对象进行类型转换,适用对象的原始类型。在Java中除了基本数据类型所有都扩展了Object。equals方法检测一个对象与另外一个对象是否相等。在Object类中,将...

2020-02-15 15:03:46 164

原创 再谈Java

继承类、超类和子类假设经理与普通员工之间存在一些差异,但是也有相同的地方,这种情况就可以使用继承。定义子类关键字extends表示继承,所有的继承都是公有继承,关键字extends表明正在构建一个新类继承于一个已经存在的类,已经存在的类可以称为超类、基类、父类,新类称为子类、派生类、孩子类。子类拥有的功能比超类还要丰富。在设计类的时候,将通用方法放在父类中,将特殊用途的方法放在子类中。父类...

2020-02-09 15:15:46 201

原创 再谈JAVA

文档注释JDK包含一个很有用的工具,叫做Javadoc,它可以由原文件生成一个HTML文件。文档注释和源代码在一个文件中,和以保持两者的一致性。注释的插入Javadoc实用程序由以下几个特性抽取信息包公有类与接口公有的和受保护的构造器公有的和受保护的域要为这几个部分编写注释,注释应该放在所描述特征的前面,注释以/** */格式标记。每个文档注释在标记之后紧跟着自由格式文本 ...

2020-02-08 14:24:45 101

原创 再谈JAVA

包包的存在可以将自己的到代码方便的管理,将代码与其他人的代码区分开来。标准Java类分布在多个包中,包是一个层次结构。与硬盘一样,可以使用嵌套的层次结构。使用包的主要原因是确保类名的唯一性,两个包中相同类名互不影响,嵌套的两个包毫无关系,每一个都有自己独立的类集合类的导入一个类可以使用所属包中所有的类,以及其他包中的公共类,使用其他包中类有两种方法,一种是类名前加上报名,另外一种方法是在程序...

2020-02-07 15:44:51 110

原创 再谈JAVA

对象构造重载:有些类有多个因为参数、返回值不同的构造器,这种情况叫做重载。他通过方法给出的参数类型与特定方法调用所使用的值类型来挑选相应的方法叫做重载解析。java允许重载任何方法。要想完整的指出一个方法。必须需要方法名和参数,这叫做方法签名。返回值不属于方法的签名。也就是说不能有相同的方法名和参数但是有不同返回类型值的方法。默认域初始化如果在构造器中没有显示初始化初始,那么就会自动的默认...

2020-02-06 15:08:56 118

原创 算法图解

散列表散列表就是快速查找数据的一种数据结构。散列函数散列函数就是无论给什么数据,都会返回一个准确的数据。散列函数的要求:必须一致,例如,首先输入的一个数返回的是4,那么第二次输入这个数返回的也是4.输入不同的数字返回不同的数据应用案例:查找:电话簿:输入姓名返回电话DNS解析:IP地址和网址映射防止重复:假设每人只能一票。防止有人重复,一个一个找比较麻烦,可以使用散...

2020-02-05 16:02:13 205

原创 再谈JAVA

静态域与静态方法静态域如果将域定义为static,一个类中只有一个这种域。当创建一个对象时,这个对象会拷贝实例域。但是static这种域不会改变,也就是说不会因为对象的改变而改变,即使没有对象也存在,通常称为类域.静态变量静态变量用final修饰成为静态常量,声明静态常量是因为防止其他对象有自己一份拷贝,而用final修饰是因为防止再次将域改变静态方法静态方法是一种不能向对象实施操作的...

2020-02-05 14:31:07 110

原创 算法图解

贝尔曼-福特算法原理假设有N个顶点,对图做N-1次松弛操作。松弛操作:有两个点A B都可以从源点经由某条路出发,假设到A的距离为M,到B的距离为N。A B之间的距离是L,如果从A到B 的距离M+L>N那么到B的距离就缩短l,也就是说找到了一条更短的路。这就是松弛。含有N个顶点的图,某两个顶点之间的最短距离深度不会超过N-1.步骤:首先从开始到开始之后的任意一点接着遍历路径表中...

2020-02-04 15:57:28 220 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除