自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java中的反射

通过Class对象的getFields()或者getField()方法可以获得该类所包括的全部Field属性或指定Field属性。Field类提供了以下方法来访问属性。通过反射,可以在运行时动态地创建对象并调用其属性,不需要提前在编译期知道运行的对象是谁,可以给程序带来极大的灵活性。反射可以创建对象,操作属性,调用方法。

2023-09-04 17:46:58 203

原创 重载是什么?只有返回值类型不同算不算重载?为什么?

首先,重载,从简单说,就是函数或者方法有相同的函数名,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者重载方法,例子如下:重载但从定义上来说是很好理解的,我们接着说下一个问题,只有返回值不同的函数算不算重载呢?这个简单 我们在IDEA里面试一下就能知道结果,自己去试一下哦,虽然很简单。

2023-04-26 10:25:40 2766 1

原创 面向过程与面向对象的区别与联系

面向过程是一种以事件为中心的编程思想,编程的时候把解决问题的步骤分析出来,然后用函数把这些步骤实现,在一步一步的具体步骤中再按顺序调用函数。在日常生活或编程中,一些较为简单的问题可以用面向过程的思路来解决,直接有效,但是当问题的规模变得更大时,用面向过程的思想是远远不够的。所以慢慢就出现了面向对象的编程思想。世界上有很多人和事物,每一个都可以看做一个对象,而每个对象都有自己的属性和行为,对象与对象之间通过方法来交互。

2023-03-01 11:15:09 638

原创 Java自动拆装箱与缓存——Java中的128陷阱

在讲解128陷阱之前,需要了解一些概念。Java是面向对象的语言,但基本类型并不是面向对象的,从而出现了包装器类型,并且包装器添加了更多的属性和方法。如我们在使用集合类型Collection的时候就一定要使用包装类型而非基本类型,它相当于将基本类型"包装起来",,丰富了基本类型的操作。包装器类包括Integer、Long、Float、Double、Short、 Byte、Character和Boolean前6 个类派生于公共的超类Number。

2023-01-13 21:17:05 884

原创 Spring——AOP代理机制详解

切面的工作被称为通知,通知定义了切面是什么以及何时使用,除了描述切面要完成的工作,通知还解决了何时执行这个工作的问题。

2022-10-24 00:05:03 705

原创 【已解决,可放心食用】zookeeper启动时 Error contacting service. It is probably not running.

这个151是我之前jdk的一个版本,说明我之前的东西没有删干净,所以尽可能回忆一下之前哪里都用到了这个,我是在/root/.bash_profile文件中发现残存的,需要改一下,如果实在找不到,就把zookeeper bin目录下的命令都试一试,也能给你一些提示,另外,创建目录的时候还是尽量不要加版本号的好,很容易出错。如果myid文件中的数字不和zoo.cfg中的数字对应,一定要对应,不然也会造成错误。一定要对应上,上面master对应的是1,那就写1.主机名字对应的那个就写哪个数字。

2022-09-08 00:22:22 1321

原创 【已解决,可放心食用】spark-slave1: ssh: Could not resolve hostname spark-slave1: Name or service not know

如果还是有问题,而且网上的方法试了很多很多还是不管用,那请再怀疑一下自己,仔仔细细地再检查一遍名字是不是对应着的,希望大家以后配环境、写代码顺顺利利

2022-09-07 23:56:19 5368

原创 最少的交换 Java实现

现在给你一个由n个互不相同的整数组成的序列,现在要求你任意交换相邻的两个数字,使序列成为升序序列,请问最少的交换次数是多少?从题中看到关键点①相邻元素交换②排序(升序)求交换次数根据示例可以知道要对数组进行排序,可以用冒泡排序,但是冒泡排序O(n^2)时间超限制从这里可以看出,归并排序是最适合解该题的算法仔细分析该题,其实是求逆序对的个数...

2022-08-30 09:54:39 665

原创 排序算法——归并排序

归并排序的整体思路就是分而治之,将待排序列分为两部分,分别排序,采用递归,直到不能再分割,那么简单地进行一个归并即可。将两个有序的数组合并成一个大的有序的数组,通过递归把待排序数组变成完全有序数组。让2个索引对应的值进行比较 谁对应的值小 把值小的放入tmp数组 然后当前索引++ 再循环比较。这样做必然会有一个数组索引先到头 再对另一个数组剩下的元素遍历放入tmp即可。首先创建一个临时数组tmp 以及2个索引分别指向2个数组的首。然后再把合并好的数组放会原数组对应的为止 就算完成此次合并。......

2022-08-30 09:40:30 172

原创 如何确定你访问的网站的真实性——证书体系

