自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

warmsun

在线学习

  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

原创 工厂模式源码

import com.cy.shape.Circle;import com.cy.shape.Rectangle;import com.cy.shape.Shape;import com.cy.shape.Square;/** 图形工厂类 */public class ShapeFactory { // 使用getShape方法获取形状类型的对象 public Shape getShape(String shape) { if (shape == null) {.

2021-09-17 22:57:01 227

原创 小易笔试 算法

import java.util.ArrayList;import java.util.Scanner;/** * @author yzc * @version 1.0 * @motto strive */public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int T = scanner.nextI.

2021-09-17 22:52:18 138

原创 Java基础-关键字

文章目录1.关键字1.关键字static、final、interface、abstract、this、super等关键字的具体使用以及注意事项。static 和 finalstatic:一直存放在内存中,可直接调用,无虚重新new一块空间初始化数据,实现一个系统的缓存作用,其生命周期直到应用程序退出结束。且static修饰的类成员,在程序运行过程中,只需要初始化一次即可,不会进行多次的初始化。用法:(1)修饰成员变量,将其变为类的成员;(2)修饰成员方法,类名.方法名的方式调用。(3)修

2021-09-15 23:26:58 145

原创 随机生成8位字母密钥

char[] random = new char[]{'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z','a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't'.

2021-09-06 20:09:19 468

原创 冒泡排序和快速排序

在做笔试的时候,总会出现一些题目需要排序,为此可以提前准备两个排序。冒泡(Bubble sort)和快速排序(Quick sort)。时间复杂度:在最差的情况下,快速排序和冒泡排序的时间复杂度为O(n^2);快速排序的平均时间复杂度为O(nlogn),在最优的情况下也是O(nlogn)冒泡排序:冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。冒泡排序是一种稳定排序算法。上代码//冒泡排序(Bubble sort) public stat

2021-09-03 18:53:49 231 1

原创 String类型的2020-06-08与2020-6-8比较

1.先对两个日期进行处理利用split("-",3)对日期处理let date = '2020-06-08'; //对日期1进行处理let work = date.split("-",3); //将2020 06 08以数组的形式赋值给worklet yy=parseInt(works[0]);let mm=parseInt(works[1]);let dd=parseInt(works[2]); const q = yy + '-' + mm + '-' + dd; //格式化处理

2021-09-01 12:56:45 76

原创 微信小程序云开发 显示当前日期后7天

dealTime: function (num) { var time = new Date() // 获取当前时间日期 var date = new Date(time.setDate(time.getDate() + num)).getDate() var year = time.getFullYear(); //获取年份 var month = time.getMonth() + 1 // 获取月份 var day = time.ge

2021-09-01 12:46:00 518 3

原创 Spring

Spring文章目录Spring1.IOC容器2.IOC操作--Bean管理1.基于XML方式-创建对象2.3Bean的作用域2.4Bean的生命周期2.5XML方式-自动装配2.6引入外部配置文件2.7基于注解方式--创建对象2.8基于注解方式—属性注入3.JDBCTemplate4.事务4.1事务环境搭建4.2事务操作1.IOC容器概述:控制反转综上所述:控制反转就是把创建对象,和对象间的调用的过程交给Spring来管理,目的是为了降低类与类的耦合性。底层原理:​ XML解析工厂模

2021-08-29 23:00:59 120

原创 Spring Boot整合MyBatis Plus

文章目录Spring Boot 整合 MyBatisSpring Boot 整合 ThymeleafMyBatis Plus具体操作常用注解Spring Boot 整合 MyBatis1、创建 Spring Boot 工程。2、pom.xml 引入相关依赖。3、配置 application.yml 数据源。4、创建实体类、接口,Java 代码。5、启动类进行扫包,pom.xml 配置 resources。常见问题:1、单词拼写错误2、忘记配置(启动类扫包、pom.xml 配置 resour

2021-08-27 23:28:47 86

原创 设计模式-单例模式

文章目录单例模式介绍实现单例模式实现方式1 饿汉式1.1 饿汉式介绍1.2 饿汉式案例2 懒汉式2.1 懒汉式线程不安全2.1.1 懒汉式线程不安全介绍2.1.2 懒汉式线程不安全案例2.2 懒汉式线程安全2.2.1 懒汉式线程安全介绍2.2.2 懒汉式线程安全案例3 双检锁/双重校验锁3.1 双检锁/双重校验锁介绍3.2 双检锁/双重校验锁案例4 登记式/静态内部类4.1 登记式/静态内部类介绍4.2 登记式/静态内部类案例5 枚举式5.1 枚举式介绍5.2 枚举式案例单例模式单例模式(Singlet

2021-08-26 15:07:55 92

原创 设计模式-工厂模式

文章目录工厂模式介绍实现工厂模式工厂模式(Factory Pattern)是Java中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。介绍**意图:**定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。**主要解决:**主要解决接口选择的问题。**何时使用:**我们明确地计划不同条件下创建不同实例时。**如

2021-08-25 17:47:14 127 1

原创 == 与重写equals 的区别

首先说明== : 是关系运算符 , 比较内存地址;重写的equals()方法则是比较两者的内容;1.==是关系运算符,当它作为基本类型时,比较值是否相等;作为引用类型时,比较内存地址是否相等;2.重写equals()方法Object类中的equals()方法和 = =的作用相同...

2021-08-24 12:06:43 62

原创 Java-面向对象

文章目录1.面向对象思想:2.面向过程和面向对象的区别:3.面向对象的特点:4.举例:把大象装冰箱5.面向对象开发,设计,特征6.类与对象7.类的使用8.成员变量与局部变量的区别9.形式参数为引用数据类型10.匿名对象1.面向对象思想:基于面向过程的一个思想。2.面向过程和面向对象的区别:​ 面向过程:具体的每一步我们都是参与者,关注的是解决问题的过程。​ 面向对象:它关注的是最终解决的结果。3.面向对象的特点:​ a.更符合我们的思考方式。​ b.将我们从执行者变为了指

2021-08-24 12:01:47 68

原创 Java- 类的高级特性

文章目录1.封装2.private 关键字3.封装和private的应用4.this关键字5.构造方法6.成员变量的注意事项7.static关键字8.main方法详解9.学习使用 Java API10.代码块11.继承12.多态13. 抽象类14.接口15.包16.权限修饰符17. 内部类1.封装概述:隐藏对象的属性 和 实现细节,仅对外提供公共的访问方式。原则:1.讲不需要用户访问的内容隐藏起来。​ 2.将属性进行隐藏,提供公共的访问方式。优点:1.安全性高​ 2.独立性高​ 3

2021-08-24 11:59:58 193

原创 JAVA-常用类

文章目录常用类-串讲1.Object类1. int hashCode():2. Class getClass()3. toString()4.boolean equals(Object obj)5. Object clone() 和 void finalize()2.String类1.构造方法2.判断功能3.获取功能4.转换功能5.其他功能3.StringBuffer (StringBuilder)1.构造方法2.添加功能3.删除功能4.替换功能5.翻转功能6.截取功能面试题:4. 数组高级1.冒泡排序

2021-08-24 11:54:18 84

原创 JAVA-集合

12-集合1.集合概述1.集合的由来: Java语言是一门面向对象的编程语言,所以我们的业务需求大多数都是针对对象的一系列操作,并且操作多个对象。为了方便我们操作,所以我们需要一个容器来存储这些对象。​ 目前我们学过的容器有哪些?StringBuffer(StringBuilder):它只能存储字符串数组:可以存储对象。但是数组的长度是固定的,并且只能存储单一类型的对象。但是这两个容器不能满足我们日常开发的需求。Java又给我们提供了另一个容器,这个容器就叫做集合。2.

2021-08-24 11:53:37 69

原创 KMP算法的字符检索系统

package com.xiyou.dome;import java.io.*;import java.util.Arrays;/** * 单词检索统计 * 要求:一个文件 txt。 找到关键字符串的位置。 * * @author * @version 1.0 */public class Text { public static void main(String[] args) throws IOException { //1.写入匹配字符

2021-08-24 11:51:48 119

原创 JAVA面试积累

文章目录2.SpringBoot和 SpringCloud的区别3.排序**(1)冒泡排序****(2)选择排序****(3)插入排序****(4)快速排序****(5)归并排序****(6)基数排序****(7)希尔排序(shell)****(8)堆排序**4.单例模式和工厂模式单例模式5.Volatile、Synchronized、static关键字6.重写和重载7.抽象类和接口8.多态相关9.Static相关:11.线程安全的有哪些集合?12.Synchronized13.了解线程池吗?说一下线程池的

2021-08-24 11:49:55 128 1

原创 java知识总复习 笔记

文章目录1.面向对象1.1 形式参数1.2匿名对象1.3封装 ,继承,多态1 封装2.private 关键字3.private应用和封装4.this关键字5.构造方法6.标准类的构造8.main学习方法9.学习使用java API10.代码块11.继承12.多态13.抽象类14.接口2.常用类3.类的高级特性4.集合5.IO流1.IO概述2.FileOutputStream 字节输出流3.FileInputStream 字节输入流操作步骤:1.创建字节流对象2.调用read()方法4.字节缓冲流5.字符流5

2021-08-20 15:47:13 900

原创 Java对象创建的过程

对象的内存布局:在HotSpot虚拟机中,对象的内存中的布局主要分为三部分:对象头(Header),实例数据(Instance Data),对象填充(Padding)。其中对象头中包含了Markword、类型指针。Markword用于存储哈希码(HashCode)、GC分代年龄、锁状态标识位、线程持有的锁、偏向线程ID等信息。这部分数据长度在32位和64位虚拟机中的长度是32bit和64bit。类型指针是对象指向它的类元数据指针,虚拟机通过这个指针来确定这个对象是哪个类的实例。如果对象是一个Jav

2021-08-18 10:55:36 67

原创 双链表和单链表的基础操作

数据结构与算法单链表 双链表创建单链表单链表的基本操作链表的插入链表的删除链表的查找链表的更新元素完整的代码双向循环链表双向链表的结构双向链表的操作单链表 双链表创建单链表struct Link{ int elem; //数据域 struct Link *next;//指向下一个节点的指针域}不带头的单链表:第一个保存数据的节点 : 首元节点指向第一个数据的指针: 头指针//创建不带头的单链表#include<stdio.h>#include<stdli

2021-08-02 18:21:14 118

原创 集合与数组的区别

集合1.集合概述1.集合的由来:2. 集合 和 数组 的区别3. 集合的继承体系结构4.Collection常用方法5. 迭代器为什么定义的是一个接口,而不是一个类呢?2.List集合1.概述2.特有功能3.并发修改异常4.常见数据结构5.List集合的三个子类1.集合概述1.集合的由来: Java语言是一门面向对象的编程语言,所以我们的业务需求大多数都是针对对象的一系列操作,并且操作多个对象。为了方便我们操作,所以我们需要一个容器来存储这些对象。​ 目前我们学过的容器有哪些?Strin

2021-08-01 23:12:02 252

原创 数据结构与算法

数据结构与算法前章指针指针和函数结构体动态内存分配第一章:数据结构与算法数据结构四大逻辑结构:两大物理结构:算法时间复杂度空间复杂度第二章:线性表1.线性表的抽象数据类型2.线性表的存储结构3.顺序表的创建4.顺序表的基本操作4.1插入元素4.2删除元素4.3查找算法4.4修改元素前章指针指针:是保存其他变量地址的一个变量 & 取变量地址 * 取地址的值 * + 变量的地址 = 地址的值 & + 变量名 = 变量的地址数组名本身就是指向首元素的指针指针和函数//

2021-08-01 18:01:54 177

原创 微信小程序云开发之登录注册界面 详细教程 更新版

文章目录前言1.对于注册次数的约束2 新建云函数getuserInfo3提取查询数据库返回的结果4 优化了js层的逻辑结构5 优化了数据库结构总结前言 本此博客为前注册登录界面的优化版: 优化了如下内容: 1. 对注册次数进行约束,每一个用户只可注册一个账号; 2. 优化了在onload()函数中获取用户信息的; 3. 解决了res.data无法将从数据库查找出来的信息提取出来的问题;

2021-05-23 21:37:06 2258 8

原创 IO流概述

IO流1.IO概述​ **概述:**用于设备间数据传输的操作分类:​ 1.流向​ 输入流:读取操作​ 输出流:写出操作​ 2.数据类型​ 字节流​ 字节输入流​ 字节输出流​ 字符流​ 字符输入流​ 字符输出流注意:​ 1.如果文件用记事本打开,内容能够读懂,就用字符流,读不懂就用字节流。实在不知道用什么流的话就用字节流。2.FileOutputStream 字节输出流​ 操作步骤:

2021-05-09 22:16:34 76

原创 微信小程序云开发 之 登录注册界面 详细教程

文章目录前言一、前期的准备(很重要)1.程序的需求2.微信开发者文档3.数据库的设计二、小程序设计阶段1.选择开发方式2.云开发第一步:注册微信小程序,获取小程序的 AppID第二步、创建小程序项目第三、登录界面的设计1.登录2.注册3.优化附源码前言好久没更新博客了 ,最近做了一个云开发的小程序。过程之中遇到了很多问题,毕竟自己是学后端的。今天也参加了网易实习生的笔试题,感觉平时过于懒散 ,因为以后每天一更,牛客网每日一练,加油!接下来我将给大家分享自己制作小程序的步骤,避免大家踩坑。一、前期的.

2021-05-08 22:19:18 16052 32

原创 SSM整合(1)

SSM整合-实现CRUD操作一、技术点​ 1.框架:SSM-Spring ,SpringMVC,MyBatis​ 2.数据库:​ 3.前端展示:BootStap,JSP,Ajax​ 4.版本管理:Maven​ 5.其他:分页-pageHelper,逆向工程-MyBatis Generator

2021-04-17 09:13:35 135

原创 MyBatis 安装下载 及入门案例

文章目录1.下载MyBatis2.MyBatis 入门案例2.1测试数据库2.2准备对应实体类1.下载MyBatis**1. 百度搜索:MyBatis **2. 进入MyBatis - GitHub3. 进入GitHub下载界面2.MyBatis 入门案例2.1测试数据库CREATE DATABASE mybatis CHAR SET utf8; -- 创建数据库USE mybatis;CREATE TABLE `user`(id INT PRIMARY KEY AUTO_IN..

2021-03-30 22:51:05 4089

原创 MyBatis 框架概述(1)

文章目录1.MyBatis 框架1.1概述:1.MyBatis 框架1.1概述:// 注册驱动 Class.forName=("com.xiyou.jdbc.Driver"); //获取连接对象 connection = DriverManager.getConnection("jdbc.mysql://localhost:3306/test?useUnicode = true&characterEncoding=utf8","root","root"); //..

2021-03-30 21:12:14 117

原创 Maven 初学到跑路进阶版

系列文章目录 1.Maven 初学到跑路文章目录系列文章目录1.POM2.坐标3.仓库4.依赖5.常见依赖范围对比6.生命周期6.1Maven的三个生命周期6.2Clean 生命周期6.3Default生命周期6.4 Site Lifecycle生命周期6.5 插件和插件目标:7.IDEA中使用Maven7.1配置Maven插件7.2配置Maven环境8.创建Maven工程9.依赖关系9.1依赖的传递性9.2依赖排除9.3依赖原则10.统一管理依赖关系11.聚合工程1.POMPOM:Pro

2021-03-28 21:21:20 113

原创 Maven 初学到跑路

文章目录1.Maven概述2.构建2.1构建的主要环节2.2Maven的核心概念3.第一个Maven工程4.使用Maven命令执行编译运行4.1常用Maven命令:4.2Maven工程中所依赖的插件并不包含在Maven的核心程序中1.Maven概述         Maven是跨平台的,这意味着无论是在Windows上,还是在Linux或者Mac上,都可以使用同样的命令。         Maven本质是一个项目管理

2021-03-28 17:13:55 97

原创 MySql数据库存储过程和函数

存储过程 和 函数存储过程和函数是 事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程和函数可以简化数数据库设计与开发的工作,减少数据在数据库和应用服务器之间的传输,因为应用服务器访问数据库的次数越多,数据传输效率越低,有了存储过程,应用服务器只需要访问一次数据库,就可以执行存储过程中封装的所有sql语句,对于提高数据处理的效率是有好处的。​ 存储过程和函数的区别在于函数必须有返回值,而存储过程没有2 创建存储过程语法:CREATE PROCEDURE 存储过程名([存储过程需要

2021-03-25 10:15:28 203

原创 MySql 数据库 视图

视图1 视图概述​ 视图(View)是一种虚拟存在的表。视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。2 视图的特点:简单:使用视图的用户完全不需要关心底层使用了哪些表、表与表之间的关联条件和筛选条件是怎样的,对用户来说视图是已经过滤好的复合条件的结果集。安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管

2021-03-25 09:55:46 120

原创 多表查询 数据库(案例)

首先我们创建测试的表班级表 :四个班级教师表:五个老师课程表:四个课程学生表:学生的信息分数表: 学生的成绩CREATE DATABASE db1 CHAR SET utf8;USE db1;#创建表及插入记录CREATE TABLE class ( cid INT(11) NOT NULL AUTO_INCREMENT, caption VARCHAR(32) NOT NULL, PRIMARY KEY (cid)) ENGINE=INNODB CHARSET=utf8;

2021-03-21 16:28:58 514 2

原创 数据库SQL(5)

数据库控制语言 - DCL管理用户查询用户-- 切换数据库USE mysql;-- 查询user表SELECT * FROM USER;创建用户create user ‘用户名’@‘主机名’ IDENTIFIED BY ‘密码’;##创建用户 CREATE USER 'zhangsan'@'localhost' IDENTIFIED BY '123456';## % 通配符 任意主机都可以登录 CREATE USER 'lisi'@'%' IDENTIFIED BY

2021-03-19 08:23:19 86

原创 初学SQL数据库(4)

数据库查询语言–DQL首先我们在数据库先创建测试表USE test;CREATE TABLE IF NOT EXISTS s(id INT,#学号NAME VARCHAR(20),#姓名age INT,#年龄sex VARCHAR(5),#性别address VARCHAR(100),#地址math INT,#数学english INT#英语);DROP TABLE IF EXISTS s;INSERT INTO s (id,NAME,age,sex,address,math

2021-03-18 16:41:08 167

原创 初学SQL数据库(3)

上一节 介绍了DDL语言这一节我们来一起探讨DML(数据库操作语言)用来对数据库中表的数据进行增删改。关键字:insert , delete , updata等。DML(数据库操作语言)1 .添加数据语法:insert into 表名(列名1,列名2,列名3) values (value1 , value2 , value3) ;INSERT INTO stu(id,NAME,age) VALUES(1,"JJ",18);注意:1. 列名 和 值 需要一一对应。2. 如果表名后不加列名,

2021-03-17 18:46:48 76

原创 初学SQL数据库(2)

1.SQL分类DDL(Data Definition Language):数据库定义语言用来定义数据库对象:数据库,表,列表等。关键字create , drop , alter 等DML(Data Manipulation Language)数据库操作语言用来对数据库中表的数据进行增删改。关键字:insert , delete , updata等DQL(Data Query Language)数据库查询语言用来查询表中的记录。关键字:select , where 等DCL(Da

2021-03-17 18:33:22 226

原创 初学SQL数据库(1)

1.数据库概述数据库:DataBase,简写DB,用于存储和管理数据的仓库。2.特点用于持久化存储数据的。其实数据库就是一个文件系统。1.只要是持久化存储,肯定都是以文件的形式存储在硬盘上2.数据库的文件系统和windows文件系统的虽然都可以存储数据,但是数据库不光要求能存数据,还要求对于数据的操作更简单,管理更方便。方便存储和管理数据使用统一的方式操作数据库—SQL3.常见数据库软件 - MySql:最初是MySql公司的,后来被Sun公司收购,随着Sun公司,又被

2021-03-17 17:49:41 88

原创 数据库密码忘了如何修改

MySql数据库的密码忘记了怎么办?最近我在学习手写MyBaties时,配置文件中properties中需要连接数据库的四个信息。这个时候我突然发现了忘了数据库的密码,当时也是从网上查询了解决办法,但是有些繁琐。之后,我找到了数据库修改密码的命令 如下:1.打开SQLyog2.在你相对应的用户下输入以下代码SET PASSWORD FOR ‘用户名’@‘主机’ = PASSWORD(‘新密码’); SET PASSWORD FOR 'root'@'localhost' =PASSWORD(

2021-03-16 16:58:45 3649

电机转速测量 cubemx STM32F103

cubemx 电机转速测量

2021-06-11

STM32F103电机测速报告.doc

Cubemx 详细过程 设计整体原理 思路

2021-06-11

空空如也

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

TA关注的人

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