Guava中EventBus分析

EventBus 1. 什么是EventBus 总线(Bus)一般指计算机各种功能部件之间传送信息的公共通信干线,而EventBus则是事件源(publisher)向订阅方(subscriber)发送订阅事件的总线,它解耦了观察者模式中订阅方和事件源之间的强依赖关系。 图片来源: 2. guava EventBus的构成 下面以guava 19版本的EventBus的源码进行分析。EventBus有三个操作:注册Listener--register(Object Listener),注
分类: 其他 发布时间: 01-06 23:18 阅读次数: 0

前端项目代码结构的管理

  总结一下,自己对前段项目结构的构建。   匆忙写下,后续修改。   对于前端的各种风格,我倒是没有什么所谓,每个人有每个人的风格。我比较在意代码的结构,代码的结构清晰,更容易帮助人理解业务逻辑,而不至于陷入各种api的调用使用中无法自拔,api使用不合理,倒无所谓,每个人都有自己的欠缺,有些知识不够深入,就容易api使用不合理,但是,客户端的性能很强大,这些东西在前期都可以暂时性忽略。   1、唯一入口。   每一个页面都有一个唯一的入口,即,从文件夹,css,js,html都是从一个入口
分类: 其他 发布时间: 01-06 23:18 阅读次数: 0

iOS自动化探索(三)WebDriverAgent Python Client

之前我们在终端试着调用过WDA API, 今天我们在看一个Python封装的api库 https://github.com/openatx/facebook-wda 安装方式(一): pip install --pre facebook-wda 安装方式(二): git clone https://github.com/openatx/facebook-wda.git cd facebook-wda/ python setup.py install 用Xcode开启WDA 会话, 然后再编写和
分类: 其他 发布时间: 01-06 23:18 阅读次数: 0

c++ extern 关键字

参考来源:http://www.cnblogs.com/broglie/p/5524932.html 可以在头文件中做声明: extern int i; 声明并不申请内存空间。 而在定义它的文件里,写 int i; 即可,在这里才真的申请内存空间。 这样可以在多个源文件中用同一些全局变量,分别编译这些源文件时,只需都包含头文件,头文件中包括所有这些全局变量的声明。
分类: 其他 发布时间: 01-06 23:17 阅读次数: 0

JavaScript学习篇(1)

HTML,css,JavaScript是一起工作构建出前端的,HTML定义了网页的骨架,css是在骨架上为其进行装饰,标签有固有属性但是却无法满足网页制作的需求,需要css进行装饰,他们相互独立又相互依靠。这两个会在后来补充的博客中添加,今天先记录JavaScript的开始。 首先,JavaScript是对于网页行为的一种运用,JavaScript由三个部分组成:核心语法ecma,浏览器对象模型bom,文档对象模型dom。作为插入在HTML中运行的脚本语言,它要使用<script></scri
分类: 其他 发布时间: 01-06 23:17 阅读次数: 0

thread 学习

#include <thread> #include <cstdio> #include <utility> #include <iostream> void print(int x) { printf("%d\n", x); } int main() { std::thread t1(print, 1); std::thread t2(print, 2); // 获得线程ID std::thread::id t1_id
分类: 其他 发布时间: 01-06 23:17 阅读次数: 0

laravel orm进行增删改查

https://laravelacademy.org/post/9699.html 建议用DB门面直接操作数据库,因为ORM性能低。数据查询上面,ORM不会比DB差的,就比如with,是用了sql最基本的拆语句优化。ORM的损耗仅仅是代码层面的,这已经不算是问题了。 ORM适用于一般到中等复杂度的查询,也适用于各种模型操作,比如有一个关系targets,你可以直接用targets()->delete()等等进行关系数据操作。 ORM中的软删除,自动更新时间字段,字段保护,字段类型转换,都会在一
分类: 其他 发布时间: 01-06 23:17 阅读次数: 0

安装完oh my zsh后某些命令不能使用

问题: 为了改变一下终端默认比较丑的界面,最近装了下oh My zsh这个神器,装完使用一段时间后发现确实很强大,但今天突然所有的命令都不能用(node pm2 npm redis mysql 等等),最后找到解决办法; 解决办法 1, 修改 .bash_profile 2, 进入终端,输入vim ~/.bash_profile 3, 添加下面一行export PATH=/bin:/usr/bin:/usr/local/bin:"${PATH}" 4, 保存退出vim, 5, 输入 sourc
分类: 其他 发布时间: 01-06 23:17 阅读次数: 0

类之属性查找

class Luffy: school = 'luffy' def __init__(self, name, age, sex):#self== Luffy.__init__('王二丫', '20', '女') self.Name = name self.Age = age self.Sex = sex def lear(self): print('学学学') def eat(self): print('这是数字%s' % self.Name)#下边传入一个参数123但是123
分类: 其他 发布时间: 01-06 23:17 阅读次数: 0

从阿里Java开发手册学习线程池的正确创建方法

前言 最近看阿里的 Java开发手册,上面有线程池的一个建议: 【强制】线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式, 这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。 结合最近面试的经历,发现这条建议还是十分有用的,因为自己经常使用Executors提供的工厂方法创建线程池,所以忽略了线程池内部的实现。 特别是拒绝策略,面试被问到两次,因为使用Executors创建线程池不会传入这个参数而使用默认值所以我们常常忽略
分类: 其他 发布时间: 01-06 23:17 阅读次数: 0

