- 博客(426)
- 资源 (11)
- 收藏
- 关注
转载 sql练习题
使用方法:我用的数据库是 Ms SQL Server 2008 ,练习时应当自己建数据,自己先思考,切勿急躁翻答案!否则效果减半,做完这些,恭喜你,你的 SQL 就算过关了。测试表格–1.学生表Student(S#,Sname,Sage,Ssex)–S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别–2.课程表Course(C#,Cname,T#)–C# --课程编号,Cname 课程名称,T# 教师编号–3.教师表Teacher(T#,Tname)–T# 教师
2021-05-04 16:09:35
648
转载 9-1拼多多笔试第四题
题意:给出一个数n和m个数,求n关于m的子集。思路:容斥原理,求所有m的集合,在这个集合的所有数,求一下lcm(最小公倍数),如果|集合|是奇数,ans+=n/lcm,否则ans-=n/lcm 。#include <bits/stdc++.h>using namespace std;#define LL long longLL a[40];int main(){ LL N,M,ans=0,gd; scanf("%d%d",&N,&M);
2020-09-02 12:08:13
1025
转载 MySQL Innodb 数据页结构分析
页(Page)是 Innodb 存储引擎用于管理数据的最小磁盘单位。常见的页类型有数据页、Undo 页、系统页、事务数据页等,本文主要分析的是数据页。默认的页大小为 16KB,每个页中至少存储有 2 条或以上的行记录,本文主要分析的是页与行记录的数据结构,有关索引和 B-tree 的部分在后续文章中介绍。下图是 Innodb 逻辑存储结构图,从上往下依次为:Tablespace、Segment、Extent、Page 以及 Row。本文关注的重点是 Page 和 Row 的数据结构。Page 结
2020-07-10 14:50:26
444
原创 备忘录模式
定义备忘录(Memento)模式的定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。角色结构图:备忘录模式的主要角色如下。发起人(Originator)角色:记录当前时刻的内部状态信息,提供创建备忘录和恢复备忘录数据的功能,实现其他业务功能,它可以访问备忘录里的所有信息。备忘录(...
2020-07-10 14:49:59
471
原创 外观模式
随着一个系统的功能越来越强,子系统会越来越多,客户对系统的访问也变得越来越复杂。这时如果系统内部发生改变,客户端也要跟着改变,这违背了“开闭原则”,也违背了“迪米特法则”,所以有必要为多个子系统提供一个统一的接口,从而降低系统的耦合度,这就是外观模式的目标。定义外观(Facade)模式的定义:是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个...
2020-07-10 14:49:53
223
原创 观察者模式
定义观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。...
2020-07-10 14:49:45
261
原创 组合模式
定义组合(Composite)模式的定义:有时又叫作部分-整体模式,它是一种将对象组合成树状的层次结构的模式,用来表示“部分-整体”的关系,使用户对单个对象和组合对象具有一致的访问性。结构与实现组合模式包含以下角色。抽象构件(Component)角色:它的主要作用是为树叶构件和树枝构件声明公共接口,并实现它们的默认行为。在透明式的组合模式中抽象构件还声明访问和管理子类的接口;在安全式...
2020-07-10 14:49:39
477
原创 迭代器模式
定义迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。迭代器模式是一种对象行为型模式。在学习Java集合的时候,我们要访问容器内的对象,就要知道容器的结构,如ArrayList要用get来获取对象,而set只能用迭代器或for each循环。所以,当容器类型很多时,使用是不方便的,我们需要一种接口,这个接口可以遍历容器的对象,而...
2020-07-10 14:49:32
1826
原创 适配器模式
定义适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。模式角色适配器模式(Adapter)包含以下主要角色。目标(Target)接口:当前系统业务所期待的接口,...
2020-07-10 14:49:24
178
原创 图解HTTP读书笔记
URI和URL的区别URI:统一资源标识符URL:统一资源定位符第二章:简单HTTP协议1、应用HTTP协议时,必定一端担任客户端角色,另一端担任服务器端角色,有时候两台计算机的角色可能会互换,但HTTP协议能区分服务器与客户端。2、请求必定由客户端发出。而服务器端回应。下面是请求报文的组成:1584951664800.png响应报文的组成158495183170...
2020-05-13 18:42:09
149
转载 JAVABEAN EJB POJO区别
1、POJOPOJO(Plain OldJavaObject)这种叫法是Martin Fowler、Rebecca Parsons和Josh MacKenzie在2000年的一次演讲的时候提出来的。按照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻译为“纯洁老式的java对象”,但大家都使用“简单java对象”来称呼它。POJ...
2020-04-16 19:36:58
416
原创 鸡蛋掉落问题
题意:有kkk个鸡蛋,nnn层高的楼,问:最坏情况下,最少需要扔多少次鸡蛋才能知道从第几层楼开始往下扔鸡蛋,鸡蛋会碎。思路:这个题原题题意太迷,我还说二分呢,后来认真看看题目才知道,鸡蛋是有限的,也就是说,假设我们有两个鸡蛋,要测100层楼,比如我从50层先扔下去一个,它碎了,那我们另一个就不能冒险,只能从第一层开始,假设在第49层碎了,那扔了50次才试出来。动态规划的思想可以很好的解决这个问...
2020-03-22 10:49:36
378
原创 多态/构造器的调用顺序/构造器内部的多态
Java实现多态的机制是后期绑定。但Java也有些地方可以用前期绑定,比如:final,static,private(隐式final)和构造方法(隐式static)是前期绑定。另外,Java只有普通方法的调用可以是多态的,如果直接访问某个域,这个访问将在编译期进行解析。举例//子类public class Son extends Battle { public int a = 2...
2020-03-06 17:00:14
445
原创 final关键字/编译时常量与运行时常量/继承与初始化
final可以用来修饰数据、方法、类。final数据1、final修饰变量final修饰基本数据类型的变量时,必须赋予初始值且不能被改变。static final修饰的是常量,常量分为编译时常量与运行时常量,定义为static,强调只有一份。比如static final int a = 10;就是编译时常量,只要是该常量带入的语句,在编译过后都会替换。这段代码在反编译后变成而且...
2020-03-03 21:38:05
746
原创 this关键字/数组初始化/可变参数的数组
this关键字表示”调用方法的那个对象”的引用。我们有时在写程序时会有这种需求,想要在方法内部获得当前对象的引用(就是调用当前方法的那个对象),那么就可以在方法内部使用this关键字代指当前对象的引用。比如public class Test { public static void main(String[] args) { new At().aa().sout(...
2020-03-03 14:08:27
401
原创 策略模式
定义Define a family of algorithms,encapsulate each one,and make them interchangeable.定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。结构UML图如下Context是上下文,用一个ConcreteStrategy来配置,维护一个对Strategy对象的引用。Strategy是策略类,用于定...
2020-03-02 23:45:37
247
原创 java的对象存储在哪里?
1、寄存器寄存器是速度最快的存储区域,它位于处理器内部,但它的数量有限,所以要按需分配,不能被人控制。2、堆栈通常也叫栈,位于RAM中,堆栈指针向下移动,则分配新的内存;向上移动,则释放那些内存。这种存储方式速度仅次于寄存器。常用于存放对象引用与基本数据类型,不存放Java对象。栈内存被要求存放在其中的数据的大小、生命周期必须是已经确定的。3、堆通用的内存池,位于RAM中,用于存放所有的...
2020-02-29 14:29:17
6963
转载 Java静态绑定与动态绑定
程序绑定的概念:绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动态绑定;或者叫做前期绑定和后期绑定.静态绑定:在程序执行前方法已经被绑定(也就是说在编译过程中就已经知道这个方法到底是哪个类中的方法),此时由编译器或其它连接程序实现。例如:C。针对java简单的可以理解为程序编译期的绑定;这里特别说明一点,java当中的方法只有final,s...
2020-02-28 15:07:40
1012
1
原创 责任链模式
定义责任链模式:使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。责任链模式(Chain of Responsibility) 是行为型设计模式之一,它是一条链,链上每个节点都可以处理不同的内容,自己处理不了的交给下一个节点,直到最后一个节点。这样的话,请求者不必直到这条链上谁可以处理,只要把请求往...
2020-02-27 21:22:47
363
原创 命令模式
定义命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。在软件系统中,方法的请求者与方法的实现者总是存在着紧密的耦合关系,这不利于扩展和维护。因此“如何将方法的请求者与方法的实现者解耦?”变得很重要,命令模式能很好地解决这个问题。...
2020-02-26 15:49:14
801
原创 中介者模式
在现实生活中,常常会出现好多对象之间存在复杂的交互关系,这种交互关系常常是“网状结构”,它要求每个对象都必须知道它需要交互的对象。如果把这种“网状结构”改为“星形结构”的话,将大大降低它们之间的“耦合性”,这时只要找一个“中介者”就可以了。定义:定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。中介者模式又叫调停模式,它是迪米特法则的典型应...
2020-02-25 18:21:21
247
2
原创 原型模式
原型模式:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。原型模式可能是除了单例模式与迭代器模式之外23种设计模式中最简单的设计模式了。原型模式的核心就是一个clone方法,Java提供了一个Cloneable接口表示这个对象是可拷贝的,然后重写Object类中的clone方法。Java中原型模式的通用代码:public class ProtoType implements...
2020-02-24 22:10:34
215
原创 代理模式
代理模式的定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。静态代理静态代理是指预先确定了代理与被代理者的关系,在程序员运行之前,代理类.class文件就已经被创建了。我们玩游戏经常遇见代打的情况,就用游戏的代打举例:首先定义一个玩游戏的接口package factory.proxy.staticproxy;p...
2020-02-20 22:39:04
184
原创 建造者模式
1、 概述将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。2、使用场景当一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,考虑使用构造者模式。3、如何实现建造者模式有两个版本,一个较为简单,也是最常用的,先看看这个版本。我们用用户信息来描述建造者模式,其中,id,name,password是必须的字段,addre...
2020-02-20 15:07:17
193
原创 模板方法模式
模板方法(Template Method)模式的定义如下:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式。模板方法模式用了类的继承机制,是一种应用广泛的模式,我们在平常项目中都会使用,只是没有想到是这个名字而已。模板方法模式由抽象类与具体模板构成,抽象类也称为抽象模板,其中的方法有:1.模板方...
2020-02-19 17:11:22
588
原创 工厂模式
工厂模式:工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式分为简单工厂模式、工厂方法模式、抽象工厂模式。1、简单工厂模式简单工厂模式将对象的创建与对象使用分割开来,对不同类对象的创...
2020-02-18 18:31:05
269
原创 设计模式六大原则
文章目录单一职责原则里氏替换原则依赖倒置原则接口隔离原则单一职责原则定义:不要存在多余一个导致类变更的原因,即一个类(大到模块,小到方法)只负责一个职责。若一个类负责多个职责,则这些职责可能会耦合在一起,当发生修改时,可能会影响到其他的职责。优点:类的复杂度降低提高程序可读性可维护性高,风险低。如果接口的单一职责好,一个接口修改只对应相应的实现类有影响。对其他的接口无影响,这对...
2020-02-16 20:56:17
386
原创 单例模式
单例模式,顾名思义,就是整个程序中只有一个实例对象,确保某个类中只有一个实例,而且自行实例化并为整个系统提供这个实例。那什么时候能用到单例模式呢?对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。单例模式的特点有三个:一是某个类只能有一个实例;二...
2020-02-16 20:56:09
245
原创 装饰器模式
在复习Java基础的IO时,提到了装饰器模式,虽然设计模式课上学过,但现在忘了,学习一下。装饰器模式:在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。在增加功能时,通常都是尽量不动原有代码,这时我们的装饰器模式就可以很好的体现它的重要性。举个例子现在需要一个汉堡,主体是鸡腿堡,可以选择添加生菜、酱、辣椒等等许多其他的...
2020-02-06 16:29:51
293
原创 申丰山 操作系统(名词解释与简答)
第一章操作系统(Operating System,简称OS)是管理系统资源、控制程序执行、改善人机界面、提供各种服务、合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的一种系统软件。操作系统管理技术1、资源复用是指多个进程共享物理资源,包括分割资源为较多更小单位的空分复用和分时轮流使用资源的时分复用。进程是有资格获得系统资源的独立主体。2、资源虚化利用一类事物模拟另外一类...
2020-01-07 22:57:55
3772
原创 计算机网络复习笔记
第一章1、分组交换的主要特点分组交换则采用存储转发技术。在发送端,先把较长的报文划分成较短的、固定长度的数据段。每一个数据段前面添加上首部构成分组(packet)分组交换网以“分组”作为数据传输单元2、分组首部的作用每一个分组的首部都含有地址(诸如目的地址和源地址)等控制信息。分组交换网中的结点交换机根据收到的分组首部中的地址信息,把分组转发到下一个结点交换机。每个分组在互联网中独...
2019-12-30 19:13:00
1988
原创 HDU - 1243 (一个恶心的错误)
有一场比赛:这次训练比赛的规则是这样的:1、每个队员从出发点开始,沿着一条唯一的笔直道路跑直到终点,途中不允许往回跑,否则将被取消比赛资格。2、出发前,每个队员的枪膛内都被装了顺序一样的、用小写英文字母标明类型的子弹序列,每位队员被告知这一序列的信息;同时,每位队员也被告知恐怖分子即将出现的序列和类型(同样用小写英文字母标明类型)。3、在跑动的过程中,若发现“恐怖分子”,特警队员可以...
2019-12-30 19:12:07
351
原创 图片上传至Web项目下指定文件夹,需刷新项目下文件夹才能显示 解决办法
我把图片直接上传到本地项目根目录下,每次看的时候都得刷新项目,就很烦。后来经过某个大佬指点后,发现项目发布后,我的项目是在tomcat文件夹下的webapps目录里所以把上传路径改成这里面项目的文件夹就好了。但是,tomcat要设置的如下图才能在webapps文件夹下找到自己的项目...
2019-12-18 22:55:05
1462
2
原创 P2824 [HEOI2016/TJOI2016]排序(线段树+二分)
题意:给出一个1到n的排列,现在对这个排列序列进行m次局部排序,排序分为两种:0 l r表示将区间[l,r]的数字升序排序 1 l r表示将区间[l,r]的数字降序排序注意,这里是对下标在区间 [l,r]内的数排序。最后询问第q位置上的数字。思路:有两种方法,一种在线一种离线。离线的方法主要是考虑到只有一个询问,就是询问q位置的数字,我们可以...
2019-11-11 22:12:18
333
原创 HDU - 1814 Peaceful Commission(2-sat输出字典序最小)
题意:给你n个组,m条规则,每组有俩个人,这两个人不能同时出现,然后m条规则代表着有两个人,这两个人也不能同时出现,问你是否存在每组都能出现一人的选择方案。思路:没什么好方法,暴力判,枚举每对元素,先优先取靠前的那个,把它所有连了边的都取了然后打tag,如果它不会产生矛盾,那么继续,如果有,那么先把所有的tag取消,再判断a+1有没有矛盾,如果a+1也有矛盾,那这组数据就不行了。#inc...
2019-11-11 15:02:13
340
原创 P4171 [JSOI2010]满汉全席(2-sat)
模型:两个至少选一个。#include<bits/stdc++.h>#define ll long long#define MP make_pair#define P pair<long long, long long>using namespace std;const int N = 2e3 + 10;int t, n, m, h[N], cnt;in...
2019-11-10 23:51:02
225
原创 HDU5971Wrestling Match(2-sat,提前确定节点值)
模型:a对b错,a错则b对。但提前确定了几个节点的对错。#include<bits/stdc++.h>#define ll long long#define MP make_pair#define P pair<long long, long long>using namespace std;const int N = 6e4 + 10;int t, n,...
2019-11-10 23:50:54
237
原创 P1196 [NOI2002]银河英雄传说
题目描述公元五八○一年,地球居民迁至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展。宇宙历七九九年,银河系的两大军事集团在巴米利恩星域爆发战争。泰山压顶集团派宇宙舰队司令莱因哈特率领十万余艘战舰出征,气吞山河集团点名将杨威利组织麾下三万艘战舰迎敌。杨威利擅长排兵布阵,巧妙运用各种战术屡次以少胜多,难免恣生骄气。在这次决战中,他将巴米利恩星域战...
2019-11-08 21:29:07
345
1
原创 cf558E. A Simple Task(权值线段树+计数排序)
传送门题意: 给定一个长度不超过10^5的字符串(小写英文字母),和不超过50000个操作。每个操作 L R K 表示给区间[L,R]的字符串排序,K=1为升序,K=0为降序。最后输出最终的字符串。思路: 注意到只有26个字母,而且长度不超过1e5,所以可以来一个计数排序,建立26个线段树,每个字母用一个线段树维护。有一个坑点就是区间赋0的时候,主要lzay标记不用时应置为-1,不能是0,这...
2019-11-08 19:42:04
298
巨佬的hash讲解pdf,讲的非常好!!!我看一遍就会了
2019-08-06
ACM基础提纲
2018-12-09
Linux就是这个范儿完整版 高清PDF
2018-12-05
DevC++5.9.2.zip解压即用
2018-12-05
druid-1.1.10-sources.jar
2018-12-05
Xshell+Commercial+v5.0破解免安装版
2018-12-05
线段树讲义PPT
2018-12-05
小乌龟git工具csdnsb
2018-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人