事件模型指的是对象之间进行通信的设计模式

事件模型指的是对象之间进行通信的设计模式。 对象1给对象2发送一个信息相当于对象1引用对象2的方法。 模型即是一种设计模式(约定俗成) 对象对为三种: ①事件源:发出事件者; ②事件对象:发出的事件本身; ① 事件监听器:提供处理事件指定的方法。 Java AWT事件模型也称为授权事件模型,指事件可以和监听器之间事先建立一种关系:约定那些事件如何处理,由谁去进行处理。这种约定称为授权。 一个事件源可以授权多个监听者(授权也称为监听者的注册); 多个事件源也可以注册多个事件监听器。 监听者对于事
分类: 其他 发布时间: 08-04 23:10 阅读次数: 0

视图常用逻辑

返回JSON 在使用 Flask 写一个接口时候需要给客户端返回 JSON 数据,在 Flask 中可以直接使用 jsonify 生成一个 JSON 的响应 from flask import Flask, jsonify from flask import json app = Flask(__name__) @app.route("/demo1") def demo1(): my_dict = { "name":"laowang", "age":18 } # str = json.dump
分类: 其他 发布时间: 08-04 23:10 阅读次数: 0

Linux平台 Oracle 18c RAC安装Part1:准备工作

一、实施前期准备工作 1.1 服务器安装操作系统 1.2 Oracle安装介质 1.3 共享存储规划 1.4 网络规范分配 二、安装前期准备工作 2.1 各节点系统时间校对 2.2 各节点关闭防火墙和SELinux 2.3 各节点检查系统依赖包安装情况 2.4 各节点配置/etc/hosts 2.5 各节点创建需要的用户和组 2.6 各节点创建安装目录 2.7 各节点系统配置文件修改 2.8 各节点设置用户的环境变量 Linux平台 Oracle 18c RAC安装指导: Part1:Linu
分类: 其他 发布时间: 08-04 23:10 阅读次数: 0

opencv-阈值分割 Wellner 自适应阈值二值化算法

