-
论文研究 - 购物中心中客户计费预测的聚类方法:一种机器学习机制
2020-05-22 08:39:35这项工作为您提供了一个简单的机器学习预测模型,基于该模型我们可以基于聚类预测客户类别。 在聚类之前,我们不知道它们属于哪个组。 但是在聚类之后,我们可以确定数据节点所属的类别。 在本文中,我们提到了使用... -
C#开发实战1200例(第一卷+第二卷)+源码下载地址.txt
2019-05-17 09:24:24主要内容有C#开发环境的使用、C#语言基础应用、字符串处理技术、数组和...的使用、DataGridView数据控件、自定义用户控件、文件基本操作、文件夹基本操作、文件流操作、加密、解密及解压缩文件、C#与Word互操作、高效... -
Java基本io
2020-10-27 19:05:05IO属于java的基本知识,但是io的知识体系过于庞大,书中提到过“对程序语言的设计者来说,创建一个好的输入/输出系统是一项艰难的任务”,我觉得艰难在于,需要考虑太多的因素,因为文件有多种多样:文本格式,音...参考:《Java编程思想》
IO属于java的基本知识,但是io的知识体系过于庞大,书中提到过“对程序语言的设计者来说,创建一个好的输入/输出系统是一项艰难的任务”,我觉得艰难在于,需要考虑太多的因素,因为文件有多种多样:文本格式,音视频格式,zip格式,网络等等,读取的方式也很多:顺序读取,随机读取,按行,按字符等等。这也就导致了Java io类库的庞大。
一、io的分类
Java的io在总体抽象上分为两类:
- 堵塞式io(bio)
- 非堵塞式io(nio)
学过操作系统,我们都知道一个系统的瓶颈大程度上取决于io的速度,io所花费的时间相比cpu处理的时间多太多了,堵塞式io在read时会一直等待读取端口的的内容,导致堵塞,write方法也同样如此,后面再网络编程这一块会大量的去比较这两种io的区别,在单机环境下,总体还是使用bio,也就是这篇文章要说到的输入输出流
根据应用场景分类
-
流式io
流式io又分为
-
字符流
-
字节流
字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组
-
-
非流失io,辅助流式io
-
文件读取时与安全相关的类
总体上来说,io下有5个类/接口:磁盘操作:File,字节操作:InputStream 和 OutputStream,字符操作:Reader 和 Writer,对象操作:Serializable
二、输入字节流InputStream
(图来自网络)
-
InputStream
-
ByteArrayInputStream
-
FileInputStream
-
FilterInputStream
- BufferedInputStream
- DataInputStream
- LineNumberInputStream
- PushbackInputStream
-
ObjectInputStream
-
PipedInputStream
-
StringBufferInputStream
-
①InputStream是所有输入流的父类,是一个抽象类
②ByteArrayInputStream、FileInputStream、StringBufferInputStream分别从字节数组,文件对象,String类中读取数据
③ObjectOutputStream和所有FilterOutputStream的子类都是装饰流。
装饰器模式:在不修改原先对象核心的功能的情况下,对功能进行增强。
三、输出字节流OutputStream
(图来自网络)
- OutputStream
- ByteArrayOutputStream
- FileOutputStream
- FilterOutputStream
- BufferedOutputStream
- DataOutputStream
- PrintStream
- ObjectOutputStream
- PipedOutputStream
①OutputStream是所有输入流的父类,是一个抽象类
②ByteArrayOutputStream、FileOutputStream、分别从字节数组,文件对象,中写入数据
③ObjectOutputStream和所有FilterOutputStream的子类都是装饰流。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OrsLZATZ-1603796560491)(C:\Users\VSUS\Desktop\笔记\io\img\4.png)]
四、输入字符流Reader
-
Reader
-
CharArrayReader
-
BufferedReader
- LineNumbeReader
-
FilterReader
- PushbackReader
-
InputStreamReader
- FileReader
-
PipeReader
-
StringReader
-
①Reader是所有类的基类
② InputStreamReader是一个连接字节流和字符流的桥梁,它将字节流转变为字符流。
五、输出字符流Writer
(图来自网络)
- Writer
-
BufferedWriter
-
CharArrayWriter
-
FilterWriter
-
OutPutStreamWriter
- FileWriter
-
PipedWriter
-
PrintWriter
-
StringWriter
-
①Writer是所有类的基类
②OutputStreamWriter是OutputStream到Writer转换的桥梁
六、高速缓冲字节流
当文件较大时,使用高速缓冲流能显著提高效率
-
写入数据到流中,字节缓冲输出流 BufferedOutputStream
-
读取流中的数据,字节缓冲输入流 BufferedInputStream
通过构造方法就可以明白如何去使用缓冲流,只需将输入/输出字节流作为参数传入字节缓冲输入/输出流
public BufferedOutputStream(OutputStream out) { this(out, 8192); } /** * Creates a new buffered output stream to write data to the * specified underlying output stream with the specified buffer * size. * * @param out the underlying output stream. * @param size the buffer size. * @exception IllegalArgumentException if size <= 0. */ public BufferedOutputStream(OutputStream out, int size) { super(out); if (size <= 0) { throw new IllegalArgumentException("Buffer size <= 0"); } buf = new byte[size]; }
七、高速缓冲字符流
-
字符缓冲输入流 BufferedReader
-
字符缓冲输出流 BufferedWriter
使用方法也和缓冲字节流一致
-
VC++科学计算器的设计V1_4Beta.rar
2010-03-23 04:54:59预转换逆波兰表达式过程的作用是将源字符流转换成标准输入流的形式,同时还可以初步校验源输入表达式的有效性。生成逆波兰表达式过程是在预转换的基础上,最终生成便于为计算机识别与处理的中间临时代码。 计算逆... -
菜鸡刷题day2
2020-06-06 16:52:45main 方法是 Java Application 程序执行的入口点,以下描述哪项是合法的()。 基本数据类型不可任意互相转换。 小能转大,但是大转小需要强转,会丢失数据。 Java Applet在被浏览器加载的时候首先被执行且在applet...main 方法是 Java Application 程序执行的入口点,以下描述哪项是合法的()。
基本数据类型不可任意互相转换。
小能转大,但是大转小需要强转,会丢失数据。Java Applet在被浏览器加载的时候首先被执行且在applet整个生命周期中被运行一次的方法是()
java.io.inputStreamReader用于字符流输入
java.io.inputStream用于字节流输入Java程序中的类名称必须与存放该类的文件名相同。
G1不属于jdk1.6的垃圾收集器,应该是1.7之后的版本
ResultSet中记录行的第一列索引为1.
ResultSet结果集读取数据的方法主要是getXXX() ,他的参数可以使整型表示第几列(是从1开始的),还可以是列名。
此题的考点在于
1、静态代码块中的x 为局部变量。
2、x++先运算后赋值,++x先赋值后运算。即y=-1+1=0;
3、因为x++改变了x自身的值,所以此时的x为1,根据规则相当于:1+0+2=3。
即 结果为3一个类可以实现多个接口。抽象类不必须有抽象方法。(即单继承,多实现)
选项:
通过super可以调用父类的构造函数。
final修饰的方法只是不能重写,static修饰的方法只能访问类的成员变量。
string是不可修改的,且java运行环境中对string对象有一个对象池保存。算法:
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
我写的憨批算法:import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = 0; List<Integer> list = new ArrayList(); while (scanner.hasNext()) { int x =scanner.nextInt(); if (x!=0){ list.add(x); }else { break; } } Iterator<Integer> iterator = list.iterator(); while (iterator.hasNext()) { n=iterator.next(); if (n == 1) { System.out.println("0"); } else { change(n, 0); } } } public static void change(int n,int sum){ if (n<=1){ System.out.println(sum); return ; } if (n/3==0&&n%3==2){ n=0; sum++; change(n, sum); }else { sum+=n/3; n=n/3+n%3; change(n,sum); } } }
链接:https://www.nowcoder.com/questionTerminal/3245215fffb84b7b81285493eae92ff0
来源:牛客网明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据,希望大家能正确处理)。
Input Param
n 输入随机数的个数
inputArray n个随机整数组成的数组
Return Value
OutputArray 输出处理后的随机整数
注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。
样例输入解释:
样例有两组测试
第一组是3个数字,分别是:2,2,1。
第二组是11个数字,分别是:10,20,40,32,67,40,20,89,300,400,15。import java.util.*; public class SearchId { public static void main(String[] args) { Scanner scanner =new Scanner(System.in); while (scanner.hasNext()) { int n = scanner.nextInt(); List<Integer> list = new ArrayList(); for (int i = 0; i < n; i++) { int x=scanner.nextInt(); if (!list.contains(x)){ list.add(x); } } Collections.sort(list); Iterator<Integer> iterator = list.iterator(); while (iterator.hasNext()) { Integer next = iterator.next(); System.out.println(next); } } } }
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。(多组同时输入 )
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner =new Scanner(System.in); while (scanner.hasNext()) { String s = scanner.nextLine().replace("0x", ""); int i = Integer.parseInt(s, 16); System.out.println(i); } } }
-
计算机二级C语言考试题预测
2010-06-08 18:29:34(16) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(A) 注:P67 A. 控制流 B. 加工 C. 数据存储 D. 源和潭 (17) 软件需求分析阶段的工作... -
二级C语言公共基础知识
2009-11-20 11:26:03(13) 面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。 答:实体 (14) 软件的需求分析阶段的工作,可以概括为四个方面:______、需求分析、编写需求规格说明书和需求评审。 答:需求获取... -
软件工程教程
2012-07-06 23:10:29在软件开发和维护过程中所遇到的一系列严重问题 软件危机的表现 对软件开发成本和进度的估算很不准确 用户很不满意 质量很不可靠 没有适当的文档 软件成本比重上升 供不应求:软件开发生产率跟不上计算机应用... -
软件工程-理论与实践(许家珆)习题答案
2011-01-12 00:49:42多视点方法也是管理需求变化的一种新方法,它可以用于管理不一致性, 并进行关于变化的推理。 2. M公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已经有近十年了,并取得了一些成功。若你作为一... -
C语言入门经典(第4版)--源代码及课后练习答案
2013-02-02 17:18:55本书的目标是使你在C语言程序设计方面由一位初学者成为一位称职的程序员。 内容简介 本书是编程语言先驱者Ivor Horton的经典之作,是C语言方面最畅销的图书品种之一。本书集综合性、实用性为一体,是学习C语言... -
计算机二级公共基础知识
2011-04-30 14:00:09在树中,以某结点的一个子结点为根构成的树称为该结点的一棵子树。 2. 二叉树基本性质 二叉树具有以下几个性质: 性质1:在二叉树的第k层上,最多有2k-1(k≥1)个结点。 性质2:深度为m的二叉树最多有2m-1个结点。 ... -
C语言入门经典(第4版)--详细书签版
2013-02-02 17:16:50本书的目标是使你在C语言程序设计方面由一位初学者成为一位称职的程序员。 内容简介 本书是编程语言先驱者Ivor Horton的经典之作,是C语言方面最畅销的图书品种之一。本书集综合性、实用性为一体,是学习C语言... -
C#微软培训教材(高清PDF)
2009-07-30 08:51:17C#--微软.NET的第一语言 本书着重介绍语言本身,比较少涉及应用,不错的入门书,从头讲起,不怕不明白。 <<page 1>> page begin==================== 目 目目 目 录 录录 录 第一部分 C#语言概述.4 ... -
C#微软培训资料
2014-01-22 14:10:17<<page 1>> page begin==================== 目 目目 目 录 录录 ... 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出了其下一代... -
php高级开发教程说明
2008-11-27 11:39:22偏爱的语言(也许是公司指定的一种语言),了解它的优点和它的缺点,并根据语言的具体特点 修正项目。但当克服所选语言的缺陷时,就可能会增加不必要的额外工作。 了解如何使用一门语言却缺乏其特定的概念知识,就... -
KArchive:用于创建,读写和操作文件档案(例如zip和 tar)的库,它通过QIODevice的一系列子类,使用gzip格式,提供了透明的压缩和解压缩的数据。 libarchive:多格式的存档和压缩库。 LZ4 :非常快速的压缩算法。...
-
代码语法错误分析工具pclint8.0
2010-06-29 07:00:09完成后,在tools菜单下就会有一项PC-LINT选项。 下面是笔者在VC6 / Win NT 4.0 的情况下的TOOL配置图: 3.3LINT选项 LINT选项可以放在注释中,例如: /*lint option1 option2 ... optional commentary */ ... -
Linux操作系统基础教程
2013-04-08 21:34:26UNIX的用户来说,使他们熟悉 UNIX 操作环境,通往"骨灰级"高手境界的一大捷径。最重 要的是,Linux 上有公认的 C 语言世界最好的编译器 gcc,如果你想得到一个效率更高的开 发环境(并不一定是最友好的,但一定是最... -
flash shiti
2014-03-14 10:32:4112. 如果导入的是图像序列中的一个picture001.bmp 文件,并且序列中的其他文件位于相同的 文件夹中,则将被识别为图像序列将是下面哪些: □ A. picture001.bmp □ B. picture002.bmp □ C. picture003.bmp □ D. ... -
C#潮流计算和Visio二次开发画电气接线图
2010-08-27 17:15:39txt文件是微软在操作系统上附带的一种文本格式,是最常见的一种文件格式 ,早在DOS时代应用就很多,主要存文本信息,即为文字信息,在微软在操作系统等于直接存,就是它了,现在多用的操作系统得使用记事本等程序... -
自己动手写操作系统(含源代码).part2
2010-10-18 19:47:45可能在这些教科书作者的眼里,操作的细节不属于课程的一部分,或者这些细节看上去太容易,根本不值一提,甚至作者认为这些属于所谓“经验”的一部分,约定俗成是由读者本人去摸索的。但是实际情况往往是,这些书中... -
自己动手写操作系统(含源代码).part1
2010-10-18 19:41:25可能在这些教科书作者的眼里,操作的细节不属于课程的一部分,或者这些细节看上去太容易,根本不值一提,甚至作者认为这些属于所谓“经验”的一部分,约定俗成是由读者本人去摸索的。但是实际情况往往是,这些书中... -
Python 资源大全中文版 awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web 框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本...pytesseract:Google Tesseract OCR 的一...
-
《计算机操作系统》期末复习指导
2009-12-30 10:57:55一般有死锁的预防,即破坏产生死锁的四个必要条件中的一个或多个,使系统绝不会进入死锁状态;死锁的避免,即在资源动态分配的过程中使用某种办法防止系统进人死锁状态;和允许系统产生死锁,然后使用检测算法... -
Python Cookbook
2013-07-31 22:33:264.13 获取字典的一个子集 161 4.14 反转字典 163 4.15 字典的一键多值 164 4.16 用字典分派方法和函数 166 4.17 字典的并集与交集 167 4.18 搜集命名的子项 169 4.19 用一条语句完成赋值和测试 171 4.20 在... -
计算机应用技术(实用手册)
2011-07-29 16:32:16这个项目可指定让AGP装置来使用的系统内存大小,这取用大小是PCI内存地址范围的一部份,可分配给图形内存的空间。 Init Display First: 这个项目可选择当系统开机时先行对AGP或是PCI插槽来做初始化的动作。 [AGP... -
Visual C++ 2008入门经典--详细书签版
2013-02-02 16:07:15本书系编程语言先驱者ivor horton的经典之作,是c++编程方面最畅销的图书品种之一,不仅涵盖了visual c++ 2008编程知识,还全面介绍了标准c++语言和c++/cli。本书延续了ivor horton讲解编程语言的独特方法,从中... -
asp.net知识库
2015-06-18 08:45:45.NET关于string转换的一个小Bug Regular Expressions 完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则表达式 delegate vs. event 我是谁?[C#] 表达式计算引擎... -
Microsoft C# Windows程序设计(上下册)
2011-08-05 10:28:1310.7 一个简单的文化所特有的时钟 10.8 流行的外观 10.9 模拟时钟 10.10 拼图游戏 第十一章 图像和位图 11.1 位图支持概述 11.2 位图文件格式 11.3 加载和绘制 11.4 图像信息 11.5 绘制图像 ... -
外文翻译 stus MVC
2010-05-28 15:02:311:外文原文 Struts——an open-source MVC implementation This article introduces Struts, a Model-View-Controller implementation that uses servlets and JavaServer Pages (JSP) technology....