- 博客(85)
- 收藏
- 关注
原创 MyBatis-Plus 查询指定字段的实现
这篇文章主要介绍了MyBatis-Plus 查询指定字段的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧首先创建一个数据库表,如下图所示:然后创建一个Spring Boot项目,pom.xml和配置如下:`<?``xml` `version``=``"1.0"` `encoding``=``"UTF-8"``?>``<``project` `xmlns``=``"[http://maven.apache
2021-04-01 22:02:34
3911
原创 史上最短的Java面试题了....
这可能是历史上最简单的一道java面试题了。题目很简单,完成代码,判断一个整数是否是奇数:public boolean isOdd(int i)相信相当数量的人都已经在准备吐槽了,只要看过《编程珠玑》的人都知道这道题的答案和其中极为简单的道理。不过别着急骂街,不管你信不信,这道笔试题我拿到的答案好多都长这样:public boolean isOdd(int i) { if (i % 2 == 1) { System.out.println("是奇数"); } els
2021-03-31 21:19:59
194
1
原创 Java NIO 文件通道 FileChannel 用法及原理来了
这篇文章主要介绍了Java NIO 文件通道 FileChannel 用法和原理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下FileChannel 提供了一种通过通道来访问文件的方式,它可以通过带参数 position(int) 方法定位到文件的任意位置开始进行操作,还能够将文件映射到直接内存,提高大文件的访问效率。本文将介绍其详细用法和原理。1. 通道获取FileChannel 可以通过 FileInputStream, FileOutputStream
2021-03-31 17:21:08
764
原创 Java中“==“和equals()的区别详解你知道吗
这篇文章主要给大家介绍了关于java中“==“和equals()区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧今天我们探讨一下Java中"=="与equals()的区别==:关系运算符在基本数据类型中比较两个值的内容是否相等在引用类型型中比较的是两个对象的地址是否相等*equals()是Object类中的方法1.基本数据类型无法使用equals()方法2.在引用类型中若是没有重写Object类时,则默认使用O
2021-03-31 16:42:11
153
原创 Java是如何实现外卖订餐系统的
这篇文章主要为大家详细介绍了java实现外卖订餐系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下本文实例为大家分享了java实现外卖订餐系统的具体代码,供大家参考,具体内容如下一、使用技术javaSE二、实现功能外卖订餐系统具体要求如下:使用选择结构,循环结构,数组的知识实现一个外卖订餐系统三、运行效果图1.订餐功能2.查看餐袋3.签收订单4.删除订单5.点赞6.退出分析图片信息,可以看出我们需要创建一个菜单类,查看餐带类和点赞菜单
2021-03-31 16:31:25
1491
原创 华为大佬教你Java实现简单超市管理系统
这篇文章主要为大家详细介绍了java实现简单超市管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下本文实例为大家分享了java实现超市管理系统的具体代码,供大家参考,具体内容如下一、使用技术javaSE二、实现功能超市管理系统具体要求如下:使用选择结构,循环结构,数组的知识实现一个超市管理系统三、运行效果图1.货物清单2.增加货物3.删除货物4.修改货物5.退出首先我们分析图片里的内容,需要创建一个货物类。public class G
2021-03-31 15:52:21
308
原创 Java关键字volatile知识点总结
在本篇文章里小编给大家整理的是一篇关于Java关键字volatile知识点总结内容,有兴趣的朋友们可以学习参考下。volatile是什么volatile关键字是Java提供的一种轻量级同步机制。它能够保证可见性和有序性,但是不能保证原子性可见性对于volatile的可见性,先看看这段代码的执行flag默认为true 创建一个线程A去判断flag是否为true,如果为true循环执行i++操作两秒后,创建另一个线程B将flag修改为false 线程A没有感知到flag已经被修改成false了,不能
2021-03-31 15:21:36
426
1
原创 Java中当我们的开发涉及到多线程
Java中当我们的开发涉及到多线程的时候,这个时候就很容易遇到死锁问题,刚开始遇到死锁问题的时候,我们很容易觉得莫名其妙,而且定位问题也很困难。因为涉及到java多线程的时候,有的问题会特别复杂,而且就算我们知道问题出现是因为死锁了,我们也很难弄清楚为什么发生死锁,那么当我们遇到了死锁问题,我们应该如何来检测和查看死锁呢?Java中jdk 给我们提供了很便利的工具,帮助我们定位和分析死锁问题:1、死锁产生原因:当两个或者多个线程互相持有一定资源,并互相等待其他线程释放资源而形成的一种僵局,就是死锁。
2021-03-30 22:39:40
75
原创 用Java实现简单汽车租赁也太简单了吧
这篇文章主要为大家详细介绍了java实现简单汽车租赁系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下本文实例为大家分享了java实现汽车租赁系统的具体代码,供大家参考,具体内容如下一、使用技术javaSE二、实现功能汽车租赁系统具体要求如下:使用面向对象的知识实现一个汽车租赁系统1.汽车租赁信息表如下2.类和属性三、运行效果图1.先创建一个汽车类作为父类,这里有汽车的公共属性:public class Automobile {//汽车类 p
2021-03-30 20:24:22
1999
原创 看看百度大牛是怎样解决项目没有build path的问题
这篇文章主要介绍了解决项目没有build path的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧问题1通过eclipse的svn资源库添加的项目,显示的方式和直接创建的不一样,且没有Java Build Path,无法添加jre和jar包。原因是,在项目里面找到.project ,写入<natures> <nature>org.eclipse.jdt.core.javanature</nature> </natures>
2021-03-30 19:12:21
435
原创 三分钟全面带你解析java final关键字
这篇文章主要介绍了java final关键字的使用,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下根据上下文环境,Java 的关键字 final 的含义有些微的不同,但通常它指的是“这是不能被改变的”。防止改变有两个原因:设计或效率。因为这两个原因相差很远,所以有可能误用关键字 final。以下几节讨论了可能使用 final 的三个地方:数据、方法和类。1)final 数据对于编译时常量这种情况,编译器可以把常量带入计算中,可以减少了一些运行时的负担。在 Java 中,这类常量必须是基本类
2021-03-30 16:24:39
65
原创 世界黑客盗窃的关于mybatis plus 中的查询优化问题
这篇文章主要介绍了关于mybatis plus 中的查询优化问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下传统的mybatis plus 查询写法对于常规的mybatis单表查询,我们既可以采用LambdaQueryWrapper查询,也可以使用QueryWrapper查询。LambdaQueryWrapper具有防误写、规范代码等好处,但是缺点是无法在复杂的多表查询中使用。相比较来说,使用QueryWrapper编写查询更加灵活,可以适应更复杂的查询
2021-03-30 14:30:33
116
原创 腾讯大佬手把手教你SpringBoot轻松整合Minio
这篇文章主要介绍了手把手教你SpringBoot轻松整合Minio的方法,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下使用Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以。提示:以下是本篇文章正文内容,下面案例可供参考一、技术介绍1.Minio是什么?MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合
2021-03-30 13:36:30
458
原创 腾讯,阿里,京东大佬告诉你Java为何需要平衡方法调用与内联
这篇文章主要介绍了Java为何需要平衡方法调用与内联,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下在 Java 中,方法调用一般通过 Virtual Call 还有 Classic Call。Classic Call 就是直接指向方法的地址,需要一次寻址到方法的地址,比直接执行代码慢。Virtual Call 需要通过 VMT(Virtual Method Table)。这个VMT存储的是该class对象中所有的Virtual Method,程序运行的时候首先加载实例对象,然后通过实例对象
2021-03-29 21:43:50
72
原创 阿里p7三分钟教你mybatis 遍历foreach中or拼接的操作
这篇文章主要介绍了mybatis 遍历foreach中or拼接的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧我就废话不多说了,大家还是直接看看关键代码吧:select id, name from t_keys where 1 = 1<if test="keys != null"> <foreach collection="keys" item="key" open="AND (" close=")" separator="or" > name =
2021-03-29 20:21:31
2721
原创 华为数万员想知道的Java 三角形类 Triangle的用法详解
java 三角形类 Triangle的用法详解同步滚动:这篇文章主要介绍了java 三角形类 Triangle的用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧三角形类Triangle设计一个名为 Triangle 的类来扩展 GeometricObject 类。该类包括:1、三个名为 side1,side2,side3 的double 数据域表示这个三角形的三条边,它们的默认值是1.0.2、一个无参构造方法创建的默认的三角形3、一个能创建带指定side1,side2,
2021-03-29 16:43:09
194
原创 Java中的常用输入输出语句的操作代码有哪些你知道吗
这篇文章主要介绍了Java中的常用输入输出语句的操作代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下一、概述输入输出可以说是计算机的基本功能。作为一种语言体系,java中主要按照流(stream)的模式来实现。其中数据的流向是按照计算机的方向确定的,流入计算机的数据流叫做输入流(inputStream),由计算机发出的数据流叫做输出流(outputStream)。Java语言体系中,对数据流的主要操作都封装在java.io包中,通过java.io包中的类可
2021-03-29 16:12:15
2542
4
原创 腾讯大佬泄露的Spring Boot接口限流的常用算法及特点
这篇文章主要给大家介绍了关于Spring Boot接口限流的常用算法及特点的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧在一个高并发系统中对流量的把控是非常重要的,当巨大的流量直接请求到我们的服务器上没多久就可能造成接口不可用,不处理的话甚至会造成整个应用不可用。那么何为限流呢?顾名思义,限流就是限制流量,就像你宽带包了1个G的流量,用完了就没了。通过限流,我们可以很好地控制系统的qps,从而达到保护系统的目的。本篇文章将会介
2021-03-29 15:26:43
244
原创 阿里p9教你Spring MVC 如何处理一个请求的流程
Spring MVC是Spring系列框架中使用频率最高的部分。不管是Spring Boot还是传统的Spring项目,只要是Web项目都会使用到Spring MVC部分。因此程序员一定要熟练掌握MVC部分。本篇博客简要分析Spring MVC处理一个请求的流程一个请求从客户端发出到达服务器,然后被处理的整个过程其实是非常复杂的。本博客主要介绍请求到达服务器被核心组件DispatcherServlet处理的整理流程(不包括Filter的处理流程)。1. 处理流程分析Servlet处理一个请求时会调用s
2021-03-29 14:53:53
91
原创 阿里,百度。腾讯大佬三分钟快速搞懂Java的桥接方法和实例
这篇文章主要介绍了3分钟快速搞懂Java的桥接方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧什么是桥接方法?Java中的桥接方法(Bridge Method)是一种为了实现某些Java语言特性而由编译器自动生成的方法。我们可以通过Method类的isBridge方法来判断一个方法是否是桥接方法。在字节码文件中,桥接方法会被标记为ACC_BRIDGE和ACC_SYNTHETIC,其中ACC_BRIDGE用于表示该方法是由编
2021-03-28 17:47:51
143
2
原创 华为数万员工都想知道的Java 数组的两种初始化方式
这篇文章主要介绍了Java 数组的两种初始化方式,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下一、数组- 1.数组中存储元素的类型是统一的,每一个元素在内存中所占用的空间大小是相同的,知道数组的首元素的内存地址,要查找的元素只要知道下标,就可以快速的计算出偏移量,通过首元素内存地址加上偏移量,就可以快速计算出要查找元素的内存地址。通过内存地址快速定位该元素,所以数组查找元素的效率较高。- 2.随机的对数组进行增删元素,当增加元素的时候,为了保证数组中元素在空间存储上是有序的,所以被添加
2021-03-28 16:57:26
108
原创 马云深夜探访 Java 如何使用JDBC连接数据库
这篇文章主要介绍了Java 如何使用JDBC连接数据库,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下一、使用JDBC连接数据库1.使用JDBC-ODBC桥驱动程序连接数据库基本步骤:(1)加载并注册数据库驱动(2)通过DriverManager获取数据库连接(3)通过Connection对象获取Statement对象(4)使用Statement接口执行SQL语句(5)操作ResultSet结果集(6)关闭连接,释放资源2.下面进行代码演示1.注册数据库驱动程序的语法格
2021-03-28 16:04:34
78
原创 阿里p8级的人物教你Java发起http请求的完整步骤记录
这篇文章主要给大家介绍了关于Java发起http请求的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧在未来做项目中,一些功能模块可能会采用不同的语言进行编写。这就需要http请求进行模块的调用。那么下面,我将以Java为例,详细说明如何发起http请求。一、GET与POSTGET和POST是HTTP的两个常用方法。GET指从指定的服务器中获取数据POST指提交数据给指定的服务器处理1.GET方法使用
2021-03-28 15:06:58
478
原创 看看什么是小白都能懂得Java数组进行翻转
这篇文章主要介绍了详解java数组进行翻转的方法有哪些,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧在数组的元素中,有时候我们需要把它们的顺序进行颠倒,从而变成一个新的数组。主流的数组翻转方法有很多,本篇整理了一些实用的方法:arrayList、倒序循环、临时数组。相信除了第一种方法,其他两种大家可能没有接触过。下面就这三种Java数组翻转的方法,我们分别大家带来实例讲解。1.使用Collections.reverse(arrayL
2021-03-28 13:47:27
84
原创 百度大牛深夜探访Java 启动exe程序,传递参数和获取参数操作
这篇文章主要介绍了java 启动exe程序,传递参数和获取参数操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧1、java中启动exe程序 ,并添加传参String[] cmd = {"hh.exe","12315"}; Process process = null; try { ProcessBuilder pb = new ProcessBuilder(); pb.command(cmd); process=pb.start(); } catch (Excep
2021-03-27 19:03:06
276
原创 阿里p10深夜探访去寻找的资料
这篇文章主要给大家介绍了关于java关键字this和super的区别和理解的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧this:this理解为:当前对象 或 当前正在创建的对象可以调用的结构:属性、方法;构造器this调用属性、方法:先了解一下形参:形参的意义就是给属性赋值,我们是要给同名的属性赋值,这时候我们就把形参名和属性的名字写成一样,这样我们就知道我们传入的形参就是要给我们同名的属性去赋值的.在类的方法
2021-03-27 16:53:00
68
原创 天下大乱了,马化腾都不敢招的Java工程师......
这篇文章主要给大家介绍了关于java8中Map的一些骚操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧本篇内容是关于 map 新特性的一些方法使用上的介绍,如果有不足之处欢迎补充!!一. map新特性关于以下函数式编程的函数的计算知识追寻者都使用 简单字符串代替了,参数无非就是Key,value;2.1 forEachforEach迭代,相当于for循环public static void main(String[] ar
2021-03-27 16:07:57
95
原创 华为高级程序员告诉你Java中Dart类详细讲解
这篇文章主要介绍了dart类详细讲解,实例讲解的很清晰,有对于这方面不太清楚的同学可以跟着学习下dart 是一个面向对象的语言;面向对象有继承封装多态dart的所有东西都是对象,所有的对象都是继承与object类一个类通常是由属性和方法组成的在dart中如果你要自定义一个类的话,将这个类放在main函数外面类名使用大驼峰方法名使用小驼峰1.定义这个类的属性和方法//定义一个类的属性和方法class Person { String name = '张三'; int age = 1
2021-03-27 14:27:19
163
原创 阿里p9详解UDP协议格式及在Java的使用
这篇文章主要介绍了UDP协议格式及在java中的使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下UDP是面向无连接的通讯协议,由于通讯不需要连接,所以可以实现广播发送。UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。UDP适用于DNS、视频音频等多媒体通信、广播通信(广播、多播)。例如我们常用的QQ,就是一个以UDP为主,TCP为辅的通讯协议。UDP报文格式如下:UDP首部有8个字节,由4个字段构成,每
2021-03-27 13:43:09
164
原创 华为数万员工都想知道的Java中金额元转万元工具类的实例
这篇文章主要介绍了java中金额元转万元工具类的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧我就废话不多说了,大家还是直接看代码吧~public static void main(String[] args) { // 具体的金额(单位元) String value = "88000067898"; BigDecimal bigDecimal = new BigDecimal(value); // 转换为万元(除以10000) BigDecimal decim
2021-03-26 20:18:34
491
原创 Java的class加载指定的class操作
这篇文章主要介绍了java自定义ClassLoader加载指定的class文件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧继承ClassLoader并且重写findClass方法就可以自定义一个类加载器,具体什么是类加载器以及类加载器的加载过程与顺序下次再说,下面给出一个小demo首先定义一个类,比如MyTest,并且将其编译成class文件,然后放到一个指定的文件夹下面,其中文件夹的最后几层就是它的包名,这里我将这个编译好的类放到 : /Users/allen/Desktop/
2021-03-26 17:58:35
392
原创 阿里p9三分钟教你Java 自定义可继承枚举Enum的案例
这篇文章主要介绍了java 自定义可继承枚举Enum的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧一、定义enum抽象类public class AbstractEnum { private static final Map<String, AbstractEnum> nameEnumMap = new ConcurrentHashMap<>(); @Getter protected String name; protected Abstra
2021-03-26 15:20:39
260
原创 百度大牛教你面试必备技巧Java中new Object...
这篇文章主要介绍了面试官:Java中new Object()到底占用几个字节,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下我们来分析一下堆内布局以及Java对象在内存中的布局吧。对象的指向*先来看一段代码:package com.zwx.jvm; public class HeapMemory { private Object obj1 = new Object(); public static void main(String[] arg
2021-03-26 14:29:49
757
原创 百度大牛教你从零开始学springboot整合feign跨服务调用的方法
这篇文章主要介绍了从零开始学springboot整合feign跨服务调用的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下微服务横行的互联网世界, 跨服务调用显得很平凡, 我们除了采用传统的http方式接口调用, 有没有更为优雅方便的方法呢?答案是肯定的,feign就提供了轻便的方式!如果你的服务都注册了注册中心,比如nacos, 那么调用会显得很轻松, 只需一个注解, 带上需要调用的服务名即可,feign + nacos会帮你做剩余的事.如果没有注册中
2021-03-25 19:49:38
327
原创 如何Java List的方法改写compare实现升序,降序,倒序的案例
这篇文章主要介绍了Java List的sort()方法改写compare()实现升序,降序,倒序的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧本文旨在通过重写Comparator接口的compare()方法实现对List的升序、降序、倒序排序。首先明确一点:compare(Integer o1, Integer o2){}中,o1代表的是List容器中的后一个元素,o2代表的是List容器中的前一个元素!通过以下例子可以清晰了解这一点:public static void
2021-03-25 17:38:10
1909
原创 j应用Stack进行算术的操作办法
这篇文章主要介绍了java中应用Stack进行算术运算的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧- java.util.stack,继承自Vector- FILO, 适合带有小括号的算术运算import java.util.Stack; /** * 利用栈,进行四则运算的类 * 用两个栈来实现算符优先,一个栈用来保存需要计算的数据numStack,一个用来保存计算优先符priStack * * 基本算法实现思路为:用当前取得的运算符与priStac
2021-03-25 16:51:50
97
原创 Java8-11特性之默认ban法和静态ban法
在Java 8之前,默认情况下,接口中的所有方法都是公共的和抽象的。但是这一限制在Java 8中被打破了,Java 8允许开发人员在接口中添加新方法,而无需在实现这些接口的类中进行任何更改。为什么会有默认方法?主要是为了方便扩展已有接口;如果没有默认方法,假如给Java中的某个接口添加一个新的抽象方法,那么所有实现了该接口的类都得修改,影响将非常大。举个例子,Sortable 接口以及实现该接口的类SortableNumberCollection和SortableStringCollection。该接
2021-03-25 14:21:19
163
原创 JAVA中的break的无数种用法中的三种用法
在Java中,break语句有三种用法,第一种是用于终止switch语句中的语句序列,第二种是用于退出循环,然而第三种是用作goto语句的“文明”形式!我们知道,goto语句会破坏程序的结构,所以我们一般不会去使用这种功能。但是在某些情况下,goto语句对于流程控制很有价值并且结构合法。比如当退出深度嵌套的一系列循环时,goto语句很好用。虽然Java中保留了goto关键字,但是没有goto语句,也没有任何用到这个关键字的地方,所以为了能够使用类似像goto语句这样的功能,Java定义了break语句的
2021-03-25 13:40:25
449
原创 三分钟带你领路Java-JFrame窗体美化
JFrame默认的窗体比较土,可以通过一定的美化,让窗体表现的比较漂亮,具体要根据设计的设计图进行美化;JFrame美化的大致思路:先将JFrame去除默认美化效果,实现JWindow效果,然后再JWindow基础上对窗体的各项内容自定义设置与美化,大多用到插入背景图片、添加各种鼠标事件、弹窗与输入框等圆角等各种美化;下面是一个登录窗体的美化代码,以后再有对窗体美化的可以参照一下代码进行美化:1、Login实体类代码:package com; import java.awt.Color;im
2021-03-24 21:32:34
1459
原创 Java Swing 是如何只关闭当前窗体的实现的
看到很多人都在询问怎么在java swing中只关闭当前的窗体,小编因此写下此文.主界面主要是有两个JButton,一个是通过按钮事件调起另一个JFame,另一个是关闭当前窗体。1、关闭当前窗体不能使用setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)方法,可以使用setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);2、通过JButton事件不能使用exit(),这样会使得整个程序的窗体全部关闭,可以使用dis
2021-03-24 17:29:34
295
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人