zmzmii的博客

私信 关注
zmzmii
码龄1年
  • 393
    被访问量
  • 32
    原创文章
  • 308,215
    作者排名
  • 0
    粉丝数量
  • 毕业院校 华南农业大学珠江学院
  • 于 2020-05-31 加入CSDN
获得成就
  • 获得1次点赞
  • 内容获得12次评论
  • 获得0次收藏
荣誉勋章
兴趣领域
  • #后端
    #Java
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

2021-01-23

微信JS扫码功能报错:unable to find valid certification path to requested target,意思是找不到请求目标的有效证书路径。大佬的文章很全面{“errMsg”:“config:invalid signature”}一开始出现的是这个错误,查阅了很多资料都没得到解决。这个表示无效的签名,在溯源发现导致签名无效的原因是控制台中的jsapi=null,为什么会这样呢?带着疑问又继续找控制台的错误,接着发现因为这个为null来自于access_toke
原创
22阅读
0评论
1点赞
发布博客于 2 月前

2021-01-11

MySQL中为什么要在count中添加or null?  当用于统计某一个字段出现的次数时,如果在限制条件中不加上or null ,我们就不能得到正确的值。  现在有一个数据库表叫express,我们要查询其中字段status为0的数量select count(status = 0) from express;  这时的结果按理来说应该是3,可实际却是4.  也就是说我们此时把数据status=1的数据也加进来了。  这时候若是在条件后面加入or null,则统计的结果为正确值。
原创
10阅读
0评论
0点赞
发布博客于 2 月前

2021-01-05

