自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (15)
  • 问答 (1)
  • 收藏
  • 关注

转载 Android使用viewpager实现图片轮播效果

自定义View实现图片轮播,实现了图片自动轮播,手动滑动,轮播标题,以及点击事件。里面有很多注释一、文件布局 二、代码ImageBannerViewGroup类/** * Created by hp on 2018/7/31. * 这是实现图片轮播的核心类 */public class ImageBannerViewGroup extends ViewGro...

2018-08-07 15:54:59 5415

原创 Linux系统编程之IO模型和IO复用

2019-07-20 16:30:07 175 1

原创 Linux虚拟内存

一 为什么需要使用虚拟内存 大家都知道,进程需要使用的代码和数据都放在内存中,比放在外存中要快很多。问题是内存空间太小了,不能满足进程的需求,而且现在都是多进程,情况更加糟糕。所以提出了虚拟内存,使得每个进程用于3G的独立用户内存空间和共享的1G内核内存空间。(每个进程都有自己的页表,才使得3G用户空间的独立)这样进程运行的速度必然很快了。而且虚拟内存机制还解决了内存碎片和内存不连续的问...

2019-07-14 17:39:28 183 1

原创 求正整数的平方根,不使用算法库

输入一个正整数,输出其平方根,不可用使用数学类算法库输入数据的平方根,只取整数部分#include <iostream>#include<cstdio>using namespace std;int main() { cout<<"请输入一个正整数:"<<endl; double x; cin>>x; i...

2019-07-04 22:45:09 821 1

原创 找出数字中唯一一个出现奇数次数的数字,异或

输入一行数字,其中有且只有一个数字出现了奇数次,其余数字均出现偶数次,找出该数字并输出运算关键:异或从头到尾异或一遍,最后得到的那个数就是出现了奇数次的数。因为,两次异或同一个数,结果不变,且异或运算满足交换律。#include <iostream>#include<string.h>using namespace std;int main() {...

2019-07-04 16:08:28 3405

原创 算法复习题

The O-notation provides an asymptotic upperbound. The W-notation provides an asymptotic lower bound. The Θ-notation asymptotically a function form above and below.O型符号提供一个渐近的上限。Θ符号提供一个渐近下界。Θ-符号渐近函数...

2019-06-24 13:39:52 1126 1

原创 linux 有效用户和实际用户以及用户权限设置

linux 有效用户和实际用户的区别进程在运行的时候,有一些属性,其中包括实际用户ID,实际组ID,有效用户ID,有效组ID等。 实际用户ID和实际组ID标识我们是谁,谁在运行这个程序,一般这2个字段在登陆时决定,在一个登陆会话期间, 这些值基本上不改变。而有效用户ID和有效组ID则决定了进程在运行时的权限。内核在决定进程是否有文件存取权限时,是采用进程的有效用户ID来进行判断的。知道...

2019-06-21 22:31:13 669

原创 Linux文件系统的注册、安装与拆卸

8.4.1 文件系统的注册当内核被编译时,就已经确定了可以支持哪些文件系统,这些文件系统在系统引导时,在 VFS 中进行注册。如果文件系统是作为内核可装载的模块,则在实际安装时进行注册,并在模块卸载时注销。每个文件系统都有一个初始化例程,它的作用就是在 VFS 中进行注册,即填写一个叫做 file_system_type的数据结构,该结构包含了文件系统的名称以及一个指向对应的 VFS 超级块...

2019-06-20 17:01:21 525 1

原创 实验五 动态规划(2)熟悉矩阵连乘的算法,设计一个动态规划算法解决

一、 实验目的及任务掌握动态规划算法的基本步骤:找出最优解的性质,并刻画其结构特征;递归地定义最优值;以自底向上的方式计算出最优值;根据计算最优值时得到的信息,构造最优解。 熟悉矩阵连乘的算法,设计一个动态规划算法解决。二、 实验环境c++三、实验内容给定n个矩阵<A1,A2,…,An>,其中Ai与Ai+1是可乘的,i=1,2…,n。 矩阵Ai的维度为 P i-...

2019-06-13 20:12:46 1405

原创 FIFO文件 命名管道

