上一页 1 ··· 8 9 10 11 12 13 14 下一页
摘要: 1、 计算机中文件、数据底层都是基于二进制的。 计算机底层并没有文本文件、图片文件之分,它只是记录着每个文件的二进制序列。 字符集:包含着字符和二进制序列之间的对应关系,一个字符对应一个二进制序列。 编码(Encode):把人能看懂的明文转换为计算机能理解二进制序列。 解码(Decode):把计算机 阅读全文
posted @ 2019-05-28 13:47 chy_18883701161 阅读(1197) 评论(0) 推荐(0) 编辑
摘要: FileLock,文件锁。 文件锁在OS中很常见,如果多个程序同时访问、修改同一个文件,很容易因为文件数据不同步而出现问题。给文件加一个锁,同一时间,只能有一个程序修改此文件,或者程序都只能读此文件,这就解决了同步问题,保证了线程安全。 文件锁是进程级别的,不是线程级别的。文件锁可以解决多个进程并发 阅读全文
posted @ 2019-05-28 12:27 chy_18883701161 阅读(8914) 评论(2) 推荐(1) 编辑
摘要: 1、 Channel 通道,可以将指定文件的部分或全部直接映射成Buffer。 不能直接读写Channel中的数据,Channel只能与ByteBuffer交互。 读数据时,把Channel中的数据映射到ByteBuffer中取出数据使用。 写数据时,把数据放到Buffer中,再把ByteBuffe 阅读全文
posted @ 2019-05-28 11:58 chy_18883701161 阅读(650) 评论(0) 推荐(0) 编辑
摘要: Buffer 缓冲,用于批量读写数据 Buffer是一个抽象类,基本数据类型都有实现类:XxxBuffer,比如ByteBuffer、CharBuffer、IntBuffer、DoubleBuffer等,最常用的是ByteBuffer、CharBuffer。 Buffer更像一个容器,用于盛装数据, 阅读全文
posted @ 2019-05-27 02:49 chy_18883701161 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 前面介绍的是传统的IO,在java.io包下。传统的IO有一下缺点: 传统的IO是BIO(阻塞式的IO),使用read()系列方法读取数据时,如果没有可读取的数据,会一直阻塞该线程,读取到数据后,线程才继续往下执行。 不管是字节流还是字符流,底层都是基于字节实现的,如果不使用缓冲区,会一个字节一个字 阅读全文
posted @ 2019-05-27 01:08 chy_18883701161 阅读(559) 评论(1) 推荐(0) 编辑
摘要: 1、如果某个成员变量是敏感信息,不希望序列化到文件/网络节点中,比如说银行密码,或者该成员变量所属的类是不可序列化的, 可以用 transient 关键字修饰此成员变量,序列化时会忽略此成员变量。 transient只能修饰成员变量。 2、transient很方便,但是反序列化时,不能取得此成员变量 阅读全文
posted @ 2019-05-26 23:03 chy_18883701161 阅读(6767) 评论(0) 推荐(1) 编辑
摘要: 对象的序列化(Serialize):将内存中的Java对象转换为与平台无关的二进制流(字节序列),然后存储在磁盘文件中,或通过网络传输给另一个网络节点。 对象的反序列化(Deserialize):获取序列化的二进制流(不管是通过网络,还是通过读取磁盘文件),将之恢复为原来的Java对象。 要实现对象 阅读全文
posted @ 2019-05-26 15:34 chy_18883701161 阅读(2481) 评论(0) 推荐(0) 编辑
摘要: repository 仓库、源代码库、版本库。位于服务器上,一般存放一个项目,团队共用。 checkout 提取、检出。从仓库copy一个副本到本地。 update 更新。从服务器获取更新,将本地的这个副本更新到指定的版本(默认是最新的版本)。 revert 恢复、还原。相当于Ctrl+Z。 dif 阅读全文
posted @ 2019-05-25 20:01 chy_18883701161 阅读(2154) 评论(0) 推荐(1) 编辑
摘要: SVN全称Subversion,是一款优秀的版本控制工具。 SVN分为服务器、客户端两部分,服务器和客户端版本很多,有的是收费的,有的需要注册。我们选择免费、不用注册的。 以VisualSVN作为服务器,以TortoiseSVN作为客户端。 1、进入官网,找到下载页面 2、选择版本 3、下载服务器V 阅读全文
posted @ 2019-05-25 03:57 chy_18883701161 阅读(14087) 评论(0) 推荐(2) 编辑
摘要: RandomAccessFile类是Java中操作文件内容功能最强大的类,既可以读,也可以写。 RandomAccessFile支持随机访问,可以直接访问文件的任意位置,在文件的任意位置读写数据。如果要随机访问文件内容,RandomAccessFile是很好的选择。 Random,意为随机、任意,R 阅读全文
posted @ 2019-05-24 21:54 chy_18883701161 阅读(2609) 评论(0) 推荐(0) 编辑
摘要: 在Java中,把不同的输入/输出源(键盘、文件、网络连接等)中的有序数据抽象为流(stream)。 stream(流)是从起源(source)到接收(sink)的有序数据。 通过流的方式,Java可以使用相同的方式来访问、操作不同类型的输入/输出源,不管输入、输出节点是磁盘文件、网络连接,还是其他的 阅读全文
posted @ 2019-05-24 00:52 chy_18883701161 阅读(466) 评论(0) 推荐(0) 编辑
摘要: File类代表与平台无关的文件、目录操作。File类可以操作文件、目录本身,但不能访问、修改文件的内容。 1、构造函数 File(String path); 1 //.代表当前项目的根目录 2 File file=new File("./1.txt"); Windows中用\,要转义,\\。 Lin 阅读全文
posted @ 2019-05-23 17:16 chy_18883701161 阅读(256) 评论(0) 推荐(0) 编辑
摘要: Java的I/O通过java.io包下的类、接口来支持。在java.io包下主要包括输入、输出两种IO流,每种输入、输出流又可分为字符流、字节流两大类。 字符流以字符为单位处理输入、输出操作,字节流以字节为单位处理输入、输出操作。 Java7在java.nio及其子包下提供了一系列全新的API,这些 阅读全文
posted @ 2019-05-23 15:42 chy_18883701161 阅读(413) 评论(0) 推荐(0) 编辑
摘要: Annotation,注解。 常见注解: 1、@Override 限定重写父类的方法。@Override相当于告诉编译器检查这个方法,要保证父类包含一个被该方法重写的方法,否则会编译出错。 主要是为了避免一些低级错误,比如要重写父类的info()方法,我们一不小心写成了inf0(),并不会报错,加上 阅读全文
posted @ 2019-05-21 19:13 chy_18883701161 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 当程序运行出现意外情况时,系统会自动生成一个Exception对象来通知程序。 Exception(异常)、Error(错误)都继承自Throwable。 1 try{ 2 //可能出错的代码 3 } 4 catch(XxxException e){ 5 System.out.println(e.g 阅读全文
posted @ 2019-05-21 02:01 chy_18883701161 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 如果不使用泛型,把一个对象添加到集合中,会被存储为Object型;取出来也是Object型,往往需要强制类型转换。 泛型,即参数化类型(parameterized type)。 使用泛型后,集合中只能存储该类型的对象,存储为该类型,取出来也是该类型。 Java7之前: Java7的菱形语法: Jav 阅读全文
posted @ 2019-05-21 01:53 chy_18883701161 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 1、使用增强的for循环 此种方式可以遍历所有集合,但使用的是临时变量,只能访问集合元素,不能修改。 2、Collection集合可以使用自身的 forEach(Consumer action)方法,Consumer是一个函数式接口,只需实现 accept(element)方法。 此方式只能用于Co 阅读全文
posted @ 2019-05-21 00:17 chy_18883701161 阅读(294) 评论(0) 推荐(0) 编辑
摘要: Collections是操作集合的工具类,提供了大量操作集合的方法,包括查询、修改、排序、同步等。 Collections中的方法均为静态方法。 1、排序 void reverse(List list) 反转 void shuffle(List list) 随机排序(可用于模拟洗牌) void so 阅读全文
posted @ 2019-05-20 22:44 chy_18883701161 阅读(264) 评论(1) 推荐(0) 编辑
摘要: hash系列的集合: HashSet、LinkedHashSet 采用hash算法决定元素在集合中的存储位置 HashMap、LinkedHashMap、Hashtable 采用hash算法决定key在集合中的存储位置 hash表中可以存储元素的位置,被称为bucket(桶)。 在通常情况下,一个b 阅读全文
posted @ 2019-05-20 21:20 chy_18883701161 阅读(1323) 评论(0) 推荐(0) 编辑
摘要: Map的继承关系: Map接口的常用实现类: 1、HashMap、Hashtable(t是小写) HashMap不是线程安全的,key、value的值都可以是null。 Hashtable是线程安全的,key、value的值都不能是null。 HashMap、Hashtable都是无序的。 如果要使 阅读全文
posted @ 2019-05-20 01:49 chy_18883701161 阅读(4659) 评论(0) 推荐(0) 编辑
摘要: Map是双列集合的根接口,用于存储具有映射关系的数据。 根据key来区分每一项、获取对应的value,所以key不能重复。 key、value都可以是任意类型的数据。 Map提供了一个内部类Entry用来封装键值对,一个键值对就是一个Entry实例。 Map的常用方法(所有子类都可以直接使用): v 阅读全文
posted @ 2019-05-20 00:19 chy_18883701161 阅读(229) 评论(0) 推荐(0) 编辑
摘要: List集合有序、元素可重复。以元素的添加顺序作为集合的排列顺序,用下标索引集合中的元素。 List因为使用下标索引元素,所以元素可重复。Set使用元素本身来索引,所以元素不能重复。 List的继承关系: List继承了Collection的所有方法,也有自身的一些方法(下标操作): void ad 阅读全文
posted @ 2019-05-19 22:52 chy_18883701161 阅读(784) 评论(0) 推荐(0) 编辑
摘要: Set接口是Collection接口的子接口,Set集合是无序的(但子类中有很多都是有序的),不能有重复的元素,如果用add()加入一个已有的元素,会添加失败,返回false。 Set接口的继承关系: Set接口的常用实现类: 1、HashSet 按Hash算法来存储元素,具有良好的存储、查找性能。 阅读全文
posted @ 2019-05-19 18:50 chy_18883701161 阅读(288) 评论(0) 推荐(0) 编辑
摘要: Collection集合的继承关系: Collection接口的的常用方法(适用于所有的子接口、子类): boolean add(Object obj) 添加一个元素,添加成功则返回true boolean addAll(Collection c) 添加c中的所有元素 boolean remove( 阅读全文
posted @ 2019-05-19 15:54 chy_18883701161 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 集合可存储类型不同的对象,并可实现栈、队列等常用的数据结构。 数组和集合的区别: 数组长度不可变,不能保存具有映射关系的数据 集合长度可变,可保存具有映射关系的数据(Map) 保存的其实是对象的引用。 Java集合的两个根接口: Collection 单列集合 Map 双列集合,key用于标识项,不 阅读全文
posted @ 2019-05-19 14:57 chy_18883701161 阅读(200) 评论(0) 推荐(0) 编辑
摘要: ProgressBar有2个子控件: SeekBar 拖动条控件 RatingBar 星级评分控件 1、拖动条控件 也可以使用自定义的滑块: 说明: 并不会自动显示对应的刻度值。 滑块可以滑动,但没有事件响应。需要我们在.java文件中添加事件监听: 滑动滑块一次触发的事件: 最先开始时触发 onS 阅读全文
posted @ 2019-05-17 22:01 chy_18883701161 阅读(5266) 评论(0) 推荐(0) 编辑
摘要: ProgressBar是一个进度条控件,一般在需要做某个比较耗时的操作的时候,向用户展示执行进度,以免用户以为已经失去响应。 常用属性: style 设置进度条的样式 visible 是否显示进度条 1、圆形进度条 一个圆形进度条,不断旋转。 常用样式:Widget.ProgressBar.Smal 阅读全文
posted @ 2019-05-16 18:22 chy_18883701161 阅读(1742) 评论(0) 推荐(0) 编辑
摘要: 1、向目标Activity传递数据: 2、在目标Activity中取出数据 目标Activity销毁时,可以回传数据给上一个Activity: 1、启动目标Activity,并设置一个请求码标识当前Activity 2、在目标Activity中回传数据 回传时会把请求码、结果码、Intent数据封装 阅读全文
posted @ 2019-05-16 18:15 chy_18883701161 阅读(7931) 评论(0) 推荐(0) 编辑
摘要: 使用手机上的程序,来分享/发送,比如QQ的“发送到我的电脑”。 1、分享/发送文本内容 通用步骤: 首先将Intent的cation设置为Intent.ACTION_SEND, 其次根据分享的内容设置不同的Type, 然后根据不同的社交平台设置相关Extras, 最后创建并启动选择器 2、分享/发送 阅读全文
posted @ 2019-05-16 16:37 chy_18883701161 阅读(3401) 评论(0) 推荐(0) 编辑
摘要: 1、启动浏览器 也可以写成这样: 2、启动浏览器,转到指定页面 3、启动拨号程序 Uri参数可以写在Intent的构造函数里,也可以setData()单独写: 如果是putExtra,只能单独写: 4、发短信 方式一: 此方式不能设置默认收件人 方式二: 5、发邮件 注意:如果手机上没有对应的该类应 阅读全文
posted @ 2019-05-16 15:39 chy_18883701161 阅读(874) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 下一页