JAVA设计模式之观察者模式 - Observer

有趣的事情发生时,可千万别错过了!有一个模式可以帮你的对象知悉现况,不会错过该对象感兴趣的事。对象甚至在运行时可决定是否要继续被通知。有了观察者,你将会消息灵通。 介绍 观察者模式的定义: 在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新。 简单理解 为了方便理解观察者模式,我们以报社为例: 报社的业务是出版报纸; 向某家报社订阅报纸,只要他们有新报纸出版,就会给你送来。只要你是他们的订户,你就会一直收到新报纸。 当你不想再看报纸的时候,取消订阅,
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

Vue开发之路由进阶

1.路由组件传参 在一个页面中,需要根据路由获得参数,然后在页面进行逻辑处理,可以通过$route来获取相关参数 但是这样一来,页面组件与路由耦合太高,为了解耦,页面组件可以在更大程度上进行复用,可以使用路由组组传参 路由组件传参有三种形式 1.1 第一种:布尔模式 适用于在动态路由匹配中,有动态路由参数的路由配置中 在前面的例子里,定义了一个动态路由参数的路由 修改src/router/router/js文件 import Home from '@/views/Home.vue' expo
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

线段树(Segment Tree)入门

  线段树是在区间求和、区间求最大值或最小值等问题上非常实用的一种算法,它的本质是一种二叉搜索树,可以实现将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。   线段树可以快速进行单点、区间的修改、查询,时间复杂度为O(logN),未优化的空间复杂度为2N,实际应用时一般还要开4N的数组以防止越界,因此有时需要离散化压缩空间。   线段树的每个节点可以存储一个区间的左右端点值,还可根据题目要求存储区间内的某些特征值,建树、修改、查询都用递归实现,下面讲述具体的实现方法。   
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

实验:图的创建

