自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hi

备忘录

  • 博客(116)
  • 资源 (3)
  • 收藏
  • 关注

原创 Docker部署Rabbitmq集群及实现定时消息

背景介绍 需求:定时消息. 支持分布式,宕机后消息可恢复,消息的最终一致性. 目标: 1. 支持业务方定时消息的场景,例如“定一个明天早上8点钟的闹钟” 2. 消除重复的 ScheduledExecutorService 代码调研:开源的kafuka和rabbitmq无延迟队列,但可以通过自身特性实现。 阿里的mq 免费版支持秒级别,收费版支持毫秒级。 方案一:定时扫mysql,取出到

2017-12-11 00:29:17 1686

转载 DirectDiskUrlFilter

package com.xiongbeer.webveins.filter;import com.google.common.hash.Funnel; import com.google.common.hash.Hashing; import com.google.common.primitives.Longs; import com.google.common.primitives.Unsi

2017-07-03 00:18:58 384

原创 Docker推送到我的仓库

step1——找到本地镜像的ID:docker images step2——登陆Hub:docker login –username=username –password=你猜 step3——tag:docker tag 镜像id username/repositoryname:镜像id step4——push镜像:docker push username/repositoryname:镜像i

2017-06-06 20:12:35 2433

转载 简化git_shell命令

.git/config $ git config –global alias.co checkout –global 对所有用户生效 。 栗子: [user] name = ltfu email = [email protected] [alias] st = status co = checkout ci

2017-05-12 15:51:57 951

原创 Docker中集成bazel

环境: docker bazel

2017-05-06 13:41:56 1300

原创 vim 高亮行号配置

这么多年的vim白用了execute pathogen#infect()” line number set nu set backup set nobackup set nowb set noswapfile set helplang=cn “set list ” tab length set ts=1 set expandtab” high light search info

2017-05-05 20:39:53 629

原创 docker打包RabbitMq

