<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Endeavor_G的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Endeavor_G</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Endeavor_G]]></copyright><item><title><![CDATA[sql练习题]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/116401716</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/116401716</guid><author>Endeavor_G</author><pubDate>Tue, 04 May 2021 16:09:35 +0800</pubDate><description><![CDATA[使用方法：我用的数据库是 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# 教师]]></description><category></category></item><item><title><![CDATA[9-1拼多多笔试第四题]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/108359681</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/108359681</guid><author>Endeavor_G</author><pubDate>Wed, 02 Sep 2020 12:08:13 +0800</pubDate><description><![CDATA[题意：给出一个数n和m个数，求n关于m的子集。

思路：容斥原理，求所有m的集合，在这个集合的所有数，求一下lcm（最小公倍数），如果|集合|是奇数，ans+=n/lcm，否则ans-=n/lcm 。


#include &lt;bits/stdc++.h&gt;
using namespace std;
#define LL long long
LL a[40];
int main(){
    LL N,M,ans=0,gd;
    scanf("%d%d",&amp;N,&amp;M);
    ]]></description><category></category></item><item><title><![CDATA[MySQL Innodb 数据页结构分析]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/106290958</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/106290958</guid><author>Endeavor_G</author><pubDate>Fri, 10 Jul 2020 14:50:26 +0800</pubDate><description><![CDATA[页（Page）是 Innodb 存储引擎用于管理数据的最小磁盘单位。常见的页类型有数据页、Undo 页、系统页、事务数据页等，本文主要分析的是数据页。默认的页大小为 16KB，每个页中至少存储有 2 条或以上的行记录，本文主要分析的是页与行记录的数据结构，有关索引和 B-tree 的部分在后续文章中介绍。

下图是 Innodb 逻辑存储结构图，从上往下依次为：Tablespace、Segment、Extent、Page 以及 Row。本文关注的重点是 Page 和 Row 的数据结构。



Page 结]]></description><category></category></item><item><title><![CDATA[备忘录模式]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/105182226</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/105182226</guid><author>Endeavor_G</author><pubDate>Fri, 10 Jul 2020 14:49:59 +0800</pubDate><description><![CDATA[定义

备忘录（Memento）模式的定义：在不破坏封装性的前提下，捕获一个对象的内部状态，并在该对象之外保存这个状态，以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。

角色
结构图：

备忘录模式的主要角色如下。

发起人（Originator）角色：记录当前时刻的内部状态信息，提供创建备忘录和恢复备忘录数据的功能，实现其他业务功能，它可以访问备忘录里的所有信息。
备忘录（...]]></description><category></category></item><item><title><![CDATA[外观模式]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/105174634</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/105174634</guid><author>Endeavor_G</author><pubDate>Fri, 10 Jul 2020 14:49:53 +0800</pubDate><description><![CDATA[随着一个系统的功能越来越强，子系统会越来越多，客户对系统的访问也变得越来越复杂。这时如果系统内部发生改变，客户端也要跟着改变，这违背了“开闭原则”，也违背了“迪米特法则”，所以有必要为多个子系统提供一个统一的接口，从而降低系统的耦合度，这就是外观模式的目标。
定义

外观（Facade）模式的定义：是一种通过为多个复杂的子系统提供一个一致的接口，而使这些子系统更加容易被访问的模式。该模式对外有一个...]]></description><category></category></item><item><title><![CDATA[观察者模式]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/105114618</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/105114618</guid><author>Endeavor_G</author><pubDate>Fri, 10 Jul 2020 14:49:45 +0800</pubDate><description><![CDATA[定义

观察者（Observer）模式的定义：指多个对象间存在一对多的依赖关系，当一个对象的状态发生改变时，所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式，它是对象行为型模式。


...]]></description><category></category></item><item><title><![CDATA[组合模式]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/105045529</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/105045529</guid><author>Endeavor_G</author><pubDate>Fri, 10 Jul 2020 14:49:39 +0800</pubDate><description><![CDATA[定义

组合（Composite）模式的定义：有时又叫作部分-整体模式，它是一种将对象组合成树状的层次结构的模式，用来表示“部分-整体”的关系，使用户对单个对象和组合对象具有一致的访问性。

结构与实现
组合模式包含以下角色。

抽象构件（Component）角色：它的主要作用是为树叶构件和树枝构件声明公共接口，并实现它们的默认行为。在透明式的组合模式中抽象构件还声明访问和管理子类的接口；在安全式...]]></description><category></category></item><item><title><![CDATA[迭代器模式]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/104812041</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/104812041</guid><author>Endeavor_G</author><pubDate>Fri, 10 Jul 2020 14:49:32 +0800</pubDate><description><![CDATA[定义

迭代器（Iterator）模式的定义：提供一个对象来顺序访问聚合对象中的一系列数据，而不暴露聚合对象的内部表示。迭代器模式是一种对象行为型模式。

在学习Java集合的时候，我们要访问容器内的对象，就要知道容器的结构，如ArrayList要用get来获取对象，而set只能用迭代器或for each循环。所以，当容器类型很多时，使用是不方便的，我们需要一种接口，这个接口可以遍历容器的对象，而...]]></description><category></category></item><item><title><![CDATA[适配器模式]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/104807171</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/104807171</guid><author>Endeavor_G</author><pubDate>Fri, 10 Jul 2020 14:49:24 +0800</pubDate><description><![CDATA[定义

适配器模式（Adapter）：将一个类的接口转换成客户希望的另外一个接口，使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种，前者类之间的耦合度比后者高，且要求程序员了解现有组件库中的相关组件的内部结构，所以应用相对较少些。

模式角色
适配器模式（Adapter）包含以下主要角色。

目标（Target）接口：当前系统业务所期待的接口，...]]></description><category></category></item><item><title><![CDATA[图解HTTP读书笔记]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/130435213</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/130435213</guid><author>Endeavor_G</author><pubDate>Wed, 13 May 2020 18:42:09 +0800</pubDate><description><![CDATA[URI和URL的区别
URI：统一资源标识符
URL：统一资源定位符
第二章：简单HTTP协议
1、应用HTTP协议时，必定一端担任客户端角色，另一端担任服务器端角色，有时候两台计算机的角色可能会互换，但HTTP协议能区分服务器与客户端。
2、请求必定由客户端发出。而服务器端回应。下面是请求报文的组成：




1584951664800.png

响应报文的组成




158495183170...]]></description><category></category></item><item><title><![CDATA[JAVABEAN EJB POJO区别]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/105565312</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/105565312</guid><author>Endeavor_G</author><pubDate>Thu, 16 Apr 2020 19:36:58 +0800</pubDate><description><![CDATA[1、POJO

POJO（Plain OldJavaObject）这种叫法是Martin Fowler、Rebecca Parsons和Josh MacKenzie在2000年的一次演讲的时候提出来的。按照Martin Fowler的解释是“Plain Old Java Object”，从字面上翻译为“纯洁老式的java对象”，但大家都使用“简单java对象”来称呼它。



POJ...]]></description><category></category></item><item><title><![CDATA[鸡蛋掉落问题]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/105020414</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/105020414</guid><author>Endeavor_G</author><pubDate>Sun, 22 Mar 2020 10:49:36 +0800</pubDate><description><![CDATA[题意：有kkk个鸡蛋，nnn层高的楼，问：最坏情况下，最少需要扔多少次鸡蛋才能知道从第几层楼开始往下扔鸡蛋，鸡蛋会碎。
思路：这个题原题题意太迷，我还说二分呢，后来认真看看题目才知道，鸡蛋是有限的，也就是说，假设我们有两个鸡蛋，要测100层楼，比如我从50层先扔下去一个，它碎了，那我们另一个就不能冒险，只能从第一层开始，假设在第49层碎了，那扔了50次才试出来。
动态规划的思想可以很好的解决这个问...]]></description><category></category></item><item><title><![CDATA[多态/构造器的调用顺序/构造器内部的多态]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/104691765</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/104691765</guid><author>Endeavor_G</author><pubDate>Fri, 06 Mar 2020 17:00:14 +0800</pubDate><description><![CDATA[Java实现多态的机制是后期绑定。
但Java也有些地方可以用前期绑定，比如：final，static，private（隐式final）和构造方法（隐式static）是前期绑定。
另外，Java只有普通方法的调用可以是多态的，如果直接访问某个域，这个访问将在编译期进行解析。
举例
//子类
public class Son extends Battle {
    public int a = 2...]]></description><category></category></item><item><title><![CDATA[final关键字/编译时常量与运行时常量/继承与初始化]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/104640554</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/104640554</guid><author>Endeavor_G</author><pubDate>Tue, 03 Mar 2020 21:38:05 +0800</pubDate><description><![CDATA[final可以用来修饰数据、方法、类。
final数据
1、final修饰变量
final修饰基本数据类型的变量时，必须赋予初始值且不能被改变。
static final修饰的是常量，常量分为编译时常量与运行时常量，定义为static，强调只有一份。
比如static final int a = 10;就是编译时常量，只要是该常量带入的语句，在编译过后都会替换。
这段代码

在反编译后变成

而且...]]></description><category></category></item><item><title><![CDATA[this关键字/数组初始化/可变参数的数组]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/104576076</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/104576076</guid><author>Endeavor_G</author><pubDate>Tue, 03 Mar 2020 14:08:27 +0800</pubDate><description><![CDATA[this关键字表示”调用方法的那个对象”的引用。

我们有时在写程序时会有这种需求，想要在方法内部获得当前对象的引用（就是调用当前方法的那个对象），那么就可以在方法内部使用this关键字代指当前对象的引用。
比如
public class Test {
    public static void main(String[] args) {
        new At().aa().sout(...]]></description><category></category></item><item><title><![CDATA[策略模式]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/104622061</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/104622061</guid><author>Endeavor_G</author><pubDate>Mon, 02 Mar 2020 23:45:37 +0800</pubDate><description><![CDATA[定义

Define a family of algorithms,encapsulate each one,and make them interchangeable.
定义一组算法，将每个算法都封装起来，并且使它们之间可以互换。

结构
UML图如下

Context是上下文，用一个ConcreteStrategy来配置，维护一个对Strategy对象的引用。
Strategy是策略类，用于定...]]></description><category></category></item><item><title><![CDATA[java的对象存储在哪里？]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/104570145</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/104570145</guid><author>Endeavor_G</author><pubDate>Sat, 29 Feb 2020 14:29:17 +0800</pubDate><description><![CDATA[1、寄存器
寄存器是速度最快的存储区域，它位于处理器内部，但它的数量有限，所以要按需分配，不能被人控制。
2、堆栈
通常也叫栈，位于RAM中，堆栈指针向下移动，则分配新的内存；向上移动，则释放那些内存。这种存储方式速度仅次于寄存器。常用于存放对象引用与基本数据类型，不存放Java对象。栈内存被要求存放在其中的数据的大小、生命周期必须是已经确定的。
3、堆
通用的内存池，位于RAM中，用于存放所有的...]]></description><category></category></item><item><title><![CDATA[Java静态绑定与动态绑定]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/104556919</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/104556919</guid><author>Endeavor_G</author><pubDate>Fri, 28 Feb 2020 15:07:40 +0800</pubDate><description><![CDATA[程序绑定的概念：
绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说，绑定分为静态绑定和动态绑定；或者叫做前期绑定和后期绑定.

静态绑定：
在程序执行前方法已经被绑定（也就是说在编译过程中就已经知道这个方法到底是哪个类中的方法），此时由编译器或其它连接程序实现。例如：C。
针对java简单的可以理解为程序编译期的绑定；这里特别说明一点，java当中的方法只有final，s...]]></description><category></category></item><item><title><![CDATA[责任链模式]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/104544384</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/104544384</guid><author>Endeavor_G</author><pubDate>Thu, 27 Feb 2020 21:22:47 +0800</pubDate><description><![CDATA[定义

责任链模式：使多个对象都有机会处理请求，从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链，并沿着这条链传递该请求，直到有对象处理它为止。

责任链模式（Chain of Responsibility） 是行为型设计模式之一，它是一条链，链上每个节点都可以处理不同的内容，自己处理不了的交给下一个节点，直到最后一个节点。这样的话，请求者不必直到这条链上谁可以处理，只要把请求往...]]></description><category></category></item><item><title><![CDATA[命令模式]]></title><link>https://blog.youkuaiyun.com/Endeavor_G/article/details/104516041</link><guid>https://blog.youkuaiyun.com/Endeavor_G/article/details/104516041</guid><author>Endeavor_G</author><pubDate>Wed, 26 Feb 2020 15:49:14 +0800</pubDate><description><![CDATA[定义

命令模式（Command Pattern）是一种数据驱动的设计模式，它属于行为型模式。请求以命令的形式包裹在对象中，并传给调用对象。调用对象寻找可以处理该命令的合适的对象，并把该命令传给相应的对象，该对象执行命令。

在软件系统中，方法的请求者与方法的实现者总是存在着紧密的耦合关系，这不利于扩展和维护。因此“如何将方法的请求者与方法的实现者解耦？”变得很重要，命令模式能很好地解决这个问题。...]]></description><category></category></item></channel></rss>