
学习笔记
Wildmess
这个作者很懒,什么都没留下…
展开
-
笔记(二十一):集合框架
集合框架Collection接口Collection操作对象集合中元素保存对象的引用其它类型保存对象的方法集合对集合的操作迭代器增强for循环遍历数组遍历集合LIst接口Collection接口Collection操作对象Collection是集合框架的父接口,其中包含的方式是所有集合对象都可以调用的下面演示的集合对象的基本API的操作:package collection;import java.util.ArrayList;import java.util.Collection;/*原创 2020-11-05 23:07:16 · 607 阅读 · 0 评论 -
笔记(二十):集合框架概述
集合框架概述什么是集合框架为什么需要集合框架集合与数组的区别集合的分类基本API的使用什么是集合框架java.util.Collection接口以及其子接口和众多实现类集合框架具备了能够存放各种元素的功能,类似数组,但绝不等于数组为什么需要集合框架一个数组对象也可以保存各种元素,那为啥还需要集合呢?因为集合除了能保存各种元素之外,还封装了对数组元素维护的基本方法比如添加\删除元素,无需手动编写代码,而且集合还没有长度固定的限制条件,使用起来更方便。集合与数组的区别集合数组原创 2020-10-09 20:12:57 · 258 阅读 · 0 评论 -
群聊聊天室
群聊聊天室服务端客户端改进好多线程聊天室,虽然一定程度上实现了多个用户的聊天进行,但是所有的聊天信息都是显示在服务端的,而这是不显示的。改进代码,使用户可以在自己的客户端看到自己及其他的用户信息。服务端package com.tedu.socket;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileNotFoundExce原创 2020-10-09 19:35:51 · 597 阅读 · 0 评论 -
多线程聊天室
多线程聊天室服务器端客户端前面写成的聊天室,经过实际运行,我们很容易发现,写好的程序仅且仅可以运行一个客户端,而这显然是不行,下面引入多线程来改进代码。服务器端package com.tedu.socket;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.Inp原创 2020-10-09 18:57:11 · 251 阅读 · 0 评论 -
笔记(十九):高级线程
高级线程线程的优先级线程休眠休眠唤醒守护线程线程插队线程的优先级package com.tedu.thread;/** * 线程优先级测试 * * 线程启动后纳入线程调度,线程时刻处于被动获取CPU时间片而无法主动获取 * 我们可以通过调整线程的优先级来最大程度的干涉线程调度分配时间片的几率 * 理论上优先级越高获取CPU时间片的次数越多 * 线程优先级有10个等级 10为最高 1为最低 * setPriority() 设置优先级 * * @author Wildmess *原创 2020-10-08 21:17:16 · 123 阅读 · 0 评论 -
笔记(十八):线程基础
线程基础进程和线程进程线程多线程线程的创建第一种创建方式第二种创建方式综合两种方式使用匿名内部类的方式创建进程获取当前线程线程信息的常见API进程和线程进程每个独立执行的程序都可以被为一个进程,也就是正在执行的程序(是由操作系统操控的)真正负责执行代码的硬件是CPU,同一时刻CPU只能干一件事系统可以为每一个进程一段有限的使用CPU的时间,也可以称之为CPU时间片线程线程是进程中的任务执行序列线程就是一个正在运行的进程中的一个任务多线程一个进程中可以同时包含多个线程,每个线程可以得到原创 2020-10-08 20:25:06 · 110 阅读 · 0 评论 -
笔记(十七):网络编程
网络编程C\S与B\S架构TCP与UDPJava网络编程C\S与B\S架构C\S: Client\Server,即客户端\服务器;B\S: Browser\Server,即浏览器\服务器,本质上,浏览器就是一个标准化的客户端。TCP与UDP谈网络一定要线讲述两种网络协议:TCP:可靠传输协议(既保证信息发送成功,也保证信息接受成功,否则就重新发送)传输的信息必须保证送达计算机,但是速度慢,占资源多UDP:不可靠传输协议(只保证信息发送成功,不保证信息接受成功)传输的信息不保证送达目标计算机原创 2020-10-08 19:29:55 · 133 阅读 · 0 评论 -
笔记(十六):异常高级
异常高级throw关键字异常的分类子类重写父类方法时throws规则自定义异常类使用自定义异常类throw关键字throws关键字表示一个方法中可能发生的异常类型一个方法表明方法中可能抛出的异常类型后,调用它的方法可以处理这些可能发生的异常方式如下:publi void dosome() throws IOException,NullPointerException{}其中dosome是方法名,IOException,NullPointerException是可能发生的异常类型异常的分类原创 2020-10-07 20:34:09 · 144 阅读 · 0 评论 -
异常综合练习
异常综合练习下面示例经常出现在面试过程中,需要了解运行过程和执行结果package com.tedu.exception;/** * 异常综合练习 * * @author Wildmess * *不管怎样都会执行的语句 *finally(关键字,常量),fianlly(异常中的块),finalize(Object类中的方法) */public class FinallyDemo4 { public static void main(String[] args) { System原创 2020-10-07 19:56:31 · 163 阅读 · 0 评论 -
笔记(十五):异常
异常什么是异常什么是异常处理为什么需要异常处理如何处理异常try-catch异常处理实例finally块finally实例基本功能实例利用finally块关闭IO流什么是异常异常就是在程序运行过程中发生了无法继续执行代码的情况异常就是程序的运行不同于正常情况谁也不能保证自己写好的程序没有一个异常出现。什么是异常处理就是在程序发生异常后的补救措施,就是发生异常后执行的代码为什么需要异常处理一旦发生异常,如果不处理,程序就会终止处理异常后程序就继续运行,保证了程序的健壮性如何处理异常使用t原创 2020-10-07 19:48:45 · 136 阅读 · 0 评论 -
PriterWriter综合运用——简易记事本编写练习
简易记事本编写练习综合练习:简易记事本综合练习:简易记事本需求如下:1.程序启动后,要求用户输入文件名,然后对该文件进行操作2.在控制台输入的每一行字符串都按行写入到该文件中3.当用户单独输入exit时程序退出package com.tedu.io;import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOExce原创 2020-10-07 18:55:10 · 238 阅读 · 0 评论 -
笔记(十四):字符流
字符流(一)字节流转换字符流输出字节流转换字符流输入阿斯顿java IO按照读写单位将流分为了两类:1.字节流:InputStream,OutputStream读写单位为字节;2.字符流:Reader,Writer读写单位为字符在使用字节流读取写入数据的时候,要将对应的字符转换为相关的字节数据,涉及到GBK,UTF-8等字符集的问题但如果使用了字符流来操作数据时,就不用考虑这些问题了。字节流转换字符流输出我们所获取的IO对象通常是字节流要想获得字符流,首先一定要将其转换,而使用转换流将字节流原创 2020-10-07 18:40:31 · 173 阅读 · 0 评论 -
笔记(十三):序列化和反序列化
序列化和反序列化序列化目标Person类Person类序列化操作反序列化操作java是一门面向对象的语言,在java中有一组功能强大的流类型:对象流:java.io.ObjectOutputStreamjava.io.ObjectInputStream对象流是一对高级流,可以读写java中任何对象对象输出流负责在写出对象的过程中,将对象按照结果转换为一组字节(对象序列化)对象输出流负责在读取对象的过程中将字节还原为对象(对象反序列化)序列化目标Person类序列化对象,需要使用对象流的vo原创 2020-09-27 17:19:14 · 137 阅读 · 0 评论 -
笔记(十二):IO操作
IO操作文件流复制文件直接复制使用缓冲流复制文件缓冲流的flush方法文件流复制文件我们使用过RandomAccessFile对象进行过文件复制,但是复制的过程比较麻烦。而java的IO提供了功能更强大的类型来进行类似的操作。直接复制package com.tedu.io;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import ja原创 2020-09-27 16:31:52 · 148 阅读 · 0 评论 -
笔记(十一):JavaIO基础
JavaIO基础什么是IOIO分类IO的使用写操作读操作什么是IOIO:Input,Output,java的标准输入输出。javaIO是以标准的操作对外界设备进行数据交换,并将读写分为输入和输出。IO是顺序读写方式,只能顺序向后进行读或写操作,并不像RandoAccessFile一样可以同时进行,或者任意读写。就功能而言,两者一样,但是RAF的灵活性上远远不如IO,基于流连接可以完成复杂数据的读写。IO分类按方向:java.io.inputStream : 所有字节输入流的超类规定了读取字原创 2020-09-24 17:11:35 · 140 阅读 · 0 评论 -
笔记(十):RandomAccessFile类(五):RandomAccessFile实战
RandomAccessFile实战注册用户查询用户信息修改用户信息总结注册用户利用RandomAccessFile类完成一个用户的注册功能,该用户信息占100字节,其中姓名,昵称,密码等占32个字节,年龄占4字节。package com.tedu.raf;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;import java.util.Arrays原创 2020-09-24 16:29:53 · 362 阅读 · 0 评论 -
笔记(十):RandomAccessFile类(四):RAF中指针的操作与移动
RAF中指针的操作与移动RAF中指针的操作与移动RAF中指针的操作与移动package com.tedu.raf;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;/** * 读写数据以及RAF的指针操作 * @author Wildmess * */public class RafSeekDemo { public static void原创 2020-09-21 21:23:53 · 458 阅读 · 0 评论 -
RandomAccessFile的实战使用——简易记事本综合练习
简易记事本综合练习利用已经学习过的RandomAccessFile的相关知识,尝试写出一个可以简单读写的简易记事本。package com.tedu.raf;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;import java.util.Scanner;/** * 写一个简易记事本 * 1.程序启动后用户输入一个文件名 * 2.针对这个文件原创 2020-09-21 20:46:53 · 328 阅读 · 0 评论 -
笔记(十):RandomAccessFile类(三):文件的复制
RandomAccessFile类(三)向一个文本中写入数据向一个文本中读出数据向一个文本中写入数据使用byte类型数组写入数据到文本中package com.tedu.raf;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;/** * 向一个文件中写入文本,尤其是中文文本 * @author Wildmess * */public cl原创 2020-09-21 20:32:56 · 191 阅读 · 0 评论 -
笔记(十):RandomAccessFile类(二):文件的复制
RandomAccessFile类(二)复制文件复制文件优化复制文件配合write()和read(),将指定的文件复制到新的位置。其实质就是不断的重复读出、写入俩个操作,下面是实现的代码:package com.tedu.raf;import java.io.IOException;import java.io.RandomAccessFile;/** * 使用RandomAccessFile实现文件的复制 * @author Wildmess * */public class原创 2020-09-20 21:27:43 · 334 阅读 · 0 评论 -
笔记(十):RandomAccessFile类(一):基础的读出与写入
RandomAccessFile类(一)什么是RandomAccessFile类为什么需要RandomAccessFile类RandomAccessFile类的使用基本认识向文件中写入内容向文件中读取内容什么是RandomAccessFile类java.ioRandomAccessFile类能对文件中的内容进行读写操作为什么需要RandomAccessFile类因为File类能对文件进行基本操作,但不能操作文件的内容,但RandomAccessFile类可以对文件的内容进行任意的读写RandomA原创 2020-09-14 20:29:37 · 537 阅读 · 1 评论 -
笔记(九):包装类
包装类什么是包装类为什么需要包装类包装类的使用包装类与基本数据类型的转换包装类的功能自动装箱什么是包装类每个基本数据类型对应一个包装类包装类对象就是基本数据类型的对象形式基本数据类型基本类型父类intjava.lang.Integerjava.lang.Numberlongjava.lang.Longjava.lang.Numberdoublejava.lang.Doublejava.lang.Numbershortjava.lang.Short原创 2020-09-14 19:52:47 · 323 阅读 · 0 评论 -
笔记(八):File类的使用(二)
File类(二)创建一个空的文件夹创建一个多级文件夹删除一个空的文件夹删除一个多级文件夹文件过滤器创建一个空的文件夹package com.tedu.file;import java.io.File;/** * 创建一个文件夹 * @author Wildmess * */public class CreateDirDemo { public static void main(String[] args) { /** * 创建一个空文件夹 */ File dir原创 2020-09-14 19:18:30 · 141 阅读 · 0 评论 -
笔记(八):File文件(一)
File文件使用File类获取文件信息文件的创建删除文件File类处于java.io.File类中,其中的File对象用于表示硬盘上的一个文件或者文件夹,实际是代表了一个路径。我们使用Java程序都只是单单控制自己定义的变量等,但我们还有可能直接去操作硬盘上的信息,因此我们就需要学习File类的使用。使用File类获取文件信息右键项目名,创建一个新文件夹file,在右键创建一个txt.txt文件package com.tedu.file;import java.io.File;/**原创 2020-09-13 23:18:47 · 241 阅读 · 0 评论 -
笔记(七):Objecct类中toString()和equals方法的使用
Objecct类的使用Object类中常见方法——toString(),equals()使用代码测试Object类中常见方法——toString(),equals()使用package com.tedu.obj;/** * Object类是所有类的顶级父类 * Object类中也定义了一些方法 * toString:将当前对象转换为字符串 * equals: * 这些方法被我们直接调用的机会不多,但是我们使用的 * 这些API常常会自动调用他们,为了更好的使用 * 我们通常会重写这俩方原创 2020-09-12 11:11:35 · 213 阅读 · 0 评论 -
笔记(六):正则表达式(二)
正则表达式(二)字符串的拆分字符串替换/删除检验性小实例一些适合使用正则表达式的字符串API字符串的拆分package com.tedu.String;import java.util.Arrays;/** * 利用正则表达式实现字符串的拆分 * String的split方法 * 支持使用正则表达式作为条件 * 将当前字符串分割成一个字符串数组 * @author Wildmess * */public class SpitDemo { public static void原创 2020-09-11 15:15:45 · 140 阅读 · 0 评论 -
笔记(六):正则表达式(一)
正则表达式正则表达式字符说明预定义字符数量词程序检验正则表达式是能够描述字符串的格式的一种形式,在人机交互时,可以让计算机验证用户输入的内容是否匹配正则表达式字符说明正则表达式说明[abc]a、b、c中任意一个字符[^abc]除了a、b、c的任意一个字符[a-z]a-z中任意一个字符[a-zA-Z0-9]a-z、A-Z、0-9中任意一个字符[a-z&&[^bc]]a-z中除了b和c以外的任意一个字符,&&表示“与”关原创 2020-09-11 14:56:05 · 140 阅读 · 0 评论 -
笔记(五):StringBuilder可变长度字符串的常用API使用
StringBuilder可变字符串的常用API使用增删改查增删改查package com.tedu.String;public class StringBuilderDemo2 { public static void main(String[] args) { StringBuilder bu = new StringBuilder("要好好学习啊"); /* * 追加增删改查功能: */ //增加字符串: //append(String str) bu.ap原创 2020-09-11 14:07:41 · 179 阅读 · 0 评论 -
笔记(四):StringBuilder可变长度字符串
StringBuilder可变长度字符串什么是可变长度字符串为什么需要StringBuilderStringBuilder的使用什么是可变长度字符串StringBulder类在java.lang包下,该类维护一个可变长度字符串。它本身并不是字符串,二十提供维护字符串功能的API为什么需要StringBuilder因为String类型对象不可变,在频繁修改时性能低下哎,内存开销大,所以在频繁修改字符串时,需要避免使用String类型。例如:package com.tedu.String;/**原创 2020-09-11 13:46:02 · 1124 阅读 · 0 评论 -
笔记(3):String中常见API的使用(二)
目录String中常见API的使用(二)4.去掉字符串两边的空格5.获取指定位置的字符6.判断当前字符串是否为给定的字符结尾7.将给出的字符串转换为全大写或者全小写8.将基本类型转换为字符串类型String中常见API的使用(二)4.去掉字符串两边的空格package com.tedu.String;/** * trim() * 方法功能是去掉当前字符串俩边的空格 * @author Wildmess * */public class TrimDeno { public static原创 2020-09-10 23:12:00 · 103 阅读 · 0 评论 -
笔记(3):String中常见API的使用(一)
目录String中常见API(一)查找字符串的长度查找给定字符在字符串中位置截取字符串API调用使用练习String中常见API(一)查找字符串的长度package com.tedu.String;/** * length():返回当前字符串对象中字符的个数,实际上就是char类型数组的长度 * * @author Wildmess * */public class StrLengthDemo { public static void main(String[] args) {原创 2020-09-10 22:32:41 · 126 阅读 · 0 评论 -
笔记(2):String字符串的使用
String字符串的使用package com.tedu.String;/** * 字符串是不可变对象,内容一旦创建不可修改 * 若改变,一定是创建了(引用)新对象 * * @author Wildmess * */public class StringDemo1 { public static void main(String[] args) { /* * java中推荐我们使用""引起来字符串对象来直接赋值的方法 *也就是推荐字面量直接赋值给变量 *好处就原创 2020-09-10 21:50:51 · 104 阅读 · 0 评论 -
笔记(1):文档注释的相关使用
文档注释的相关使用package com.tedu.doc;/** * * 这个类是用来演示文档注释所用 * 文档注释一般作用于:类、方法、属性等 * 一般用来编写当前类、方法、属性等的功能或者是设计目的的描述 * 常用的如: * author:作者; * since:从什么时候JDK版本开始,或者说是可以最低运行在什么版本; * version:版本号 * see:可以说这个类与什么其他类有关系 * * @author Wildmess * @since JDK1.5 *原创 2020-09-10 21:06:10 · 312 阅读 · 0 评论