自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 史上最全java反射概念详解

​利用创建的对象调用类里面的内容可以跟,把要创建的对象信息和方法写在配置文件中。读取到什么类,就创建什么类的对象读取到什么方法,就调用什么方法此时当需求变更的时候不需要修改代码,只要修改配置文件即可。

2024-09-10 09:52:54 571

原创 一文看懂tcp协议,三次握手和四次挥手详解

Java中的TCP通信。

2024-09-10 09:52:36 539

原创 一文读懂udp网络协议

UDP发送数据:数据来自于键盘录入,直到输入的数据是886,发送数据结束。UDP接收数据:因为接收端不知道发送端什么时候停止发送,故采用死循环接收。广播用于一个主机对整个局域网上所有主机上的数据通信。单播用于两个主机之间的端对端通信。组播用于对一组特定的主机进行通信。Java中的UDP通信。

2024-09-10 09:52:19 876

原创 一文读懂java线程池

当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。线程对象在不同的时期有不同的状态。那么Java中的线程存在哪几种状态呢?Java中的线程/* 新建 */NEW ,/* 可运行状态 */RUNNABLE ,/* 阻塞状态 */BLOCKED ,/* 无限等待状态 */WAITING ,/* 计时等待 *//* 终止 */TERMINATED;// 获取当前线程的状态通过源码我们可以看到Java中的线程存在6种状态,每种线程状态的含义如下。

2024-09-10 09:51:53 646

原创 一文读懂java线程同步,lock锁,死锁概念

虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加上了锁,在哪里释放了锁,为了更清晰的表达如何加锁和释放锁,JDK5以后提供了一个新的锁对象Lock。弊端:当线程很多时,因为每个线程都会去判断同步上的锁,这是很耗费资源的,无形中会降低程序的运行效率。创建三个Thread类的对象,把SellTicket对象作为构造方法的参数,并给出对应的窗口名称。线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行。同步静态方法的锁对象是什么呢?

2024-09-10 09:51:21 858

原创 java多线程三种实现方式

Thread构造方法。

2024-09-10 09:50:58 533

原创 java字符流详解

当使用字节流读取文本文件时,可能会有一个小问题。就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储。所以Java提供一些字符流类,以字符为单位读写数据,专门用于处理文本文件。

2024-09-10 09:50:21 676

原创 一文读懂java字节流

一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此。所以,字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二进制数据。

2024-09-10 09:08:41 829 3

原创 java的file类详解,目录和文件的增删改查

类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。

2024-09-06 11:52:18 698

原创 java方法引用

Lambda表达式被对象的实例方法替代的时候,它的形式参数全部传递给该方法作为参数。定义一个测试类(MyStringDemo),在测试类中提供两个方法。定义一个接口(StudentBuilder),里面定义一个抽象方法。定义一个测试类(PrinterDemo),在测试类中提供两个方法。定义一个测试类(StudentDemo),在测试类中提供两个方法。定义一个类(PrintString),里面定义一个方法。定义一个接口(Printer),里面定义一个抽象方法。

2024-09-06 11:45:30 715

原创 stream流详解

现在有两个ArrayList集合,分别存储6名男演员名称和6名女演员名称,要求完成如下的操作。使用默认方法stream()生成流, default Stream stream()中间操作的意思是,执行完此方法之后,Stream流依然可以继续执行其他操作。终结操作的意思是,执行完此方法之后,Stream流将不能再执行其他操作。对数据使用Stream流的方式操作完毕后,可以把流中的数据收集到集合中。把Map转成Set集合,间接的生成流。Stream流的三类方法。生成Stream流的方式。Stream流的好处。

2024-09-06 11:43:04 999

原创 一文看懂不可变集合

​ 是一个长度不可变,内容也无法修改的集合。

2024-09-06 11:41:30 218

原创 数据结构二叉树详解

就是将根节点的左侧往右拉,左子节点变成了新的父节点,并把多余的右子节点出让,给已经降级根节点当左子节点。如何旋转: 先在左子树对应的节点位置进行左旋,在对整体进行右旋。如何旋转: 先在右子树对应的节点位置进行右旋,在对整体进行左旋。左左: 当根节点左子树的左子树有节点插入,导致二叉树不平衡。左右: 当根节点左子树的右子树有节点插入,导致二叉树不平衡。右右: 当根节点右子树的右子树有节点插入,导致二叉树不平衡。右左:当根节点右子树的左子树有节点插入,导致二叉树不平衡。如何旋转: 直接对整体进行右旋即可。

2024-09-06 11:36:32 302

原创 自然排序Comparable和比较器排序Comparator用法和区别