单片机死机,多注意异常处理

单片机有罕见的不明原因的死机,多注意异常处理入口是不是全都处理过了。
分类: 其他 发布时间: 01-06 23:17 阅读次数: 0

mysql重要sql小记

mysql -hip -uuser -p -A DB -e '[sql]' | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > /tmp/a.csv //结果导出为csv呢
分类: 其他 发布时间: 01-06 23:17 阅读次数: 0

java 分布式锁 -图解- 秒懂

目录 写在前面 1.1. 分布式锁 简介 1.1.1. 图解:公平锁和可重入锁 模型 1.1.2. 图解: zookeeper分布式锁的原理 1.1.3. 分布式锁的基本流程 1.1.4. 加锁的实现 1.1.5. 释放锁的实现 1.1.1. 分布式锁的应用场景 写在最后 疯狂创客圈 亿级流量 高并发IM 实战 系列 疯狂创客圈 Java 分布式聊天室【 亿级流量】实战系列之 -26【 博客园 总入口 】 写在前面 大家好,我是作者尼恩。目前和几个小伙伴一起,组织了一个高并发的实战社群【疯狂创
分类: 其他 发布时间: 01-06 23:17 阅读次数: 0

简述移动通信的网络制式

网络制式就是网络的类型。 GSM/CDMA GSM 和 CDMA 是两种不同的 2G 网络制式。 中国移动 和 中国联通 采用的2G网络制式为GSM,而中国电信的2G网络制式采用了CDMA。 GSM是全球移动通信系统的英文缩写(Global System For Mobile Communications),是世界上覆盖最为完善的2G网络制式,在中国 中国联通、中国移动 都有运营。较之它以前的标准最大的不同是它的信令和语音信道都是数字式的,采用蜂窝网络技术。 CDMA是码分多址的英文缩写(Co
分类: 其他 发布时间: 01-06 23:17 阅读次数: 0

python学习笔记总结(1)

一.python中的几种数据类型: 1 Number(数字) 包括int,long,float,complex 2 String(字符串) 3 List(列表) 4 Dictionary(字典) 5 Tuple(元组) 6 Bool(布尔) 包括True、False 7 Set(集合) 数字类型 int/long python3.x之后已经不区分int和float,统一用int表示。 在python2.x中,int类型是的最大值是2**31-1
分类: 其他 发布时间: 01-06 23:17 阅读次数: 0

Nginx Linux安装与部署

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,在高连接并发的情况下,Nginx是Apache服务器不错的替代品,同时占用的资源很少,并兼容unix,linux,windows平台。中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等
分类: 其他 发布时间: 01-06 23:17 阅读次数: 0

c programming create a file

1 void create_file(){ 2 char* path = malloc(sizeof(char) * BUFF); 3 char* path_0 = "/home/jia/Documents/"; 4 strcat(path, path_0); 5 char* file_name = malloc(sizeof(char) * 20); 6 printf("Please input your file name:"); 7
分类: 其他 发布时间: 01-06 23:17 阅读次数: 0

Python简单爬取景点信息

前言 网络爬虫是为了获取互联网上的海量信息数据,在互联大数据加持的背景下,对数据合理利用成为了推动互联网发展的原动力。对个人而言,可以利用爬虫工具来获取自己想要的数据信息。海量的互联网数据如何筛选到自己想要的,并且有价值的呢,这里借取python的网络爬虫模块来实现景点信息爬取,进而获取收集相关景点的信息。 背景知识 Python爬虫主要由URL管理器、URL下载器、URL解析器、数据输出部分构成。不同的爬取内容,爬取的这几个模块也不相同,特别是URL管理器以及URL解析器,它们的设计要与爬取
分类: 编程语言 发布时间: 01-06 23:17 阅读次数: 0

2019最新 高级JAVA架构师之路教程

课程目录: 01.Svn版本管理与代码上线架构方案 03.深入JVM内核—原理、诊断与优化 04.基于Netty的RPC架构实战演练 05.Git分布式版本控制系统权威指南 06.Redis从入门到精通、集群与应用 07.大数据Hadoop Storm Hive等系列教程 08.淘淘商城实战高并发分布式项目(有源码) 09.Nginx网站架构实战(web) 10.Tomcat负载均衡、调优核心应用进阶 11.架构设计之mfs分布式文件系统实战 12.FastDFS 分布式文件系统集群与应用 1
分类: 编程语言 发布时间: 01-06 23:17 阅读次数: 0

你不知道的Python(3)

今天这里会给大家介绍Python 的两个小小的坑,一不注意就会踩。 ·大家都知道在Python的字符串中, \ 一般表示转义,比如在字符串中 \n 表示换行符,\t 表示制表符等等,如果我们要输出 \ 本身的话,一般来说有两种方式: 第一种方式就是在字符串中用 \\ 表示 \ 本身 第二种方式就是用原始字符串表示,在原始字符串中 \ 没有特殊意义 但是一不小心你就会遇见如下一种情况:当你准备在字符串末尾输出一个 \ 的时候 此时我们发现第一种方式可以顺利输出,第二种方式表示却会报错。这是什么原
分类: 编程语言 发布时间: 01-06 23:17 阅读次数: 0