当前位置: 首页 > wzjs >正文

怎样低成本做网站推广上海网站推广服务公司

怎样低成本做网站推广,上海网站推广服务公司,seo网站建设时文章频率,住房和城乡建设领域从业人员证书系统级 IO 系统级 IO 是操作系统提供的输入输出接口 , 直接与硬件内核交互 . 不同操作系统的 系统级 IO 不同 . 流 流是 数据传输的抽象管道 , 定义数据如何输入输出 , 有流才能传输数据 . 本质是 封装 系统级 IO 的高级抽象 , 拥有自己的统一接口 ( iostream , InputStrea…

系统级 IO

系统级 IO 是操作系统提供的输入输出接口 , 直接与硬件内核交互 .

不同操作系统的 系统级 IO 不同 .

数据传输的抽象管道 , 定义数据如何输入输出 , 有流才能传输数据 . 本质是 封装 系统级 IO 的高级抽象 , 拥有自己的统一接口 ( iostream , InputStream 等) .

为什么要将系统级 IO 抽象成流 ?
  1. 设备无关性 : 对于文件 , 网络数据 , 内存等数据 , 流能够提供统一的操作接口 .

  2. 跨平台兼容 : 流将不同操作系统的系统级 IO 封装起来 , 使操作兼容不同平台 .

  3. 优化 : 流拥有缓冲区 , 类型检查 , 错误处理等优化机制 .

缓冲区

缓冲区内存中的临时数据存储区域 , 用于优化流的性能 , 减少系统调用次数 , 匹配网络和硬件读取访问的不同速度 .

B题 我才是奶龙 : 给你一组R、G、B的字符,判断其中是否恰好只有R、G。

缓冲区认识最深刻的时候是上学期新生赛的 B 题 , 学校机房设备的 Dev-C++ 编译器没有调整缓冲模式 , 导致我在这题的输入输出浪费了很多时间 .

缓冲模式
缓冲模式触发刷新条件应用
全缓冲缓冲区满文件 IO
行缓冲遇到换行符或缓冲区满控制台 IO
无缓冲立即输出我才是奶龙

纵向介绍

C scanf & printf

基于 stdio 库函数封装操作系统的系统级 IO , 速度极快 . 默认使用 stdio 缓冲 : 终端行缓冲 ; 文件全缓冲 . 可通过 setvbuf 修改缓冲模式和自定义缓冲区大小 .

#include<stdio.h> // #include<cstdio>
int main(){int n;scanf("%d", &n);printf("%d", n);int a[n];for(int i = 0; i < n; ++i){scanf("%d", &arr[i]);}for(int i = 0; i < n; ++i){printf("%d", arr[i]);}return 0;
}
C++ cin & cout

基于流对象 iostram , 通过操作符重载实现类型安全 . 默认与 C 风格 stdio 同步共享缓冲区 , 解除同步避免额外计算可以提升输入输出操作效率 .

操作符重载 : 在自定义类或结构体中重新定义语言内置操作符的行为 .

#include<bits/stdc++.h> // #include<iostream>
int main(){int n;cin >> n;cout << n;int arr[n];for(int i = 0; i < n; ++i){cin >> n;}for(int temp : arr){cout << temp;}return 0;
}
Java Scanner

基于 InputStream , 通过正则表达式分隔解析输入 . 多次小规模读取的效率较低 . 无法直接修改缓冲区大小 .

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();System.out.print(n);int[] arr = new int[n]; // int arr[n];无效for(int i = 0; i < n; ++i){arr[i] = scanner.nextInt();}for(int temp : arr){System.out.print(temp);}scanner.close();}
}
Java 格式化输出

基于 Formatter 的装饰器流 , 语法和 C 语言的 printf 类似 , 拥有类型安全 . 提供格式说明符对齐输出结构 .

装饰器模式 : 允许动态地向对象添加新的功能而无需修改原有类的代码 , 以组合代替继承的方式扩展对象行为 .

import java.util.Scanner;public class Main {public static void main(String args[]) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();System.out.printf("%d", n);String temp = String.format("%d", n); // 支持代码复用scanner.close();}
}
Java BufferedReader 类输入

基于 Reader , 使用缓冲优化减少系统调用次数 , 无类型安全 , 需要手动解析数据类型 . 可以直接在析构函数中直接指定缓冲区大小 .

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class Main {public static void main(String[] args) throws IOException {BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));int n = Integer.parseInt(bufferedReader.readLine());String[] input = br.readLine().split(" ");int[] arr = new int[n];for (int i = 0; i < n; i++) {arr[i] = Integer.parseInt(input[i]);}bufferedReader.close();}
}

横向对比

\printf/scanfcin/coutScannerJava格式化输出BufferedReader
性能极高 直接调用一般 需要关闭同步极低 正则匹配成本高较低 解析格式符成本高较高 批量读取 缓冲优化
类型安全 易出现未定义行为编译时推导类型运行时检查格式化字符串与参数强匹 手动解析字符串的具体类型
缓冲管理setvbuf 修改缓冲区大小和缓冲模式可自定义缓冲区 默认共享无 依赖底层流缓冲Scanner不可更改缓冲模式 默认 8196 Kb 缓冲 可调整大小

补充

底层流 是直接与数据源交互的原始数据通道 .

ScannerJava 格式化输出 依赖底层流缓冲 , 没有独立的缓冲管理能力 .

// 底层流是System.in 标准输入流 无缓冲
Scanner scanner1 = new Scanner(System.in);// 底层流是FileInputStream 字节流 无缓冲
FileInputStream fis = new FileInputStream("data.txt");
Scanner scanner2 = new Scanner(fis);// 底层流是BufferedReader 字符流 已缓冲
BufferedReader br = new BufferedReader(new FileReader("data.txt"));
Scanner scanner3 = new Scanner(br);
http://www.dtcms.com/wzjs/43945.html

相关文章:

  • 如何做购物网站推广seo外包公司一般费用是多少
  • 普陀网站建设数字经济发展情况报告
  • 鲅鱼圈做网站网工资页多少钱一个月免费推广方法有哪些
  • 网站平台开发报价表怎么做建站之星官网
  • 网站建设费税率多少腾讯云服务器
  • 医院 网站后台管理河南网站建设制作
  • 石家庄好用的招聘网站seo教程技术
  • 网站制作培训多少钱注册百度账号免费
  • 极简wordpress博客辽阳网站seo
  • 网站建设样式大数据营销策略有哪些
  • 网站建设分析图十大洗脑广告
  • 泰安集团网站建设现在做网络推广都有什么方式
  • 批量扫dedecms做的网站网站建设问一问公司
  • 网站建设公司国内技术最强泰安seo公司
  • 成功案例 品牌网站合肥网站快速排名提升
  • 网页版qq登录入口电脑版seo推广知识
  • 响应式网站的好处天津百度
  • 网络推广网站大全十大经典事件营销案例分析
  • 徐州 商城网站建设本地推广最好用的平台
  • Wordpress+仿站+工具温州网站建设优化
  • 做解析会员电影的网站seo优化靠谱吗
  • asp动态网站开发答案中国软文网官网
  • 青岛网站建设公司怎么样谷歌推广怎么做
  • 西安做网站设计公司hao123网址大全浏览器设为主页
  • 网站界面设计实验报告seo是什么服务
  • 阿里云虚拟主机做2个网站吗企业网络营销方案策划
  • xp系统中做网站服务器吗seo专业课程
  • 想做网站资讯门户类网站有哪些
  • 普通话seo域名综合查询
  • 成都市青羊区城乡建设局网站网络销售培训学校