自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 InnoDB记录结构

InnoDB页​ MySQL数据是存储在物理的磁盘上的,而我们通过存储引擎对数据进行操作的时候就需要将磁盘上的数据加载到内存中去。如果一条一条将数据从磁盘加载到内存那么效率会非常的低,因此InnoDB将数据划分为多个页,以页为单位数据从磁盘加载到内存,一页为16KB(这个参数是通过innodb_page_size系统变量指定的,只有mysql在第一次初始化数据目录的时候可以指定)。也就是说内存与磁盘进行一次数据交互的最小为16KB。InnoDB行格式​ 我们平时都是以记录为单位来存储数据的,这些记录在

2022-02-26 21:46:48 318

原创 字符集和比较规则

什么是字符集​ 众所周知在我们的计算机中存储的是二进制即01的数字,是没有有字符的。那么如何存储字符串呢?就是将特定的二进制数与字符进行映射。0000001—>a这里我们将1与字符a进行映射,那么计算机在看到1的时候就知道要显示a了。多个特定的映射关系组成的集合就是字符集。​ 将字符映射成二级制数据的过程成为编码,而将二进制映射成字符的过程成为解码。重要的字符集字符集描述ASCII128个字符,使用一个字节来表示字符ISO8859-1(Latin1)256个字符,

2022-02-26 16:25:49 373

原创 MySQL启动项和系统变量

启动项​ 在程序启动的时候可以指定的设置项我们称之为启动项(startup option).启动项可以在命令行中指定,也可以在配置文件中配置。使用启动项命令行使用​ mysqld --启动项值1[=值1] --启动项值2[=值2]​ 例:禁用TCP/IP连接mysqld --skip-networking/mysqld --skip_networking​ 在上述例子中,短横线和下划线用法相同.长短形式对应表长形式短形式释义–host-h连接的主机域名或ip地

2022-02-25 16:47:28 518

原创 初识MySQL

MySQL架构​ MySQL程序是由客户端和服务端两部分构成的。客户端:负责访问服务端程序,像服务端程序发送增删改查的请求服务端:一个服务端可以接受多个客户端程序的连接,在接收到客户端的请求后对存储的数据进行相关的处理。启动MySQL服务程序类Unix系统启动mysqldmysqld是bin目录下的一个可以执行文件。在命令行输入此命令可以启动一个MySQL进程。mysqld_safemysqld_safe是一个启动脚本,会间接的调用mysqld执行文件,当MySQL出现错误的时

2022-02-25 15:12:36 296

原创 创建者模式(Builder Pattern)

建造者模式(builder pattern)定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示个人理解:建造者模式就是将复杂的对象创建细节封装起来,客户端在使用的时候更加简洁明了。提高可读性。对于步骤相同但是内容不同情况,创建一个builder就可以完成简单的扩展.参与者抽象创建者(Builder)具体建造者(ConcreteBuilder)指挥者(Director)具体产品(Product)代码案例产品类 productpublic cl

2022-01-17 21:55:24 152

原创 工厂设计模式