1.修改docker.build文件。 docker_build( name = “syncinfo”, deployfile = “//java/com/mobvoi/be/syncinfo:syncinfo_server_deploy_tar”, dockerfile = “dockerfiles/Dockerfile.syncinfoDockerfile.syn

2017-05-02 12:19:45 1100

原创 Srpingboot集成RabbitMq

准备环境 安装Erlang,执行:brew install erlang 安装RabbitMQ Server,执行:brew install rabbitmq. RabbitMQ Server的命令会安装目录在/usr/local/sbin. 这个路径加到.bash_profile中.执行rabbitmq-plugins enable rabbitmq_management命令.开启Web管

2017-05-02 00:07:19 425

原创 idea google style配置

1.加入googleStyle.xml. (格式化文件) 2.Code Style中。keep Maximum Blank lines 改为 1 1 1 。tab size 改为2. 2.1 import layout 中将 static import 放在最前面,剩下的删掉。 imports 就会按照字母顺序排列, 2.2 wrapping and braces 中 keep when r

2017-04-26 10:08:05 2313

原创 Springboot配置Mybatis多数据源

异常:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 问题: 第一个数据源没问题, 第二个数据源mapper.xml 文件绑定不上sql。 已经明确地将不同的.xml分文件存放。我的原因是但两个Mapper.java都在同一个dao目录下,Primary数据源解析时MapperSca

2017-04-20 12:06:05 491

原创 bazel 问题集

如何导入Bazel project? 1. import Bazel project . 2. 设置bazel 目录。(如果未设置过 setting位置:idea preference ->other setting) 3. create from scratch. 4. targets 中指定你要导入的目录 例如 //java/…代表workplace目录中的java目录下所有的fil

2017-04-12 10:54:33 3738

原创 更新Python

因为要将更新后的python放到/System目录里,但 /System文件夹所有文件不能被苹果应用以外的程序修改. 所以,首先在OS X 中引入Rootless机制关闭和开启Rootless机制的方法: 关闭: 1.重启电脑, 重启过程中按住command+R, 进入恢复模式 2.打开terminal,键入: csrutil disable 3.重启电脑开启: 1.重启电脑, 重启过

2017-03-26 13:24:41 2533

原创 BloomFilter 确定合适的 k(hash函数个数) 值.

参考 : https://llimllib.github.io/bloomfilter-tutorial/假设元素的全集个数为 n, 过滤器槽为 m, 共有 k 个函数, 那么误判率为 (1-e^(-kn/m))^kk 值最优的计算公式为 (m/n)ln(2)所以, 我们可以根据如下步骤来判定布隆过滤器的初始化大小 m决定你的元素输入个数 n 的大概值为 m 选一个值通过公式计算 k 的值通

2017-03-15 14:12:22 3897

原创 爬虫

探索的问题: IP怎么绑定到一个HttpClient中? 绑定的目标实质是维持登陆状态. 更通常的做法是保持旧的cookie当IP绑定后 发生IP切换应该怎么处理?两位爬虫流程. 优缺点分析.1.抓取模块 2.解析模块 3.提取使用模块常见封爬虫策略(完善中): 1.众所周知:验证码. 2.简单的: UA和cookie. 3.非人类的访问速度. 及特征! 4.表单中添加隐藏的

2016-09-30 17:58:29 305

转载 lua math函数库

函数名 描述 示例 结果 pi 圆周率 math.pi 3.1415926535898 abs 取绝对值 math.abs(-2012) 2012 ceil 向上取整 math.ceil(9.1) 10 floor 向下取整 math.floor(9.9) 9 max 取参数最大值 math.max(2,4,6,8) 8 min 取参数最小值

2016-09-23 12:12:08 663

翻译 Json串校验

import java.text.CharacterIterator;import java.text.StringCharacterIterator;public class JsonValidator { private CharacterIterator it; private char c; private int col; public JsonValidat

2016-08-19 12:08:59 699

原创 lang3实用Utils

NumberUtils: 1. String转换为int Long double byte Bigdecimal. 2. 比较数组中max min.

2016-07-07 16:36:07 305

原创 Guava_常用

public interface LineProcessor<T> { /** * This method will be called once for each line. * @param line the line read from the input, without delimiter * **@return true to continue processing

2016-07-07 16:31:25 361

原创 Spring_Q_collect

1.IOC是什么,它有什么作用和意义? Inversion of Control,控制反转,是一种设计思想,由IoC容器控制对象的创建。传统的程序中,我们主动控制去直接获取依赖对象,这是正转,而反转就是由容器来帮忙创建及注入依赖对象,也就是说依赖对象的获取被反转了。 IoC能指导我们设计出松耦合更优良的程序,使程序的整个体系结构变得更灵活。应用程序由主动变被动,等待IoC容器创建并注

2016-03-25 22:32:24 341

原创 线程池的配置和监控

一.合理的配置线程池 要合理的配置线程池,首先得分析任务特性,可以从以下几个角度来分析: 1. 任务的性质:CPU密集型任务,IO密集型任务和混合型任务。 2. 任务的优先级:高,中和低。 3. 任务的执行时间:长,中和短。 4. 任务的依赖性:是否依赖其他系统资源,如数据库连接。 任务性质不同的任务可以用不同规模的线程池分开处理。CPU密集型任务配置尽可能小的线程,如配置Ncpu+1个

2016-03-23 19:14:55 2756

原创 linux idea14 maven 部署 tomcat. 遇到的问题

Edit Configration 后 idea下启动tomcat时报 conf/tomcat-users.xsd 没有执行权限. 进入conf目录 chmod a+r * 添加执行权限即可.tomcat 是纯java 程序. 删除Artifacts. 可以通过完全卸载idea, 再重装后找回.

2016-03-21 20:20:59 275

转载 idea在线激活 16

安装前修改时间为2099年等很多年后的时间点,安装后选择免费试用30天,然后退出idea,把时间修改回来,这样就可以成功注册了 如果之前使用过授权服务器等激活方式,不弹出试用界面,请到C:\Users\计算机用户名.IntelliJIdea15\config目录下将idea15.key文件重命名为idea15.key.bak或者使用在线激活: 注册时选择“License server”输入“ht

2016-03-21 14:10:43 12289 1

翻译 一个 Http 请求

HTTP协议 : 支撑互联网服务的基础. HTTP分成两部分,一部分是客户端浏览器的处理过程,另外一部分是服务端的处理过程。客户端和服务端的基本通讯模型非常简单,客户发一个请求,服务端接收到请求后返回一个响应结果 浏览器端 一个HTTP请求再发送到服务端之前是要经过一系列的处理,最后才能到达服务端,大致的步骤是:进行DNS查询,得到服务器的真实IP建立和服务器IP的Socket连接根

2016-03-13 19:34:27 1766

原创 单例整理

public class A { public static A getInstance() { return InstanceHolder.instance; } private static class InstanceHolder { public static A instance = new A(); }}

2016-03-05 15:11:17 293

原创 抓取中行汇率

分析从今天开始过去30天时间里,中国人民银行公布的人民币汇率中间价,得到人民币对美元、欧元、港币的汇率,形成excel文件输 出。 汇率数据找相关的数据源,自己爬数据分析。package qunar.fury;import java.io.BufferedInputStream;import java.io.File;import java.io.FileNotFoundException;

2016-01-12 16:03:22 3893

转载 统计代码有效行

一、统计一个Java文件的有效行数。 1、有效不包括空行 2、不考虑代码见有多行注释的情况import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException;

2016-01-11 03:57:52 2884

转载 deck & Priority Queue

双端队列是由动态数组实现。头文件:#include <deque>构造方法:deque<type> deq 创建一个没有任何元素的双端队列deque<type> deq(otherDeq) 用另一个类型相同双端队列初始化该双端队列deque<type> deq(size)

2015-09-10 12:13:43 332

转载 HTTPS

HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLS/SSL中使用了非对称加密,对称加密以及HASH算法。握手过程的简单描述如下: 1.浏览器将自己支持的一套加密规则发送给网站。 2.网站从中选出一组加密算法与HASH算法,并将自己

2015-09-08 10:27:33 698

转载 C++ vector总结

1 基本操作(1)头文件#include<vector>(2)创建vector对象vector<int> vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的。(5)使用迭代器访问元素.vector<int>::iterator it;for(it=vec.begin();it!=vec.end();it+

2015-09-05 12:17:32 262

原创 Android Build 属性系统

1.什么是Android属性? 属性(property)系统对Android来说是一个重要的功能。他作为一个系统服务管理着系统的配置和状态,所有的这些系统配置和状态都是属性(property)。属性(property)是一对键/值(key/value)组合,键和值都是字符串类型。总体感觉属性系统非常像Windows的注册表的功能。Androd中非常多的应用程序和库直接或者间接的依赖于属性系统,并由

2015-08-13 09:30:42 1544

转载 BlockingQueue

前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。认识BlockingQueue 阻塞队列,顾名思义,首先它是一个队列,通过一个共享的队列,

2015-08-12 17:41:34 309

原创 自定义VIEW

官方文档:http://wear.techbrood.com/reference/android/view/View.html 本文只探讨用法,不深究原理. 要解决的问题是: 如何绘制一个定制的UI? 1.定义自己的viewer抽象类(规范自定义的VIEW)public abstract class Viewer { /** * Viewer 视图的基本构造块,用于UI的定

2015-08-12 11:55:15 377

原创 四大天王原理思考小结.

Activiity 0. AMS(Activity Manager Service)系统关键服务,负责启动和调度应用程序组件, 1. 可以将不同组件的android:process属性设置为相同名称,它们将运行在同一个进程. 2. 显式启动看类名,隐式启动看组件名即可.

2015-08-11 12:18:10 450

原创 Android 内存优化总结

前人之述详细,站在巨人的丁丁上才能看的更远. 工具相关: Eclipse Memory Analyzer(MAT)是著名的跨平台集成开发环境 Eclipse Galileo 版本的 33 个组成项目中之一,它是一个功能丰富的 JAVA 堆转储文件分析工具,可以帮助你发现内存漏洞和减少内存消耗。本文主要介绍如何安装配置 Memory Analyzer,并结合一个实例,介绍如何利用 MAT 来进行堆

2015-08-10 14:42:40 348

原创 DDMS使用方法

一、准备过程 二、查看内存检查的信息 三、判断我们的程序是否有内存泄露的可能性一、准备过程 启动Eclipse,点击DDMS按钮,切换到DDMS透视图。并保证Device视图、Heap视图都打开了。将手机连接通过USB链接到电脑将手机链接到电脑,链接时需要确认手机处于“USB调试”模式。链接成功后,在DDMS的Devices视图中将会显示手机设备的序列号,以及设备正在运行的部分进程的信息。选中

2015-08-07 18:54:43 1083

原创 系统情景源代码笔记_binder机制

Binder采用C/S通信方式. 做为程序员 我们需要知道如何编写合适的Binder接口,即如何使用binder. 第一部分 原理: 图解: ->的意思是: open mmap ioctl. ioctl: 设备驱动程序中对设备的I/O通道进行管理的函数。 所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。client进程 (发送数据) ->

2015-08-07 18:37:34 431

原创 Android 自动休眠唤醒

这几天研究的内容: **一、自动休眠唤醒的实现. 二、binder机制.(广播既然能实现进程间通信,两者区别?) 三、自定义控件的使用和原理.(benwenbutantao….) 四、动画效果的实现原理.**一、自动休眠唤醒的实现. 分析: 标准Linux睡眠唤醒机制简介: 在标准Linux中,休眠主要分三个主要的步骤:(1)冻结用户态进程和内核态任务;(2)调用注册的设备的s

2015-08-05 17:49:57 6786

原创 异步加载库Android-Universal-Image-Loader(未完结)

简介: Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示。所以,如果你的程序里需要这个功能的话,那么不妨试试它。因为已经封装好了一些类和方法。我们 可以直接拿来用了。而不用重复去写了。其实,写一个这方面的程序还是比较麻烦的,要考虑多线程缓存,内存溢出等很多方面。 官网地址:https://git

2015-07-31 17:39:52 366

原创 深入理解AsyncTask

为何使用AsyncTask需遵循以下规则? AsyncTask到底是串行还是并行? 如何使AsyncTask在3.0以上的系统中并行运行为何使用AsyncTask需遵循以下规则? 1. AsyncTask的实例必须在UI thread中创建 2. execute方法必须在UI thread中调用. AsyncTask使用Handler来发送通知,采用UI线程的Looper来处理消息,

2015-07-26 23:38:43 404

原创 Read_tip_View

实际项目中View模块如何构建和开发思想. 一、ContentViewBuilder:视图构造。 1.1 单例模式 1.2 创建不同视图. 1.3 频道内存管理 菜单中的每一项都对应一个界面,为了达到更流畅的效果,可以将看过的界面尽量多的缓存在内存中,当用户再次点击某个菜单时,可以零延时的显示对应的界面,这样用户看不到任何加载过程。 其中Interger为菜单列表下标,ContentVi

2015-07-23 17:15:08 407

idea go 插件 18.7.10

idea go 插件 18年7月10号新版,idea go 插件 18年7月10号新版

2018-07-10

VC++6.0助手for win8.1

亲测可用!ZIP内有使用说明。(8.1哦!)

2015-09-05

MASM6.15包含ML.EXE

ML一下完成compile and link MASM6.15 汇编必备

2014-10-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除