09 2019 档案

摘要:TCP通信的文件上传案例 本地流:客户端和服务器和本地硬盘进行读写,需要使用自己创建的字节流 网络流:客户端和服务器之间读写,必须使用Socket中提供的字节流对象 客户端工作:读取本地文件,上传到服务器,读取服务器回写的数据 明确数据源 目的地:服务器 客户端代码: 服务器端:读取客户端上传的文件 阅读全文
posted @ 2019-09-30 20:31 学之初 阅读(1139) 评论(0) 推荐(0) 编辑
摘要:客户端类:Socket类 TCP通信的客户端:向服务器发送连接请求,给服务器发送数据,读取服务器的数据,两次IO流 java.lang.Object 继承者 java.net.Socket 构造方法: 1. Socket(String host, int port) 创建一个流套接字并将其连接到指定 阅读全文
posted @ 2019-09-29 21:23 学之初 阅读(637) 评论(0) 推荐(0) 编辑
摘要:打印流 java.lang.Object 继承者 java.io.OutputStream 继承者 java.io.FilterOutputStream 继承者 java.io.PrintStream 与其他输出流不同,PrintStream 永远不会抛出 IOException; 打印的所有字符都 阅读全文
posted @ 2019-09-29 18:29 学之初 阅读(378) 评论(0) 推荐(0) 编辑
摘要:转换流 解决编码格式不统一,出现乱码问题 idea默认utf 8,Windows系统中文默认GBK,如,文件默认保存编码格式为GBK,在FileReader时会报错 InputStreamReader java.lang.Object 继承者 java.io.Reader 继承者 java.io.I 阅读全文
posted @ 2019-09-29 17:45 学之初 阅读(670) 评论(0) 推荐(0) 编辑
摘要:序列化 java中提供了一种对象 序列化 的机制。用一个字节序列可以表示一个对象,该字节对象那个包括 对象的数据 、 对象的类型 、 对象中存储的属性 等信息。字节序列写出到文件之后,相当于文件中 持久保存 了一个对象的信息 反之,该字节序列还可以从文件中读取回来,重构对象,对它进行 反序列化 。对 阅读全文
posted @ 2019-09-29 15:10 学之初 阅读(671) 评论(0) 推荐(1) 编辑
摘要:字节缓冲流 缓冲流可以提高效率,基本原理是在创建对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统的IO次数,从而提高读写效率 缓冲输出流:BufferedOutputStream java.io 类 BufferedOutputStream 继承者 java.io.Output 阅读全文
posted @ 2019-09-28 11:18 学之初 阅读(527) 评论(0) 推荐(1) 编辑
摘要:IO相关的集合类 java.util.Properties集合 extends hashtable(淘汰) Properties类表示了一个持久的属性集。Properties可保存流中或从流中加载 Properties集合是一个唯一和IO流相结合的集合 1. 可以使用Properties集合中的方法 阅读全文
posted @ 2019-09-26 18:47 学之初 阅读(205) 评论(0) 推荐(0) 编辑
摘要:字符输入流 java.io.Reader: 字符输入流的顶层抽象父类 共性的成员方法: 1. int read() 读取单个字符,并返回。 2. int read(char[] cbuf) 将字符读入数组。 3. abstract int read(char[] cbuf, int off, int 阅读全文
posted @ 2019-09-24 21:15 学之初 阅读(726) 评论(0) 推荐(0) 编辑
摘要:IO流 I:input 输入(读取),eg:把硬盘的内容读取到内存 O: output 输出(写入) eg:把内存中的东西写入硬盘保存 流:数字(字符/字节) 一般1个字符=2Byte,1Byte = 8bit 字节流可以读取任意文件:音乐/图片/..., 抛出文件不存在异常,这里统一throws扔 阅读全文
posted @ 2019-09-23 22:45 学之初 阅读(810) 评论(0) 推荐(0) 编辑
摘要:java.io.File类 文件和路径名的抽象表达形式 java把电脑中的文件和文件夹(目录)封装了一个File类,我们可以使用File类对文件和文件夹进行如下操作 1. 创建一个文件/文件夹 2. 删除 3. 获取 4. 判断文件/文件夹是否存在 5. 文件夹遍历 6. 获取文件大小 注:File 阅读全文
posted @ 2019-09-19 21:42 学之初 阅读(469) 评论(0) 推荐(0) 编辑
摘要:线程间的通信: 等待唤醒机制 多个线程在操作同一份数据时,避免对同一变量进行争夺 目的:有效利用资源 重点:对资源占用的判断 TimeWaiting 计时等待 1. 使用sleep(long m)方法,线程睡醒进入Runnable/Blocked(阻塞状态) 2. 使用wait(long m),毫秒 阅读全文
posted @ 2019-09-18 12:37 学之初 阅读(138) 评论(0) 推荐(0) 编辑
摘要:使用 Lambda 的方式实现线程 线程中 () 是run方法的(),可用来接受参数,格式: Lambda 标准格式: 1. 一些参数 ():接口中抽象方法的参数列表,无,就空着 2. 一个箭头 :把参数传递给代码块{} 3. 一段代码块 {}:重写接口的抽象方法的方法体 Lambda表达式,是可推 阅读全文
posted @ 2019-09-17 23:06 学之初 阅读(467) 评论(0) 推荐(1) 编辑
摘要:线程池: 实现线程的复用,无须反复创建线程而消耗过多的资源,提高响应速度 可用集合来实现 容器 集合(ArrayList,HashSet,LinkedList,HashMap) 原理: 当程序第一次启动时,创建多个线程,使用时采用 Thread T=list.remove() ,即可调用线程 同理也 阅读全文
posted @ 2019-09-16 18:40 学之初 阅读(622) 评论(0) 推荐(0) 编辑
摘要:package cn.learn.thread.ThreadSafe; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /* 实现Runnable必须重写run()方法 安全问题解决方案:synchronized同步机制 -在共享数据操作的位置进行... 阅读全文
posted @ 2019-09-15 22:41 学之初 阅读(665) 评论(0) 推荐(0) 编辑
摘要:1 package cn.learn.thread.Thread; 2 /* 3 匿名内部类方式的实现线程的创建 4 5 匿名:没有名字 6 内部类:写在其他类的内部 7 8 作用:简化代码,不用单独写一个类,来设置线程任务 9 把子类继承父类,重写父类方法,创建子类对象合成一部完成 10 或者实现类实现接口,重写... 阅读全文
posted @ 2019-09-14 17:36 学之初 阅读(270) 评论(0) 推荐(0) 编辑
摘要:package cn.learn.thread.Thread; /* 实现Runnable必须重写run()方法,一般推荐用Runnable实现 */ public class RunnableImpl implements Runnable { @Override public void run() { System.out.println(Thread.currentThread().getN 阅读全文
posted @ 2019-09-14 17:33 学之初 阅读(1371) 评论(0) 推荐(0) 编辑
摘要:/* 自定义异常类 java提供的异常类,不够我们使用,需要自己定义一些异常类 格式: public class XXXException extends Exception/runtimeException{ 添加一个空参数的构造方法 添加一个带异常信息的构造方法 } 注: 1.自定义异常类一般是Exception结尾,说明该类是一个异常类 2.必须继承Exception/RuntimeExce 阅读全文
posted @ 2019-09-13 21:23 学之初 阅读(3119) 评论(0) 推荐(0) 编辑
摘要:package cn.learn.Map; /* java.util.Hashtable implements Map 早期双列集合,jdk1.0开始 同步的,单线程,安全,慢,底层也是哈希表 与HashMap不一样的是,Hashtable key,value不允许存储null Hashtable与vector一样被多线程集合HashMap和ArrayList取代 但是Hashtable的子... 阅读全文
posted @ 2019-09-11 23:27 学之初 阅读(593) 评论(0) 推荐(0) 编辑
摘要:package cn.learn.collection.Collections; /* 排序的对象的类,实现comparable借口,重写compareto方法 若要打印必须重写toString方法,会默认调用 */ public class Person implements Comparable<Person>{ private String name; private int age; @O 阅读全文
posted @ 2019-09-11 23:16 学之初 阅读(911) 评论(0) 推荐(0) 编辑
摘要:package cn.learn.collection.FanXing; /* 泛型的上限限定,格式? extend E 代表使用的泛型只能是E类型的子类/本身 泛型的下限限定,格式? super E 代表使用的泛型只能是E类型的父类/本身 */ public class GenericControl { } package cn.learn.collection.FanXing; /* 定义一个 阅读全文
posted @ 2019-09-09 21:25 学之初 阅读(250) 评论(0) 推荐(0) 编辑
摘要:1 package cn.learn.collection.Set; 2 3 import java.util.HashSet; 4 import java.util.Iterator; 5 import java.util.LinkedHashSet; 6 7 /* 8 java.LinkedHashSet extends HashSet集合 9 特点:底层是一个哈希表(数组+链表/红黑树)+链 阅读全文
posted @ 2019-09-09 21:14 学之初 阅读(1594) 评论(0) 推荐(0) 编辑
摘要:1 package cn.learn.collection.Set; 2 3 import java.util.Objects; 4 5 public class IsPerson { 6 private int age; 7 private String name; 8 9 //ide自动生成 10 @Override 11 public boolean equals(Object o) { 1 阅读全文
posted @ 2019-09-09 20:53 学之初 阅读(796) 评论(0) 推荐(0) 编辑
摘要:1 package cn.learn.collection; 2 3 import java.util.Collection; 4 import java.util.HashSet; 5 import java.util.Iterator; 6 7 /* 8 java.util.Iterator 9 迭代器:主要用于遍历访问collection,遍历前都会先判断集合是否为空 10 11 Itera 阅读全文
posted @ 2019-09-09 20:51 学之初 阅读(206) 评论(0) 推荐(0) 编辑
摘要:1 package cn.learn.collection; 2 3 import cn.learn.basic.Phone; 4 5 /* 6 哈希值:是一个十进制的整数,由系统随机给出(就是对象的地址值),是一个逻辑地址,是模拟出来的地址,不是数据实际存储的物理地址 7 在祖宗类Object中,有个方法可以获取哈希值 8 public int hashCode(); 9 hashCode方法源 阅读全文
posted @ 2019-09-09 20:49 学之初 阅读(223) 评论(0) 推荐(0) 编辑
摘要:1 package cn.learn.collection; 2 3 import java.util.ArrayList; 4 import java.util.Collection; 5 6 /* 7 在java.util.Collection中,是一个Interface 8 -所有单列集合最顶层的接口,里面定义了所有单列集合的共性方法 9 -任意单列集合都可以使用Collection接口里的 阅读全文
posted @ 2019-09-09 20:47 学之初 阅读(318) 评论(0) 推荐(0) 编辑
摘要:package cn.learn.collection.List; import com.sun.source.tree.NewArrayTree; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /* java.util.List接口 extends Collection接口 1.有索引, 阅读全文
posted @ 2019-09-09 20:44 学之初 阅读(4847) 评论(1) 推荐(1) 编辑
摘要:1 package cn.learn.collection; 2 3 import java.util.LinkedList; 4 import java.util.Queue; 5 6 /* 7 java.util.xxx 8 9 ArrayList是接口List的实现类 -底层是数组,查询快,效率低,增删慢 10 add低层代码实际是原数组长度+1;由此生成新数组,再将内容复制进去 11 12 阅读全文
posted @ 2019-09-09 16:04 学之初 阅读(308) 评论(0) 推荐(0) 编辑
摘要:1 package cn.learn; 2 3 import java.util.ArrayList; 4 5 /* 6 包装类 java.lang中,基本运算类型效率高 7 装箱:把基本类型数据包装为包装类 8 1.构造方法 9 Integer i = new Integer(可以是int,也可以是String的整数值) 10 拆箱:在包装类中取出基本类型 11 12 基本类型与字符串类型的相互 阅读全文
posted @ 2019-09-08 22:19 学之初 阅读(321) 评论(0) 推荐(0) 编辑
摘要:1 package cn.learn; 2 /* 3 字符串缓冲区 -缓冲可提高效率 4 java.lang.StringBuilder 5 字符串的底层是一个被final修饰的数组,不能改变,是一个常量 6 private final byte[] value; 7 也就是说在字符串相加时,会生成多个字符串,占用空间效率低下 8 eg:String str = "a"+"b"+"c" 9 会有a 阅读全文
posted @ 2019-09-08 22:16 学之初 阅读(452) 评论(0) 推荐(0) 编辑
摘要:1 package cn.learn; 2 /* 3 System类在java.lang.System,和操作系统有关 4 1.currentTimeMillis直接调用,是一个返回为long型的静态方法 5 常用来计算程序运行的效率 6 2.public static void arraycopy(Object src, 7 int srcPos, 8 Object dest, 9 int de 阅读全文
posted @ 2019-09-07 22:35 学之初 阅读(225) 评论(0) 推荐(0) 编辑
摘要:字符串缓冲区 -缓冲可提高效率 1 package cn.learn; 2 /* 3 字符串缓冲区 -缓冲可提高效率 4 java.lang.StringBuilder 5 字符串的底层是一个被final修饰的数组,不能改变,是一个常量 6 private final byte[] value; 7 也就是说在字符串相加时,会生成多个字符串,占用空间效率低下 8 eg:String str = " 阅读全文
posted @ 2019-09-07 22:33 学之初 阅读(205) 评论(0) 推荐(0) 编辑
摘要:1 package cn.learn; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Calendar; 6 import java.util.Date; 7 /* 8 Date:精确到毫秒,Date()获取当前的毫秒值,是于格林时间的差值 9 java.ut 阅读全文
posted @ 2019-09-07 22:32 学之初 阅读(530) 评论(0) 推荐(1) 编辑
摘要:1 /* pages/classic/classic.wxss */ 2 3 .chunk { 4 /* 行内元素可设置但是设置了flex,无效了 *//* display: inline-block; */ 5 width: 100px; 6 height: 100px; 7 } 8 9 .colour1 { 10 background-color: #5fffff; 11 font-size: 阅读全文
posted @ 2019-09-07 22:30 学之初 阅读(346) 评论(0) 推荐(0) 编辑
摘要:package cn.learn.Practice03; public interface UsbInterface { void open(); //打开usb void close(); //关闭usb } package cn.learn.Practice03; public class Keyboard implements UsbInterface { @Override public 阅读全文
posted @ 2019-09-05 22:34 学之初 阅读(439) 评论(0) 推荐(0) 编辑
摘要:1 package cn.learn.Polymorphism; 2 3 public class Fu { 4 public void method(){ 5 System.out.println(",父类子类都有的方法,父类方法运行"); 6 7 } 8 public void methodFu(){ 9 System.out.println("父类独有,子类没有的的方法运行"); 10 } 阅读全文
posted @ 2019-09-05 22:29 学之初 阅读(369) 评论(0) 推荐(0) 编辑
摘要:package cn.learn.Final; /* 当final用来修饰类 1.该类不能有任何子类,成员方法均无法覆盖重写,但可以重写父类的方法 当final用来修饰方法 1.该方法不能被覆盖重写 2.但不能和 abstract 同时使用,抽象方法没有方法体,矛盾 当final用来修饰局部变量 1.该变量不可改变,一次赋值终生不变 注:对于基本类型来说,数值不可改变 对于引用类型来说地址值不可改 阅读全文
posted @ 2019-09-05 22:27 学之初 阅读(1166) 评论(0) 推荐(0) 编辑
摘要:package cn.learn.Interface; public interface MyInterfaceA { public abstract void methodA(); public abstract void methodAbs(); public default void methodDefault(){ System.out.println... 阅读全文
posted @ 2019-09-04 22:58 学之初 阅读(649) 评论(0) 推荐(0) 编辑
摘要://总结:格式化输出,熟悉随机数的生成,ArrayList的运用 阅读全文
posted @ 2019-09-03 23:16 学之初 阅读(343) 评论(0) 推荐(0) 编辑
摘要:package cn.learn.chouxiang; /* 抽象方法:就是在成员方法前加上abstract关键字,去掉大括号,分号结束 实际意义一般在父类表示某种东西的行为,但行为的发生情况不一样 抽象类:含有抽象方法的类必须是抽象类,抽象类中不必包含抽象方法 如何使用抽象类和抽象方法: 1.不能直接 new 抽象类,必须用子类继承抽象类 2.子类必须重写抽象类所有的抽象方法,不用再加abstr 阅读全文
posted @ 2019-09-03 23:13 学之初 阅读(238) 评论(0) 推荐(0) 编辑
摘要:package cn.learn.extend; /* 定义一个父类 */ public class Employee { int num=20; private int age; private String name; public int getAge() { return age; } public void... 阅读全文
posted @ 2019-09-02 22:46 学之初 阅读(205) 评论(0) 推荐(0) 编辑
摘要:package cn.learn.basic; /* java.util.Math类含有大量的静态方法 public static double abs(double num) -求double绝对值 public static double ceil(double num) -向上取整 public static double floor(double num) -向下取整 public sta 阅读全文
posted @ 2019-09-01 21:15 学之初 阅读(216) 评论(0) 推荐(0) 编辑
摘要:1 package cn.learn.basic; 2 3 import java.util.Arrays; 4 5 /* 6 java.util.Arrays是一个与数组相关的工具类,含有大量静态方法,用来实现数组常见的操作 7 public static String toStrong(数组) -将参数数组变成字符串,只要是数组就可以放(格式默认生成[元素1,元素2,...]) 8 publi 阅读全文
posted @ 2019-09-01 21:14 学之初 阅读(743) 评论(0) 推荐(0) 编辑
摘要:package cn.learn.basic; /* 程序当中所有双引号字符串,都是String类的对象,就算没有new,仍然是 字符串特点: 1.字符串内容不可改变,且字符串可共享使用 2.底层原理是byte[]字节数组,字节是数据存储的最小单位 字符串常量池 1.在String创建的字符串,直接双引号生成的字符串存在字符串常量池(heap)中,此时若串比较即为true 2.在双引号生成字符串中 阅读全文
posted @ 2019-09-01 18:06 学之初 阅读(219) 评论(0) 推荐(0) 编辑
摘要:1 package cn.learn.basic; 2 3 import java.util.ArrayList; 4 5 /* 6 数组里存入对象 7 引用类型-对象数组ArrayList 8 在Phone[] myPhone=new Phone[3];缺点:一旦创建程序运行期间,长度不可以改变 9 10 ArrayList集合与Phone[]数组的区别 11 1.ArrayList可以改变长度 阅读全文
posted @ 2019-09-01 18:05 学之初 阅读(206) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示