命名管道即FIFO文件,通过命名管道可以在不相关的进程之间交换数据。FIFO有路径名与之相关联,以一种特殊设备文件形式存在于文件系统中FIFO有两种用途:(1)FIFO由shell使用以便数据从一条管道线传输到另一条,为此无需创建临时文件。(2)FIFO用于客户进程-服务器进程程序中,已在客户进程与服务器进程之间传送数据。FIFO的读写规则:从FIFO中读取数据:1.如果有进程写...

2019-06-12 11:51:47 508

原创 Linux管道技术

管道技术是Linux的一种基本的进程间通信技术。在本文中,我们将为读者介绍管道技术的模型,匿名管道和命名管道技术的定义和区别,以及这两种管道的创建方法。同时,阐述如何在应用程序和命令行中通过管道进行通信的详细方法。管道技术模型管道技术是Linux操作系统中由来已久的一种进程间通信机制。所有的管道技术,无论是半双工的匿名管道,还是命名管道,它们都是利用FIFO排队模型来指挥进程间的通信。对于管...

2019-06-12 11:50:24 1473 1

原创 linux read/write和fread/fwrite有什么区别

linux read/write和fread/fwrite有什么区别1,fread是带缓冲的,read不带缓冲.2,fopen是标准c里定义的,open是POSIX中定义的.3,fread可以读一个结构.read在linux/unix中读二进制与普通文件没有区别.4,fopen不能指定要创建文件的权限.open可以指定权限.5,fopen返回指针,open返回文件描述符(整数...

2019-06-12 11:48:41 590

原创 Linux文件描述符(file descriptor)和文件指针

文件描述符(file descriptor):在linux系统中,设备也是以文件的形式存在,要对该设备进行操作就必须先打开这个文件,打开这个文件就会获得这个文件描述符,它是个很小的正整数,它是一个索引值,指向内核为每一个进程所维护的、该进程打开文件的记录表。文件描述符的优点:兼容POSIX标准,许多Linux和 UNIX系统调用都依赖于它。文件描述符的缺点:不能移植...

2019-06-12 11:47:12 546

原创 Linux文件操作,目录结构,文件模型,操作函数

文件操作学习本章要达到的目标:o1 .了解Linux 文件系统的目录结构;o2 .理解Linux 的文件模型;o3 .掌握Linux 关于文件操作的函数的功能;o4 .熟练应用Linux系统中文件操作的函数进行程序设计。11.1 Linux 的文件系统o 几乎所有的操作系统所使用的文件系统在面向用户的结构上都是大同小异的,都采用树或森林的结构o 在UNIX 系列的系统中是根目...

2019-06-12 11:43:04 209 1

原创 Bellman-Ford算法和Dijkstra算法分别适用的情况有何不同?

Bellman-Ford算法和Dijkstra算法分别适用的情况有何不同?Bellman-Ford求单源最短路,可以判断有无负权回路(若有,则不存在最短路),时效性较好,时间复杂度O(VE)。Bellman-Ford算法是求解单源最短路径问题的一种算法。单源点的最短路径问题是指:给定一个加权有向图G和源点s,对于图G中的任意一点v,求从s到v的最短路径。bellman-ford...

2019-06-06 10:37:23 5659

原创 Linux文件系统体系结构

文件系统体系结构  从两个角度考察Linux文件系统层的体系结构,首先是高层体系结构的角度。然后进行深层次讨论,介绍实现文件系统层的主要结构。高层体系结构  尽管大多数文件系统代码在内核中(后面讨论的用户空间文件系统除外),但是图1 所示的体系结构显示了用户空间和内核中与文件系统相关的主要组件之间的关系。用户空间包含一些应用程序(例如,文件系统的使用者)和GNU C ...

2019-06-03 22:35:28 860

原创 C编程标准:GNU C 、ANSI C、标准C、标准c++区别和联系

GNU C 、ANSI C、标准C、标准c++区别和联系GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。它在编写linux的时候自己制作了一个标准成为GNU C标准。ANSI美国国家标准协会,它对C做的标准ANSI C标准后来被国际标准协会接收成为标准C所以ANSI C和标准C是一个概念总体来...

2019-06-03 22:24:06 1757

原创 Linux内存管理之slab算法简述

slab 分配机制。slab 缓存Linux 所使用的 slab 分配器的基础是 Jeff Bonwick 为 SunOS 操作系统首次引入的一种算法。Jeff 的分配器是围绕对象缓存进行的。在内核中,会为有限的对象集(例如文件描述符和其他常见结构)分配大量内存。Jeff 发现对内核中普通对象进行初始化所需的时间超过了对其进行分配和释放所需的时间。因此他的结论是不应该将内存释放回一个全局的...

2019-05-26 11:19:03 836

原创 linux内核的三种调度方法

1,SCHED_OTHER 分时调度策略,2,SCHED_FIFO 实时调度策略,先到先服务3,SCHED_RR 实时调度策略,时间片轮转分时进程则通过nice和counter值决定权值,nice越小,counter越大,被调度的概率越大,也就是曾经使用了cpu最少的进程将会得到优先调度实时进程将得到优先调用,实时进程根据实时优先级决定调度权值SHCED_RR和SCHE...

2019-05-21 22:35:03 1119

原创 Linux进程管理和进程函数

进程管理和文件一样,进程是Linux系统最基本的抽象之一。1、进程ID:每一个进程都有一个唯一的标识:进程ID。虽然进程ID是唯一的,但进程终止后,id会被其他进程重用。许多Linux都提供了延迟重用的功能,以防止新进程被误认为是旧进程。有一些特殊的进程:id为0的进程--idle进程或者叫做swapper,通常是一个调度进程。id为1的进程--内核booting之后执...

2019-05-21 21:08:59 917 1

原创 操作系统最短寻道时间优先(SSTF)和扫描(SCAN)算法

山东建筑大学操作系统实验三、磁盘调度算法的设计实验目的:通过对磁盘调度算法的设计,深入理解提高磁盘访问速度的原理。实验内容:模拟实现磁盘调度算法:最短寻道时间优先(SSTF)和扫描(SCAN)算法。实验步骤:理解各调度算法的工作原理对给出的任意的磁盘请求序列、计算平均寻道长度;要求可定制磁盘请求序列长度、磁头起始位置、磁头移动方向。测试:假设磁盘访问序列:98,18...

2018-12-25 20:18:31 4913

原创 LRU算法操作系统山东建筑大学

山东建筑大学操作系统存储器管理实验目的:理解各类置换算法的原理和虚拟存储器管理的方法。实验内容: 编程实现LRU算法或CLOCK/改进算法等置换算法(二选一)实验步骤:理解LRU或CLOCK改进算法等置换算法;设计与算法相关的数据结构,如:LRU的堆栈或CLOCK改进算法中的循环结构;按照最多5块的内存分配情况,编程实现所选算法,动态输入访问内存的块号序列,输出置换结...

2018-12-25 20:16:00 756

原创 探索MinGW是如何存储对象、如何实现类继承、多态

探索MinGW是如何存储对象、如何实现类继承、多态一、需求分析对象,继承,多态是面向对象编程语言中的一些概念,MinGW只是一个编译环境,它可以编译 C++ 程序,C++是一个面向对象的编程语言,所以比较正确的说法是 “C++是如何存储对象、如何实现类继承、多态“。1、C++ 类数据成员存储分配2、C++ 类虚函数存储分配3、C++ 类继承存储分配4、C++多态二、概要...

2018-07-28 10:53:11 149

原创 带头节点的双向循环链表数据结构

用C++和Java实现带头节点的双向循环链表,要继承linearList类,并实现它的所有功能,另外,必须实现双向迭代器。实现带头节点的双向循环链表,要具有以下的功能:判断表是否为空,如果为空则返回true,不空返回false. 给出表中数据元素的个数。 给定一个索引(位置),返回指向该位置的数据元素的指针,如果给定的位置号不合法,则返回空指针。 给定数据元素x,如果表中有该元素,则...

2018-07-28 10:45:24 584 2

原创 继承机制编写程序,利用面向对象思路解决实际问题

编写抽象类Shape,具有getArea()、getPerimeter()方法。2、编写类Circle、Rectangle、Triangle,都继承Shape类,并实现2个抽象方法。3、编写测试类TestShape,其中的main方法中完成以下功能:分别定义三个Shape类型变量p1、p2、p3,并分别用Circle、Rectangle、Triangle创对象分别打印出三个对象的面积和周长。

2017-12-12 16:51:56 349

操作系统可变分区分配算法——首次适应、循坏首次适应、最佳适应、最坏适应

使用C语言实现了操作系统可变分区分配算法,实现了首次。循环首次、最佳、最坏等算法,可以运行在Linux系统上,只是算法的模拟,没有调用Linux系统内核数据

2020-04-25

基于UDP的数据文件传输系统的实现.zip

本题目实现多台终端设备间数据文件的管理与共享。系统由多个用户终端和一台服务器构成。系统中存有多个数据文件,它们分别存储于网络中的各终端设备内,服务器上保存这些数据文件所在的终端编号(可能一个文件会同时存在于多个终端上)。用户需要浏览某个数据文件时,如果文件存在于本地终端上,则直接显示文件内容;如不在,则先向服务器查询,得到文件所在的终端设备编号,然后向该终端申请获取。同时,该终端也可以接收其他终端的文件获取申请,如果对方申请的文件在自己终端上,则把文件发送给对方。另外,用户通过终端可以列表和删除本地保存的数据文件。文件的任何变动,都会实时改变服务器上的文件索引。 注:本题目使用的网络通讯是基于UDP的,工作分为两个部分: 服务器端的工作: 实时维护当前各终端存储的数据文件的情况;处理终端发来的文件位置查询。 终端的工作: 根据用户的操作命令进行文件内容显示、本地文件的列表、本地文件的删除;如果需要显示的数据文件不在本地,则向服务器发出文件位置询问,并在得到服务器回复的文件位置信息后,向相应终端申请获取并接收;工作过程中,也能响应其他终端的文件获取申请,将文件发送过去。

2019-07-20

增查删改.zip

山东建筑大学,ASP.NET课程期末复习,内含三层架构基本框架以及数据库增删改查操作

2019-06-23

软件工程.zip

山东建筑大学计算机科学与技术软件工程复习材料,内含试题和复习题,有答案,很实用!

2019-06-23

ClothesShop简单三层架构.zip

服装商店,基于ASP.NET简单三层架构,使用vs2008及内置SQL server数据库,实现了主页,登录,注册,注销,衣服列表,对商品的增删改查。使用了ASP.NET Web Service、JavaScript、Ajax等技术对前端页面进行了优化。使用简单.NET三层架构实现了真正的组件化开发。主要特点为:1.业务逻辑层(BLL)、数据访问层(DAL)均组件化。2.数据访问层不采用存储过程,增加了DAAB数据访问基础类库。3.增加了用于传递数据的Model(即数据实体)对象。4.针对不同数据库,编写单独的DAAB和DAL组件,提高了数据库可移植性。

2019-06-22

WebApplication.zip

VS2008做的ASP.NET网站-高中官网,使用了.NET三层架构的最简三层架构,使用了VS2008内联的sql server数据库,功能简单的学校新闻发布管理系统,能够浏览新闻。后台使用gridview编辑新闻、添加、删除等。前台使用模版页、ascx网站头部用户控件。实现简单新闻浏览、链接。后台管理等。前台菜单分为首页、学校概况、校园文化、教育教学、师生风采、监督检查、德育之窗。党团建设、家校共建。

2019-06-19

组成原理课程设计简易计算机设计硬布线控制器

山东建筑大学计算机科学与技术学院课程设计任务书 模型计算机的设计 LD Rd,[RS]; ST [Rd],RS; DEC Rd; ADD Rd,Rs JNC ADDR; JZ ADDR; OUT Rd;STP 1、使用TEC-8实验台 2、主要模块:FPGA、运算器、寄存器、数据通路、双端口存储器、总线缓冲、微程序控制、启停和时序模块。 3、用硬连线控制器的方法设计控制台,要求能连续地读写寄存器,连续地读写存储器,执行指令; 4、指令字长8位,高4位为操作码,固定操作码译码,低4位为寄存器寻址,完成以下指令的分析、设计,并编写测试程序;

2019-01-09

带头结点的双向循环链表数据结构

用C++和Java实现带头节点的双向循环链表,要继承linearList类,并实现它的所有功能,另外,必须实现双向迭代器。 实现带头节点的双向循环链表,要具有以下的功能: 判断表是否为空,如果为空则返回true,不空返回false. 给出表中数据元素的个数。 给定一个索引(位置),返回指向该位置的数据元素的指针,如果给定的位置号不合法,则返回空指针。 给定数据元素x,如果表中有该元素,则返回x第一次出现的索引,若x 不存在,则返回-1. 删除给定索引的数据元素。 给定索引index ,数据元素x,将x插入到index的位置。 C++:设计一个结构体struct chainNode,再设计一个具体类 class doubleChain 作为抽象类 class linearList的派生类实现类linearList中的所有方法,外加实现双向迭代器; Java:设计一个接口interface linearList,设计一个类class doubleChainNode相当于C++中的结构体,设计一个类class doubleChainjava实现了了接口linearList所有方法,以及实现迭代器接口Iterable中的一个方法Iterator iterator();

2019-01-08

磁盘调度算法:最短寻道时间优先(SSTF)和扫描(SCAN)算法

SSTF和SCAN算法 最短寻道时间优先(SSTF)和扫描(SCAN)算法。理解各调度算法的工作原理 对给出的任意的磁盘请求序列、计算平均寻道长度;要求可定制磁盘请求序列长度、磁头起始位置、磁头移动方向。 测试:假设磁盘访问序列:98,183,37,122,14,124,65,67;读写头起始位置:53,方向:磁道增加的方向。输入此类数据后,程序按照选定的算法,自动给出访问序列,并且算出经过的磁道总数。

2018-12-30

ASp.NET学生信息管理系统

网页大作业,学生信息管理系统,可以登录注册,连接学生表,可以增删改查

2018-12-30

LRU算法存储器管理

理解各类置换算法的原理和虚拟存储器管理的方法。理解LRU或CLOCK改进算法等置换算法; 设计与算法相关的数据结构,如:LRU的堆栈或CLOCK改进算法中的循环结构;

2018-12-30

扫描(SCAN)算法

模拟实现磁盘调度算法:最短寻道时间优先(SSTF)和扫描(SCAN)算法。对给出的任意的磁盘请求序列、计算平均寻道长度;要求可定制磁盘请求序列长度、磁头起始位置、磁头移动方向。 测试:假设磁盘访问序列:98,183,37,122,14,124,65,67;读写头起始位置:53,方向:磁道增加的方向。输入此类数据后,程序按照选定的算法,自动给出访问序列,并且算出经过的磁道总数。

2018-12-25

探索MinGW是如何存储对象、如何实现类继承、多态

探索MinGW是如何存储对象、如何实现类继承、多态。对象,继承,多态是面向对象编程语言中的一些概念,MinGW只是一个编译环境,它可以编译 C++ 程序,C++是一个面向对象的编程语言,所以比较正确的说法是 “C++是如何存储对象、如何实现类继承、多态“

2018-07-28

类与对象、接口

package shiyan4; public interface Shape { public abstract void getArea(); public abstract void draw(); } package shiyan4; import Shape.*; class Circle implements Shape { private double r; public void Cricle(double r)//以半径r为参数构造一个圆 { this.r = r; } public double getArea(double r) { return r*r*Math.PI; } public void draw() { System.out.println("I am a circle"); } @Override public void getArea() { // TODO Auto-generated method stub } } class Rectangle implements Shape { private double x; private double y; public Rectangle(double x,double y) { this.x = x; this.y = y; } public double getArea(double x,double y) { return x*y; } public void draw() { System.out.println("I am a rectangle"); } @Override public void getArea() { // TODO Auto-generated method stub } } public class fangfa { public static void main(String[] args) { Circle c1 = new Circle(); Rectangle r1 = new Rectangle(2.0,3.0); System.out.println("圆形的面积是"+c1.getArea(1.0)); c1.draw(); System.out.println("矩形的面积是"+r1.getArea(2.0,3.0)); r1.draw(); } }

2017-12-11

java画图程序

三角形和线都是通过点确定位置,圆是通过一个圆心坐标和半径确定,矩形应该是通过一个点确定位置和两条边确定大小,虽然GUI基本被淘汰,但是适合我们这些初学者练习做一些小游戏,培养兴趣。

2017-12-11

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

TA关注的人

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