为了满足互联网环境下电子商务等行为的安全性要求,需要有个方法确认身份。证书就是为了证明这个网站的身份假如A服务器上部署了证书,证明我是张三,而B服务器只是假冒了张三,但并没有张三的证书,那他就不是真的,那么想要和张三通信就只能去A服务器各种系统没办法防止被骗,但在出厂的时候就将各种证书植入到了操作系统中,IOS、Windows等等操作系统一出厂就有根证书,可以通过根证书来验证是否为真正的证书每个X.509证书都包含一个公钥、数字签名以及与证书相关的身份及其颁发证书颁发机构(CA)的相关信息。...

2022-07-16 09:00:00 690 1

原创 单链表的增删改查操作(含头插尾插)

单链表是比较基础的东西,要掌握鸭

2022-06-07 21:54:20 81

原创 二叉树链表存储、链表、栈、堆的结构实现(Java)

ArrayList和LinkedList都实现了List接口,但是它们有以下不同点:底层数据结构:ArrayList是基于索引(index)的数据结构,它的底层是数组,它可以以O(1)时间复杂度进行随机访问。与此对应,LinkedList是以元素列表的形式存储它的数据,每一个元素都和它的前一个和后一个元素链接在一起,在这种情况下,查找某个元素的时间复杂度是O(n)。对元素的操作:相对于ArrayList,LinkedList的插入,添加,删除操作速度更快,因为当元素被添加到集合任意位置的时候,不需要像

2022-03-28 22:59:44 482

原创 ArrayList和LinkedList的区别

ArrayList和LinkedList都实现了List接口,但是它们有以下不同点:底层数据结构:ArrayList是基于索引(index)的数据结构,它的底层是数组,它可以以O(1)时间复杂度进行随机访问。与此对应,LinkedList是以元素列表的形式存储它的数据,每一个元素都和它的前一个和后一个元素链接在一起,在这种情况下,查找某个元素的时间复杂度是O(n)。对元素的操作:相对于ArrayList,LinkedList的插入,添加,删除操作速度更快,因为当元素被添加到集合任意位置的时候,不需要像数

2022-03-24 16:40:59 392

原创 Java的多态性及例子

多态性是面向对象编程的又一个重要特征,它是指在父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为对面向对象来说,多态分为编译时多态和运行时多态。其中编译时多态是静态的,主要是指方法的重载,它是根据参数列表的不用来区分不同的方法。通过编译之后会变成两个不同的方法,在运行时谈不上多态。而运行时多态是动态的,它是通过动态绑定来实现的,也就是大家通常说的多态性。Java实现多态有个必要条件:继承、重写和向上转型。只有满足这个条件,开发人员才能够在同一个继承结构中使用统一的逻辑实现代码

2022-03-13 21:58:39 1711

原创 Java面向对象的三大特征

目录封装封装的例子继承相关例子多态封装封装隐藏了类的内部实现机制,可以不在影响使用的情况下改变了类的内部结构,同时也保护了数据。对外界而言它的内部细节是隐藏的,暴露给外界的只是它的访问方法。属性的封装:使用者只能通过事先定制好的方法来访问数据,可以方便地加入逻辑控制,限制对属性的不合理操作方法的封装:使用者按照既定的方式调用方法,不必关心方法的内部实现,便于使用,便于修改,增强代码的可维护性封装的例子参考以下链接:https://blog.csdn.net

2022-03-12 21:08:22 403

原创 Java中的封装和封装的案例

目录封装封装的实现步骤封装的例子封装实现的意义封装的综合应用案例封装封装隐藏了类的内部实现机制,可以不在影响使用的情况下改变了类的内部结构,同时也保护了数据。对外界而言它的内部细节是隐藏的,暴露给外界的只是它的访问方法。属性的封装:使用者只能通过事先定制好的方法来访问数据,可以方便地加入逻辑控制,限制对属性的不合理操作方法的封装:使用者按照既定的方式调用方法,不必关心方法的内部实现,便于使用,便于修改,增强代码的可维护性封装的实现步骤通过访问限制符修改类中属...

2022-03-12 20:20:21 2488

原创 Mybatis中的多表操作(查询修改删除)

写一篇博客致我死去的时间最近在写一个项目,信息管理方面的,对教师和班级的操作是通过关联表,一开始查询班级和查询班级对应的教师是两个接口,被人指点,发现应该就是一个接口,整体思路出现问题,大改!目录多表连查多表删除多表修改多表连查首先从实体类开始,数据库中没有的字段,但是我又要用到,应该这样做这就表示数据库中没有这个字段,但是你要用。在配置文件中用collection来进行分表查询findById()这个方法是查询一个班级,而下面selectTeacher.

2022-01-22 15:06:43 5580 2

原创 力扣2114.句子中的最多单词数 Java

