定时任务是非常常见的需求,比如定期的去汇总数据,定期的清除垃圾等。
Java 提供了很多定时任务的方案,下面简单的列举一下。
more
利用 thread 的sleep
新开一个线程,死循环运行,通过 sleep 的达到定时运行的效果。
public static void main(String[] args) {
final long timeInterval = 1000;
Runnable runnable = new Runnable() {
public void run() {
while (true) {
继续阅读 »
什么是 vagrant ? Vagrant 是一个跨平台的虚拟机构建工具,能够通过 vagrantfile 描述虚拟机并将其部署到 hypervisor 上(VirtualBox, VMWare, AWS, etc)。
什么是 docker ? Docker 是一个 linux 上的 linux container 构建工具,能够通过 dockerfile 来定义一个 container ,并将其部署到任何运行 docker 的主机上。
Vagrant 和 docker 都能够通过一个配置描述文件来构造一个运行环境。
再来看 vagrant 和 docker 的一些差异:
docker其他的优势:
轻量级的隔离环境比
继续阅读 »
在前面的caffe笔记:运行手写数字识别例程一节中,我们已经运行了caffe的mnist例程,并且训练出了自己的模型,并用自己的模型对测试集进行了预测,结果还是比较理想的。本节主要阐述如何把自己的手写数字图片(28×28)送入到上一节训练得到的LeNet模型中进行预测,评估数字识别效果。
继续阅读 »
watch 定时监测
如同名字一样,watch就是监测一个命令的运行结果,省得自己不断的重复输入。
bash
watch -n 2 "nvidia-smi" 每两秒运行一次nvidia-smi
watch -n 2 -d "nvidia-smi" 同时高亮显示每次命令执行后变化的区域
继续阅读 »
xmake提供了自定义打包、安装、运行脚本,可以更加灵活的针对个人实际需求来操作xmake
这里用一个例子详细说明下,比如有个需求,我需要自动编译、安装、运行android app工程,并且能够支持jni
可以进行如下操作
首先创建个基于ant的android app工程,目录结构如下:
继续阅读 »
第一章
第一章
1.Android系统架构
~~Linux内核层->系统运行库层:底层驱动
系统运行库层->应用框架层:C/C++库,虚拟机
应用框架层->应用层: API~~
继续阅读 »
1. 写在前面
在实践 Erlang and OTP in Action 的第六章的时候,确实遇到了不少问题,后来慢慢多看了几遍书,多阅读了几次源码,特别是阅读了 application 的源码后,才慢慢理解了这章所讲的这个应用。这个总结不会很长,原本就想简单记在书上的,但想到以后也许会有一些更新,还有一些流程图的绘制需要经过多次修改,就还是放到github上来了,说实话,真挺感谢github的,让我学习和管理代码如此方便。
2. 程序运行流程
下图是整个simple_cache应用运行的流程,我们先上图,然后在后面再说说重要的地方。
下面我们再说明一下各个模块各自的职责:
sc_app: 应用行为模
继续阅读 »
更新日志
Method Swizzle(方法调配、方法混合、方法调和、方法混写) 是 Objective-C 运行时的黑魔法之一。我们可以通过 Swizzle 的手段,在运行时对某些方法的实现进行替换,这是 Objective-C 甚至说 Cocoa 开发中最为华丽,同时也是最为危险的技巧之一。Swizzle 使用了 Objective-C 的动态派发,对于 NSObject 的子类是可以直接使用的。
通过此方案,可以为那些『完全不知道其具体实现的』黑盒方法增加日志记录功能,这非常有助于程序调试。然而,次做法只在调试程序时有用。很少有人在调试程序之外的场合用上述『Method Swillze』来永久改动某个类的功能。不能仅仅因为
继续阅读 »
在octavia中,实际的loadbalancer服务是由虚拟机提供,所以在虚拟机中需要运行服务与octavia通信,接收octavia发来的操作指令,配置网卡、路由以及haproxy和keepalived软件。
实际上,虚拟机里面会运行amphora-agent进程,对外提供REST API访问,如下所示:
继续阅读 »
编译型和解释型:
1.1 编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件。
1.2 解释型语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译。
动态语言和静态语言(对应变量而言):
2.1 动态语言:一种在执行期间才去发现数据类型的语言, 动态语言是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。pythton
2.2 静态语言:即一种在编译时,数据类型是固定的语言。大多数静态类型定义语言强制这一点,它要求你在使用所有变量之前要声明它们的数据类型。C、C++、Java
强类型定义语言和
继续阅读 »