两种比较方式小结自然排序: 自定义类实现Comparable接口,重写compareTo方法,根据返回值进行排序比较器排序: 创建TreeSet对象的时候传递Comparator的实现类对象,重写compare方法,根据返回值进行排序在使用的时候,默认使用自然排序,当自然排序不满足现在的需求时,必须使用比较器排序两种方式中关于返回值的规则如果返回值为负数,表示当前存入的元素是较小值,存左边如果返回值为0,表示当前存入的元素跟集合中元素重复了,不存。

2024-09-06 11:32:46 838

原创 一文看懂set集合,TreeSet集合详解

不可以存储重复元素没有索引,不能使用普通for循环遍历不可以存储重复元素没有索引可以将元素按照规则进行排序TreeSet():根据其元素的自然排序进行排序TreeSet(Comparator comparator) :根据指定的比较器进行排序。

2024-09-06 11:31:31 207

原创 一文看懂数据结构7种查询算法

​ 数据结构是数据存储的方式,算法是数据计算的方式。所以在开发中,算法和数据结构息息相关。今天的讲义中会涉及部分数据结构的专业名词,如果各位铁粉有疑惑,可以先看一下哥们后面录制的数据结构,再回头看算法。

2024-09-06 11:27:37 1152

原创 一文读懂,java list集合详解及arraylist,linkedlist集合底层源码分析

Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现创建Collection集合的对象多态的方式具体的实现类ArrayListCollection集合常用方法方法名说明添加元素从集合中移除指定的元素根据条件进行移除清空集合中的元素判断集合中是否存在指定的元素判断集合是否为空集合的长度,也就是集合中元素的个数List集合的概述。

2024-09-06 11:21:56 840

原创 java实现数据爬取

​ Java自从95年问世以来,经历了很多版本,目前企业中用的最多的是Java8和Java11,因为这两个是长期支持版本,下一个长期支持版本是Java17,相信在未来不久Java17也会逐渐登上历史舞台。​ 爬取版本号为8,11,17的Java文本。Matcher:文本匹配器,作用按照正则表达式的规则去读取字符串,从头开始读取。​ 爬取版本号为8,11.17的Java文本,但是只要Java,不显示版本号。​ 把下面文本中的座机电话,邮箱,手机号,热线都爬取出来。​ 有如下文本,按要求爬取数据。

2024-09-06 11:16:49 499

原创 一文看懂java正则表达式

语法示例:“.” : 匹配任何字符。“\d”:任何数字[0-9]的简写;“\D”:任何非数字[^0-9]的简写;“\s”: 空白字符:[ \t\n\x0B\f\r] 的简写“\S”: 非空白字符:[^\s] 的简写“\w”:单词字符:[a-zA-Z_0-9]的简写“\W”:非单词字符:[^\w]代码示例://.表示任意一个字符System.out.println("你".matches(".."));//false。

2024-09-06 11:13:20 646

原创 java常用API大全

tips:了解内容查看API文档,我们可以看到API文档中关于System类的定义如下:System类所在包为java.lang包,因此在使用的时候不需要进行导包。并且System类被final修饰了,因此该类是不能被继承的。System包含了系统操作的一些常用的方法。比如获取当前时间所对应的毫秒值,再比如终止当前JVM等等。要想使用System类我们就需要先创建该类的对象,那么创建对象就需要借助于构造方法。

2024-09-06 11:10:38 1089

原创 java面向对象抽象类,接口,内部类详解

abstract是抽象的意思,用于修饰方法方法和类,修饰的方法是抽象方法,修饰的类是抽象类。我们已经学完了抽象类,抽象类中可以用抽象方法,也可以有普通方法,构造方法,成员变量等。那么什么是接口呢?接口是更加彻底的抽象,JDK7之前,包括JDK7,接口中全部是抽象方法。接口同样是不能创建对象的。//接口的定义格式: interface 接口名称 {// 抽象方法 } // 接口的声明:interface // 接口名称:首字母大写,满足“驼峰模式”类与接口的关系为实现关系,即类实现接口。

2024-09-06 09:16:04 1096

原创 java面向对象包,权限修饰符,final关键字详解

​ 学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写。如果有一个方法我不想别人去改写里面内容,该怎么办呢?Java提供了final关键字,表示修饰的内容不可变。final: 不可改变,最终的含义。可以用于修饰类、方法和变量。类:被修饰的类,不能被继承。方法:被修饰的方法,不能被重写。变量:被修饰的变量,有且仅能被赋值一次。

2024-09-05 10:47:18 596

原创 java面向对象多态详解

多态: 是指同一行为,具有多个不同表现形式。从上面案例可以看出,Cat和Dog都是动物,都是吃这一行为,但是出现的效果(表现形式)是不一样的。前提【重点】有继承或者实现关系方法的重写【意义体现:不重写,无意义】父类引用指向子类对象【格式体现】父类类型:指子类对象继承的父类类型,或者实现的父接口类型。

2024-09-05 10:44:04 422

