史上最全java反射概念详解 利用创建的对象调用类里面的内容可以跟,把要创建的对象信息和方法写在配置文件中。读取到什么类,就创建什么类的对象读取到什么方法,就调用什么方法此时当需求变更的时候不需要修改代码,只要修改配置文件即可。
一文读懂udp网络协议 UDP发送数据:数据来自于键盘录入,直到输入的数据是886,发送数据结束。UDP接收数据:因为接收端不知道发送端什么时候停止发送,故采用死循环接收。广播用于一个主机对整个局域网上所有主机上的数据通信。单播用于两个主机之间的端对端通信。组播用于对一组特定的主机进行通信。Java中的UDP通信。
一文读懂java线程池 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。线程对象在不同的时期有不同的状态。那么Java中的线程存在哪几种状态呢?Java中的线程/* 新建 */NEW ,/* 可运行状态 */RUNNABLE ,/* 阻塞状态 */BLOCKED ,/* 无限等待状态 */WAITING ,/* 计时等待 *//* 终止 */TERMINATED;// 获取当前线程的状态通过源码我们可以看到Java中的线程存在6种状态,每种线程状态的含义如下。
一文读懂java线程同步,lock锁,死锁概念 虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加上了锁,在哪里释放了锁,为了更清晰的表达如何加锁和释放锁,JDK5以后提供了一个新的锁对象Lock。弊端:当线程很多时,因为每个线程都会去判断同步上的锁,这是很耗费资源的,无形中会降低程序的运行效率。创建三个Thread类的对象,把SellTicket对象作为构造方法的参数,并给出对应的窗口名称。线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行。同步静态方法的锁对象是什么呢?
java字符流详解 当使用字节流读取文本文件时,可能会有一个小问题。就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储。所以Java提供一些字符流类,以字符为单位读写数据,专门用于处理文本文件。
一文读懂java字节流 一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此。所以,字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二进制数据。
java方法引用 Lambda表达式被对象的实例方法替代的时候,它的形式参数全部传递给该方法作为参数。定义一个测试类(MyStringDemo),在测试类中提供两个方法。定义一个接口(StudentBuilder),里面定义一个抽象方法。定义一个测试类(PrinterDemo),在测试类中提供两个方法。定义一个测试类(StudentDemo),在测试类中提供两个方法。定义一个类(PrintString),里面定义一个方法。定义一个接口(Printer),里面定义一个抽象方法。
stream流详解 现在有两个ArrayList集合,分别存储6名男演员名称和6名女演员名称,要求完成如下的操作。使用默认方法stream()生成流, default Stream stream()中间操作的意思是,执行完此方法之后,Stream流依然可以继续执行其他操作。终结操作的意思是,执行完此方法之后,Stream流将不能再执行其他操作。对数据使用Stream流的方式操作完毕后,可以把流中的数据收集到集合中。把Map转成Set集合,间接的生成流。Stream流的三类方法。生成Stream流的方式。Stream流的好处。
数据结构二叉树详解 就是将根节点的左侧往右拉,左子节点变成了新的父节点,并把多余的右子节点出让,给已经降级根节点当左子节点。如何旋转: 先在左子树对应的节点位置进行左旋,在对整体进行右旋。如何旋转: 先在右子树对应的节点位置进行右旋,在对整体进行左旋。左左: 当根节点左子树的左子树有节点插入,导致二叉树不平衡。左右: 当根节点左子树的右子树有节点插入,导致二叉树不平衡。右右: 当根节点右子树的右子树有节点插入,导致二叉树不平衡。右左:当根节点右子树的左子树有节点插入,导致二叉树不平衡。如何旋转: 直接对整体进行右旋即可。
自然排序Comparable和比较器排序Comparator用法和区别 两种比较方式小结自然排序: 自定义类实现Comparable接口,重写compareTo方法,根据返回值进行排序比较器排序: 创建TreeSet对象的时候传递Comparator的实现类对象,重写compare方法,根据返回值进行排序在使用的时候,默认使用自然排序,当自然排序不满足现在的需求时,必须使用比较器排序两种方式中关于返回值的规则如果返回值为负数,表示当前存入的元素是较小值,存左边如果返回值为0,表示当前存入的元素跟集合中元素重复了,不存。
一文看懂set集合,TreeSet集合详解 不可以存储重复元素没有索引,不能使用普通for循环遍历不可以存储重复元素没有索引可以将元素按照规则进行排序TreeSet():根据其元素的自然排序进行排序TreeSet(Comparator comparator) :根据指定的比较器进行排序。
一文看懂数据结构7种查询算法 数据结构是数据存储的方式,算法是数据计算的方式。所以在开发中,算法和数据结构息息相关。今天的讲义中会涉及部分数据结构的专业名词,如果各位铁粉有疑惑,可以先看一下哥们后面录制的数据结构,再回头看算法。
一文读懂,java list集合详解及arraylist,linkedlist集合底层源码分析 Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现创建Collection集合的对象多态的方式具体的实现类ArrayListCollection集合常用方法方法名说明添加元素从集合中移除指定的元素根据条件进行移除清空集合中的元素判断集合中是否存在指定的元素判断集合是否为空集合的长度,也就是集合中元素的个数List集合的概述。
java实现数据爬取 Java自从95年问世以来,经历了很多版本,目前企业中用的最多的是Java8和Java11,因为这两个是长期支持版本,下一个长期支持版本是Java17,相信在未来不久Java17也会逐渐登上历史舞台。 爬取版本号为8,11,17的Java文本。Matcher:文本匹配器,作用按照正则表达式的规则去读取字符串,从头开始读取。 爬取版本号为8,11.17的Java文本,但是只要Java,不显示版本号。 把下面文本中的座机电话,邮箱,手机号,热线都爬取出来。 有如下文本,按要求爬取数据。
一文看懂java正则表达式 语法示例:“.” : 匹配任何字符。“\d”:任何数字[0-9]的简写;“\D”:任何非数字[^0-9]的简写;“\s”: 空白字符:[ \t\x0B\f\r] 的简写“\S”: 非空白字符:[^\s] 的简写“\w”:单词字符:[a-zA-Z_0-9]的简写“\W”:非单词字符:[^\w]代码示例://.表示任意一个字符System.out.println("你".matches(".."));//false。
java常用API大全 tips:了解内容查看API文档,我们可以看到API文档中关于System类的定义如下:System类所在包为java.lang包,因此在使用的时候不需要进行导包。并且System类被final修饰了,因此该类是不能被继承的。System包含了系统操作的一些常用的方法。比如获取当前时间所对应的毫秒值,再比如终止当前JVM等等。要想使用System类我们就需要先创建该类的对象,那么创建对象就需要借助于构造方法。