关于自适应阈值,可参考:Wellner 自适应阈值二值化算法 一、大津法OTSU(最大类间方差法) 参考:非黑即白——图像分割入门篇之Otsu阈值 自适应阈值分割—大津法(OTSU算法)C++实现 灰度图像的自动阈值分割(Otsu 法) 在实际运用过程中,大津法表现得最稳定,且无需参数,对于现实图像保持了最好的均匀性和形状特性,而且被商业软件GIMP 和学术软件Matlab采纳为自动阈值法。 原理: Otsu分割方法求取阈值是求得使类间方差最大的阈值: 假设待分割图像的像素数为N(就是常说的几
分类: 其他 发布时间: 08-04 23:10 阅读次数: 0

在多线程中使用静态方法是否有线程安全问题

 类的成员分为两类,静态成员(static member)和实例成员(instance member)。静态成员属于类,实例成员则属于对象,即类的实例。 简单讨论一下在一个类中使用静态字段(static field)和静态方法(static method)是否会有线程安全问题。 我们在知道, 静态字段(static field)和静态方法(static method)的调用是通过类来调用。静态方法不对特定的实例操作,只能访问静态成员。实例方法可对特定的实例操作,既能访问静态成员,也能访问实例成
分类: 其他 发布时间: 08-04 23:10 阅读次数: 0

也谈谈拼多多

关于拼多多,想必很多人都隐隐察觉到问题,可就是有种说不清的感觉。是怜悯,放任,还是欺骗?从它通过文字来混淆品牌的认知来看,我认为是欺骗是取巧。有几个基本逻辑我觉得应该弄清楚: 你卖一部手机,甭管多破烂,只要有人愿意买,那就是正常的交易。一人愿打一人愿挨。尽管有违物美价廉的正常消费观。可是你要卖一部“平果”牌手机,那就是混淆认知,侵犯品牌,利用人们爱低价虚荣的心理来销售商品,而且是放在日光底下。这对于认真经营几十年数百年的品牌造成很大的伤害。人们不尊重品牌,对商业活动认知会造成扭曲的价值观,
分类: 其他 发布时间: 08-04 23:10 阅读次数: 0

没有备份怎么恢复被drop的表(利用undrop-for-innodb)

介绍:     也许大家都难以理解,这么重要的数据为啥不备份(或者备份不可用)?而且还任性的drop table了。显然有备份是最好的,但是它们并不总是可用的。这种情况令人恐惧,但并非毫无希望。在许多情况下,可以恢复数据库或表中的几乎所有数据。恢复计划取决于InnoDB是否将所有数据保存在一个ibdata1中,还是每个表都有自己的表空间。本文将考虑innodb_file_per_table=OFF的情况。 drop 表恢复其他方法: 利用master同步 伪master+Binlog+同步 利
分类: 其他 发布时间: 08-04 23:10 阅读次数: 0

图解TCP/IP笔记(3)——IP协议

目录 IP协议 IP寻址 IP地址组成 IP地址分类 广播地址 子网掩码 全局地址和私有地址 IP协议 跨越不同数据链路,实现两端节点之间的数据包传输 数据链路:只负责某一个区间之间的通信传输 IP协议:将数据包发给最终的目标地址,点对点通信 面向无连接 在发包之前,不需要建立与对端目标地址的连接 【好处】简化和提速 IP寻址 IP地址——连接到网络中,所有主机中识别出进行通信的目标地址 每块网卡都得设置IP地址,可以配置多个IP地址。 IPv4 4个8位 / IPv6 8个8位 IP地址组成
分类: 其他 发布时间: 08-04 23:10 阅读次数: 0

随机验证码 随机字符串

Math.ceil()向上取整 Math.floor()向下取整 Math.round() 四舍五入 Math.pow(n,x);n的x次方 Math.random()获取随机数0-1 [0,1) Math.Max() 第一步: 先定义一个变量, 接收字符串   var str='1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; 第二步:   定义一个数组, 接收分割的字符串;   用split分割字符串, 返回一
分类: 其他 发布时间: 08-04 23:10 阅读次数: 0

容器与容器编排实战系列 1 -- Docker 安装

CentOS7.4 下安装Docker 详细步骤 第一步:安装Docker yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y docker-ce systemctl start docker systemctl ena
分类: 其他 发布时间: 08-04 23:10 阅读次数: 0

【阅读笔记】0x01 位运算

1.补码表示: ~x=-1-x 2.自然溢出:unsigned long long 自动对2^32取模,可以用来hash。 3.基本位运算操作: 左移:1<<n=2^n n<<1=2n,n<<2=4n,n<<3=8n。。。 算术右移:n>>1=n/2 ,n>>4=n/16。。。算术右移=除以2向下取整 e.g. (-3) >> 1 = -2,3>>1=1 P.S. 整数/2 = 除以2向0取整 e.g. (-3)/2=-1 , 3/2=1 tips:以下二进制以0为最低位,即k从0开始。 取出
分类: 其他 发布时间: 08-04 23:10 阅读次数: 0

Linux 内核链表实现和使用(一阴一阳即为道~)

0. 概述 学习使用一下 linux 内核链表,在实际开发中我们可以高效的使用该链表帮我们做点事, 链表是Linux 内核中常用的最普通的内建数据结构,链表是一种存放和操作可变数据元 素(常称为节点)的数据结构,链表和静态的数组不同之处在于,它所包含的元素都是动 态创建插入链表的,在编译时不必知道具体需要创建多少个元素。 另外也因为链表中 每个元素的创建时间各不相同,所以它们在内存中无须占用连续内存区,正是因为元素 不连续存放,所以各元素需要通过某种方式被连接在一起,于是每个元素都包含一个指
分类: 其他 发布时间: 08-04 23:10 阅读次数: 0

自定义view 布局

&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt; &amp;lt;RelativeLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; android:layout_width=&quot;match_parent&quot; android:layout_height=&quot;match_par
分类: 其他 发布时间: 08-04 23:09 阅读次数: 0

Frangment+Tabyout布局

&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt; &amp;lt;LinearLayout android:layout_height=&quot;match_parent&quot; android:layout_width=&quot;match_parent&quot; android:orientation=&quot;vertical&quot; xmlns:android=&
分类: 其他 发布时间: 08-04 23:07 阅读次数: 0

Fragment管理

package com.example.w.fqyuekao; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; ...
分类: 其他 发布时间: 08-04 23:07 阅读次数: 0

log+色彩

public static DisplayImageOptions options(){ DisplayImageOptions options= new DisplayImageOptions.Builder() .bitmapConfig(Bitmap.Config.RGB_565) .displa...
分类: 其他 发布时间: 08-04 23:07 阅读次数: 0

侧拉布局

&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt; &amp;lt;android.support.v4.widget.DrawerLayout android:layout_width=&quot;match_parent&quot; android:layout_height=&quot;match_parent&quot; xmlns:android=&quot;http://schemas
分类: 其他 发布时间: 08-04 23:07 阅读次数: 0

c++指针与引用

引用:引入了对象的一个同义词。定义引用的表示方法与定义指针相似,只是用&代替了*。引用(reference)是c++对c语言的重要扩充。引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名常引用:常引用声明方式:const 类型标识符&引用名=目标变量名; 用这种方式声明的引用,不能通过引用对目标变量的值进行修改,从而使引用的目
分类: 其他 发布时间: 08-04 23:05 阅读次数: 0

多态+多态对象模型

多态?字面意思即为多种形态;C++多态性是通过虚函数来实现的,虚函数允许子类重新定义成员函数,而子类重新定义父类的做法称为覆盖或者称为重写;当使用基类的指针或引用调用重写的虚函数时,当指向父类调用的就是父类的虚函数,指向子类的就是子类的虚函数。 单继承&多继承单继承:一个子类只有一个直接父类时称这个继承关系为单继承。 多继承:一个子类有两个或以上直接父类时称这个继承关系为多继承。
分类: 其他 发布时间: 08-04 23:05 阅读次数: 0

vector和list的使用

vector是C++标准模板库中的部分内容,是一种容器。它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。 使用它时需要包含头文件:#include vector类型的初始化: vector a ; //声明一个int
分类: 其他 发布时间: 08-04 23:04 阅读次数: 0