自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 什么是jar包

jar包就是别人已经写好的一些类,然后将这些类进行打包,你可以将这些jar包引入你的项目中,然后就可以直接使用这些jar包中的类和属性以及方法。JAR(Java ARchive)是将一系列文件合并到单个压缩文件里,就象Zip那样。然而,同Java中其他任何东西一样,JAR文件是跨平台的,所以不必关心涉及具体平台的问题。涉及因特网应用时,JAR文件显得特别有用。在JAR文件之前,Web浏览器必须重复多次请求Web服务器,以便下载完构成一个“程序片”(Applet)的所有文件。除此以外,每个文件都是未经压缩

2022-02-27 16:57:57 8884

原创 JavaWEB day 01

# 今日内容 1. Junit单元测试 2. 反射 3. 注解## Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2. 白盒测试:需要写代码的。关注程序具体的执行流程。 * Junit使用:白盒测试 * 步骤: 1. 定义一个测试类(测试用例) * 建议: ...

2021-12-12 19:07:44 170

原创 多线程实现TCP

package lianxi_11;import java.io.*;import java.net.Socket;public class ClientDemo { public static void main(String[] args) throws IOException { Socket so = new Socket("192.168.2.216", 18800); BufferedReader br = new BufferedReader.

2021-12-06 16:08:46 177

原创 TCP DEMO 02

package TcpDemo02;import java.io.*;import java.net.Socket;public class Send02 { public static void main(String[] args) throws IOException { Socket socket = new Socket("192.168.3.125", 10009); BufferedReader br = new BufferedReader.

2021-12-03 15:18:14 2041

原创 TCP DEMO 01

package TcpTest01;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;import java.nio.charset.StandardCharsets;public class send01 { public static void main(String[] args) throws IOExceptio.

2021-12-03 14:51:45 1606

原创 TCP通信程序

package TcpDemo;import java.io.IOException;import java.io.OutputStream;import java.net.Socket;import java.nio.charset.StandardCharsets;public class ClientDemo { public static void main(String[] args) throws IOException { Socket socket =.

2021-12-03 14:23:07 84

原创 UDP通信程序

UDP发送数据package IPDemo;import java.io.IOException;import java.net.*;public class SendDemo { public static void main(String[] args) throws IOException { DatagramSocket dgs = new DatagramSocket(); byte[] bytes = "我爱你中国".getByt.

2021-12-03 14:02:23 123

原创 网络编程三要素

端口协议

2021-12-02 18:28:08 534

原创 生产者和消费者

生产者和消费者案例:package BoxDemo;public class Box { private int milk; //定义一个成员变量,表示奶箱的状态 private boolean state = false; public synchronized void put(int milk){ //如果有牛奶,等待消费 if (state){ try { wai...

2021-11-30 16:01:31 152

原创 Lock锁

try...finally 块来实现加锁和释放锁 @Override public void run() { while (true) { try { lo.lock(); if (tickets > 0) { try { Thread.sleep(50); ...

2021-11-30 15:13:11 154

原创 实现多线程2

多线程会产生数据安全问题的条件:解决办法:同步代码块

2021-11-30 15:05:37 93

原创 实现多线程

设置线程名称:线程调度 getPriority():返回次线程的优先级 setPriority():更改线程的优先级 线程控制:线程的生命周期:

2021-11-27 14:26:27 114

原创 进程与线程

进程与线程进程:是正在运行的程序 是系统进行资源分配和调用的独立单位 每一个进程都有它自己的内存空间和系统资源 线程: 是进程中的单个顺序控制流,是一条执行路径 单线程:一个进程如果有一条执行路径,则称为单线程程序。 多线程:一个进程如果有多条执行路径,则称为多线程程序。 ...

2021-11-27 11:35:46 105

原创 Properties

Demo01:public class PropertiesDemo01 { public static void main(String[] args) { Properties pt = new Properties(); pt.put("ggg",12); pt.put("xxx",13); pt.put("ccc",14); Set<Map.Entry<Object, Object>&g.

2021-11-26 17:25:33 417

原创 序列化&反序列化

特殊操作流 对象序列化流 ObjectOutputStream 类的序列化 必须实现 Serializable接口,不实现该接口的类不会序列化或者反序列化 Serializable接口不需要重写里面的方法,是一个标识的作用。 对象反序列化流 ObjectInputStream 方法:readObject().序列化流可能出现的问题:...

2021-11-26 15:49:34 191

原创 向上转型&向下转型

向上转型: 只有当子类重写方法时访问该方法会优先访问子类的那个重写方法,其余情况都只能访问父类里面的变量和方法。向下转型: 建立在向上向上转型的基础之上,其所创建的对象可以访问父类,子类里任意变量和方法,但注意!如果子类变量和父类变量重名,则访问该变量值优先访问的是子类里该变量的值,如果子类方法重写了父类方法,同理,访问该方法优先访问的是子类重写的方法。...

2021-11-26 15:17:23 133

原创 打印流..

打印流打印流的特点: 只用负责输出数据,不负责读取数据 有自己的特有的方法 字节打印流:PrintStream使用继承父类的方法写数据 writer,查看的时候会转码;使用自己特有的方法写数据Print,查看的数据原样输出。字符打印流:PrintWriter...

2021-11-26 14:50:21 181

原创 复制单级&多级文件夹

package CopyDemo;import sun.jvm.hotspot.types.Field;import java.io.*;public class CopyFolderDemo { public static void main(String[] args) throws IOException { 单级文件夹代码以下:// File endFile = new File("/Users/verle/DeskTop/目标");// ...

2021-11-25 16:44:23 408

原创 11.24 字符流

11.24 字符流转换流的名字比较长,而我们常见的操作都是按照本地默认编码实现的,所以,为了简化书写,转换流提供了对应的子类 FileReader:用于读取字符文件的便捷类 FileReader(String fileName) FileWriter:用于写入字符文件的便捷类 FileWriter(String fileName)字符缓冲流字符缓冲流:BufferedWriter:将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入,可以指定缓冲区大小,或者可以接受默认大小、

2021-11-24 17:26:16 80

原创 IO字节流读数据&字节缓冲流

1.字节流读数据的标准代码int read;while ((read = fio.read())!=-1){ System.out.print((char)read);}2. 字节流一次读写一个数组byte[] bytes = new byte[1024];//1024 及其整数倍int len;while ((len = fio.read(bytes))!=-1){ System.out.println(new String(bytes,0,len));}..

2021-11-22 17:11:09 226

原创 IO字节流写入数据

2.2字节流写数据字节流抽象基类InputStream:这个抽象类是表示字节输入流的所有类的超类.OutputStream:这个抽象类是表示字节输出流的所有类的超类子类名特点:子类名称都是以其父类名作为子类名的后缀FileOutputStream:文件输出流用于将数据写入FileFileOutputStream(Stringname):创建文件输出流以指定的名称写入文件使用字节输出流写数据的步骤:创建字节输出流对象(调用系统功能创建了文件,创建字节输出流对象,让字节输出流对象指向文件)调

2021-11-22 14:42:33 512

原创 增强for循环

增强for循环# 增强for循环```javapackage com.FreeGiao.CollecationDemo.ListDemo;import java.awt.*;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class ListDemo03 { public static void main(String[] args) { L...

2021-09-09 21:44:18 58

原创 List&并发修改异常

ListList集合的特有方法 void add(int index , E element)在此集合中的指定位置插入指定的元素 E remove(int index)删除指定索引处的元素,返回被删除的元素 E set(int index,E element)修改指定索引处的元素,返回被修改的元素 E get(int index)返回指定索引处的元素 并发修改异常 每次通过迭代器调用next方法的时候都会判断预期修改次数和实际修改次数是否相同,在调用add方法

2021-09-08 23:11:40 316

原创 # 单列集合 Collecation

# 单列集合 Collecation## collecation```javapackage com.FreeGiao.CollecationDemo;import java.util.ArrayList;import java.util.Collection;import java.util.Collections;//通过 collecation-list-Arraylist 多态的方式来创建collecation对象public class CollecationDemo01.

2021-09-08 22:02:46 136

原创 异常详解&自定义异常

异常因为java在开发程序的过程中,如果遇见异常 默认会1.输出异常信息,给出异常的位置2.终止程序的运行所以我们需要自己手动去捕获异常捕获异常的两种方式 try...catch... throw:谁调用谁来处理 throwable的常用方法package com.FreeGiao.ExceptionDemo;​public class ExceptionDemo01 { public static void main(String[] args..

2021-08-31 22:47:31 516

原创 日历类 Calendar & 案例实现

日历类 Calendar初始化,以及调用静态属性package com.FreeGiao;​import java.util.Calendar;/*Calendar提供了一种类方法getInstance ,用于获取此类型的一般有用的对象。 Calendar的getInstance方法返回一个Calendar对象,其日历字段已使用当 前日期和时间进行初始化: Calendar rightNow = Calendar.getInstance();​ */​publi...

2021-08-30 20:26:36 168

原创 Date以及SimpleDateFormat 案例

Date构造方法package com.FreeGiao.API;​import java.util.Date;​public class DateDemo { public static void main(String[] args) { Date d1 = new Date(); System.out.println(d1);​ long date = 2*1000*60*60; Date date1 = ne...

2021-08-30 19:46:20 217

原创 自动装箱和拆箱

自动装箱和拆箱装箱:把基本数据类型转换为对应的包装类型拆箱:把包装类类型转换为对应的基本数据类型自动装箱 Integer ii = 100;//自动装箱自动拆箱// ii = ii.intValue()+200;//手动拆箱并自动装箱 ii+= 200;//自动拆箱 隐含了上一步的操作...

2021-08-30 15:36:55 66

原创 基本类型包装类+案例实现

package com.FreeGiao.API;import java.util.Arrays;public class IntegerTest { public static void main(String[] args) { String s = "91 27 46 38 50"; String[] s1 = s.split(" "); int[] num = new int[s1.length]; for (int .

2021-08-30 15:16:38 104

原创 Arrays类

package com.FreeGiao.API;import java.util.Arrays;public class ArraysDemo { public static void main(String[] args) { int[] arr = {56,88,64,53,98,66,75}; System.out.println("排序前:"+ Arrays.toString(arr));//将一个数组转化为字符串 Arrays.s.

2021-08-30 13:43:57 62

原创 冒泡排序

package com.FreeGiao.API;public class ArrayDemo { public static void main(String[] args) { int[] arr = {24,60,80,57,13}; int temp = 0; for (int j = 1; j < arr.length; j++) { for (int i = 0; i < arr.length-j;.

2021-08-30 13:34:18 61

转载 java错误:重写equals方法报错 解决办法

java错误:重写equals方法报错 解决办法Error:(8, 5) java: 方法不会覆盖或实现超类型的方法Error:(10, 18) java: 不可比较的类型: String.ObjectPeson和String.ObjectError:(11, 37) java: 不可比较的类型: java.lang.Class<capture#1, 共 ? extends String.ObjectPeson>和java.lang.Class<capture#2, 共 ? exte

2021-08-29 22:21:49 1103 1

原创 内部类&匿名内部类

内部类成员内部类package com.FreeGiao.OutIn;​public class out { private int num = 10;​ // public class inner{// public void show(){// System.out.println(num);// System.out.println("这是内部类");// }// } ...

2021-08-29 17:11:20 57

原创 多态中成员访问特点

对于成员变量,编译看左边,运行也看左边对于成员方法,编译看左边,运行看右边。为什么有区别?因为方法有重写,而成员变量没有重写

2021-08-25 22:20:41 136

原创 # 集合基础 ArrayLIst<>

# 集合基础 ArrayLIst<>## ArrayList 存储学生对象 并便利```javapackage com.FreeGiao.ArrayList;import java.util.ArrayList;import java.util.Scanner;public class ArrayDemo01 { public static void main(String[] args) { ArrayList<Student2> ll ...

2021-08-25 22:18:55 74

原创 常用类:String

常用类:String常用构造方法package com.FreeGiao.str;​​//常用类 Stringpublic class StringDemo01 { public static void main(String[] args){ String s1 = new String(); System.out.println("s1:"+s1);​ char[] chs = {'a','b','c'}; St...

2021-08-23 23:22:18 63

转载 抽象类存在的意义

首先简单的介绍一下抽象类:定义是很简单的,我们这里不写官方的语言,我自己看着都烦,我们就用白话介绍,抽象类本质是一个类,没问题,那么类里面一般都是有方法的,方法包括方法名和方法体,这是常识对不对,那么什么是抽象类呢?如果一个类里面有一种方法只有方法名却没有方法体,这样的类就是抽象类!举个例子:public abstract class TestAbstract { //这是一个抽象方法, public abstract void run(); //当然这里面也可以是普通...

2021-08-22 23:08:10 882 1

原创 instanceof && abstract

# 关键字 instanceof公式:(x instanceof y) : x的实际类型 是不是 y的子类型 ## 多态总结1. 父类引用指向子类的对象2. 把子类转换为父类,向上转型 不用强制转换3. 把父类转换为子类,向下转型;强制转换4. 方便方法的调用,减少重复的代码! 简洁# 抽象类 abstract```javapackage com.FreeGiao.oop;//abstract 抽象类: 类 extends : 单继承 (接口可以多继承)public a...

2021-08-22 22:51:41 129

原创 重写注意事项

重写重写需要有继承的关系,子类重写父类的方法 方法名必须相同 参数列表必须相同 修饰符:范围可以扩大但是不能缩小: public>Protected>Default>private 抛出异常:范围,可以被缩小,但是不能扩大 ClassNotFoundException-->Exception(大) 重写,子类方法和父类必须一致,方法体不同!为什么需要重写: 父类的功能,子类不一定需要,或者不一定满足! Alt+Ins

2021-08-22 17:47:18 300

原创 Super 详解

Super 详解注意点 super调用父类的构造方法,必须在构造方法的第一个 super必须只能出现在子类的方法或者构造器方法中! super和this不能同时调用构造方法! Vs this:代表的对象不同:this: 本身调用者这个对象super:代表符类对象的引用前提:this:没有继承也可以使用super:只能在继承条件才可以使用构造方法:this();本类的构造super();父类的构造...

2021-08-22 17:25:14 97

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除