自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Docker

Docker概述通过Docker可以把一个项目带上环境配置一起打包上线比较Docker和虚拟机技术的不同:传统虚拟机:虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件容器内的应用直接运行在宿主机的内核,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了每个容器间是互相隔离的,每个容器内都有一个属于自己的文件系统,互不影响DevOps (开发、运维)应用更快速得交付和部署传统:一堆帮助文档,安装程序Docker:打包镜像发布测试,一键运行更便捷

2022-04-26 22:47:45 1212

原创 SpringBoot

SpringBoot学习总结

2022-03-31 01:26:08 1360

原创 redis

Redis本笔记基于哔哩哔哩“狂神说Java”一、NoSql概述什么是NoSqlNoSqlNoSql = Not Only Sql(不仅仅是SQL)泛指非关系型数据库关系型数据库:表格,行,列随着web2.0互联网的诞生,传统的关系型数据库很难对付web2.0时代!尤其是超大规模的高并发的社区!暴露出来很多难以克服的问题,NoSQL在当今大数据环境下发展得十分迅速。很多的数据类型用户的个人信息,社交网络,地理位置。这些数据类型的存储不需要一个固定的格式,不需要多余的操作就可以横向扩

2022-02-08 17:53:01 200

原创 ssm框架学习笔记

ssm框架学习1、什么是框架它是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题。使用框架的好处:​ 框架封装了很多的细节,使开发者可以使用极简的方式实现功能,大大提高开发效率2、三层架构表现层:用于展示数据业务层:处理业务需求持久层:和数据库交互3、持久层技术解决方案JDBC技术:Connection​ PreparedStatement​ ResultSetSpring的JdbcTemplate:​ Spring中对jdbc的简单封装Apa

2021-08-14 16:35:22 416

原创 学习笔记---CSS

第一章 CSS简单介绍CSS是什么CSS怎么用(快速入门)CSS选择器(重点+难点)美化网页(文字,阴影,超链接,列表,渐变…)盒子模型浮动定位网页动画(特效、效果)1.1 什么是CSSCascading Style Sheet 层叠级联样式表CSS:表现(美化网页)字体、颜色、边距、高度、宽度、背景图片、页面定位、网页浮动…1.2 发展史1.2.发展史CSS1.0:CSS2.0:DIV(块)+ CSS,HTML与CSS结构分离的思想,网页变得简单,SEOCSS2.1

2021-03-16 01:33:18 125

原创 学习笔记---HTML

