java
weixin_43942304
这个作者很懒,什么都没留下…
展开
-
java中的Stream和Optional
java stream optional原创 2022-10-09 15:22:29 · 325 阅读 · 1 评论 -
下载自定义的xml
public void getTopoXml(HttpServletRequest request, HttpServletResponse response, String id) { TopoInfoDto dto = getTopoInfo(id); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = null;原创 2021-11-25 11:42:07 · 103 阅读 · 0 评论 -
二叉树遍历
二叉树遍历package com.example.mybatis.binarytree.demo;import java.util.ArrayList;import java.util.List;/** 前序遍历:ABDEGCF 中序遍历:DBGEACF 后序遍历:DGEBFCA * 第一层:A 第二层:B、C 第三层:D、E、F 第四层:G * A * B C * D E F * G */原创 2021-10-18 15:38:11 · 85 阅读 · 0 评论 -
java中的泛型(E)
java中的泛型(E)泛型:就是一种不确定的数据类型。比如:ArrayList E就是泛型。 这种不确定的数据类型需要在使用这个类的时候才能够确定出来。泛型可以省略,如果省略,默认泛型是Object类型。泛型的好处:1. 省略了强转的代码。2. 可以把运行时的问题提前到编译时期。如:myGenericity.javapublic class myGenericity<E> { private E i; public void set(E j) { this.i = j;原创 2021-03-04 17:10:02 · 889 阅读 · 2 评论 -
静态内部类、局部内部类、匿名内部类、lamda表达式
普通的继承:静态内部类( 必须有static修饰):局部内部内(写在任意方法中的):匿名内部类(可以写在任意位置):lamda表达式(感觉像匿名内部类的简化)(前题是函数式接口:接口中只有一个抽象方法):lamda表达式只有一行代码时才能简化为一行,如果多行,那么有用代码块包裹。使用lamda表达式的前提是接口为函数式接口(接口中只有一个抽象方法)。lamda表达式中多个参数可以去掉参数类型,要去掉就都去掉,必须加上括号。...原创 2020-11-04 15:24:24 · 74 阅读 · 0 评论 -
死锁Demo、线程通信Demo
死锁Demo(一人拿到一个资源,相互等待对方释放资源,解决方法别在一个同步代码块中再写一个同步代码块应该使它们同级):package com.kuang;public class DeathLock { public static void main(String []args) { MakeUp t1=new MakeUp(1,"小红帽"); MakeUp t2=new MakeUp(2,"白雪公主"); t1.start(); t2.start(); }原创 2020-10-29 18:18:54 · 63 阅读 · 0 评论 -
java反射(Reflection)
java反射(Reflection)反射代码Demo(注意Class.forName(“包名+类名”)):User.java :package com.kuang.reflection;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java原创 2020-10-29 17:44:23 · 73 阅读 · 0 评论 -
java注解(Annotation)
java注解(Annotation)自定义注解DEMO:/*package com.kuang.reflection;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@MyAnnotation(id = 0, name =原创 2020-10-29 17:35:58 · 65 阅读 · 0 评论 -
排序概念、快速排序
快速排序:package com.bjsxt.datastructure.sort;import java.util.Arrays;public class TestQuickSort { private static int partition(int[] arr, int low, int high) { //指定左指针i和右指针j int i = low; int j= high; //将第一个数作为基准值。挖坑 int x = arr[low]...原创 2020-10-16 18:19:12 · 85 阅读 · 0 评论 -
hash表、java中的hashMap/hashSet
哈希表原创 2020-10-16 18:12:43 · 163 阅读 · 0 评论 -
队列定义、队列的存储结构
队列定义队列(queue )简称队,它同堆栈一样,也是一种运算受限的线性表,其限制是仅允许在表的一端进行插入,而在表的另一端进行删除。在队列中把插入数据元素的一端称为 队尾(rear) ),删除数据元素的一端称为 队首(front) )。向队尾插入元素称为 进队或入队,新元素入队后成为新的队尾元素;从队列中删除元素称为 离队或出队,元素出队后,其后续元素成为新的队首元素。由于队列的插入和删除操作分别在队尾和队首进行,每个元素必然按照进入的次序离队,也就是说先进队的元素必然先离队,所以称队列为原创 2020-10-16 18:08:27 · 498 阅读 · 0 评论 -
栈、栈的存储结构
栈栈(stack )又称堆栈,它是运算受限的线性表。其限制是仅允许在表的一端进行插入和删除操作,不允许在其他任何位置进行插入、查找、删除等操作。表中进行插入、删除操作的一端称为 栈顶(top) ,栈顶保存的元素称为 栈顶元素。相对的,表的另一端称为栈底(bottom)当栈中没有数据元素时称为空栈;向一个栈插入元素又称为 进栈或 入栈;从一个栈中删除元素又称为 出栈或 退栈。由于栈的插入和删除操作仅在栈顶进行,后进栈的元素必定先出栈,所以又把堆栈称为 后进先出表 (Last In First原创 2020-10-16 17:54:41 · 1464 阅读 · 0 评论 -
线性表之链式存储结构
线性表之链式存储结构特点:数据元素存储在不连续的存储空间。每个节点是由数据域和指针域组成。元素之间的逻辑关系通过存储节点之间的链接关系反映出来。缺点:比顺序存储结构的存储密度小(每个节点都由数据域和指针域组成,所以相同空间内假设全存满的话顺序存储比链式存储更多)。查找节点时链式存储要比顺序存储慢(每个节点地址不连续、无规律、导致查找效率低下)。优点:插入、删除灵活(不必移动节点,只要改变节点中的指针,但是需要先定位到节点上)。有元素才会分配节点空间,不会有闲置的节点。手写Linke原创 2020-10-13 18:26:40 · 176 阅读 · 0 评论 -
线性表之顺序存储
线性表之顺序存储结构顺序存储结构:把逻辑上相邻的节点存储在物理上相邻的存储单元上。优点:节省存储空间,因为分配给数据的存储单元完全用于存放节点的数据,节点之间的逻辑关系没有占用额为的存储空间。缺点:插入和删除操作需要移动元素,效率较低。自己实现ArrayList集合List.java/** * 线性表接口 * 和存储结构无关 * @author Administrator * */public interface List { // 返回线性表的大小,即数据元素的个数。 p原创 2020-10-13 18:04:36 · 232 阅读 · 0 评论 -
TCP、UDP
标题Ip地址网络编程:不需要依赖浏览器进行通讯,比如:qq、feiq、红蜘蛛。。。网页编程:以html作为基础实现浏览器与服务器之间的通讯。计算机网络:分布在不同地域的计算机通过外部设备把计算机连接起来,达到了数据输出、共享资源的目的就称为一个计算机网络。计算机与计算机的通讯三要素:IP地址(理解成小区地址)端口号(理解成门牌号)通讯协议IP地址:IP地址的本质是由32个二进制位数组成的,为了方便人们记录,所以把一个ip地址分成了四段,每段八个二进制数据。2^8=0~255如:原创 2020-09-29 19:40:20 · 108 阅读 · 0 评论 -
线程
线程疑问:windows号称是多任务的操作系统,windows真的再同时运行多个应用程序吗?宏观角度:windows确实在同时运行多个应用程序。微观角度:cpu在做一个快速的切换动作,由于切换速度比较快,所以我们感觉不到。进程:正在运行的程序称为一个进程,进程会对内存空间进行划分。线程:线程负责了代码的执行,线程是进程中的一个代码执行路径。多线程:在一个进程中有多个线程在执行不同的任务代码。疑问:以前我们没有学过线程,为什么代码可以执行呢?任何一个java程序在运行的时候,jvm都会为该原创 2020-09-29 19:32:51 · 62 阅读 · 0 评论 -
文件读写
何时使用字符流:如果操作的是文本数据时,这时候就应该使用字符流。何时使用字节流:如果操作的是非文本数据时,这时候则应该使用字节流。非文本:图片、音频、视频、wordInputStream如果需要操作文件的内容数据,就需要IO流技术。IO流类别:流向划分:输出流输入流输入流输出流的判断标准:以当前程序作为参照物,数据如果流出,则使用输出流;如果数据是流入,则使用输入流。处理的单位字节流:字节流就是用于读取文件的字节数据的,读取到的数据不会经过任何的处理。字符流:读取到的字节数据还会帮原创 2020-09-29 19:20:00 · 78 阅读 · 0 评论 -
播放视频和音频文件java
import javazoom.jl.player.Player;import org.junit.jupiter.api.Test;import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;public class TestPlayer { @Test public void player(){ System.out.println("测试播放视频原创 2020-07-22 18:42:29 · 360 阅读 · 0 评论