6-1 jmu-ds-邻接矩阵实现图的操作集 ( 30分) 关键代码 1 void CreateMGraph(MGraph& g, int n, int e) 2 { 3 int i, j; 4 g.n = n; 5 g.e = e; 6 for (i = 1;i < MAXV;i++) 7 { 8 for (j =1;j < MAXV;j++) 9 { 10
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

java笔记1:准备工作:java历史、Java环境、java编辑器、cmd常用命令

java的历史 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。 由James Gosling和同事们共同研发,并在1995年正式推出。 java是一种非常流行的计算机编程语言,其中使用最多的是java8 java环境   jdk   java develop kit 是开发工具   安装建议 1.路径中不要有中文或空格 2.要单独取消外部公共的JRE的安装   JRE   Java Runtime Environment
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

Macbook中VMWare的Centos7虚拟机配置静态IP并允许上网的配置方法

一、检查Macbook本身的配置 1、打开【系统偏好设置】-【网络】- 选中【Wi-Fi】项(如果您是WIFI上网请选择此项)- 点右侧【高级】   选择【TCP/IP】选项卡,记录好【子网掩码】、【路由器】地址、DNS选项卡下的DNS服务器地址(如果DNS服务器地址没有配置,也可以给配置个8.8.8.8或者114.114.114.114)   比如:    路由器地址:192.168.0.1    子网掩码:255.255.255.0    DNS:114.114.114.114 (如果ma
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

Taro 采坑日常

组件事件传参只能在类作用域下的确切引用(this.handleXX || this.props.handleXX),或使用 bind。   组件中点击事件如下 // 组件 <AtListItem key={i} isSwitch switchIsCheck={ true } onSwitchChange={ (e) => this.handleSwitchChange(e, i) } /> // 方法 handleSwitchChange = (
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

【LOJ】#3121. 「CTS2019 | CTSC2019」无处安放

第一次有耐心去研究一道题答…… 以前看到题答要么扔要么就水能简单手玩出来的 1 2可以手玩出来,快乐! 4呢发现3 3比较格路,就把3 3都配了,一边带个4的除了4 4都塞满这么放进去,然后把一边带2的两两配起来,然后撒1把这些都填满,最后扔4 4就好了 剩下的可以用玩俄罗斯方块的技巧,枚举一个位置pos,若底边长度是r,找[pos,pos + r - 1]这个区间上最大值最小的一个,如果相同选pos最小的一个,是可以按照奇怪的方法各种排序,随机扰动…… 基本都是这个套路了,非2的测试点可以通
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

如何调优SQL

以MySQL为例 如何定位并优化慢查询SQL 联合索引的最左匹配原则的成因 索引是建立得越多越好吗 一、如何定位并优化慢查询SQL 具体场景具体分析,在这里只提出大致思路 根据慢日志定位慢查询SQL 使用explain等工具分析sql 修改SQL或者尽量让SQL走索引 根据慢日志定位慢查询SQL 使用命令 show variables like '%quer%';来查询相关的系统变量; show_query_log:慢日志状态,off是关闭,on是打开;使用 set global show_q
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

css的入门——布局

布局 1.关于元素定位的核心概念 块级元素:换行显示,例如<h1>,<p>,<ul>,<li> 内联元素:在周围的文本之间流动,例如:<img>,<b>,<i> 构建块:CSS采用黑子模型来出来每个HTML元素,盒子可以是一个“块级”盒子,也可以是一个“内联”盒子。块级盒子另起一行显示,并且它在布局中就像是主体构建块;而内联盒子则在其周围的文本间浮动。你可以通过设置每个盒子的宽度来控制其所占用的控件。要将不同的盒子分开,你可以使用边框,外边距,内边距和背景颜色。 包含元素:如果一个块级元素位于
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

nlp之TF-IDF

首先我也不知道这个练习有什么用,就是玩一玩,很多东西都是不知道有啥用,玩玩或许就有用了,开心就好。今天看到大家发的马总的一个朋友圈截图:腾讯成立之初就是为了做一个好的产品,不是为了赚钱。哈哈哈哈哈哈哈 TF-IDF(term frequency–inverse document frequency)是一种用于资讯检索与文本挖掘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

线程与线程池基本理解

1. 用多线程的目的是什么? 充分利用cpu资源,并发做多件事 2.线程什么时候会让出cpu 阻塞时 wait () sleep 3.线程是什么 一条代码执行流,完成一组代码的执行 这一组代码,称为一个任务 4.cpu的工作是什么 执行代码 流程:任务----装入--->线程----运送---->cpu(执行代码) 5.线程是不是越多越好 (1)每一个线程需要以一个操作系统来支持, 创建线程时间+销毁时间 > 执行任务时间,则不合算 (2)线程占用堆空间,操作系统占用系统内存,一个线程默认最大
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

linux基础shell编程

创建shell脚本 1. 使用文本编辑器来创建文本文件 第一行必须包括shell声明序列:#! 示例:#!/bin/bash 添加注释:注释以#开头 2. 运行脚本 给予执行权限,在命令行上指定脚本的绝对或相对路径 直接运行解释器,将脚本作为解释器程序的参数运行 脚本规范 第一行一般为调用使用的语言 程序名,避免更改文件名为无法找到正确的文件 版本号 更改后的时间 作者相关信息 该程序的作用,及注意事项 最后是各版本的更新简要说明 ▷脚本的基本结构 #!SHEBANG CONFIGURATI
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

靠自己!5.26-6.1

时间 5.26日 日总结: 0.突然知道了导师的一些事情,其实对于她的评价还挺不一的。目前分为三类,下等、偏上等、中偏下。 第三个是我一贯的态度,本着对高中时蔡老师的理论:只有自己所见所闻才可以相信,并且用来说服自己。 另两个观点虽然相对,但我对导师基本上不抱乐观了,因为下等的那个至少还提供了图片论据,偏上等则完全是主观感受了。 怎么说呢,有的时候回到原点想,其实也不是什么大事,不过是绕回了一个亘古不变的话题:靠自己。老师不管,靠自己,只要靠自己好像能走出绝大多数绝境。
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

VS2015+QT环境配置后,Lauch Qt Designer打开失败,无法打开*.ui文件

最近在VS2015上配置QT时出现了这个问题,遂百度其解决方法,解决之后记录下来。 第一步: 在【解决方案资源管理器】中,右击你的 xxx.ui文件,选择【打开方式】,此时列表中默认值是【 Qt designer】,选中它,点击【移除】按钮。 然后点【添加】按钮,在弹出的窗口中“浏览”,选择你QT版本的安装目录(“C:\Qt5.7.0\5.7\msvc2015\bin” ),选中bin文件夹下的designer.exe。(即把designer.exe自己手动添加进来)。 添加完成后,点击【设置
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

Flutter: AnimatedList 一个滚动容器,可在插入或移除项目时为其设置动画

Flutter Widget of the Week import 'dart:math'; import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: MyH
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

spring版本不兼容JDK问题

在实验书上Spring项目的时候出现一个问题,导入包和使用注释的时候eclipse出现报错。 导入包报错:The import org cannot be resolved 注释报错:component cannot be resolved to a type 网上查询后发现是Spring版本和JDK版本之间出现不兼容,我用的是spring4,并不兼容JDK11,我在网上下载了JDK8。 对应关系见贴:https://blog.csdn.net/tutu_flying_pig/article/
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

python async

结论: 1. 协程后面的技术也是 IO 多路复用, Nginx 和 nodejs 都充分利用了这种机制. 2. Flask 线程中为什么不能直接使用标准库 asyncio 来支持异步? asyncio 一定要有应该eventloop, 而这个 eventloop 必须运行在主线程, 不能运行在子线程中, 所以在Flask 线程中不能直接使用标准库 asyncio. 3. 如果在单并发的情况下, web响应很慢. 改成 async模式, 并不会改善"单次"请求响应速度. 当然改成 async 通
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

ElasticSearch(三十)基于scoll+bulk+索引别名实现零停机重建索引

1.为什么要重建索引? 总结,一个type下的mapping中的filed不能被修改,所以如果需要修改,则需要重建索引 2.怎么zero time重建索引? 一个field的设置是不能被修改的,如果要修改一个Field,那么应该重新按照新的mapping,建立一个index,然后将数据批量查询出来,重新用bulk api写入index中 批量查询的时候,建议采用scroll api,并且采用多线程并发的方式来reindex数据,每次scoll就查询指定日期的一段数据,交给一个线程即可。 过程:
分类: 其他 发布时间: 05-26 18:08 阅读次数: 0

Codeforces Round #190 (Div. 2) B. Ciel and Flowers

重点还是推一下式子。 设mixing bouquet个数为x,F(x,y) = [(y-x)/3],则答案为f(x) = F(x,r)+F(x,g)+F(x,b),这里的[]代表向下取整,猜测一下f(x)的单调性。 推这个式子f(x+1) - f(x) = 1+F(x+1,r)-F(x,r)+F(x+1,g)-F(x,g)+F(x+1,b)-F(x,b)。 对F(x+1,r)-F(x,r)分析:令S=[(y-x-1)/3]-[(y-x)/3],显然麻烦的是取整函数,分类讨论下: I.(y-x)
分类: 其他 发布时间: 05-26 17:51 阅读次数: 0