
Java基础学习
文章平均质量分 63
Java基础学习
哥,你好猛
这个作者很懒,什么都没留下…
展开
-
20.网络五子棋
网络五子棋工具组件 commons 双端都需要使用的类 单独开发 以jar形式添加到客户端和服务器端使用 1.右键资源项目 导出 选择 JAR file 导出成.jar文件 2.在要使用该资源的项目中 创建lib文件夹 复制.jar文件 3.右键点击.jar文件 build path—>add to build path 可以访问.jar文件中的类 实体类: Chess 棋子类 User 用户类 各种消息类: RegisterMessage原创 2021-08-03 09:23:49 · 96 阅读 · 0 评论 -
19.网络编程
网络编程CS应用程序:在双端开发过程中 实现信息在客户端和服务器端之间传输网络编程三要素: 1.协议: UDP协议:无连接通信协议 不会去判断对方是否在线 不建立真正的逻辑连接 缺点:安全性低 数据完整性低 优点:消耗资源少 传输效率高 用于 音频 视频 电话电视会议 TCP/IP协议:安全性高 传输数据更完整 三次握手机制:保证对方在线 建立真正连接 第一次握手:客户端向服务器端发送请求 第二次握手:服务器端原创 2021-08-03 09:25:05 · 92 阅读 · 0 评论 -
18.线程安全
线程安全成因:多个线程同时操作同一个数据 并且其中有数据的修改更新 大概率会出现数据异常问题(数据在内存中修改更新的速度 慢于CPU在各个线程间切换的速度)结果:出现重复数据 出现并不存在的数据解决方案一: 添加同步代码块 将线程更新数据的代码保护起来 没有执行完毕前 其他线程无法进入 效果:某一个线程未执行完毕同步代码块内部代码之前 其他线程一直处于就绪状态 且获取不到CPU 实现逻辑: 1.某个线程获取CPU时间片段后 进入同步代码块 同时 会获得一把对象锁(标记) 带着锁进入代原创 2021-08-03 09:22:37 · 122 阅读 · 1 评论 -
17.线程
线程进程:正在运行的程序线程:程序运行过程中的一个小单元例如:开门开窗户卖票到关窗户关门 结束卖票 进程 其中任意一个窗户可以实现一定任务 线程关系:进程中 至少包含一个线程 线程一定属于某个进程多线程配置:当执行多线程任务时 其实是CPU在各个线程中快速切换 时间非常短 感觉是在同时执行例如:可以通过增加下载任务的线程 更多几率的获取CPU处理权限CPU时间片段分配原则: 1.分时调度:所有线程轮流使用CPU的使用权 平均分配给每个线程时间片段 2.抢占式调度:优先级高的会大概原创 2021-08-03 09:21:26 · 111 阅读 · 0 评论 -
16.IO流
IO流I:input 读入 (字符流 字节流)------》持久化数据—》临时数据o:output 写出 (字符流 字节流)-------》临时数据----》持久化数据概念:将数据通过方法变为一连串字节或者字符 而IO流就是传输字节或字符的载体File文件类 java提供的可操作本机文件目录的方法 构造方法 File file = new File(String path); File file = new File(String parent,String child)原创 2021-07-26 14:07:04 · 114 阅读 · 0 评论 -
15.内部类
内部类在一个类的内部定义另一个类-----------》成员内部类在一个方法的内部定义另一个类--------》局部内部类成员内部类案例:描述班级 班级类 班级名称 班级人数 描述学员 学生类 学员名称 学员性别只能在班级类中 访问到学生类 其他类中 不准访问学生类//外部类public class Classes { public String className; public int classNum; public Student[] ss = new St原创 2021-07-26 14:06:33 · 151 阅读 · 0 评论 -
14.Map集合
Map集合双列集合:键:不能重复 作为值的唯一标记 可以是任何类型 值:可以重复 任何类型HashMap<K,V>LinkedHashMap<K,V> 是HashMap子实现类 保证了输出顺序与录入顺序一致int size() 实际元素个数value put(key,value) 添加键值对value get(key) 通过键找值value remove(key) 移除键值对 返回被移除的值boolean remove(key,v原创 2021-07-26 14:06:03 · 94 阅读 · 0 评论 -
13.无序集合
无序集合 无序:展示顺序与存储顺序不一致 不能保存重复数据 重复数据:基本数据类型、String类型 值相同 就是重复数据 引用数据类型:默认比较地址 采用父类的hashCode() 可以通过重写去重的方法【equals() hashCode()】来实现忽略地址 只比较属性值java中是如何实现真正的去重:通过equals() hashCode()两个方法联合使用Object的hashCode():表示在哈希表中的位置 根据所存储的物理地理位置通过一定算原创 2021-07-20 13:47:27 · 569 阅读 · 0 评论 -
12.有序集合
有序集合Vector集合 jdk1.0版本 线程安全 效率低Vector<String> vs = new Vector<String>();vs.add("张三");vs.add("李四");vs.add(0, "王五");for(String s : vs) { System.out.print(s+" ");}System.out.println();Iterator<String> it = vs.iterator();whil原创 2021-07-20 13:47:01 · 650 阅读 · 0 评论 -
11.集合框架
集合框架概念:提供了一系列对于批量数据的存储和处理方案类似于数组 都只是存储对象的容器数组:长度固定(手动扩容) 只能存储相同类型(多态)集合:自动扩容 可以存储不同类型框架结构Collection (Collections提供了一套对于集合的操作方法 Connection连接) 父接口 所有单列集合所具备的方法 List 有序集合 子接口 重点研究业务:比较器 特点:存储顺序与展示顺序一致 有下标索引概念 可以使用普通for循环遍历 允许存储重复数据 Ar原创 2021-07-16 16:13:49 · 81 阅读 · 0 评论 -
10.异常
异常概念: 程序在运行过程中出现的非正常情况 导致虚拟机非正常停止异常架构: Throwable 异常最高级父类 Error:错误 非常严重的 一般异常处理方案无法解决 Exception:可通过异常处理方案 解决的问题 编译期异常(检查时异常Exception):代码编译过程中抛出的错误 ----》必须要处理 否则 编译不通过 ParseException 运行时异常(RuntimeException):编码可以通过 运行时报出的异常--原创 2021-07-16 12:00:29 · 93 阅读 · 0 评论 -
9.API接口技术
API Application Programming Interface JDK提供的各种工具类 利用封装 将特定的方法执行过程进行打包学习方法的注意点 1.方法名—》功能结合记忆 2.所属类—》调用方法时使用 3.关注方法返回值----》如何使用该方法的结果 4.关注方法的参数----》调用方法前的准备Object类 所有类的基类 最高级父类 提供了所有类都具备的方法 其他类(包括自定义类型)都可以重写基类中的方法 例如:equals() toString()S原创 2021-07-15 17:04:21 · 271 阅读 · 0 评论 -
封装、继承、多态
继承定义:继承 extends特点:无论是否调用父类构造方法 创建子类对象时 都一定会创建父类对象 (默认调用父类的无参构造)(注意是否存在父类无参构造)只能在子类构造方法中 通过super(参数列表)** 去匹配调用父类构造方法 必须是第一句话 因此不能同时调用本类其他构造方法的重载在子类中可以通过super关键字 表示将来父类的对象 可以通过super。找出所有非私有属性和方法 但是在父类中不能调用子类资源子类中的super可以替换为this 意味着先查找子类 在查找父类 一直到Obj原创 2021-07-13 09:31:14 · 74 阅读 · 0 评论 -
构造函数以及Javabean(this关键字)
构造函数构造方法语法:没有返回值 方法名就是类名调用时机:每当new对象时 去调用参数匹配的构造方法特点:每个类 都有默认无参构造方法 隐式可以编写带参构造方法 实现构造方法的重载如果添加了带参构造方法 默认无参构造失效 需要使用无参构造 则需要编写无参构造方法互调问题:构造方法和构造方法之间可不可以互调答:可以 用this(参数) this关键字只能在构造方法里面用//少参调用多参需要提前声明static int age=12;static String原创 2021-07-09 11:44:20 · 285 阅读 · 0 评论 -
抽象类的特点是什么?接口的特点是什么?它们之间的区别是什么?
抽象类的特点是什么?接口的特点是什么?它们之间的区别是什么?抽象类的特征:抽象类不能实例化;不能用 sealed 修饰符修饰抽象类,因为这两个修饰符的含义是相反的;采用 sealed 修饰符的类无法继承,而 abstract 修饰符要求对类进行继承;从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实际实现。接口的特点:不能被实例化,存在的意义就是被用来继承。区别:(1) 接口是公开(public)的,里面不能由私有的方法或变量,它是用于让别人使用的。实现接口的类,一定要实现接口中定义的原创 2021-06-26 22:34:55 · 470 阅读 · 0 评论 -
多态 重载 和重写
1.父类和子类同名方法,参数也是父类和子类的方法,不不构成重写,是重载。2.实参的子类对象,赋值给形参父类引用,也是父类引用指向子类对象3.判断多态,一定需要判断一下,是否子类重写了父类方法4.父类引用,调用不了子类对象特有的方法。只能调用子类对象继承的方法和多态重写的方法5.构造函数不能重写6.@Override 在编译阶段判断父类有没有此方法,是不是重写7.返回值不同,不是重载,因为根本不知道要调用哪个函数,编译报错8.重载:1.方法名相同 2.参数列表不同(参数类型,个数,顺序)8.重原创 2021-04-06 16:50:50 · 1359 阅读 · 0 评论 -
Java基础中Super关键字
Super注意点1.Super 调用父类的构造方法,必须在构造方法的第一个2.Super 必须只能出现在之类的方法或者构造方法3.Super 和 this 不能同时调用构造方法Vs代表的对象不同1.this 本身调用的这个对象2.Super 代表父类对象的应用前提1.this 没有继承也可以使用2.Super 只能在继承条件下使用构造方法1.this(); 本类的构造2.Super(); 父类的构造...原创 2021-04-05 20:20:50 · 64 阅读 · 0 评论 -
java方法和数组(编写计算器:要求1.加减乘除。2.循环接收新的数据。3.通过用户交互实现)
方法基本语法修饰符 返回值类型 方法名(参数类型,参数名){…方法体…return 返回值;}修饰符:private:私有修饰符 default 默认修饰符 static 公共修饰符 protected 受保护修饰符 等返回值类型:int、void,如果没有用void(表示空)package com.wang.Method;public class Demo01 { public static void main(String[] args) {原创 2021-03-29 15:29:58 · 318 阅读 · 0 评论 -
Java流程控制
Java流程控制1.用户交互Scanner 来获取用户的输入。Scanner用next()和nextLine()的方法获取输入的字符串在读取前hasNext()和hasNextLine()来判断是否还有输入的数据基本语法Scanner s = new Scanner(System.in);String str=scanner.next();System.out.println(str);scanner.close();hasNext 空格作为结束符号(不能识别空格后面的数据,h原创 2021-03-29 11:08:02 · 73 阅读 · 0 评论 -
狂神说基础第一章
01,02-内置注解@override@Deprecated@SuppressWarnings1203-元注解@Target 描述注解的使用范围@Retention 需要在什么级别保存该注释信息,用于描述注解的生命周期(SOURCE->CLASS<RUNTIME)@Documented 说明该注解将被包含在javadoc中@Inherited 说明子类可以继承父类中的该注解04-自定义注解package Annotation;import java.lang.annot原创 2021-03-28 17:56:46 · 93 阅读 · 0 评论 -
注释和标识符
注释单行注释// 我是单行注释多行注释/*…*/ 我是多行注释文档注释/** …**/ JavaDoc:文档注释标识符所有标识符应该以字母(A~z),美元符($),或者下划线(_)开始首字母之后可以是字母(A~z),美元符($),下划线(_)或者数字任何字符组合不能使用关键字作为变量名或者方法名标识符是大小写敏感原创 2021-03-16 20:07:17 · 104 阅读 · 0 评论