简单工厂模式(Simple Factory Pattern)生成复杂对象的地方,都可以考虑使用工厂模式。角色简单工厂抽象产品具体产品uml代码案例产品接口public interface FreshWaterFish { void grow();//鱼生长 void harvest();//收获鱼}具体的产品public class Carp implements FreshWaterFish{ @Override public void

2022-01-17 16:05:51 146

原创 原型设计模式

原型设计模式(Prototype Pattern)用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。使用:当构造函数的赋值逻辑非常多,创建对象成本大的时候。两种实现方式通过clone()不过会出现浅拷贝的情况,需要自己手动进行再次深拷贝(clone不会调用构造方法,直接复制)通过序列化的方式代码示例public class WeekReport implements Cloneable, Serializable { private int

2022-01-14 13:57:45 61

原创 单例设计模式

基本概念定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例违背单一职责原则:既负责实现对象逻辑,由负责生成管理对象。分类饿汉式饿汉式:类加载到内存后,就会实例化。JVM线程安全。缺点:不论是否需要使用,都会加载public class Mgr01 { private static final Mgr01 INSTANCE = new Mgr01(); //私有构造器,无法使用new来创造实例 private Mgr01(){ }

2022-01-14 11:24:09 70

原创 八大设计的基本原则

1.单一职责原则(Single Responsibility Principle,SRP)一个类或者模块应该有且只有一个改变的原因(一个类应该只负责一项职责)职责的定义比较困难,能自圆其说就行不同需求有不同的拆分方式。2.接口隔离原则(Interface Segregation Principle,ISP)类继承接口的方法都是有用的(不应该依赖不需要的接口,即一个类对另一个类依赖应该建立在最小接口上)3.依赖倒转原则(Dependence Inversion Principle

2022-01-05 15:20:50 323

原创 输入输出流

文件文件文件就是保存数据的地方,word、视频、音频。文件在程序中是以流的方式存在的流数据在数据源和程序(内存)之间经历的路程输入流数据从数据源(文件)到程序(内存)的路径输出流数据从程序(内存)到数据源(文件)的路径输入输出是相对于内存来说的常用创建文件对象操作​ File类主要用来获取或处理与磁盘文件相关的信息,像文件名、 文件路径、访问权限和修改日期等,还可以浏览子目录层次结构。File 类不具有从文件读取信息和向文件写入信息的功能,它仅描述文件本身的属性。

2021-12-21 18:18:22 244

原创 jvm:RunTimeDataArea

​ java虚拟机规范规定了在程序执行阶段使用的各种运行时数据区,有的随着虚拟机进程的启动而出创建、退出而销毁,有的随着用户线程的创建而创建、退出而销毁。PC Register​ 程序计数器(Program Computer Register),是一块较小的内存空间。如果执行的不是本地方法,那么存储的是当前正在执行指令的字节码偏移号,如果执行的是本地方法,那么计数器存储的就是空(Undefined)。因为jvm虚拟机是支持多线程执行的,那么在进行线程切换的时候为了保证每个线程都知道自己执行到那个地方了

2021-12-21 11:31:21 434

原创 Maven基础

Maven是什么传统项目管理状态分析jar包不统一,jar包不兼容导致的问题工程升级维护过程操作繁琐Maven的作用​ maven本质上是一个项目管理工具,是将项目开发和管理过程抽象成一个项目对象模型(POM:project object model)maven可以为我们进行项目构建(提供标准化,跨平台的zi’dong话项目构建方式),依赖管理(方便快捷的管理项目的依赖资源jar包,避免资源及版本的冲突),同意开发结构:提供标准统一的项目结构。Maven的安装https://maven

2021-12-03 20:05:05 4205 3

原创 多线程总结

多线程基础概念程序(program):一段静态代码,一组指令的集合进程(process):程序的一次执行过程,或是一个正在运行的程序,资源分配的单位线程(thread):一个进程可以有多个线程,是独立调度和分派的基本单位线程共享方法区和堆,stack和program couter Register(程序计数器)单独并行:多个cpu同时执行多个任务并发:一个cpu采用时间片轮转法执行多个任务多线程优点:提高程序响应性,提高cpu利用率,改善程序结构(单核cpu多线程执行有可能速度反而变慢)

2021-06-15 09:12:42 90

原创 JDBC

步骤 1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar 1.复制mysql-connector-java-5.1.37-bin.jar到项目的libs目录下 2.右键-->Add As Library 2. 注册驱动 Class.forName("com.mysql.jdbc.Driver"); 3. 获取数据库连接对象 Connection Connection conn = DriverManager.getCon

2020-06-18 09:21:35 99

原创 tomcat

Tomcat:web服务器软件1. 下载:http://tomcat.apache.org/2. 安装:解压压缩包即可。注意:安装目录建议不要有中文和空格3. 卸载:删除目录就行了4. 启动:bin/startup.bat ,双击运行该文件即可访问:浏览器输入:http://localhost:8080 回车访问自己http://别人的ip:8080 访问别人可能遇到的问题:黑窗口一闪而过:* 原因: 没有正确配置JAVA_HOME环境变量* 解决方案:正确配置JAVA_HOME环

2020-06-14 08:12:58 136

原创 XML

xml;extensible markup language 可扩展标记语言idea添加xml模板1.Ctrl + Alt+S2 .找到File and Code Templates3.xml基本语法 1. xml文档的后缀名 .xml 2. xml第一行必须定义为文档声明 3. xml文档中有且仅有一个根标签 4. 属性值必须使用引号(单双都可)引起来 5. 标签必须正确关闭 6. xml标签名称区分大小写xml基本代码<?xml version="1.0" encodi

2020-06-14 07:51:24 136

原创 BootStrap

Bootstrap使用条件 <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> //3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! <link h

2020-06-11 21:10:37 167

原创 js基础

JSjs全称呼:JavaScript 是一种解释行语言DOM:文档对象模型。 0级DOM也被称为BOM window document loaction(当前页面的url) history(以前访问的页面地址) navigator(浏览器类型,版本兼容)-----任何没有指明对象的方法调用默认指向window(window.alert()==alert)web添加js<script>//放在body

2020-06-09 20:13:13 242

原创 IDE常用快捷键

快捷键名作用Alt+Enter导入包,自动修正代码Ctrl+Y删除光标所在行Ctrl+D复制光标所在行的内容,插入光标位置下面Ctrl+Alt+L格式化代码Ctrl+/单行注释Ctrl+Shift+/选中代码注释,多行注释,再按取消注释Alt+Ins自动生成代码,toString,get,set等方法Alt+Shift+上下箭头移动当前代码行Fn+home/home(Fn+end/end)快速定位到行首/行尾...

2020-06-08 19:27:38 210

原创 html和css基础

<!DOCTYPE html> <!-- 文档声明,用于声明一个页面的文档类型定义 --><html lang="en"> <!-- html文档的总标签 --><head> <!-- html标签的头部 ,头部的内容不会显示在网页中--> <meta charset="UTF-8"> <!-- 元信息,对信息进行描述的信息 --> <title>Document</tit

2020-06-08 19:05:53 132

原创 集合与线程

List接口的特点:1.有序的集合,存储元素和取出元素的顺序是一致的(存储123 取出123)2.有索引,包含了一些带索引的方法3.允许存储重复的元素 List<String> list = new ArrayList<>(); //使用add方法往集合中添加元素 list.add("a"); //public void add(int index, E element): 将指定的元素,添加到该集合中的指定位置上。

2020-06-07 20:32:27 132

原创 集合框架

集合框架Student[] st=new student[5];(引用数据类型数组)St[0]=new student(“张三”,23);-----------创建一个学生对象,存储在数组第一个位置(st[0],代表一个对象引用)数组和集合的区别数组既可以存基础数据类型,也可以存储引用数据类型。基础存的是值,引用存的是地址。集合只能存引用数据类型,也可存引用,但存储是自动装箱成对象。数组长度是固定的,不能自动增长;集合的长度是可变的,根据元素的增加而增长。数组集合什么时候用;元素个数固

2020-06-06 21:21:24 125

原创 对象和API

对象和封装成员变量默认值数据类型默认值基本类型整数(byte,short,int,long)0数据类型默认值浮点数(float,double)0.0字符(char)‘\u0000’布尔(boolean)false引用类型数组,类,接口null对象在内存图成员变量与局部变量的区别在类中的位置不同 重点成员变量:类中,方法外局部变量:方法中或者方法声明上(形式参数)作用范围不一样 重点成员变

2020-06-05 21:14:21 224

原创 java 基础

jdk的构成命名规范类名:大驼峰方法名:小驼峰变量:全部小写final常量:全部大写,单词中间_隔开。例XX_XX基础字符常量:有且仅有一个(不能没有初值)cha类型在计算时会变成int数字byte,short,char进行运算的时候会变成int类型boolean不能进行转换只能是True|False不同的基础数据类型进行运算的时候数据类型转换成取值范围大的那个任何数据类型与String类型+都会转成String类型只有变量可以自增在三元表达式里面,表达式的数据类型要符合左侧接

2020-06-04 21:26:40 303

原创 几种Linux终端

Linux控制台终端大多数的Linux发行版中,通常使用Ctrl+Alt+(F1~F7)进入虚拟控制台。通常Ubuntu使用F7,RHEL使用F1。在login:提示符的后面输入用户ID,然后Password:提示符后面输入密码(输入后什么都不会显示),就可已进入控制台终端了。登入虚拟控制台后,就相当于进入了Linux CLI(command Line Interface:文本命令行界面)...

2020-01-31 11:28:21 809

原创 初识Linux

Linux四部分1.首先,Linux可划分为以下四部分: Linux内核GNU工具图形化桌面环境应用软件四者之间的关系如下1.1 Linux内核其中最重要的核心是Linux内核,控制着计算机系统上的所有硬件和软件。必要时分配硬件,并根据需求执行软件。主要负责以下四种功能:系统内存管理软件程序管理硬件设备管理文件系统管理1.1...

2020-01-31 10:44:29 190

原创 vue学习day02

文字叙述v-model和v-bind的差别v-bindv-bind:主要用于属性绑定,这个绑定是单向的。即为在 <input type="text" v-bind:value="msg">代码中当data中的数据发生改变的时候,文本框的value也会发生改变。但是当View(视图层)中的value数据发生改变的时候并不会影响到model中的data数据发生改变。同时支持简写...

2020-01-12 22:00:08 119

原创 vue学习第一天

v-text和v-html和插值表达式的差别 var vm = new Vue({ el: '#app', data: { msg: 'hello world!', msg2: '<B>nihao</B>' } })插值表达式使用双大括号"{{}}"的插值方法...

2020-01-11 18:26:47 179 1

空空如也

空空如也

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

TA关注的人

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