第一章 初识HTML1.1 概括(HyperText Markup Language)超文本标记语言超文本包括:文字,图片,音频,视频,动画等HTML5优点:提供了一些新元素和有趣的特性,建立了一些新的规则这些东西的建立,提供了很多网页的新功能,如使用网页实现动态渲染图形,图表,图像和动画,以及不需要安装插件直接使用网页播放视频等1.2 W3C标准(World Wide Web Consortium)万维网联盟W3C标准包括结构化标准语言(HTML,XML)表现标准语言(CS

2021-03-13 18:02:43 98

原创 学习笔记---JDBC

JDBC1.数据库驱动驱动:声卡,显卡,数据库程序会通过数据库驱动与数据库打交道2.JDBCSUN公司为了简化开发人员的(对数据库的统一)操作,提供了一个Java操作数据库的规范,俗称JDBC这些规范的实现由具体的厂商去做对于开发人员来说,我们只需要掌握JDBC的接口操作即可!java.sqljavax.sql还需要导入一个数据库驱动包 mysql-connector-java3.第一个JDBC程序创建测试数据库CREATE DATABASE jdbcStudy CHAR

2021-03-05 13:29:33 92

原创 学习笔记---规范数据库设计

规范数据库设计1.为什么需要设计当数据库比较复杂时,我们就需要设计了糟糕的数据库设计:数据冗余,浪费空间数据库插入和删除都非常麻烦,异常【屏蔽使用物理外键】程序的性能差良好的数据库设计:节省内存空间保证数据库的完整方便我们开发系统软件开发中关于数据库的设计:分析需求,分析业务和需要处理的数据库的的需求概要设计:设计关系图 E-R图设计数据库的步骤:(个人博客)收集信息,分析需求用户表(用户登录注销,用户的个人信息,写博客,创建分类)分

2021-03-02 13:47:40 100

原创 学习笔记---权限管理和备份

权限管理和备份1.用户管理SQLyog可视化管理SQL命令操作用户表:mysql.user本质:对这张表进行增删改查-- 创建用户-- 语法 CREATE USER `用户名` IDENTIFIED BY '密码'CREATE USER `log` IDENTIFIED BY '123456'-- 修改密码(修改当前用户密码)SET PASSWORD = PASSWORD('111111')-- 修改密码(修改指定用户密码)SET PASSWORD FOR `log

2021-03-01 14:17:53 81

原创 学习笔记---索引

索引MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。1.索引的分类在一个表中,主键索引只能有一个,唯一索引可以有多个主键索引(PRIMARY KEY)唯一的标识,主键不可重复,只有一个列可以作为主键唯一索引(UNIQUE KEY)避免重复的出现,唯一索引可以重复,多个列都可以设置为唯一索引常规索引(KEY/INDEX)默认的全文索引(FullText)在特定的数据库引擎下才有,MyISAM快速定位数据基础

2021-02-28 12:45:55 89

原创 学习笔记---事务

事务1.什么是事务要么都成功,要么都失败————————SQL执行 A给B转账 A 1000 —>200 B 200SQL执行 B收到钱 A 800 B 400————————假设1执行成功,2执行不成功,钱消失要将一组SQL放在一个批次中去执行事务原则:ACID原则 原子性,一致性,隔离性,持久性 (脏读,幻读)参考博客链接:https://blog.csdn.net/dengjil

2021-02-25 14:38:29 950 1

原创 学习笔记---MySQL函数

MySQL函数官网:https://dev.mysql.com/doc/refman/5.7/en/func-op-summary-ref.html1.常用函数-- 数学运算SELECT ABS(-1) -- 返回绝对值SELECT CEILING(10.6) -- 向上取整SELECT FLOOR(10.6) -- 向下取整SELECT RAND() -- 返回一个0~1之间的随机数SELECT SIGN(98) -- 返回参数的符合 正数返

2021-02-20 19:09:58 68

原创 学习笔记---DQL查询数据

DQL查询数据1. DQL(数据查询语言)所有的查询都用它select简单的查询,复杂的查询它都能做数据库中最核心的语言select完整语法:SELECT [ALL | DISTINCT]{* | table.* | [table.field1[as alias1][,table.field2[as alias2]][,...]]}FROM table_name [as table_alias] [left | right | inner join table_name2] -

2021-02-20 18:54:41 122

原创 学习笔记---MySQL数据管理

MySQL数据管理1. 外键(了解)方式一:在创建表的时候,增加约束(比较麻烦,复杂)CREATE TABLE IF NOT EXISTS `grade`( `gradeid` INT(10) NOT NULL AUTO_INCREMENT COMMENT'年级id', `gradename` VARCHAR(50) NOT NULL COMMENT'年级名称', PRIMARY KEY(`gradeid`))ENGINE=INNODB DEFAULT CHARSET=u

2021-02-19 17:15:01 95

原创 学习笔记---操作数据库

操作数据库操作数据库 > 操作数据库中的表 > 操作数据库中表的数据1. 操作数据库(了解)创建数据库CREATE DATABASE [IF NOT EXISTS] westos;删除数据库DROP DATABASE [IF EXISTS] westos;使用数据库--如果你的表名或字段名是一个特殊字符,就需要带有`` 如USE `school`USE school;查看所有数据库SHOW DATABASES;2. 数据库的列类型数值

2021-02-19 17:14:04 73

原创 学习笔记---简单数据库命令

连接数据库命令行连接update user set password=password('123456')where user='root'; --修改密码flush privileges; --刷新数据库show detabases; --显示所有数据库use dbname; --打开某个数据库 如:use studentshow tables; --显示数据库mysql中所有的表describe user; --显示表mysql数据库中user表的列信息 user为表

2021-02-19 17:13:11 59

原创 学习笔记---数据库简单命令

连接数据库命令行连接update user set password=password('123456')where user='root'; --修改密码flush privileges; --刷新数据库show detabases; --显示所有数据库use dbname; --打开某个数据库 如:use studentshow tables; --显示数据库mysql中所有的表describe user; --显示表mysql数据库中user表的列信息 user为表

2021-02-17 15:19:42 76

原创 学习笔记---自定义异常

自定义异常- 图片均来自B站狂神说代码示例:package MyException;public class MyException extends Exception{ //传递数字>10则报错 private int detail; public MyException(int a){ this.detail = a; } //toString 异常地打印信息 @Override public Stri

2021-02-09 13:27:42 77

原创 学习笔记---捕获和抛出异常

捕获和抛出异常抛出异常捕获异常关键词:try,catch,finally,throw,throws功能介绍:try:监控区域catch:想要捕获的异常类型finally:处理善后工作,一定执行throw:多在方法内使用throws:在方法的声明定义处使用try-catch-finally代码示例:若要捕获多个异常,需从小到大package Exception;public class Demo01 { public static voi

2021-02-08 16:29:26 131 2

原创 学习笔记---Error和Exception

错误和异常图片均来自B站狂神说

2021-02-08 16:05:29 74

原创 学习笔记---内部类

内部类1. 成员内部类(普通内部类)最常见的内部类之一,其定义也很简单,在一个类里面作为类的一个字段直接定义public class Outer { public class inner{ }}成员内部类可以访问外部类所有的属性和方法。但是外部类要访问成员内部类的属性和方法,必须要先实例化成员内部类。注意点:成员内部类里面不能包含静态的属性和方法package oop.Demo09;public class Outer { public

2021-02-08 15:30:23 268

原创 学习笔记---接口

接口[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-62Mqsmji-1612762034292)(C:\Users\杨维彬的电脑\AppData\Roaming\Typora\typora-user-images\image-20210208125419158.png)]图片来自B站狂神说注意点:抽象类用abstract声明定义,而接口用interface声明定义抽象类继承用extends,单继承;而接口继承用implements,可以多继承子

2021-02-08 13:27:24 63

原创 学习笔记---抽象类

抽象类1. 抽象类与抽象方法:抽象类是指在普通类的结构里面增加抽象方法的组成部分。抽象类用来描述一个类型具备的基本特征和功能,具体的实现方式以及细节由子类去重写实现抽象方法是只声明了方法,但没有方法体的方法抽象方法只能出现在抽象类中,但抽象类中可以存在其他普通方法抽象类无法创建对象,只能被子类继承后,创建子类对象子类必须重写父类中的所有抽象方法,若子类没有重写父类中的所有方法,则子类也必须定义为抽象类2. 注意点:由于抽象类中也有一些属性,所以抽象类中也有构造器,存在目的是为了属性的

2021-02-07 18:02:46 84 1

原创 学习笔记---static关键字详解

static关键字详解static静态变量或方法可直接被类使用,如Student.age = 10;非静态变量或方法在使用时需要new一个对象,通过对象进行调用在static静态方法中不能调用非静态方法,因为static静态方法是和类一起加载的,此时非静态方法还未加载出来,编译器认为其不存在在非静态方法中可以调用static静态方法static静态代码块只执行一次执行顺序:静态代码块>匿名代码块>无参构造器静态导入某个工具类中的某个方法,详情见下面代码例:impor

2021-02-07 13:32:58 107

原创 学习笔记---对象类型的转换

对象类型的转换注意点:父类为高级,子类为低级从高级转到低级需要强制转换,从低级转到高级则自动转换子类转为父类时,可能丢失一些自己的方法方便方法的调用,减少代码的重复,做到简洁格式:((子类)对象名).xxx方法代码示例:package oop.Demo05;public class Student extends Person{ @Override public void run() { System.out.println("son")

2021-02-07 00:28:28 92

原创 学习笔记---instanceof

instanceof1. 作用:判断某个对象与某个类型是否能够强制转换2. 注意点:通过编译需要这个对象的类型与比较类型有父子类关系true或false主要看对象的右边 即Father f1 = new Son(); 中主要看Son与其他类型的关系代码示例:package oop.Demo05;public class Person { public void run(){ System.out.println("run"); }}packa

2021-02-07 00:09:29 105 1

原创 学习笔记---多态

多态- 图片来自B站狂神说Java多态注意事项:多态是方法的多态,属性没有多态父类和子类 有联系 转换类型异常需要有继承条件,方法需要重写,父类引用指向子类对象! Father f1 = new Son();static 方法,属于类,它不属于实例final 常量,不可改变private 私有的总结:一个对象的实际类型是确定的,但可以指向的引用类型是不确定的,父类可以引用指向子类、对象能执行哪些方法主要看左边的类型,与右边的关系不大子类可以使用从父类继承

2021-02-06 23:42:34 104 1

原创 学习笔记---方法的重写

方法重写要求需要有继承关系,在子类中重写父类中的方法,注意属性没有重写这一概念方法名,参数列表必须相同修饰符:范围可以扩大但不能缩小 (public>Protected>Default>private)抛出的异常:范围可以被缩小但不能扩大子类与父类的方法必须一致,方法体不同为什么要重写父类的功能,子类不一定需要或者不一定满足快捷键:Alt+Insert Override代码示例:静态方法没有重写package o

2021-02-06 22:50:07 73

原创 学习笔记---super详解

super详解用法:super用于引用父类的属性或方法,super.xxx与this.xxx相对应子类无参构造器中有一句隐藏代码:调用父类无参构造器若显示地调用该父类无参构造器super(),必须放在子类构造器的第一行注意点:super调用父类的构造方法,必须在子类构造方法的第一行super只能出现在子类的方法或构造方法中super和this不能同时调用构造方法和this的区别:代表的对象不同this:本身这个类的对象super:代表父类对象的引用前提

2021-02-06 22:14:35 89

原创 学习笔记---继承

继承图片来自B站狂神说关键词:extends在java中,所有的类,都默认直接或间接地继承Object快捷键 Ctrl+h 可查看继承关系子类拥有父类所有的方法package oop.Demo04;public class Person { private int money = 1000000; public void say(){ System.out.println("说了一句话"); } public in

2021-02-06 13:35:43 70

原创 学习笔记---封装详解

封装详解图片来自B站狂神说关键词:private作用:提高程序的安全性,保护数据隐藏代码实现细节统一接口系统可维护性增加package oop.Demo03;public class Student { /* 1. 提高程序的安全性,保护数据 2. 隐藏代码实现细节 3. 统一接口 4. 系统可维护性增加 */ private String name;//姓名 pri

2021-02-06 13:05:43 577

原创 学习笔记---构造器详解

构造器详解构造器定义一个类即使什么都不写也会存在一个方法,即构造器和类名相同没有返回值作用使用new关键字本质是调用构造器初始化对象的值注意点定义有参构造之后,若想使用无参构造,必须显示地定义无参构造package oop.Demo01;public class Person { //一个类即使什么都不写,它也会存在一个方法,即构造器 String name; int age; //显示的定义构造器 //

2021-02-05 20:45:39 95

原创 学习笔记---方法的调用

方法的调用静态方法非静态方法形参和实参值传递和引用传递this关键字静态方法:在定义方法时加static,可直接调用非静态方法在定义方法时不加static,不可直接调用,需要new一个对象package oop.Demo02;public class Student { //非静态方法 public void Say(){ System.out.println("学生说话了!"); }}package oop.Demo02

2021-02-05 20:04:51 81

原创 学习笔记---类和对象的创建

类与对象的创建类的组成:属性(字段)和方法一个项目中只能有一个main方法类是抽象的,需要实例化类示例化后会返回一个自己的对象Student xm = new Student();xm对象就是一个Student类的具体实例package oop.Demo01;public class Student { //属性:字段 String name; //null int age; //0 //方法 public v

2021-02-05 19:41:18 109

原创 学习笔记---稀疏数组

稀疏数组图片来自B站狂神说代码示例:package array;import java.util.Arrays;//稀疏数组public class ArrayDemo07 { public static void main(String[] args) { int[][] a = new int[11][11]; a[1][2]=1; a[2][3]=2; //输出原有的数组 System.ou

2021-02-05 17:31:18 72

原创 学习笔记---数组内存分析及三种初始化方式

数组内存分析声明语句int[] array在栈中出现一个array,但并未分配空间创建语句array=new int[10]在堆中为数组开辟一份空间三种初始化方法静态初始化动态初始化默认初始化(默认初始化为0)代码示例:package array;public class ArrayDemo02 { public static void main(String[] args) { //静态初始化 int[] nums={1,2,3,4,5

2021-02-04 17:51:26 76

原创 学习笔记---可变参数

可变参数图片来自B站狂神说package method;public class Demo04 { public static void main(String[] args) { PrintMax(1.0,9.2,4.5,1.2); } public static void PrintMax(double... a){ if(a.length==0){ System.out.println("没有输入数据!!!

2021-02-04 14:02:07 61

原创 学习笔记---方法的重载

方法的重载图片来自B站狂神说代码示例:package method;//方法的重载public class Demo03 { public static void main(String[] args) { int ans1 = add(10, 20); //30 System.out.println(ans1); double ans2 = add(10.0, 20.0); 30.0 System.

2021-02-04 13:28:14 58

原创 学习笔记---Scanner进阶使用

Scanner进阶使用Scanner用法总结:new Scanner(System.in);scanner.hasNextxxxx等待用户输入赋值给相应类型的变量对整型数据以及浮点型数据的输入package scanner;import java.util.Scanner;public class Demo05 { public static void main(String[] args) { Scanner scanner = new Scanne

2021-02-01 17:12:35 105

原创 学习笔记---用户交互Scanner

用户交互Scanner基本语法:Scanner s = new Scanner(System.in);图片来源B站狂神说package scanner;import java.util.Scanner;public class Demo01 { public static void main(String[] args) { //创建一个扫描器对象,用于接收键盘数据 Scanner scanner = new Scanner(System.in

2021-02-01 15:59:06 89

空空如也

空空如也

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

TA关注的人

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