java 反射中的属性创建一个类Person,设置phoneNumber属性为public.为了方便演示。我们接下来,通过获取这个属性和一个私有属性,给对象设置值。package com.zm.bean;public class Person { private String name; private int age; public String phoneNumber; private Person(String name){ this.n
原创
48阅读
2评论
0点赞
发布博客于 2 月前

2021-01-05

java 反射中的方法创建了一个类Person,其中设置Name的方法setName()和设置Age的方法setAge(),通过反射的方式来获取。 // 1.加载类 Class pClass = Class.forName("com.zm.bean.Person"); // 2.获取类的构造方法 Constructor c = pClass.getDeclaredConstructor(); // 3.设
原创
6阅读
0评论
0点赞
发布博客于 2 月前

2021-01-05

java反射中的构造方法获取构造方法,创建对象。package com.zm.bean;public class Person { private String name; private int age; private Person(String name){ this.name = name; } public Person(String name, int age) { this.name = name;
原创
9阅读
0评论
0点赞
发布博客于 2 月前

2021-01-05

java 的类的类型和获得Class什么是类的类型呢?  当我们创建了一个.java文件的时候,由于在编译的时候我们会将其编译为.class文件,这时,再将.class文件加载到内存中。  java是以对象的方式,对.class文件进行的存储,这时候,.class文件作为对象,以Class为对象类型的方式进行表示。  解释到这里可能还是很抽象。接下来还是用对象来解释一下。  当我们创建了一个Person对象的时候,我们可以通过构造方法来对其属性进行赋值。 Person p = new P
原创
6阅读
0评论
0点赞
发布博客于 2 月前

2020-12-26

Servlet的笔记1. 什么是Servlet?(1)Servlet(Server Applet),全称Java Servlet,其是用java编写的服务器端程序,用于交互式的浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。(2) Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下
原创
12阅读
0评论
0点赞
发布博客于 2 月前

2020-12-24

JavaWeb部署Tomcat  在2020版本之后的idea,部署tomcat的web项目操作更新了一波可以参考下面链接。  https://blog.csdn.net/qq_43441078/article/details/107912291
原创
7阅读
0评论
0点赞
发布博客于 2 月前

2020-12-24

JDBC的一些笔记整理(2)连接池(DataSource)的使用 连接池用于缓存连接! 当我们需要使用连接时, 可以不用再创建连接 ! 可以直接从连接池中获取连接. 当连接池中存在空闲连接时, 会将空闲连接给到程序使用. 当连接池中不存在空闲连接时, 且连接池未满时 , 则创建连接提供给程序使用 , 并在程序使用完毕后,缓存连接. 当连接池中不存在空闲连接时, 且连接池已满时 , 则排队等候空闲连接的出现. 注意: 使用连接池中的连接对象操作数据库时, 操作完毕依然
原创
10阅读
1评论
0点赞
发布博客于 2 月前

2020-12-23

JDBC的一些笔记整理  Java DataBase Connectivity ,即Java数据库连接,针对java对数据库进行操作时各大数据库厂商制定的一套标准接口,这套接口由各大数据库厂商进行了实现。  使用步骤:引入jar文件.加载数据库驱动 (JavaSE项目中可以省略 , JavaWeb项目必须编写此步骤)Class.forName(“com.mysql.jdbc.Driver”);通过驱动管理器, 获取JDBC连接对象.Connection conn = DriverManage
原创
9阅读
0评论
0点赞
发布博客于 2 月前

2020-12-19

MySQL数据库的分组统计(group by、having和count()的搭配使用)  下面有一张users表。  对数据库中的表的数据条数进行统计时,我们通常用count()聚合函数;select count(*) from users;  也可以通过对字段进行count()统计。select count(id) from users;  这时统计的结果和上一条数据值一样,但是如果字段中包含null值得数据时,统计得结果会缺失。  就比如我们拿sex字段进行统计时,sex中有条数据包
原创
18阅读
1评论
0点赞
发布博客于 2 月前

2020-12-19

MySQL数据库的查询(通配符和like关键字)  like关键字是作为模糊查询的一种方式,通常配合通配符一起使用。  通配符有%和 _ 这两种;  其中%表示匹配任意字符;_ 表示匹配单个字符;  具体演示实例:  可以看到,以张开头后接任意个字符的name字段的数据包括两条;以三结尾的name字段的数据只有一条;  下面来演示一下 _ 和 % 通配符搭配like关键字进行使用:  这个查询表示查找name开头有一个字符,中间为国,结尾任意字符的数据;...
原创
6阅读
1评论
0点赞
发布博客于 2 月前

2020-12-19

MySQL数据库的查询(is null和is not null)  一般字段数据中为varchar的数据类型,没有设置约束条件为非空时,且没有值时,可以显示为null;对字段值为空的条件进行判断查询需要用到is null 和 is not null。  我们对myusers表进行查询,可以看到如下结果:id为3的数据的sex字段为空,这时我们进行查找;  一般我们查找某个字段时,条件都会用age=20,这样的等于符号连接,而这个判断字符串值为空时则是用关键字表示。不能用:select * fr
原创
16阅读
1评论
0点赞
发布博客于 2 月前

2020-12-19

MySQL数据库的查询(order by)  当我们有需要对数据进行排序时,就可以使用order by语句。  上面的一张myusers表,当查询age字段时,order by放在表名的后面,接上字段名,desc表示降序排列。这就说明查询的是年龄字段以降序进行排列的所有表数据。(desc为降序,不添加为升序)。  上面展示的是对多列数据age,id进行降序排列;先排序的是age,后排序的为id,所以上面sql语句的意思是:对age进行降序排序后,再在年龄相同的情况下,对id也进行降序的排序。.
原创
6阅读
1评论
0点赞
发布博客于 2 月前

2020-12-19

MySQL数据库的查询(distinct和limit)distinct的关键字的用法:  当我们要查询的数据需要去重时,就需要使用到他了,下面举个例子就可以很容易知道他的作用了:    我们查询users这张表,查询出了表中的数据后,如果要想知道sex这个字段有什么取值,因为数据很多,这时如果查询全部,就会数据冗余。  接着我们通过distinct关键字:  当然,这里的数据查询好像挺废话的哈哈,如果例子是对班级去重,就比较合理,假如有某年级的学生表,上面有班级字段,如果把每个学生的信息都列出
原创
8阅读
1评论
0点赞
发布博客于 2 月前

2020-12-18

MySQL数据库的字段设置自增长创建表create table users( id int not null primary key auto_increment, name varchar(32) not null )engine=innodb default charset=utf8mb4;设置了字段id,name(id为自增长)。alter table users auto_increment=23(自己指定一个数字);当表创建后为其中插入一条数据时,如果以上述方式指定其自增长从
原创
16阅读
4评论
0点赞
发布博客于 2 月前

2020-12-07

JSON格式的数据解析简介:JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.语法格式:一个对象, 由一个大括号表示.括号中 描述对象的属性 . 通过键值对来描述对象的属性(可以理解为, 大括号中, 包含的是一个个的键值对.)格式:键与值之间使用冒号连接, 多个键值对之间使用逗号分隔.键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解析.)键值对的值, 可以是JS中的任意类型的数据在J
原创
7阅读
0评论
0点赞
发布博客于 2 月前

2020-12-05

多线程的整理线程与进程进程: 是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间。线程: 是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行。 一个进程最少有一个线程,线程实际上是在进程基础之上的进一步划分,一个进程启动之后,里面的若干执行路径又可以划分成若干个线程。线程和进程的概念就像是,一个多动能的音乐播放器,当进程执行时,该播放器运行,而线程相当于在播放器中可以同时进行的多种功能,比如下载歌曲,播放歌曲等等。线程在java中是抢占式调度的,
原创
10阅读
0评论
0点赞
发布博客于 2 月前

2020-12-01

java.io.File类的常用方法File类表示创建文件对象,他是一个抽象的文件,构造方法包含有:File​(String pathname),参数传递的是文件的路径。通过对象调用createNewFile()方法获取一个boolean类型的值。表示文件对象是否创建,true表示创建成功,false则表示文件已经存在。public class Demo { public static void main(String[] args) throws IOException {
原创
9阅读
0评论
0点赞
发布博客于 3 月前

2020-11-28

DateFormat类的两个常用方法format():参数传入一个日期类对象,将日期转换为字符串表示。parse():参数传入一个指定字符串格式日期,转换为日期类数据。DateFormat类是一个抽象类,它由SimpleDateFormat类继承并实现了这两个方法的使用。 //创建一个格式化日期类 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm ss"); //对当前时间进行字符串的
原创
10阅读
0评论
0点赞
发布博客于 3 月前

2020-11-28

BigDecimal的常用方法:System.out.println(0.1+0.2);在程序中输出该运算时,会产生运算的不精确。结果为:0.30000000000000004此时可以使用表示更为精确的常用类库BigDecimal创建的对象进行运算。 BigDecimal b = new BigDecimal("0.1"); BigDecimal c = new BigDecimal("0.2"); BigDecimal d = b.add(c);
原创
5阅读
0评论
0点赞
发布博客于 3 月前

2020-11-28

java.util.Arrays的一些方法toString(int[] arr):对参数数组进行打印。sort(int[] arr):对参数数组进行升序排序。binarySearch(int[] arr,int key):对指定数组进行二分查找,找到key值对应的下标。copyOf(int[] arr,int length):对数组进行动态扩容。//定义一个数组 int[] arr = {8,9,0,4,1,3,6,2}; //打印数组内容 Sy
原创
6阅读
0评论
0点赞
发布博客于 3 月前

2020-11-28

关于Math类的一些方法列举一些比较常用的:abs(int a) -该方法有多个重载方法:参数可为double,int,float,long用于返回参数中的数值的绝对值。min(int a,int a) -该方法有多个重载方法:参数可为int,float,double,long用于返回两个参数中的较小值。max(int a,int a) -该方法有多个重载方法:参数可为int,float,double,long用于返回两数中的较大值。round(double ) -该方法有多
原创
8阅读
0评论
0点赞
发布博客于 3 月前

2020-11-28

Objects类的一些方法使用objects作为一个工具类,在java.util.Objects中,存在的常用方法(静态)有:equals(Object a,Object b)该方法用于比较两个对象是否相同,当对象为null时依然可以使用,相比于equals()方法而言,如果外部传递过来调用该方法的对象为null,则出现空指针异常。下面是Objects类的equals()方法的源码:public static boolean equals(Object a, Object b) {
原创
5阅读
0评论
0点赞
发布博客于 3 月前

2020-11-18

关于处理异常中finally的面试题首先明确什么是异常?异常是在程序中导致程序中断运行的一种指令流。比如最常举例的被除数除以除数,若除数为零,则出错。一般当程序运行时,如果出现异常,则会中断执行。该过程包括:1.JVM将会创建一个异常类对象,该对象包含异常信息。2.main方法未对该异常进行处理时,自动将异常抛给main的执行者JVM。3.JVM对异常信息进行响应(将异常信息显示到控制台,中断处理。)int arr[] = new int[3];int b = arr[3];出现了
原创
4阅读
0评论
0点赞
发布博客于 3 月前

2020-11-16

栈与堆的一些理解当程序创建一个变量或对象的引用时,视为在栈内存中开辟一个新得空间,用来存储这些数据。java栈的区域很小,大约2m左右,特点是存取的速度特别快。栈存储的特点是先进后出。这相当于一个子弹夹,当往里装子弹后,先装进去的没有那个快被使用,而是最后装进去的最先使用。存储速度快的原因:栈内存, 通过 ‘栈指针’ 来创建空间与释放空间 !指针向下移动, 会创建新的内存, 向上移动, 会释放这些内存 !这里可以想象一下填装子弹的过程。(个人理解:刚开始标记的是子弹夹的入口,后来每装进一枚
原创
20阅读
0评论
0点赞
发布博客于 3 月前

2020-11-13

如何跳出多重循环当循环出现多重嵌套的时候,要跳出多重循环时,先要在最外层循环的外边定义一个语句,当满足条件则跳出循环,在break后加上定义的最外层的语句,格式如下:public static void main(String[] args) { //跳出多重循环 xunhuan:for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { Sys
原创
8阅读
0评论
0点赞
发布博客于 3 月前

2020-11-13

break和continue的区别当循环体执行时,如果使用break的话,则跳出当前循环。而使用continue时,该次循环则会被跳过,继续执行下一次的循环。public static void main(String[] args) { for (int i = 0; i < 5; i++) { if(i == 3){ break; } System.out.println(
原创
4阅读
0评论
0点赞
发布博客于 3 月前

2020-11-13

字符串连接符、三目运算符、变量作用域、转义字符的使用字符串连接符当字符串和数值进行拼接时,其本质也就是说数值运算符变为了字符串运算符后将两个字符串进行拼接。String text = "Hello";int a = 100;String text1 = text + a;System.out.println(text1);结果为字符串类型的Hello100。三目运算符三目运算符使用语法:值为boolean类型的表达式?表达式为true返回该值:表达式为false返回该值。
原创
5阅读
0评论
0点赞
发布博客于 3 月前

2020-11-12

java中逻辑运算符&& 和 & 的区别?关于&&表示的是短路与,而&表示的是与。两者的区别在于&&可以只判断其中一个条件是否符合,如果不符合则直接返回结果,而&需要同时满足两个条件的成立。int a = 10;int b = 20;int c = 30;System.out.println(a > b && c > b); //此时如果有一个条件不成立,则不需要判断后面的条件System.
原创
6阅读
0评论
0点赞
发布博客于 3 月前

2020-11-12

浮点类型float的表示当写出float f = 10.1时,便会提示出错。原因是数值10.1默认表示为double,而double的表示范围是双精度类型,占用8个字节的内存。因此出现了数据溢出的现象。这时候一般使用强制转换便可解决,但是java还提供了另一种方法。float f = 10.1f;此时编译通过。...
原创
4阅读
0评论
0点赞
发布博客于 3 月前

2020-11-12

java数据类型中关于数据溢出的一些事情byte表示整型变量;在java中的存储的内存范围在-128-127之间,占用一个字节。对于理解数据类型的值溢出可以有一些比喻实例:比如:有一大杯水,但是里边只剩几口了。这时我们可以将其倒入到水其他更小的杯子中,这时可以用小杯子喝水。其中的大杯子表示范围更大的数据类型,而小杯子表示数据范围小的。现在举个实际例子:当int类型的数据存储到了一个128的值,我们要将其赋值给byte类型的数据,int a = 128;byte b;b = a;这时候整
原创
41阅读
0评论
0点赞
发布博客于 3 月前

Centos7中nmtui命令图形界面编辑完后激活ens33时显示无法激活连接?

就跟下图所述,这个问题看了看一些相关的问题。 发现要关闭NetworkManager等步骤再重启network。但重启后就没法使用nmtui了。 完全小白,也不知道提问得准不准确,希望有大佬能够解答。![图片说明](https://img-ask.csdn.net/upload/202005/31/1590863544_314494.png)![图片说明](https://img-ask.csdn.net/upload/202005/31/1590863551_657130.png)
0回答
发布问题于 9 月前