自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

木子study的博客

木子study

  • 博客(41)
  • 收藏
  • 关注

原创 Mongodb 完结笔记

Mongodb1、 MongoDB引言1.1 基本概念MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。Nosql技术门类 redis 内存型 mongodb 文档型MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以

2021-05-30 17:40:15 486 2

原创 js中null、undefined、NaN的区别

null、undefined、NaN的区别null、undefined、NaN的数据类型不一致alert(typeof null); 结果是obejctalert(typeof NaN); 结果是numberalert(typeof undefined); 结果是undefinednull和undefined的值可以等同alert(null= =undefined); truealert(null= =NaN); falsealert(NaN= =undefined

2020-10-11 17:19:42 1450

原创 python极速入门(适合有基础)

初始python (极速入门)python的加减乘除print(3 + 4)print(3 - 2)print(4 * 4)# “ / ” 为浮点数除法,返回浮点结果print(4 / 4) # z“ // ” 表示整数除法,返回不大于结果的一个最大整数 print(4 // 4)变量height = 4weight = 3size = height * weightprint(size)谈到变量,可以来聊聊python语言所属的类型//Python 是强类型

2021-11-04 17:22:17 350

原创 [rejected] master -> master (non-fast-forward) error: failed to push some refs to

报错截图本地创建了一个project并在码云上创建了一个仓库,想要将本地的仓库链接到远程仓库我用的是如下方法:git init    初始化本地仓库git remote add origin XXX     添加远程仓库地址如果你在这之后就执行git add .git commit -m " "git push origin master,那么就会出现这个问题(被拒绝),所以在remote add后不要着急git add,一定要git pull origin master,出现这个原因

2021-11-01 10:42:44 1165

原创 mysql45讲知识点

1. redo log的概念是什么? 为什么会存在.redo log是固定大小的文件,这也决定了它是需要循环使用文件空间的,write pos 是当前记录的位置,一边写一边后移,写到第 3 号文件末尾后就回到 0 号文件开头。checkpoint是当前要擦除的位置,也是往后推移并且循环的,擦除记录前要把记录更新到数据文件。redo log是物理日志,记录的是对数据库页的修改,它用来恢复提交后的物理数据页(恢复数据页,且只能恢复到最后一次提交的位置)。由于更新数据的时候引擎并不是按条更新的,而是以页

2021-09-26 10:48:28 391

原创 Stream流的应用

本篇文章用于记录自己对于Stream流的学习,把经常使用的api给记录下Stream流的三个特性Stream流不是一种数据结构,不保存数据,它只是在原数据集上定义了一组操作。这些操作是惰性的,即每当访问到流中的一个元素,才会在此元素上执行这一系列操作。Stream不保存数据,故每个Stream流只能使用一次。流的继承关系流的使用1、boxed,可以把基本数据类型转为Object类/** * @author MZ-LI * @title: Boxed * @projectName

2021-09-23 19:09:13 566

原创 leetcode 三数之和

题目描述给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]输入:nums = [0]输出:[]思路源于三数之和,我的理解注释都已经写到代码中代码class Solu

2021-08-28 23:44:19 46

原创 Leetcode 有效的括号

题目描述给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例示例1输入:s = "()"输出:true示例2输入:s = "()[]{}"输出:true示例3输入:s = "([)]"输出:false思路代码很简单,自己看就可以懂,就是一个巧妙的思想创建一个特殊栈代码class Solution { public boole

2021-08-28 22:55:30 40

原创 leetcode 盛最多水的容器

题目描述给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。示例示例2输入:height = [1,1]输出:1示例3输入:height = [4,3,2,1,4]输出:16暴力解法思路:双层for循环,找到左右边界值计算出所有两个点组合所成的面积,求

2021-08-28 22:38:20 58

原创 leetcode 最长回文子串

题目描述给你一个字符串 s,找到 s 中最长的回文子串。示例 :示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"暴力解法思路根据回文子串的定义,枚举所有长度大于等于 2 的子串,依次判断它们是否是回文;可以只针对大于「当前得到的最长回文子串长度」的子串进行回文验证;当得到了一个更长的回文时,不需要真的做截取。只需要记录「当前子串的起始位置」和「子串长度」。class So

2021-08-26 23:24:35 100

原创 leetcode 无重复字符的最长子串

题目描述给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。``输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子

2021-08-25 17:11:22 53

原创 leetcode 两数相加

题目描述给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。整体思路通过两个链表对应的value相加,如果超过10就需要用一个进位j来记录,并使用一个sum%10来表示求和后的新链表的value值,sum/10来求出进位j的具体值,链表不为空就继续循环下去,循环条件是两个链表只要有一个不为空即可。最后循环结束如果

2021-08-25 16:43:47 54

原创 leetcode两数之和

要求给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 输入:nums = [3,2,4], target = 6输出:[1

2021-08-25 16:06:14 49

原创 RabbitMQ(全)

1、MQ引言1.1 什么是MQMQ全称MessageQueue,中文名称消息队列。通过典型的生产者和 消费者模型,生产者不断的从队列中获取信息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松地实现系统间解耦。别名为消息中间件,通过利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成1.2 MQ有哪些当前市面上有很多的主流的消息中间件,如老牌的ActiveMQ、RabbitMQ、Kafka,阿里自研的RocketMQ1.

2021-06-01 17:38:41 378 1

原创 Docker 笔记(全)

Docker1.1 概念Docker 是一个开源的应用容器引擎,基于Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。1.1.1...

2021-06-01 15:05:07 349

原创 MongoDB的安装(Ubuntu20.04)

1.1 安装MongoDB首先安装gnupg软件包:sudo apt-get install gnupg导入包管理系统使用的公钥:wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -添加MongoDB存储库:echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 m

2021-05-30 16:33:23 845

原创 mysql 知识点

脏读指的是读到了其他事务未提交的数据,未提交意味着这些数据可能会回滚,也就是可能最终不会存到数据库中,也就是不存在的数据。读到了并一定最终存在的数据,这就是脏读。

2021-03-27 15:44:12 94 1

原创 HashMap面试题(持续更新)

1、HashMap的数据结构?底层使用的是哈希表(数组加链表),结合数组和链表的优点,为提高链表的查找效率,jdk8之后,当链表的长度超过8,链表就转换成红黑树2、能说说HashMap的put()和get()方法的具体实现嘛?存储对象时,将K/V值传给put()方法调用hash函数计算K的hash值,然后结合数组长度,计算得出数组的下标调整数组大小,进行扩容操作(如果元素个数超过capacity*loadfactor,数组会执行resize()将容量变为原来的二倍)1、如果通过K计算得.

2021-03-19 10:28:58 173

原创 mybatis 关于resultMap(多对一,一对多)

为了防止遗忘mybatis的一些细节点,记录一下首先我定义了两个实体类,一个是学生,一个是老师建表时学生tid和老师外键关联代码如下(为了代码简洁,使用了lombok依赖)环境搭建@Data@NoArgsConstructor@AllArgsConstructor//学生类public class Student { private Integer id; private String name; //因为多个学生对应一个老师,设置一个teacher对应数据库字段t

2021-03-18 22:04:35 734

原创 mybatis-plus 代码生成器(boot整合)

代码生成器主类public class CodeGenerator { @Test public void run() { // 1、创建代码生成器(默认配置Velocity), //如果使用别的模板引擎,只需要对mpg做设置 //eg: 使用freemarker 引擎 //mpg.setTemplateEngine(new FreemarkerTemplateEngine()); AutoGenera

2021-03-15 17:11:25 145

原创 稀疏数组

关于稀疏数组和原始二维数组的相互转化 具体注释代码上有二维数组转为稀疏数组的大致思路为:首先定义稀疏数组的容量,行数是二维数据的总数据数+1,列数是3稀疏数组的第一列是一致的,[0][0]是二维数组总行数,[0][1]是二维数组总列数,[0][2]是二维数组数据总个数然后要知道稀疏数组[i][0]是数据的对应行,稀疏数组[i][1]是数据的对应列,稀疏数组[i][2]是二维数组的数据对应值,i>0然后就是遍历二维数组,做一个非0判断,将二维数组的行列值赋给稀疏数组稀疏数组转为二维数组

2021-02-06 20:56:29 65

原创 linux报错-bash:ls:command not found等命令找不到

看的狂神的linux下载的java重启服务器的时候, 发现ls等基本的linux命令没办法执行了从网上找信息发现在命令行输入以下代码便可以恢复正常export PATH=/bin:/usr/bin:$PATH但是重启服务器又再次出现了无法识别的问题所以又去查询了一些资料,得出应该是 /etc/profile文件有问题,因为之前在配置java环境变量的时候对其做了修改vim /etc/profile点击 i 进入编辑模式 加入以下代码,然后 :q 保存便可以解决export PATH=/

2021-01-30 11:55:18 355

原创 Spring事务处理

适合中小项目使用的,注解方案。spring框架自己使用aop实现给业务方法增加事务的功能,使用Transactional注解增加事务。@Transactional注解是spring框架中自己的注解,放在public方法的上面,表示当前方法具有事务,可以给注解的属性赋值,表示具体的隔离级别,传播行为,异常信息等等使用@Transactional的步骤:1、需要声明事务管理器对象< bean id=“自定义名称” class=“org.springframework.jdbc.datasourc

2020-11-02 20:09:06 64

原创 AOP面向切面编程总结

1、底层是动态代理:1)jdk动态代理,使用jdk中的Proxy,Method,InvocationHandler创建代理对象jdk动态代理要求目标类必须实现接口2)cglib动态代理:第三方的工具库,创建代理对象,原理是继承。通过 继承目标类,创建子类。子类就是代理对象。要求目标类不能是final的,方法 也不能是final的2、Aop就是动态代理的规范化,把动态代理的实现步骤,方法都定义好了让开发人员用一种统一的方式,使用动态代理。3、AOP的作用:1)在目标类源代码不改变的情况

2020-10-26 21:01:36 221 1

原创 mybatis中 关于#和$

select id,name,email,age from student where name=#{name} or age=#{age};#的结果是:select id,name,email,age from student where name=? or age=?;select id,name,email,age from student where name=#{name} or age=#{age};$的结果是:select id,name,email,age from student

2020-10-20 13:03:48 274

原创 Date和BOM编程以及JS中[]和{}的区别

关于JS的内置的支持类:Date,可以用来获取时间/日期//获取系统当前时间var nowTime=new Date();//输出window.write(nowTime);转换成具有本地语言环境的日期格式nowTime=nowTime.toLocaleString();如果以上格式不是自己想要的,可以通过获取年月日等信息,自定制日期格式var t=new Date();var year=t.getFullYear(); 返回年信息,以全格式返回var month=t.getMonth

2020-10-13 15:52:23 108

原创 JS的控制语句

JS的控制语句:1、if2、switch3、while4、do…while…5、for循环6、break7、continue8、for…in语句(了解)9、with语句(了解)JS数组类型随意var arr={1,3.14,false,“abc”,true};遍历数组:for循环:for(var i=0;i<arr.length;i++){alert(arr[i]);}for…in:for(var i in arr){alert(arr[i]); //返回来的

2020-10-11 23:48:43 81

原创 常用事件,注册事件的方式以及void运算符

JS常用事件blur:失去焦点focus:获取焦点click:鼠标单击dblclick:鼠标双击keydown:键盘按下keyup:键盘弹起mousedown:鼠标按下mousemove:鼠标移动mouseover:鼠标经过mouseout:鼠标离开mouseuo:鼠标弹起reset:表单重置submit:表单提交change:下拉列表选中项改变,或文本框内容改变select:文本被选中load:页面加载完毕(整个HTML页面的所有元素全部加载完毕之后发生)注册事件的两种方式第

2020-10-11 23:09:44 135

原创 JS的数据类型2

具体的数据类型Number数据类型1、Number类型包括哪些值?-1、0、1、2.3、…NaN、infinity整数、小数、正数、负数、不是数字、无穷大都属于Number类型2、函数:isNaN()结果是true表示不是一个数字,结果是false表示是一个数字3、parseInt()函数:可以将字符串自动转换为数字,并且取整数部分 //3.999也是34、parseFloat()函数:可以将字符串自动转换为数字5、Math.ceil()函数(Math是数学类,数学类当中有一个函数叫做cei

2020-10-11 16:59:02 184 1

原创 JS的数据类型1

JS的数据类型1、虽然JS的变量在声明的时候不需要指定数据类型,但是在赋值,每一个数据还是有类型的,所以也需要学习一下JS包括哪些数据类型。JS的数据类型有:原始类型、引用类型原始类型:Undefined、Number、String、Boolean、Null引用类型:Object以及Object的子类2、ES规范,在ES6之后,又基于以上的6种类型之外添加了一种新的数据类型:Symbol3、JS中有一个运算符叫做typeof,这个运算符可以在程序的运行阶段动态的获取变量的数据类型。typeof

2020-10-10 21:32:52 85

原创 函数初步 变量

函数初步1、JS中的函数:等同于java语言中的方法,函数也是一段可以被重复利用的代码片段。函数一般都是可以完成某个特定功能的2、定义JS中的函数:语法格式:第一种方式:function 函数名(形式参数列表){函数体;}第二种方式:函数名=function(形式参数列表){函数体;}JS中的函数不需要指定返回值,返回什么类型都行eg:定义函数sumfunction sum(a,b){alert(a+b);}运用脚本块嵌入HTML时,程序在页面打开时执行,但是运用

2020-10-10 17:31:54 89

原创 JS概述和JS嵌套

JavaScript概述什么是JavaScript,有什么用?JavaScript是运行在浏览器上的脚本语言,简称JS。JavaScript是网景公司(NetScape)的布兰登艾奇开发的,最初叫LiveScriptLiveScript的出现让浏览器更加的生动了,不再是单纯的静态页面了。页面更具有交互性在历史的某个阶段,SUN公司和网景公司他们之间有合作关系,SUN公司把LiveScript的名字修改为JavaScript。JavaScript这个名字虽然带有Java,但是和Java没有任何关系,只是

2020-10-10 11:22:27 566

原创 IDEA快捷键

psvm 快速生成main方法sout 快速生成System.out.println();删除一行: Ctrl + y窗口变大变小: Ctrl + shift +F12任何新增/新建/添加的快捷键是:alt+insert (可以迅速创建setter和getter以及构造方法等等)切换Java程序: alt +左右箭头切换窗口:alt + 标号eg: alt + 1(打开,关闭) alt + 2提示方法的参数: Ctrl + p单行注释:Ctrl + /多行注释:C

2020-08-04 12:11:16 84

原创 面向对象的homework 2

public class Homework3 {public static void main(String[] args){Student s=new Student();System.out.println(s.getPostAddress());Student s1=new Student(“张三”,20,“北京朝阳区”,“111111”,“1213131313”);System.out.println(s1.getName()+“的”+s1.getPostAddress());}}c

2020-07-30 09:49:51 127

原创 面向对象的homework

public class Homework {public static void main(String[] args) {Account a=new Account(“1000”,2000.0,1.23);Customer c=new Customer(“Jane Smith”,a);//对史密斯操作,存入一百元,再取出960元,再取出2000元c.getAct().deposit(100);c.getAct().withdraw(960);c.getAct().withdraw(2000

2020-07-29 18:30:09 125

原创 Java递归

//5的阶乘public class xunlian{public static void main(String[] args){int n=5;int num=sum(5);System.out.println(num);}public static int sum(int n){int sum=1;if(n==1){return 1;}return n*sum(n-1);}}//4+3+2+1的和public class xunlian {public static

2020-07-21 19:06:24 72

原创 Java方法重载

/*重载机制又被称为overload重载机制只和方法名和数据有关,与返回值以及修饰符列表无关构成方法重载的条件:* 在同一个类当中* 方法名相同* 参数列表不同:-数量不同-顺序不同-类型不同*/关于方法重载的一个小程序public class xunlian{public static void main(String[] args){System.out.println(method(1,2));System.out.println(method(1.0,2.0));S

2020-07-21 16:20:48 92

原创 Java 0-100素数

public class xunlian {public static void main(String[] args) {for (int i = 2; i <= 100; i++) {boolean sushu = true;for (int j = 2; j < i; j++) {if (i % j == 0) {sushu = false;break;}}if(sushu) {System.out.println(i);}}}}

2020-07-19 18:28:24 549

原创 学生成绩等级分类

public class ScoreGrade {public static void main(String[] args) {java.util.Scanner s=new java.util.Scanner(System.in);System.out.println(“请输入学生成绩”);double score=s.nextDouble();int achievement =(int)score/10;switch(achievement){case 10:case 9:Syste

2020-07-19 10:32:03 1023

原创 swtich 语句 简单计算器

{public static void main(String[] args) {java.util.Scanner s=new java.util.Scanner(System.in);System.out.println(“欢迎使用简单计算器系统”);System.out.println(“请输入第一个数字”);int num1 =s.nextInt();System.out.println(“请输入运算符”);String operator=s.next();System.out.pr

2020-07-18 20:03:11 174

空空如也

空空如也

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

TA关注的人

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