自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Terry Tian' coding Life

早,就是优势。希望我们彼此都成为牛 啤的人。公众号&微博&视频号:冬月末Wechat:terrytian1125(本人)

  • 博客(2)
  • 资源 (34)
  • 收藏
  • 关注

原创 1.Android日志工具的使用(Log)

Android中的日志工具类是Log(android.util.Log),这个类中提供了如下5个方法来提供给我们打印日志。 log.v()。用于打印那些最为琐碎的,意义最小的日志信息。对应级别verbose,是Android日志里面级别最低的一种。 log.d()。用于打印一些调试信息,这些信息对你调试程序和分析问题应该是有帮助的。对应级别debug,比verbose高一级。 log.i()。用于打

2017-01-20 23:26:35 511

原创 DHTML编程-1.HTML简介与第一个HTML页面

前言: 这一个系列是笔者自学java时所写,一方面为了巩固自己对知识的理解,方便日后查看;另一方面,也是为了能给自学java的同行者说一下自己的愚见。本系列文章内容在学习时是以HTML 4 标准,撰写时会参考菜鸟教程中的教程,补充HTML 5 新增标准。 链接: [菜鸟教程](http://www.runoob.com/html/html-tutorial.html) 。 什么是HTML

2017-01-16 17:20:26 1205

Iris Pro电脑护眼程序.7z

一款windows系统上的电脑护眼软件,拥有多种模式,可以按照不同情境下选择不同的护眼模式,很好用,值得一试。

2020-06-27

jacob-1.9.7

jacob是一个用于操作office的jar包工具类,可以按需操作office和wps

2019-02-28

jacob的jar包

jacob是一个用于操作office的jar包工具类,可以按需操作office和wps

2019-02-28

Splashtop XDisplay

本软件用于实现将电脑屏幕扩展到其它移动设备的软件。

2019-02-27

RXTX 的API文档

RXTX串口通信的开发说明帮助文档,有具体类与接口的说明和框架!

2019-02-22

VSPD及串口调试工具

VSPD:虚拟comm串口的工具,里边还有串口调试的工具。

2019-02-22

RXTX Win x86个人备份

RXTX串口通信的开发工具类,用于websocket串口的开发,一般在接受地磅数据时可以用到

2019-02-22

RXTX Win x64个人备份

RXTX串口通信的开发工具类,用于websocket串口的开发,一般在接受地磅数据时可以用到。

2019-02-22

Xftp6个人备份

是一个基于 MS windows 平台的功能强大的SFTP、FTP 文件传输软件。使用了 Xftp 以后,MS windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。Xftp 能同时适应初级用户和高级用户的需要。它采用了标准的 Windows 风格的向导,它简单的界面能与其他 Windows 应用程序紧密地协同工作,此外它还为高级用户提供了众多强劲的功能特性。 主要是为了个人备份,所以分数设置的高一点,这个软件可以在官网免费下载,免费版适用于非商业开发用。

2018-09-29

Postman-win64

一款测试web接口的工具,在web开发中,我们通常需要测试web接口是否好用,此版本为windows 64位安装版本。

2018-08-22

Xshell 6 官方个人免费版

Xshell [1] 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。 本软件为免费版,不得用于商业或者其它用途。

2018-08-22

Hexo博客源文件

该文件为搭建Hexo+github博客时未编译的博客项目源文件

2017-02-18

Toast的基本使用代码

Toast的基本使用代码,对应博客中2.1 Toast(吐司)的基本使用。

2017-01-23

教程源码Loading

本文档为本人原创教程的例子源码,供读者下载。

2016-08-14

例子源码Loading

例子源码Loading

2016-08-14

百度云PushReceiver

配置百度云推送时需要的PushReceiver类

2016-08-12

WinPcap_4_1_3.exe

解决安朗客户端缺少.all .dll 文件

2016-08-01

universal-image-loader-1.8.6-with-sources

从网络获取图片的jar文件

2016-06-28

Android实验

文档+代码

2016-06-23

UML课程设计

本书是为了配合UML建模语言的教学而编写的,目的是通过课程设计的综合训练,培养学生实际分析问题;编程和动手能力,帮助学生系统地掌握该门课程的主要内容,更好地完成教学任务。, 本书从用户的需求开始,通过11个课程设计,结合相关概念和设计任务,详细地描述了一个典型的“选课系统”设计实例,并逐步介绍使用Rose实现设计的全过程。课程设计后面均附有评分标准,既可供读者评判自己的设计,也为教师提供方便。, 本书既可以作为高等院校相关专业的课程设计教材,也可以作为自学教材或教学参考书。

2016-06-23

并行计算课程设计(代码+执行文件+文档)

1. 设计目的、意义(功能描述) 蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。本次大作业主要是对蒙特·卡罗方法进行并行处理,通过OpenMP、MPI、.NET、Java、Win32API等一系列并行技术和并行机制对该算法进行并行处理,从而也进一步熟悉了蒙特·卡罗方法的串行算法和并行算法,实现了用蒙特·卡罗方法计算出半径为1单位的球体的体积,体会到了并行技术在实际生活中的应用。 2. 方案分析(解决方案) 蒙特·卡罗方法(Monte Carlo method)是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。球的体积可以估算为:位于点模型内随机点个数与全体随机点个数的比值乘以包围盒的体积算的。 3. 设计分析 3.1 串行算法设计 假定球体用B表示,半径r=1单位,B1是包含B的参考立方体(在本例中是边长为2的正方体),在B1中产生N个均匀分布的伪随机点。对每个随机点检测其是否在B内,假设位于B内的随机点个数为N(in)(<=N),应用蒙特卡洛算法,则B的体积为 V=V1(N(in)/N) 其中V1是B1的体积。如果产生足够多的随机点,理论上可以获得任意逼近精度。 算法描述如下: BEGIN N=_MAX; FOR I=0;I<_MAX;I++ X=RANDOM(); Y=RANDOM(); Z=RANDOM(); IF (X*X+Y*Y+Z*Z)<=1 COUNT++; END IF; END FOR; BULK=V1*(COUNT/_MAX); END; 本算法主要是在参考立方体的选取上和定义的_MAX的值对结果影响较大,所以应该选择合适的数。 3.2 并行算法设计 对FOR循环进行划分使用两个处理器完成计算。例如对一个长为n的序列,首先划分得到两个长为n/2的序列,将其交给两个处理器分别处理;而后进一步划分得到四个长为n/4的序列,再分别交给四个处理器处理;如此递归下去最终得到结果。当然这是理想的划分情况,如果划分步骤不能达到平均分配的目的,那么结果的效率会相对较差。 伪代码如下: BEGIN N=_MAX; FOR1 I=0;I<_MAX/2;I++ X1=RANDOM(); Y1=RANDOM(); Z1=RANDOM(); IF (X1*X1+Y1*Y1+Z1*Z1)<=1 COUNT1++; END IF; END FOR1; FOR2 I=_MAX/2+1;I<_MAX;I++ X2=RANDOM(); Y2=RANDOM(); Z2=RANDOM(); IF (X2*X2+Y2*Y2+Z2*Z2)<=1 COUNT2++; END IF; END FOR2; BULK=V1*((COUNT1+ COUNT2)/_MAX); END; 3.3 理论加速比分析 实验中大量数据所产生的加速比比小量数据所产生的加速比要体现得更明显,并且数据生成的并行加速比随着处理器核的增加而增加。设处理器个数为p,数据量为n,由于正常情况下该快速排序算法的复杂度为O(nlogn),并行处理的时间复杂度为O(klogk),其中k=n/p,所以并行算法的时间复杂度为O((n/p)log(n/p)),理论加速比为nlogn/((n/p)log(n/p))=p+logp. 4. 功能模块实现与最终结果分析 4.1 基于OpenMP的并行算法实现 4.1.1 主要功能模块与实现方法 利用了OpenMP里面的#omp parallel sections将对两个for循环用两个线程并行化执行,以多线程方式并行运行程序,并行的算法步骤如下: (1)初始化_max = 10000000; (2)创建两个线程; (3)由OpenMP编译指导语句控制产生并行执行代码区段; (4)将数据存放到tianqing_count; (5)各线程调用算法得出结果; 并行算法的部分代码如下: #pragma omp parallel for private(tianqing_x,tianqing_y,tianqing_z) reduction(+:tianqing_count2) for (tianqing_i = 0; tianqing_i<tianqing_max; tianqing_i++) { tianqing_x = rand(); tianqing_x = tianqing_x / 32767; tianqing_y = rand(); tianqing_y = tianqing_y / 32767; tianqing_z = rand(); tianqing_z = tianqing_z / 32767; if ((tianqing_x*tianqing_x + tianqing_y*tianqing_y + tianqing_z*tianqing_z) work1.pSumto(b, 0, MAXN - 1)); Thread newthread1 = new Thread(thread1); 创建Work类的对象work2; ThreadStart thread2 = new ThreadStart(() => work2.pSumto(c, 0, MAXN - 1)); Thread newthread2 = new Thread(thread2); stopwatch.Start(); 启动线程1和线程2; 等待进程结束; stopwatch.Stop(); 得到结果; 4.5.2 实验加速比分析 实验中创建了两个线程,通过多次测试,得出实验结果:由上面的理论加速比分析可知,当线程数为2时,理论加速比为2+log2=3.但由于实际操作中硬件设备以及内存分配的影响,实验加速比达不到理论值3.实验加速比在2.6~2.7左右。 4.6 并行计算技术在实际系统中的应用 4.6.1 主要功能模块与实现方法 该飞机订票系统主要实现了对机票的一些基本信息进行存储和管理的功能。在系统中实现了对机票信息的增删改查,考虑到查询的方便性,对机票按照航班号进行排序,而此排序方法用并行快速排序运用进来。利用OpenMP的并行技术,对机票信息按顺序排列好,并分析了实验过程中的加速比。 4.6.2 实验加速比分析 实验中创建了两个线程,通过多次测试,得出实验结果:当数据量比较大时,加速比理论在1.9左右。数据量较大时体现出来的加速比更准确。由上面的理论加速比分析可知,当线程数为2时,理论加速比为2+log2=3.但由于实际操作中硬件设备以及内存分配的影响,实验加速比达不到理论值3.实验加速比在2.2~2.4左右。 5. 设计体会 虽然没有按时完成作业,但这份报告花了我好几天的时间,从开始的搭建并行计算平台到最后的程序运行成功可以说是对我的一个锻炼。每一次的遇到问题与每一次的解决问题都是一个成长。每一次遇到问题和解决问题都是一种锻炼,一种尝试,从我们上并行计算课我懂得了很多电脑硬件和软件的知识,这些可能对于我们这个专业以后都是没有机会接触的,所以我觉得选择了并行计算与多核多线程技术这门课是非常正确的。对OpenMP、MPI、WIN32API、Java、.NET的并行技术有了一定的了解。在搭建MPI并行程序这块,学习的知识尤为增加,这些都是在不断的摸索、学习中学会的。 这次的大作业虽然是对以前实验的整合,但它加深了我对并行计算的印象,也使我对并行计算知识的理解更加深刻,也使我认识到了自己很多不足之处。学习并行计算的历程不会因为完成本次大作业而停止,我们是为了用知识武装大脑而学习,通过学习充实自己的生活,要努力学习,争取以后能够完成规模更大的程序。

2016-01-11

并行计算课程设计(报告+代码+可执行文件)

1. 设计目的、意义(功能描述) 蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。本次大作业主要是对蒙特·卡罗方法进行并行处理,通过OpenMP、MPI、.NET、Java、Win32API等一系列并行技术和并行机制对该算法进行并行处理,从而也进一步熟悉了蒙特·卡罗方法的串行算法和并行算法,实现了用蒙特·卡罗方法计算出半径为1单位的球体的体积,体会到了并行技术在实际生活中的应用。 2. 方案分析(解决方案) 蒙特·卡罗方法(Monte Carlo method)是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。球的体积可以估算为:位于点模型内随机点个数与全体随机点个数的比值乘以包围盒的体积算的。 3. 设计分析 3.1 串行算法设计 假定球体用B表示,半径r=1单位,B1是包含B的参考立方体(在本例中是边长为2的正方体),在B1中产生N个均匀分布的伪随机点。对每个随机点检测其是否在B内,假设位于B内的随机点个数为N(in)(<=N),应用蒙特卡洛算法,则B的体积为 V=V1(N(in)/N) 其中V1是B1的体积。如果产生足够多的随机点,理论上可以获得任意逼近精度。 算法描述如下: BEGIN N=_MAX; FOR I=0;I<_MAX;I++ X=RANDOM(); Y=RANDOM(); Z=RANDOM(); IF (X*X+Y*Y+Z*Z)<=1 COUNT++; END IF; END FOR; BULK=V1*(COUNT/_MAX); END; 本算法主要是在参考立方体的选取上和定义的_MAX的值对结果影响较大,所以应该选择合适的数。 3.2 并行算法设计 对FOR循环进行划分使用两个处理器完成计算。例如对一个长为n的序列,首先划分得到两个长为n/2的序列,将其交给两个处理器分别处理;而后进一步划分得到四个长为n/4的序列,再分别交给四个处理器处理;如此递归下去最终得到结果。当然这是理想的划分情况,如果划分步骤不能达到平均分配的目的,那么结果的效率会相对较差。 伪代码如下: BEGIN N=_MAX; FOR1 I=0;I<_MAX/2;I++ X1=RANDOM(); Y1=RANDOM(); Z1=RANDOM(); IF (X1*X1+Y1*Y1+Z1*Z1)<=1 COUNT1++; END IF; END FOR1; FOR2 I=_MAX/2+1;I<_MAX;I++ X2=RANDOM(); Y2=RANDOM(); Z2=RANDOM(); IF (X2*X2+Y2*Y2+Z2*Z2)<=1 COUNT2++; END IF; END FOR2; BULK=V1*((COUNT1+ COUNT2)/_MAX); END; 3.3 理论加速比分析 实验中大量数据所产生的加速比比小量数据所产生的加速比要体现得更明显,并且数据生成的并行加速比随着处理器核的增加而增加。设处理器个数为p,数据量为n,由于正常情况下该快速排序算法的复杂度为O(nlogn),并行处理的时间复杂度为O(klogk),其中k=n/p,所以并行算法的时间复杂度为O((n/p)log(n/p)),理论加速比为nlogn/((n/p)log(n/p))=p+logp. 4. 功能模块实现与最终结果分析 4.1 基于OpenMP的并行算法实现 4.1.1 主要功能模块与实现方法 利用了OpenMP里面的#omp parallel sections将对两个for循环用两个线程并行化执行,以多线程方式并行运行程序,并行的算法步骤如下: (1)初始化_max = 10000000; (2)创建两个线程; (3)由OpenMP编译指导语句控制产生并行执行代码区段; (4)将数据存放到tianqing_count; (5)各线程调用算法得出结果; 并行算法的部分代码如下: #pragma omp parallel for private(tianqing_x,tianqing_y,tianqing_z) reduction(+:tianqing_count2) for (tianqing_i = 0; tianqing_i<tianqing_max; tianqing_i++) { tianqing_x = rand(); tianqing_x = tianqing_x / 32767; tianqing_y = rand(); tianqing_y = tianqing_y / 32767; tianqing_z = rand(); tianqing_z = tianqing_z / 32767; if ((tianqing_x*tianqing_x + tianqing_y*tianqing_y + tianqing_z*tianqing_z) work1.pSumto(b, 0, MAXN - 1)); Thread newthread1 = new Thread(thread1); 创建Work类的对象work2; ThreadStart thread2 = new ThreadStart(() => work2.pSumto(c, 0, MAXN - 1)); Thread newthread2 = new Thread(thread2); stopwatch.Start(); 启动线程1和线程2; 等待进程结束; stopwatch.Stop(); 得到结果; 4.5.2 实验加速比分析 实验中创建了两个线程,通过多次测试,得出实验结果:由上面的理论加速比分析可知,当线程数为2时,理论加速比为2+log2=3.但由于实际操作中硬件设备以及内存分配的影响,实验加速比达不到理论值3.实验加速比在2.6~2.7左右。 4.6 并行计算技术在实际系统中的应用 4.6.1 主要功能模块与实现方法 该飞机订票系统主要实现了对机票的一些基本信息进行存储和管理的功能。在系统中实现了对机票信息的增删改查,考虑到查询的方便性,对机票按照航班号进行排序,而此排序方法用并行快速排序运用进来。利用OpenMP的并行技术,对机票信息按顺序排列好,并分析了实验过程中的加速比。 4.6.2 实验加速比分析 实验中创建了两个线程,通过多次测试,得出实验结果:当数据量比较大时,加速比理论在1.9左右。数据量较大时体现出来的加速比更准确。由上面的理论加速比分析可知,当线程数为2时,理论加速比为2+log2=3.但由于实际操作中硬件设备以及内存分配的影响,实验加速比达不到理论值3.实验加速比在2.2~2.4左右。 5. 设计体会 虽然没有按时完成作业,但这份报告花了我好几天的时间,从开始的搭建并行计算平台到最后的程序运行成功可以说是对我的一个锻炼。每一次的遇到问题与每一次的解决问题都是一个成长。每一次遇到问题和解决问题都是一种锻炼,一种尝试,从我们上并行计算课我懂得了很多电脑硬件和软件的知识,这些可能对于我们这个专业以后都是没有机会接触的,所以我觉得选择了并行计算与多核多线程技术这门课是非常正确的。对OpenMP、MPI、WIN32API、Java、.NET的并行技术有了一定的了解。在搭建MPI并行程序这块,学习的知识尤为增加,这些都是在不断的摸索、学习中学会的。 这次的大作业虽然是对以前实验的整合,但它加深了我对并行计算的印象,也使我对并行计算知识的理解更加深刻,也使我认识到了自己很多不足之处。学习并行计算的历程不会因为完成本次大作业而停止,我们是为了用知识武装大脑而学习,通过学习充实自己的生活,要努力学习,争取以后能够完成规模更大的程序。

2016-01-11

并行计算课程报告模板

1. 设计目的、意义(功能描述) 2. 方案分析(解决方案) 3. 设计分析 3.1 串行算法设计 3.2 并行算法设计 3.3 理论加速比分析 4. 功能模块实现与最终结果分析 4.1 基于OpenMP的并行算法实现 4.1.1 主要功能模块与实现方法 4.1.2 实验加速比分析 4.2 基于MPI的并行算法实现 4.2.1 主要功能模块与实现方法 4.2.2 实验加速比分析 4.3 基于Java的并行算法实现 4.3.1 主要功能模块与实现方法 4.3.2 实验加速比分析 4.4 基于Windows API的并行算法实现 4.4.1 主要功能模块与实现方法 4.4.2 实验加速比分析 4.5 基于.net的并行算法实现 4.5.1 主要功能模块与实现方法 4.5.2 实验加速比分析 4.6 基于Linux的并行算法实现(选作) 4.6.1 主要功能模块与实现方法 4.6.2 实验加速比分析

2016-01-11

操作系统考研试题(9套)

2005年北方交通大学试题 选择答案: 1.程producer、copyist、printer分别对缓冲区buffer(0)、buffer(1)进行操作。Producer把产生的数据送buffer(0);copyist把buffer(0)的数据复制到buffer(1)中;printer把buffer(1)中的数据取出来打印。请选择相关的wait、signal语句完善给出的流程: 流程中s1是producer的私用信号量;s2、s3是copyist的私用信号量;s4是printer的私用信号量。 Var s1, s2, s3, s4 : = A ; Buffer : array[ 0 , 1 ] of item ; Begin Parbegin Producer : begin Repeat Produce an item in x ; Waite(s1) ; buffer(0) : = x ; B ; until false ; end copyist : begin Repeat Waite(s2) ; C ; copy buffer(0) to buffer(1) ; D ; E ; until false ; end printer : begin Repeat F ; y : = buffer(1) ; signal(s3) ; print data in y ; until false ; end parend end

2016-01-10

操作系统期末试题(9套)

简答题(每题4分,共16分) 1 分别举出一个在命令行使用输入重定向、输出重定向、管道的例子,并说明使用相应命令的意图。 2 对比“进程”和“线程”的异同。 3 对比动态分页系统中的全局、局部页面置换策略。 4 什么是设备无关性?如何实现设备无关性?

2016-01-10

操作系统专科考试题

简答题(共40分) 1、说明进程在三个基本状态之间转换的典型原因。(8分) 2、固定分区和动态分区有何区别?(8分) 3、为什么说引入缓冲后可显著地提高I/O速度,6而使CPU与I/O 速度不匹配的矛盾得到缓和?(8分) 4、中断技术的基本原理是什么(8分) 5、文件的三种物理结构的特点(8分)

2016-01-10

烟台大学期末考试题

1.请说出三种预防死锁的方法,并解释。 2.什么是系统功能调用?系统调用和一般用户调用有什么区别? 3.试说明分页系统中,由逻辑地址到物理地址的变化过程。 4.试说明I/O控制的种类,及其优缺点。 5.一个文件系统的物理结构是顺序结构,其在逻辑上是否可以实现索引结构, 如何实现? 四、综合题(每题15分,共90分, 要求写出解题步骤) 1.如图1所示, 方框表示资源类别,小方框表示同种资源, 圆形表示进程, 从资源指向进程的箭头表示该资源被进程拥有,从进程指向资源的箭头表示进程申请该类资源。如对P1进程,P1进程拥有r1和r2类资源各一个并申请另一个r2类资源。在下图情况下会不会产生死锁。为什么?如果P4再申请r1资源会不会死

2016-01-10

软件工程模拟题

这是一份关于软件工程概论期末考试的模拟题,概括的很全,比较适合烟大的学生,与期末考试题型一致。

2016-01-10

操作系统复习提纲2015

操作系统复习,烟台大学,提纲,分章节总结

2016-01-04

计算机网络(谢希仁版)复习资料整理(期末考试必备)

计算机网络(谢希仁版)复习资料整理(期末考试必备),各章重点内容,烟台大学

2016-01-04

Web中期作业

1、设计一个个人求职网站,要求包括个人照片、个人基本情况,各种爱好,掌握的专业技术,学习过的课程,参与过的项目,理想的工作描述。 2、设计一个班级网站,要求包括顶部导航栏,内容包括班级新鲜事、班级通知公告、班级相册、个人风采、联系方式等。

2015-06-10

空空如也

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

TA关注的人

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