自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL索引知识点整理

MySQL索引1、索引概念mysql官方对索引的定义是:索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级的查找算法,这种数据结构就是索引。如下图所示:在没有索引的情况下,一共有七行两列记录,最左边表示的是数据记录的物理地址。为了加快col2列的查找,数据库系统可以维护一个右边那样的二叉查找树。建立类似于右边的索引之后,每个节点都分别包含索引键值和一

2021-02-12 01:06:29 168

原创 MySQL索引指令速查

准备在前面create database demo_01 default charset=utf8mb4;use demo_01;CREATE TABLE `city` ( `city_id` int(11) NOT NULL AUTO_INCREMENT, `city_name` varchar(50) NOT NULL, `country_id` int(11) NOT NULL, PRIMARY KEY (`city_id`)) ENGINE=InnoDB DEFAULT

2021-02-10 21:20:32 152

原创 MySQL安装教程(CentOS7系统)

MySQL安装教程1、使用wget指令下载MySQL安装包指令:wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm效果展示:2、使用rpm指令下载安装指令:rpm -ivh mysql57-community-release-el7-9.noarch.rpm 效果展示:3、使用yum指令安装指令:yum -y install mysql-server效果展示:4、一些关于MySQL

2021-02-09 22:44:04 247

原创 (存在超时)L2-001 紧急救援 (25分)

L2-001 紧急救援 (25分)作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。输入格式:输入第一行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0 ~ (N−1);M是快速道路的条数;S是出发地的城市编号;D是目的地

2020-11-03 19:57:05 435

原创 碰巧解决PTA L1-048 矩阵A乘以B (15分) -- 我终于用Java解出来了

L1-048 矩阵A乘以B (15分)给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有R​a​​ 行、C​a​​ 列,B有R​b​​ 行、C​b​​ 列,则只有C​a​​ 与R​b​​ 相等时,两个矩阵才能相乘。输入格式:输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中给出其行数R和列数C,随后R行,每行给出C个整数,以1个空格分隔,且行首尾没有多余的空格。输入保证两个矩阵的R和C都是正数,并且所有整数的绝对值不超过1

2020-10-29 20:37:43 499 1

原创 Java解决 PTA L2-003 月饼 (25分) 超时问题

L2-003 月饼 (25分)月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2

2020-10-28 20:19:15 781 1

原创 暴力解法破解PTA L1-006 连续因子 (20分)

L1-006 连续因子 (20分)一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<2​的31次方)。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。输入样

2020-10-26 23:55:40 1222

原创 坑很多的一道题(含测试样例)——L1-009 N个数求和 (20分)

L1-009 N个数求和 (20分)本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。输入格式:输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 …给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。输出格式:输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其中分数部分写成分子/分母,要求分子小于分母,且它们没有公因子。如果结果的整数部分为0,

2020-10-26 23:54:30 591 2

原创 PTA L1-005 考试座位号 谁还敢说用Java做不出来??

L1-005 考试座位号 (15分)每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。输入格式:输入第一行给出一个正整数 N(≤1000),随后 N 行,每行给出一个考生的信息:准考证号 试机座位号 考试座位号。其中准考证号由 16 位数字组

2020-10-26 19:45:10 139

原创 Java提高篇——深入理解Java线程池和ThreadPoolExecutor源码解析

事先声明:本文转载来源深入理解Java线程池:ThreadPoolExecutor感谢这位同学虽然是转载,但是内容还是有一些不同的,希望大家细细品味。Java线程池线程池介绍线程池的概念在web开发当中,服务器需要接受并处理请求,所以会为一个请求分配一个线程来进行处理。如果每次请求都新创建一个线程的话实现起来非常简单,但是存在一个问题:如果并发的请求数量非常多,但每个线程执行的时间很短,这样就会频繁的创建和销毁线程,如此一来会大大降低系统的效率。可能出现服务器在为每个请求创建新的线程和销毁线程上

2020-08-10 15:23:56 167

原创 天天设计模式Seventh——装饰者设计模式

