avatar
文章
11
标签
12
分类
10

首页
时间轴
标签
分类
Welcome to Astron's Zone
首页
时间轴
标签
分类

Welcome to Astron's Zone

Chasing Life,Just Go For It —— 《白日梦想家》
发表于2021-12-31|更新于2021-12-31|电影
今天看了一部电影——《白日梦想家》,隐约能在主人公身上看到一些自己的影子,所以看完之后有些感悟,因此在这里记录一下~ 片子的主人公叫 Walter Mitty,是一个将要被并购的《Life》期刊的底片资产部的经理,同时他也是一个白日梦想家。之所以叫 Walter 白日梦想家是因为他对生活缺乏热情,只能通过幻想来想一些自己想做却不敢做的事,比如向他喜欢的人告白等等。Walter 的生活平静地像一潭死水,与《Life》杂志的 solgan 形成鲜明的对比—— To see the world, things dangerous to come to, to see behind walls, to draw closer, to find each other and to feel. That is the Purpose of LIFE。 影片开头,Walter 在约会网站上踌躇犹豫许久后,终于下定决心对他公司里的新员工发送了 wink (表示喜欢),然后网站却出了些问题,wink 发不出去,因此与 Cheryl 的联系就此作罢。时值公司面临被收购,大家都有被裁员的风险。屋漏偏逢连夜雨 ...
UML
发表于2021-11-25|更新于2021-12-02|基础知识UML
什么是类图类图的种类
LeetCode78子集
发表于2021-11-20|更新于2021-12-03|数据结构与算法回溯子集问题
LeetCode78子集 描述 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 12输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 思路 子集问题是从 n 个元素的集合中找出满足某种性质的子集。 对于集合中的每个元素有两种状态——在集合中和不在集合中,因此可以使用暴力搜索——回溯法进行求解,穷举每一个元素的状态。 采用回溯法一般需要找出问题的解空间树,然后对解空间树采用深度搜索策略对答案进行搜索。 子集问题的解空间树叫做子集树,因此子集树是问题【在给定n个元素的集合中找出满足某种性质的子集】的响应解空间,典型的01背包问题就可以采用回溯法进行求解。 该问题的解空间树如下所示: 在解空间树中,一个节点代表一个状态,每一层代表你在第几层函数中(可以看做是你在第几层递归中)。 比如下面这张图,这个状态就代表第k层你对第k个元素做的选择。由于每个元素只存在两种状态,所以就对这两种状态进行列举——即选 ...
两分钟带你了解 JSON
发表于2021-11-16|更新于2021-11-17|基础知识标记语言
什么是 JSONJSON(JavaScript Object Notation,JS对象简谱)是一种数据交换格式。 将编程语言中的数据类型(比如数字、数组、字符串、对象等)转化为 JSON 字符串就可以在网络中进行传输,然后编程语言再解析 JSON 文档就可以将数据转换为对应的格式。 其中将某种语言的数据转化为 JSON字符串可以看做是编码,将 JSON 字符串转化为对应的数据可以看做是解码。 JSON 结构和语法JSON 文件有一个基础元素和两个结构,基础元素指的就是键值对,两个结构指的是对象和数组。 键值对的键是字符串,值可以是多种数据类型,比如字符串、数字、三种字面量(true,false,null)、数组或者对象。 其中字符串是任意数量 Unicode 字符的集合,单独的字符就是一个单独的字符串,使用反斜线转义。 对象是一组被大括号 {} 括起来的键值对的集合,每一个键值对之间采用 , 间隔; 而数组则是一组被中括号 [] 括起来的值的集合,每一个值之间使用 , 分隔。 JSON 文件示例下面所示例子是一个数组和集合的嵌套。 12345678910 ...
挖宝
发表于2021-11-15|更新于2021-11-15|宝藏网站
hexo-theme-butterfly 主题设置
设计模式之适配器模式
发表于2021-11-15|更新于2021-11-15|设计模式
适配器模式是用来做适配的,可以将一个接口转换成另一种接口,使得两个不兼容的接口通过适配器可以一起工作。 适配器模式有两种实现方式:类适配器和对象适配器。 类适配器通过继承方式实现,对象适配器通过组合方式实现。 类适配器耦合度较高,目前应用较多的为对象适配器。 适配器模式结构: ITarget:目前业务所期待的接口,即要将被适配类适配成的接口的定义 Adaptee:要被适配的现有组件接口,即不兼容 ITarget 接口的接口 Adapter:转换器,将 被适配类 转换为 适配类 对象适配器: 类适配器: 图片来自[2] 适配器的实现类适配器模式实现:123456789101112131415161718192021222324// 类适配器: 基于继承public interface ITarget { void f1(); void f2(); void fc();}public class Adaptee { public void fa() { //... } public void fb() { // ...
设计模式之代理模式
发表于2021-11-15|更新于2021-11-15|设计模式
由代理的创建时期,可以将代理分为静态代理和动态代理。 动态代理可以类比多态。 定义代理模式就是给一个对象提供一个代理,我们可以通过代理对象实现对原对象的控制和引用。 代理对象就是对原对象的代理,任何想与原对象进行交互的行为都需要通过代理对象来实现。 代理模式使得原对象不必暴露在外,由代理对象作为中介与外部交互,在一定程度上保护了原对象。同时也减少了系统的耦合度。 代理模式可以:一 保护目标对象,二 增强目标对象。 优缺点优点: 1、职责清晰。 2、高扩展性。 缺点: 1、由于在客户端和真实主题之间增加了代理对象,因此有些类型的代理模式可能会造成请求的处理速度变慢。 2、实现代理模式需要额外的工作,有些代理模式的实现非常复杂。 模式结构 抽象主题类( Subject 抽象主题类主要是接口或者抽象类 真实主题类 (类, Real Subject 真实主题类是实现了接口或者抽象类中方法的类,是代理对象所代理的真实对象, 代理类 ( Proxy 类图 注:图片来自菜鸟教程 静态代理静态代理指的是代理类人为地创建代理类,即在程序运行前代理类的 .class 文件就已经存在。 12345 ...
设计模式之单例模式
发表于2021-11-15|更新于2021-11-15|设计模式
单例模式保证一个类只有一个对象被创建,所创建的对象可以被直接访问,不需要实例化。 解决问题:一个类被频繁地创建与销毁。 如何解决:判断单利类的实力是否已经存在,存在则返回,不存在则创建。 实现方法:构造函数设为私有,类内创建实例,类外保证不能创建实例 优点: 减少内存开销,避免一个类被多次创建与销毁 避免对资源的多重占用 缺点:没有接口,不能继承,与单一职责冲突 实现步骤: 123456789101112public class SingleObject{ // 类内创建实例 private static volatile SingleObject singleInstance = new SingleObject(); // 设置构造函数为私有 private SingleObject(){} // 设置获取唯一可用对象的方法 public static SingleObject getSingleInstance(){ return singleInstance; }} 123456p ...
YAML简介(.yml)
发表于2021-11-14|更新于2021-11-17|基础知识标记语言
情景最近在使用 github+hexo 配置属于自己的博客时遇到了以 yml 为后缀的配置文件,因为不太了解,所以顺便学习一下。 YAML 是什么?YAML 是一种可读性高,以数据为中心的数据序列化格式。可以表达 对象(键值对),数组,标量 这几种数据形式 能够被多种编程语言和脚本语言解析。 什么是序列化? 序列化指的是将自定义的对象或者其他数据进行持久化,从而方便进行传输和存储。一般情况下,能够序列化的数据一定能够通过反序列化恢复。 YAML 语法与格式基本语法 以 k: v 的形式来表示键值对的关系,冒号后面必须有一个空格 # 表示注释 对大小写敏感 通过缩进来表示层级关系,缩排中空格的数目不重要,只要相同阶层的元素左侧对齐就可以了 缩进只能使用空格,不能使用 tab 缩进键 字符串可以不用双引号 格式对象和键值对 通过 k: v 的方式表示对象或者键值对,冒号后必须要加一个空格: 123Name: AstronSex: femaleSchool: TJU 通过缩进来表示对象的多个属性: 1234People: Name: Astron Sex: femal ...
在使用count(*)时都发生了什么
发表于2021-10-30|更新于2021-11-13|mysql
不同的 MySQL 引擎中,count(*) 有不同的实现方式。 MyISAM 引擎存储了表的总行数,在不加 where 筛选条件的情况下,所以count(*)会直接返回,效率比较高; InnoDB 执行 count(*) 的时候需要将数据一行一行地从引擎里读出来,然后累计计数 为什么要使用InnoDB: InnoDB 支持事务,保证一致性 InnoDB在执行 count(*) 时做了优化:会找最小的索引树进行遍历,尽量减少扫描的数据量(数据库系统设计的通用法则)。 InnoDB 中表数据就是一个索引树,主键的索引树中叶子结点是数据,普通索引树中的叶子结点存的是主键值,因此普通索引树要比主键索引树小。对于 count(*) ,遍历哪棵树索引树得到的结果在逻辑上都是一样的,因此 MySQL 优化器会找到最小的索引树进行遍历,尽量减少扫描的数据量。 MyISAM 表虽然 count() 很快,但是不支持事务; show table status 命令虽然返回很快,但是不准确; InnoDB 表直接 count(*) 会遍历全表,虽然结果准确,但会导致性能问题。 业务需求 ...
12
avatar
Astroniee
文章
11
标签
12
分类
10
Follow Me
公告
Welcom to my blog
最新文章
Chasing Life,Just Go For It —— 《白日梦想家》2021-12-31
UML2021-11-25
LeetCode78子集2021-11-20
两分钟带你了解 JSON2021-11-16
挖宝2021-11-15
最新评论
正在加载中...
分类
  • mysql1
  • 基础知识3
    • UML1
    • 标记语言2
  • 宝藏网站1
  • 数据结构与算法1
    • 回溯1
      • 子集问题1
标签
UML mysql 回溯 基础知识 子集问题 宝藏网站 数据序列化 数据结构与算法 标记语言 电影 设计模式 配置文件
归档
  • 十二月 20211
  • 十一月 20218
  • 十月 20212
网站资讯
文章数目 :
11
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2021 By Astroniee
框架 Hexo|主题 Butterfly
Welcome to my blog!