原创 一文看懂java继承概念

假如我们要定义如下类:学生类,老师类和工人类,分析如下。学生类属性:姓名,年龄行为:吃饭,睡觉老师类属性:姓名,年龄,薪水行为:吃饭,睡觉,教书班主任属性:姓名,年龄,薪水行为:吃饭,睡觉,管理如果我们定义了这三个类去开发一个系统,那么这三个类中就存在大量重复的信息(属性:姓名,年龄。行为:吃饭,睡觉)。这样就导致了相同代码大量重复,代码显得很臃肿和冗余,那么如何解决呢?

2024-09-05 10:41:05 586

原创 java面向对象this,static关键字

修饰符 class 类名 {// 1.成员变量(属性) // 2.成员方法 (行为) // 3.构造方法 (初始化类的对象数据的) }// 1.成员变量// '男' '女'// 成员变量// '男' '女'// 无参数构造方法// 有参数构造方法我们已经知道面向对象中,存在类和对象的概念,我们在类中定义了一些成员变量,例如name,age,sex ,结果发现这些成员变量,每个对象都存在(因为每个对象都可以访问)。

2024-09-05 10:36:02 692

原创 java学生管理系统简单demo

/下面是空参,有参,get和set方法loop:System.out.println("-----------------欢迎来到黑马学生管理系统-------------------");System.out.println("1:添加学生");System.out.println("2:删除学生");System.out.println("3:修改学生");System.out.println("4:查询学生");System.out.println("5:退出");

2024-09-05 10:25:51 289

原创 java arraylist集合详解

什么是集合​ 提供一种存储空间可变的存储模型,存储的数据容量可以发生改变ArrayList集合的特点​ 长度可以变化,只能存储引用数据类型。泛型的使用​ 用于约束集合中存储元素的数据类型。

2024-09-05 10:21:43 326

原创 java字符串详解,一文看懂字符串

​ String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。String 类在 java.lang 包下,所以使用的时候不需要导包!

2024-09-05 10:20:23 970

原创 java面向对象(类和对象概念详解)

类的组成是由属性和行为两部分组成属性:在类中通过成员变量来体现(类中方法外的变量)行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)类的定义步骤:①定义类②编写类的成员变量③编写类的成员方法public class 类名 {// 成员变量变量1的数据类型 变量1;变量2的数据类型 变量2;// 成员方法方法1;方法2;/*手机类:类名:手机(Phone)成员变量:品牌(brand)价格(price)成员方法:打电话(call)

2024-09-05 10:03:39 547

原创 java方法(函数)详解

​ 方法(method)是程序中最小的执行单元注意:方法必须先创建才可以使用,该过程成为方法定义方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用public static void 方法名 ( ) {// 方法体;// 方法体;方法名();method();注意:​ 方法必须先定义,后调用,否则程序将报错定义格式:参数:由数据类型和变量名组成 - 数据类型 变量名参数范例:int apublic static void 方法名 (参数1) {方法体;

2024-09-05 09:59:37 843

原创 java循环用法

​ 键盘录入一个大于等于2的整数 x ,计算并返回 x 的 平方根。Random跟Scanner一样,也是Java提前写好的类,我们不需要关心是如何实现的,只要直接使用就可以了。​ 游戏规则:从任意一个数字开始报数,当你要报的数字是包含7或者是7的倍数时都要说过:过。条件判断语句可以空着不写,如果不写,默认表示true,循环一直进行。​ 小括号里面就不能省略了,true一定要写出来,否则代码会报错。​ 小括号里面就不能省略了,true一定要写出来,否则代码会报错。​ 使用循环猜,一直猜中为止。

2024-09-05 09:58:11 364

原创 一文看懂数组

​ 数据类型 [] 数组名比如:int [] array。

2024-09-05 09:56:47 814

原创 java基础流程控制语句

​ 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形 成死循环。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。​ 小明的考试成绩,如果用switch,那么需要写100个case,太麻烦了,所以用if简单。

2024-09-05 09:55:09 942

原创 java运算符详细介绍

java运算符详细介绍

2024-09-05 09:40:07 693

原创 Java基础语法

java基础简单介绍,大一入门必备

2024-09-05 09:37:06 854

原创 初识java,jdk环境配置

语言:人与人交流沟通的表达方式计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言Java是一门非常火的计算机语言。(也叫做编程语言)我们想要让计算机做一些事情,那么就可以通过Java语言告诉计算机就可以了目录名称说明bin该路径下存放了JDK的各种工具命令。javac和java就放在这个目录。conf该路径下存放了JDK的相关配置文件。include该路径下存放了一些平台特定的头文件。jmods该路径下存放了JDK的各种模块。legal该路径下存放了JDK各模块的授权文档。

2024-09-05 09:24:50 1295

空空如也

空空如也

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

TA关注的人

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