装饰者设计模式提出问题星巴克咖啡订单项目(咖啡馆):1、咖啡种类/单品咖:Espresso(意 大利浓咖啡)、ShortBlack、 LongBlack(美 式咖啡)、Decaf(无因咖啡)2、调料:Milk、 Soy(豆浆)、 Chocolate3、要求在扩展新的咖啡种类时,具有良好的扩展性、改动方便、维护方便。4、使用OO的来计算不同种类咖啡的费用:客户可以点单品咖啡,也可以单品咖啡+调料组合。方案一代码示例public abstract class Drink { public

2020-08-08 15:02:35 151

原创 天天设计模式Sixth——桥接模式

桥接模式提出问题——手机操作问题现在对于不同手机类型的不同品牌实现操作编程(功能有:开机、关机、上网、打电话等)传统解决方案假设类图如下(都是继承关系)代码示例public abstract class Phone { abstract protected void open(); abstract protected void close(); abstract protected void call();}public abstract class UpRightPhone

2020-08-07 22:06:51 148

原创 天天设计模式Fifth——适配器模式

适配器模式基本介绍1、适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能-起工作的两个类可以协同工作。其别名为包装器(Wrapper)2、适配器模式属于结构型模式3、主要分为三类:类适配器模式、对象适配器模式、接口适配器模式适配器模式工作原理1、适配器模式:将一个类的接口转换成另一种接口。让原本接口不兼容的类可以兼容。2、从用户的角度看不到被适配者,是解耦的。3、用户调用适配器转化出来的目标接口方法,适配器再调

2020-08-07 19:21:15 116

原创 天天设计模式Forth——建造者模式

建造者模式建房项目需求1、需要建一个房子:这一过程为打桩、砌墙、封顶2、房子有各种各样的,比如说普通房,高楼,别墅,各种房子的过程虽然都一样,但是需求是不相同的传统方式解决盖房项目代码示例public abstract class AbstractHouse { //打地基 public abstract void buildBasic(); //砌墙 public abstract void buildWalls(); //封顶 public abstract void roofe

2020-08-06 12:04:53 110

原创 Java提高篇——序列化和反序列化

Java序列化

2020-08-06 09:51:28 149

原创 天天设计模式Third——原型模式

原型模式克隆羊问题现在有一只羊交tom,姓名为tom,年龄是1,颜色白色,编写程序创建和tom属性完全相同的十只羊传统解决方式代码示例public class Sheep { private String name; private int age; private String color; public Sheep(String name, int age, String color) { super(); this.name = name; this.age = age;

2020-08-05 15:13:51 196

原创 天天设计模式Second——工厂模式

工厂模式

2020-08-04 17:06:27 172

原创 天天设计模式First——单例模式

单例模式单例模式简介类的单例设计模式,就是采取一定的方法保证在整个软件系统当中,对某个只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。比如说Mybatis当中的SqlSessionFactory,他是当数据存储源的代理,并负责创建SqlSession对象。一般情况下,一个项目只需要一个SqlSessionFactory,这就涉及到单例模式。单例设计模式的八种方式饿汉式(静态常量)实现步骤1、构造器私有化2、类的内部创建对象3、向外暴露一个静态的公共方法。(getI

2020-08-03 22:12:05 169

原创 Java基础篇——获取.properties配置文件

背景Java开发过程当中,需要将一些易变的配置参数设置在xml文件或许是properties配置文件当中。然而xml文件需要通过DOM或SAX方式解析,而读取properties配置文件就比较容易。下面介绍几种方式。方法一:基于ClassLoader读取配置文件目录结构:代码实现:public static void ClassLoader() throws IOException { URLresource = LoadProperties.class.getClassLoader()

2020-07-22 08:35:50 302

原创 Java基础篇——设计模式七大原则

单一职责原则对类来说的,即一个类应该只负责一项职责。如果类A负责两个不同的职责:职责1、职责2. 当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1、A2.应用实例:public class SingleResponsibility1 { public static void main(String[] args) { // TODO Auto-generated method stub Vehicle vehicle = new Vehicle(); v

2020-07-21 14:22:31 150

原创 JVM基础篇——双亲委派机制和沙箱安全机制

双亲委派机制双亲委派机制Java虛拟机对class文件采用的是按需加载的方式,也就是说当需要使用该类时才会将它的class文件加载到内存生成class对象。而且加载某个类的class文件时,Java虚拟机采用的是双亲委派模式,即把请求交由收类处理,它是一种任务委派模式。我们现在想出一个问题,如果我们也一个java.lang.String类,那么进行类加载的时候加载是哪一个类呢??先写段代码# 自定义String类package java.lang;public class String {

2020-06-01 16:18:09 130

原创 Redis提高篇——哨兵模式

哨兵模式哨兵模式哨兵机制简介哨兵的作用哨兵模式工作原理启动哨兵模式哨兵模式哨兵机制简介之前介绍集群的时候有这么个结构,有一个master的服务器,之后有很多个slave去连接master,master负责数据的写入,slave负责从master读出数据但是现在思考一个问题,如果说master宕机了怎么办?难道说就等着??让用户反馈之后再去修复?显然是不行的。针对这种情况,redis采取了如下办法:1、将宕机的master下线2、找一个slave作为master3、通知所有的slave连接新

2020-06-01 14:34:06 359

原创 Redis提高篇——删除策略

Redis删除策略过期数据什么是过期策略Redis当中数据的特征redis是一种内存级数据库,所有数据均存放在内存当中,内存中的数据可以通过TTL指令获取数据的状态XX:具有时效性的数据-1: 永久有效的数据-2:已经过期的数据 或 被删除的数据 或 未定义的数据过期数据删除策略时效性数据的储存结构在Redis的存储空间当中,存储的内容是数据名称+数据,对于每一个数据都存在一个地址,党数据设置时间限制的时候,expires空间当中存放数据的地址和对应的时间,当时间到达某个时间

2020-05-23 20:50:37 199

原创 JVM类加载器分类和解析

类加载器类加载器类加载器的分类启动类加载器(引导类加载器,Bootstra ClassLoader)扩展类加载器(Extension ClassLoader)用户自定义类加载器类加载器类加载器的分类JVM支持两种类型的类加载器,分别为引导类加载器(Bootstrap ClassLoader)和自定义类加载器(User-Definded ClassLoader)从概念上来讲,自定义类加载器是程序中由开发人员定义的一类类加载器,但是Java虚拟机规范当中却没这么定义,而是把所有的派生于抽象类Class

2020-05-23 16:14:29 144

原创 JVM基础篇——类加载子系统

类加载器和类的加载过程1、类加载子系统负责从文件或者网络当中加载.class文件,通常.class文件在文件的打开头有特定的文件标识2、Classloader只是负责class文件的加载,至于他能不能运行,交给Execution Engine决定3、加载的类信息存放在一块叫做方法区的内存空间,除了类的信息外,方法区中还会存放运行时常量池信息,可能还包含字符串字面量或者是数字常量(这部分的常量是.class文件中常量池部分的内存映射)what is 运行时常量池??? 就是常量池在运行时加载到内存里叫

2020-05-23 12:15:42 108

原创 Redis拔高篇——Redis事务和锁

Redis事务和锁事务什么是事务事务的基本操作事务的工作流程手动进行事务回滚事务的注意事项锁基于特定条件的事务执行基于特定条件的事务执行——锁基于特定条件的事务执行一分布式锁基于特定条件的事务执行一分布式锁改良事务什么是事务redis事务就是一个命令执行的队列,将一系列预定义命令包装成一个整体(一个队列)。当执行时,一次性按照添加顺序依次执行,中间不会被打断或者干扰。简言之,事务就是一个队列中,一次性、顺序性、排他性的执行一系列命令事务的基本操作开启事务multi作用设定事务的开启位置

2020-05-12 15:14:43 696

原创 Redis拔高篇——Redis的持久化

RDB操作RDB启动方式反复执行保存指令,忘记了怎么办?不知道数据产生了多少变化,何时保存?自动执行1、谁::redis服务器发起指令(基于条件)2、什么时间:满足条件3、干什么事情:保存数据RDB启动方式——save自动执行配置配置:save second changes作用:满足限定时间范围内key的变化数量达到指定数量即进行持久化参数:second:监控时间范围 | changes:监控key的变化量A...

2020-05-12 08:29:31 174

原创 Redis入门——使用IDEA写Redis工具类

基于连接池连接Redis工具类注意:先开始别忘了导入jar包jar包网址:<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->maven导入: <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <versi

2020-05-09 13:56:40 443

原创 Redis入门——Redis在Linux环境的安装和使用

Redis在Linux环境下的安装Redis下载和解压下载地址:wget http://download.redis.io/releases/redis-4.0.0.tar.gz下载指令:自己指定一个位置下载之后进行解压:解压指令:tar -xvf redis-4.0.0.tar.gzRedis安装和启动切换到解压的redis的redis-4.0.0的文件夹下,目录结构如下:安装指令:make install安装成功之后:切换到src目录下,多出了几个包:服务器的启动:

2020-05-09 11:06:07 97

原创 Redis入门——Jedis操作

使用Redis搭建 Hello World准备jar包导入:jar包下载地址基于maven:<!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.

2020-05-08 22:52:40 142

原创 Redis基本数据类型和使用场景

数据类型

2020-05-08 21:45:51 235

原创 Java基础篇——IO流知识点总结

File类基本操作基本使用程序执行磁盘文件处理操作流程图:现在我们来看一段Java程序创建File实例的代码:public class base01 { public static void main(String[] args) { File file = new File("F:\\test"); System.out.println(file...

2020-04-18 08:57:09 354

原创 Linux学习笔记-----基础篇

今天,2月14号,这个浪漫的节日里,没有女朋友的我,实在是没什么事儿做,于是拿起了我的电脑,但是发现我的系统坏了,听说是杀毒软件误删了系统当中的文件,实在无路可走的我选择了重新安装系统, 头一次进行系统安装的我鼓捣了一整天,现在才明白我多么的菜,但是可喜可贺的还是晚上我终于安装好了,...

2020-03-01 12:25:40 92

原创 Linux基础——014_钩子程序同步代码

钩子程序同步代码1、钩子程序运行原理我们每次向svn仓库提交代码之后。需要再Apache下更新最新一次的代码,这样比较麻烦,有一种自动同步代码的解决方案—使用钩子程序。原理:每次想svn提交代码,这个钩子程序会检测都修改,自动在apache下执行一次svn的update操作更新代码。2、使用同步钩子程序1、服务器apache建立文件夹接收同步数据我先随便创建一个文件夹,只是演示一下, ...

2020-03-01 12:25:02 115

原创 Linux基础——013_SVN使用

SVN使用上一篇讲了SVN搭建和项目经理要进行的一些操作,现在来看一下程序员如何做》程序员只需要同步仓库当中的代码,这步操作执行检出操作就行。(右击==》SVN Checkout)我创建了一个root文件夹当做程序员仓库目录,下面所有的操作都是在这个文件夹下执行的。1、常用指令Checkout 检出指令:第一次和svn仓库进行连接的时候,下载仓库当中的代码到本地,一般情况下只执行一次。...

2020-03-01 12:23:24 283

原创 Linux基础——011_软件的安装

软件的安装Linux系统当中,软件的安装方式有三种:rpm、yum、编译方式1、rpm优点:对于软件包的操作比较简单,通过简单的命令就可以操作缺点:(1)安装的时候需要自己下载软件包(2)安装、卸载软件的时候需要考虑到依赖关系(3)软件的自定义比较差,不适合特殊需求的情况语法:(1)查询:rpm -qa 关键词 【查询是否安装指定的软件包】选项说明:-q:query ...

2020-03-01 12:19:34 114

原创 Linux基础——010_SSH

1、SSH简介ssh(secure shell,安全外壳协议),这个协议有两个常用的作用:远程连接和远程文件传输。协议使用端口号:默认是22这个端口号是可以被修改的,如果需要修改,修改ssh服务的配置文件:/etc/ssh/ssh_config如果修改的话,修改箭头指向的port, 取消注释,自己选一个端口号写上。端口号修改的注意事项:(1)注意范围,单机欧的范围在0-65535...

2020-03-01 12:17:49 91

原创 Linux基础——009_网络设置

网络设置1、IP地址查看命令:ifconfig有多个网卡(下面两项是CentOS 7 的样例,CentOS6 的和这个不太一样)(1)一个是ens33,另外一个是lo(本地回环网卡)(2)IP地址是inet addr那一项但是现在发现ens33没有ip地址信息,不着急,这是我装系统的时候网络选项有问题。这个问题在后面会附上解决办法,现在先往下看。2、网卡配置文件文件位置:/etc/...

2020-03-01 12:16:24 147

原创 Linux基础——008_运行级别

运行级别运行模式也称为运行级别(Running Level)查看进程:# ps -ef | grep init这个进行对应一个配置文件,inittab(系统运行级别配置文件,位置/etc/oinittab)文件当中存的主要内容:配置文件的解释:我的CentOS 7 的配置文件好像不一样,CentOS 6 的配置文件是这样的相关解释:0——关机级别,默认id设置为这个的话,开机之...

2020-03-01 12:13:55 134

原创 Linux基础——007_权限管理

权限管理1、权限介绍权限有三种读权限:对于文件,影响用户是否可以看到文件的内容;对于文件夹来说,影响用户是否可以看的见目录的结构。写权限:对于文件来说,影响用户是否可以修改文件内容(对文件内容进行编辑);对于文件夹来说,影响到用户是否可以变化文件夹的目录结构(增、删、改、创建文件)执行权限:对于文件来说(特别是脚本文件),影响文件是否可以运行。对于文件夹来说,影响用户是否可以在文件夹内执...

2020-03-01 12:11:39 812

空空如也

空空如也

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

TA关注的人

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