自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【java学习】EasyExcel的简单使用

EasyExcel类是一套基于Java的开源Excel解析工具类,相较于传统的框架如Apache poi、jxl等更加快速、简洁,还可以解决大文件内存溢出问题,即能让使用者在不用考虑性能、内存的等因素的情况下,快速完成Excel的读(导入)、写(导出)等功能。这里使用的EasyExcel版本为3.1.1,JDK版本为1.8.0_161,同时辅助使用lombok和fastjson以简化代码或转化为Jason数据。

2022-09-14 14:36:18 10512 3

原创 关于Django中使用HttpResponseRedirect和reverse进行重定向

在使用Django进行开发时,HttpResponseRedirect算是用的比较广泛的,对于一些已有url,相较于使用render有时可以极大减少代码量,下面是我学习并总结的一些使用方法。以下面urls.py为例from django.conf.urls import urlimport app_one.mainurlpatterns = [ url(r'^index_one/$', ...

2019-05-26 09:09:30 3497

原创 嵌入式系统学习(4)

S3C2410的PWM定时器PMW是指对一个方波序列信号的占空比按照要求进行调制,而不改变信号的幅度和周期,因此脉宽调制信号是数字式的。若调制信号的频率远远大于信号接收者的分辨率,则接受者获得的是信号的平均效果,因此模拟信号可以用PWM实现。S3C2410的PWM定时器的逻辑构造图如下: 定时器工作时先装入计数初值,再启动计数。计数结束后能产生中断请求。也可以设置重装初值,实现连续计...

2018-04-14 17:14:18 697

原创 嵌入式系统学习(3)

S3C2410的输入/输出端口S3C2410有八个输入/输出端口和117个GPIO引脚,其中端口A只能作为输出引脚,其余端口皆可设置为输入或输出引脚。 输入/输出引脚最大的特点是能够复用,通过引脚配置寄存器,可将其设置为所需要的功能。除了输入/输出这些引脚还可配置为NandFlash、DMA、串口、中断等引脚。 对于其中任意一个端口,有三个寄存器可以对其进行操作: 1. 配置寄存器...

2018-04-12 15:26:22 345

原创 嵌入式系统学习(2)

S3C2410的DMA控制器S3C2410有四个通道的DMA控制器,每个通道都有五个DMA请求源(即五种不同请求方式),其中包括两个外部请求源由引脚nXDREQ0和nXDREQ0接入,应答信号引脚为nXDACK0和nXDACK0。S3C2410也可以直接连接外部DMA控制器,总线请求和应答信号引脚分别为nXBREQ和nXBACK。 DMA三种工作状态: DMA工作时序: S3C2...

2018-04-12 14:40:07 407

原创 嵌入式系统学习(1)

学习笔记:嵌入式系统定义:指以应用为中心、以计算机技术为基础、软件硬件可剪裁、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用集全集系统。包含嵌入式硬件和嵌入式软件。 硬件平台对比 台式机系统 嵌入式系统 CPU Intel、AMD的x86处理器 ARM等嵌入式处理器 内存 内存条 SDRAM芯片 外存 硬盘及固态硬盘...

2018-04-01 21:24:36 1093

原创 二分查找(折半查找)

二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上

2017-09-27 09:54:03 256

原创 顺序查找

顺序查找是在一个已知无(或有序)序队列中找出与给定关键字相同的数的具体位置。原理是让关键字与队列中的数从最后一个开始逐个比较,直到找出与给定关键字相同的数为止,它的缺点是效率极其低下。#include <stdio.h>void find(int a,int b[],int n){//顺序查找 int flag=0; for(int i=0;i<n;i++){ if

2017-09-27 09:40:19 427

原创 冒泡排序

冒泡排序是一种稳定的比较排序方法 时间复杂度为O(n²) 空间复杂度(辅助空间)为O(1)#include <stdio.h>void bubble_sort(int disorder[],int num){ for(int i=0;i<num;i++){ for(int j=i;j<num;j++){ if(disorder[i]<disorde

2017-09-25 16:32:11 201

原创 加深理解进程基本状态转化

一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程称为进程。简言之,进程是程序的一次执行活动,即进程就是程序的一次执行,是一个动态的过程。随着技术发展,为了最大化利用内存资源,又引入了进程优先级。一些低优先级进程可能等待较长时间,从而被对换至外存。目的是: 1.提高处理机效率:就绪进程表为空时,OS将阻塞进程从内存中“挂起”到磁盘的“挂起队列”,再从该队列选另一进程进入内存,或接受一个

2017-09-25 15:12:39 354

原创 堆排序

算法描述:堆排序是一种利用堆积树(完全二叉树)的特点所进行设计的一种选择排序算法,若堆积树父节点元素不小于其两个子节点元素,则它为大根堆;反之则为小根堆。如何建立堆积树:我先将数组整体向后移了一位,使得第i号元素的两个子节点分别为第 2 * i 和 2 * i + 1 号元素。之后从n/2处开始调整(n为数组中元素个数),即从最后一个元素对应的父节点处开始调整,调整这一颗小二叉树使其成为大(小)根堆

2017-09-25 14:44:27 222

原创 直接选择排序

直接选择排序的算法描述是 第1次在数组a[0]~a[n]中,找到最大(最小)元素和a[0]交换,第2次从a[1]~a[n-1]中找到最大(最小)元素和a[1]交换······第i次从a[i-1]~a[n-1]中找到最大(最小)元素和a[i-1]交换······直到第n-1次完成后结束。选择排序是一种不稳定的比较排序方法 平均时间复杂度为O(n²) 空间复杂度(辅助空间)为O(1)void xua

2017-09-13 19:20:10 197

原创 计算最小公倍数

代码不是很规范···#include <stdio.h>int main(){ int i,n,x; double m,a,b; while(scanf("%lf%lf",&a,&b)!=EOF)//接收两个数字开始运算 { x=0;m=1.1;n=1; for(i=1;m!=n;i++) {

2017-09-11 15:14:08 305

原创 C++简单人机交互——走迷宫

一个简单的小方块走迷宫程序#include <iostream>#include <windows.h>#include <conio.h>#include <ctime>#include <string>using namespace std;class basic{public: //不显示光标 void hide_cursor() { HA

2017-09-11 15:08:24 3006

原创 C++简单二进制文件操作

#include <iostream>#include <string>#include <fstream>#include <typeinfo>using namespace std;void main(){ string s="hello!"; ofstream f1("f2.dat",ios::binary); //定义一个 写入 文件句柄f1,创建(作用

2017-09-10 11:26:17 1240

原创 C++中基础字符串操作

#include <iostream>#include <string>using namespace std;void main(){ string s; s="-ZhangSan-99-LiSi-80-WangWu-85-ZhaoLiu-76-"; //单串数据查询浏览 string::size_type m1,m2,m3,pos=0; string

2017-09-10 10:36:26 381

原创 C++基础文本文件操作

#include <iostream>#include <string>#include <fstream>using namespace std;void main(){ string s0; cout<<"输入(带空格的)字符串:"; getline(cin,s0); //输入(带空格)字符串 cout<<endl; ofst

2017-09-10 10:25:56 313

原创 利用rdtsc生成随机数

rdtsc指令是得到CPU自启动以后的运行周期数,在586以上的CPU上存在。 rdtsc指令返回的是自开机始CPU的周期数,返回的是一个64位的值,存在 EDX:EAX 中(高32在EDX,低32位在EAX)。 rdtsc指令有很多用处,比如计算微秒甚至纳秒级时间,或进一步计算程序运行速度等等,这里介绍下利用rdtsc指令生成随机数。#include <conio.h>#include <i

2017-09-10 09:59:56 677

空空如也

空空如也

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

TA关注的人

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