
Java进阶
文章平均质量分 88
默、然
遇到任何事,笑总比哭更能解决问题
展开
-
Java&day14
回顾阻塞和非阻塞的概念 阻塞:方法在没有成功的情况下会一直等待 非阻塞:方法不管是否成功都不等待直接向下执行同步和异步的概念 同步:阻塞的方法有返回值类型就是同步写法 异步:阻塞的方法没有返回值类型有回调函数就是异步写法 ServerSocketChannel和SocketChannel实现连接并收发信息 NIO里面客户端发数据 服务端收数据 Selector选择器 select() :与客户端的连接 selectedkeys() :获取集合,集合原创 2021-01-09 16:32:13 · 113 阅读 · 0 评论 -
Java&day13
回顾Junit进行单元测试 对程序的方法进行测试,可以代替main方法 第三方工具包,需要导入jar包 @Test 测试方法不能有参数和返回值TCP协议特点 面向连接(三次握手),传输安全,效率低UDP协议 面向无连接,传输不安全,效率高,数据包大小限制64K TCP协议下字符串数据传输程序 //创建对象 Socket s = new Socket("服务端ip",服务端端口号); //获取输出流 OutputStream os = s.getOutputStream(原创 2021-01-09 16:31:53 · 114 阅读 · 0 评论 -
Java&day12
回顾Properties属性集 保存键值对信息 添加键值对 setProperty(String key ,String value); 通过键获取值getProperty(String key); 获取所有的键stringpropertyNames() 保存输出 store() 加载输入 load() 缓冲流的特殊功能 字符缓冲输入流 readLine() 字符缓冲输出流 newLine() 转换流读取指定编码的文本文件 InputStreamReade原创 2021-01-09 16:31:31 · 99 阅读 · 0 评论 -
Java&day11
回顾File对象的创建方式 new File("路径"); new File("父路径","子路径"); new File(new File("父路径"),"子路径"); File类常用方法 getName() 获取文件或文件夹名 getAbsolutePath() 获取绝对路径 length() 获取文件的大小(不能获取文件夹) 求文件夹的大小? createNewFile() 创建文件 mkdirs() 创建多层文件夹 delete() 删除一个文原创 2021-01-09 16:30:58 · 127 阅读 · 0 评论 -
Java&day10
回顾线程池 把多个线程放在线程池,用的时候拿出来使用,用完之后再放回线程池,可以反复使用线程对象,提高效率。 死锁产生的原因 要有多个线程 要有多个锁 线程获取到了不同的锁 (同步代码块的嵌套) 说出线程6个状态的名称 新建状态 可运行状态 锁阻塞状态 无限等待状态 计时等待状态 终止状态 理解等待唤醒案例 wait() :等待,调用这个方法之后线程会释放锁给别的线程使用 notify() :唤醒,唤醒正在等待这个锁的某个线程 这两个方法必须使用锁对象来调用原创 2021-01-09 16:30:18 · 107 阅读 · 0 评论 -
Java&day07
1.冒泡排序分析代码实现package com.a;import java.lang.reflect.Array;import java.util.Arrays;import java.util.Scanner;public class demo1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int arr[] = new i原创 2020-08-25 00:36:44 · 97 阅读 · 0 评论 -
Java&day09
1.线程池【知道概念就可以】1.线程池的思想 线程池就是一个容纳线程的容器,线程池中的线程可以反复被使用,减少了创建线程和销毁线程的时间,提高了效率。2.线程池的好处降低资源消耗(不需要反复创建和销毁线程对象)提高响应速度 (线程在线程池中等待被使用)提高线程的可管理性(线程在线程池中方便管理)3.线程池的使用创建对象Executors的方法:public static ExecutorService newFixedThreadPool(int nThreads) :返回线程原创 2020-08-26 22:25:25 · 772 阅读 · 0 评论 -
Java&day08
1.高并发和线程安全1.高并发和线程安全 高并发:多个线程在很短的一段时间内同时执行同一个任务,就叫高并发。双十一,12306抢票,报选修课 线程安全:在高并发的情况下,线程和线程之间可能造成不该出现的逻辑问题,一个线程会影响另一个线程这就是线程安全问题。2.多线程运行机制3.安全性问题-可见性 一个线程看不到另一个线程对数据的操作。代码演示package com.b;public class A extends Thread { //static int a=0;原创 2020-08-26 22:24:33 · 109 阅读 · 0 评论 -
Java&day06
1.Collections工具类【重点】介绍Collections是单列集合的工具类,里面所有的方法都是静态方法,可以对集合进行一些操作。常用方法方法说明static void shuffle(List<?> list)随机打乱集合元素的顺序static void sort(List list)集合的排序(从小到大)static void sort(List list,Comparator<? super T> )按照指定原创 2020-08-19 17:47:36 · 106 阅读 · 0 评论 -
Java&day05
1.Collection1.1集合概述集合的作用:集合是一种容器,用来存储引用数据类型。集合的特点:只能存储引用类型,不能存储基本类型,如果要存基本类型存对应的包装类集合的长度可变。单列集合的体系:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OnEhBsUU-1597769926502)(img\集合体系.png)]1.2Collection常用方法【重点】方法说明boolean add(E e)添加方法原创 2020-08-19 15:39:24 · 108 阅读 · 0 评论 -
Java&day04
1.Arrays类概述:Arrays是数组的工具类。所有的方法都是静态方法,不需要创建对象。一个单词加上s一般就是工具类。常用方法:方法说明static void sort(int[] a)对数组进行排序从小到大static String toString(int[] a)把数组转成字符串示例方法:package com.a;import java.util.Arrays;import java.util.Comparator;publ原创 2020-08-19 00:56:38 · 123 阅读 · 0 评论 -
Java&day03
1.权限修饰符【记住大小顺序】四个权限修饰符public > protected > 空的 > private使用范围本类中本包中不同包的子类中不同包中public√√√√protected√√√空的√√private√代码演示package com.a;public class AAA { //public public void method1(){原创 2020-08-12 20:20:02 · 116 阅读 · 0 评论 -
接口,抽象类
抽象类和接口抽象类abstract抽象方法一定在抽象类中抽象类和抽象方法肯定是被abstract修饰的抽象类不可以用new关键字实例化,实例化一个抽象类没有任何意义如果一定要用抽象类,那么可以使用多态的方式虽然抽象类不能实例化,但是也是有构造器的抽象方法不能被private修饰抽象方法不能被static修饰总结:抽象类就是用来被继承的抽象方法就是用来被实现的实现多态接口Interface:定义接口Implements:实现接口接口中的变量全部是静态常量接口中的原创 2020-08-11 21:29:20 · 213 阅读 · 0 评论 -
Java&day02
1.static关键字1.1static 概述概述:static表示静态,用于修饰(成员变量和成员方法)。被当前类所有对象所共享的变量定义成静态。访问方式:可以使用对象调用 对象.静态成员也可以使用类名调用 类名.静态成员建议:建议使用类名调用示例代码://学生类public class Student { //成员变量 String name; int age; static String school="一中"; /原创 2020-08-11 21:26:49 · 114 阅读 · 0 评论 -
继承,多态
继承和多态:继承:什么是继承:子类继承父类的特征和行为,使得子类具有父类的各种属性和方法。或子类从父类继承方法,使得子类具有父类相同的行为。特点:在继承关系中,父类更通用、子类更具体。父类具有更一般的特征和行为,而子类除了具有父类的特征和行为,还具有一些自己特殊的特征和行为。在继承关系中。父类和子类需要满足is-a的关系。子类是父类。表示父类和子类的术语:父类和子类、超类和子类、基类和派生类,他们表示的是同一个意思。为什么需要继承,什么时候应该继承使用继承可以有原创 2020-08-09 19:26:39 · 280 阅读 · 0 评论 -
封装,继承,多态
封装,继承,多态封装封装就是把普通的对象进行封装,对象的属性设为私有的,对外提供get和set方法,其他类只能通过get和set对对象属性值进行操作。继承:是发生在两个类之间,一个类继承另一个类是说这个类属于另一个类,具有另一个类的所有属性和方法,同时它还可以有另一个类不具备的方法和属性。多态:是建立在继承的基础上的,一个父类对象可以产生多个不同的子类对象,根据这些子类对象的不同可以具备不同的方法,也就是说表现出了不同的形态即多。...原创 2020-08-09 19:24:38 · 121 阅读 · 0 评论 -
Java&day01
1.面向对象回顾1.1知识点回顾 面向对象一共有三个特性,封装,继承和多态,之前学过封装。类与对象类:具有相同属性和相同行为的一类事物的抽象描述。对象:对象是类的具体体现,对象也叫实例。private私有的,可以修饰成员变量和方法。被修饰之后只能在本类中使用,不能在其他类中直接使用。get方法set方法get方法:获取成员变量的值set方法: 给成员变量设置值this可以代表本类对象,谁调用方法this就代表谁局部变量和成员变量重名时,区分成员变量原创 2020-08-08 19:47:23 · 117 阅读 · 0 评论