目录题目描述解题思路题目描述https://leetcode-cn.com/problems/maximum-number-of-words-found-in-sentences一个 句子 由一些 单词 以及它们之间的单个空格组成,句子的开头和结尾不会有多余空格。给你一个字符串数组 sentences ,其中 sentences[i] 表示单个 句子 。请你返回单个句子里 单词的最多数目 。示例1:输入:sentences = ["alice and bob ...

2021-12-30 16:13:15 160

原创 Java split()方法

split()方法的作用是将一个字符串按照指定的分隔符分割为多个子字符串,然后将结果拼接为字符串数组返回,下面是我将借鉴菜鸟教程的部分语法stringObj.split([separator,[limit]])1. stringObj 是你想要分解的String对象。该对象本身是不会被split()方法修改的。2. separator: 分隔符,是可选项,它可以是字符串或正则表达式,如果不指定分隔符则会返回包含整个字符串的单一元素数组,也就是没有进行分割。3. limit:可选项,用来限制返

2021-12-30 16:12:55 455

原创 力扣 206.反转链表

问题描述给你单链表的头节点head,请你反转链表,并返回反转后的链表。示例1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例2:输入:head = [1,2]输出:[2,1]示例3:输入:head = []输出:[]解题思路/** * Definition for singly-linked list. * public class ListNode { * int val; *...

2021-12-11 23:44:38 644

原创 力扣 53.最大子数组和 Java

问题描述给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1] 的和最大,为6 。示例2:输入:nums = [1]输出:1示例3:输入:nums = [5,4,-1,7,8]输出:23解题思路 public static int ...

2021-12-10 22:47:04 486

原创 Git提交后本地的代码丢失的解决方案

第一就是看看自己在那个分支上面提交的,我在master上提交的,但是到dev上面看,发现代码没有了,真的是被自己蠢哭了,所以切换回去就可以了第二就是IDEA工具中有一个查看本地历史,可以在这里面找回最近修改过的代码第三就是① 没有commit,没有add操作 基本可以放弃治疗了②没有commit,有add操作执行:git fsck --lost-found在项目git目录下的 /.git/lost-found/other里有add过的文件③执行了commit操作...

2021-11-26 22:29:01 11784 7

原创 牛客 SQL51 查找字符串 10,A,B 中逗号,出现的次数cnt

题目描述查找字符串'10,A,B' 中逗号','出现的次数cnt。题解思路:将逗号替换成空白,将两次的长度相减再除以每个逗号所占字符长度,即可得到次数所用到的知识点:统计字符串长度char_length1、返回值为字符串string或者对应字段长度,长度的单位为字符,一个多字节字符(例如,汉字)算作一个单字符;2、不管汉字还是数字或者是字母都算是一个字符;3、任何编码下,多字节字符都算是一个字符;所以一个逗号是一个字符,最后相减得到的结果就是逗号出现的次数参考

2021-11-23 10:19:27 767

原创 MySQL中的一些小知识点(待更新)

HAVING: WHERE语句不能和count同时使用,使用HAVING,在GROUP BY 后面使用DISTINCT: 列出表中不重复的值修改表名: ALTER TABLE 旧表名 RENAME 新表名四舍五入:ROUND(x)函数取离x最近的函数,ROUND(x,y) x是目标数,y是保留几位小数,截断时进行四舍五入 FORMAT(x,y),将x保留到小数点后y位,截断时进行四舍五入,但输出结果是三位一个逗号的求和:sum计数:count...

2021-11-09 20:41:54 319

原创 MySQL中的sum()和count()

参考count()是用于查询行数的方法我们使用如下语句查询该表中数据,得到的是包括NULL值的所有行,count()不区分NULL,这样就会导致得到的数据有误,所以修改语法,只求有值的行数select count(*) from resume_infoselect count(num) from resume_infosum()一般用于求和但不会将NULL算入其中,默认其为0select sum(num) ...

2021-11-09 20:38:35 1193

原创 Mybatis中where 1=1 和<where>标签

where 1 = 1 起到一个占位的作用<select id="listPage3" resultType="com.qcby.shujia.demo.entity.UserBlog"> select ub.*,u.username,u.head_Img,u.reason as userReason from user_blog ub left join user u on ub.user_id = u.id where 1=1 /*如果去掉,下面的条.

2021-11-09 19:44:58 906 1

原创 (已解决)vue运行出错:Module build failed Error Node Sass does not yet support your current environment

最有效最省力的方式就是降低node的版本,因为太高的版本不支持点进去日志给的网址,会发现当前sass的版本支持的最高的node版本是14,而我是16,所以经常出错https://github.com/sass/node-sass/releases/tag/v4.14.1卸载换个新版本就好啦...

2021-10-24 08:34:53 8824

原创 牛客sql第八题 SELECT DISTINCT

drop table if exists `salaries` ; CREATE TABLE `salaries` (`emp_no` int(11) NOT NULL,`salary` int(11) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL,PRIMARY KEY (`emp_no`,`from_date`));INSERT INTO salaries VALUES(10001,72527,'...

2021-09-28 17:33:10 125

原创 牛客sql题第七题——group by和having

group by 可以根据表名进行分组统计,假设有如下表该题要求查找薪水记录超过15次的员工号emp_no以及其对应的记录次数t先放答案,下面是我的思路,以及对having这个关键字的认识SELECT emp_no,COUNT(emp_no) t FROM salaries GROUP BY emp_no HAVING t > 15我们一步一步来看,首先需要将其按照emp_no来分组,看一看有多少人有薪水记录SELECT emp_no FROM salaries GROU.

2021-09-27 22:34:14 195

原创 在idea中SQL语句运行两遍

配置了mybatis后,由于之前找不到测试类的问题,勾选了把项目委托给maven,这次终于可以运行了,可是每次sql语句都要执行两次,添加数据的时候,一下插入了两条一样的数据,找了半天,发现代码没有问题,后来集思广益,发现了端倪,因为将项目委托给了maven,所以执行了两次,取消勾选又不能运行,真是个两难的处境,然后发现,切换成跳过测试模式,就可以了,喜大普奔(将跳过测试勾选上就可以了)...

2021-08-24 12:10:54 466 1

原创 Class not found(没有发现测试)我是怎么解决的

配置了maven以后,在执行方法的时候报错 Class not found ,刚看到的时候没在意,以为很好解决,没想到竟然用了那么长时间一开始检查,代码没有发现什么错误,去看了各种东西,百度上的一些方法也不管用,后来甚至换了一款idea,还是报错,到最后,经过各方的努力,终于见到了光明!就是这个地方,红框框起来的地方,勾选上,问题就解决了,直接交给maven处理,就可以运行了...

2021-08-21 20:07:05 9428 9

原创 linux中的文件权限

linux中的文件权限指的是代表着创建文件的用户(所有者),和用户组,以及其他用户对文件的读、写以及执行的权限owner 所有者,缩写ugroup 用户组,缩写gother 其他,缩写o第一个字符用来区分类型d:表示是一个目录-:表示一个普通文件。l:表示这是一个符号链接文件,实际上指向另一个文件。b、c:分别表示区块设备和其他的外围设备,是特殊类型的文件。s、p:这些文件关系到系统的数据结构和管道,通常很少见到。第二到十个字符以三个为一组,用来表示权限,第一组代..

2021-08-21 19:48:58 240

原创 每天一个linux命令 mkdir

linuxmkdir命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。1.命令格式:mkdir[选项]目录...2.命令功能:通过mkdir命令可以实现在指定位置创建以DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的(区分大小写)。3.命令...

2021-08-21 15:49:06 496

原创 每天一个linux命令 pwd

查看当前工作目录的完整路径1. 命令格式:2. 命令功能:3. 常用参数:4. 常用实例:

2021-08-21 15:22:46 71

原创 JavaScript(1)

<scripttext="text/javascript"> </script>自动类型转换在JavaScript中有自动类型转换+ 在JavaScript里面可以是字符拼接符,也可以是运算符,当 + 左右两边都是数字则是加法,否则是字符串拼接<scripttext="text/javascript"> //定义字符串变量 vara="3.145"; //让字符串变量和数值执行算数...

2021-08-21 14:57:02 97

原创 CSS侧重点中的重点总结

一、字体与文本相关样式1. 字体相关样式属性font:复合属性color:①颜色的英文②十六进制颜色值③rgb()格式font-family:可设置多个字体样式,浏览器会依次检索,找到可以用的字体样式font-size(可以是相对字体大小也可以是绝对字体大小):length为其中的一个常用属性值font-size-adjustfont-stretch:横向拉伸font-style:italic(字体倾斜)font-weight:字体粗细text-...

2021-07-11 23:46:14 166

原创 每天一个linux命令 cd

最基本的命令语句,其他的命令语句要进行操作都是建立在使用cd命令上的1.命令格式: cd [目录名]2.命令功能: 切换当前目录至dirName3.常用范例: 3.1 进入系统根目录 命令:cd / 直接跳转 cd .. 回到上一级,可以一直退,直到退到根目录 3.2&3.3 进入当前目录的父目录的父目录跳转到指定目录 “当前用户主目录...

2021-07-09 18:43:00 93

原创 每天一个linux命令 ls

一 文件目录操作命令1.ls命令1. ls命令ls命令是linux下最常用的命令。ls命令就是list缩写。ls用来打印当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。通过ls命令不仅可以查看Linux文件夹包含的文件,而且可以查看文件权限...

2021-07-04 23:32:25 355 1

空空如也

空空如也

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

TA关注的人

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