前一段时间使用 Server 端 Git Hooks 的时候,需要获取 Git 提交的信息,这里对如何获取 Git 传递的参数 进行简单记录总结。
git 通过传递参数
或者 标准输入流
的形式传递提交的信息。
前一段时间使用 Server 端 Git Hooks 的时候,需要获取 Git 提交的信息,这里对如何获取 Git 传递的参数 进行简单记录总结。
git 通过传递参数
或者 标准输入流
的形式传递提交的信息。
JMX(Java Management Extensions) 是 Java管理扩展,MBean(Managed Beans) 是 被管理的Beans。
一个MBean是一个被管理的Java对象,有点类似于JavaBean,一个设备、一个应用或者任何资源都可以被表示为MBean,MBean会对外暴露一个接口,这个接口可以读取或者写入一些对象中的属性。
JDK7提供了一系列的API用来监控文件目录的变化,该API提供了一种监视机制,可以针对事件(如创建、修改和删除)监视特定文件或目录的状态。
但是该API并不保证监视事件是采用推送模型,大部分情况下会使用轮询机制。监视服务也依赖于系统,所以无法利用这种服务构建真正可移植的应用。
因为 WatchService 本身并不支持递归 Watch,Watch一个文件夹只能Watch一层,子文件夹里面变动并不能Watch到,所有这里使用 FileVisitor 遍历所有目录注册 Watch。
文本在Mac下测试,如果监控/
根目录的话(包含可访问的所有子目录),遍历完成大概花了5分钟左右,因为是采用轮训的方式,监控效率并不高,创建一个文件半天看不到效果。
代码调试最简单的办法就是输出日志的方式,但是如果代码发布在远程机器上,通过输出日志的方式可能不太高效,需要频繁的发布代码。本文会通过简单的配置实现远程代码断点调试。
JPDA(Java Platform Debugger Architecture)是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试应用程序。
最近在用 CleanMyMac 的时候把一些系统文件给删掉了,主要还是用 Windows 上的软件管理工具用习惯了,卸载软件有了洁癖。
CleanMyMac 是收费,我就只通过它找到软件关联的文件,不小心把 /etc/pam.d/
文件夹给删了(没真正删除,放进回收站了),结果系统登陆不进去,提示密码输入错误,这里记录了恢复的过程。
Spring提供了可扩展Schema的支持,一般情况下,扩展Spring标签的意义并不大,但是对第三方工具来说,开发自己的标签供开发人员使用还是很有必要的。
首先就是有了语义,再者配置起来也相对方便,会减少一定的配置项。
常见的 Spring 的事物管理(tx:
)、AOP(aop:
),还有淘宝的 Dubbo(dubbo:
) 都有自己的标签库。
MySQL Connector/MXJ 是一个可以通过 Java API 启动或者关闭嵌入式MySQL的工具。
可以通过 MySQL JDBC driver 连接,通过 JDBC url 或者 使用MysqldResource
编程的方式 控制MySQL 服务。
如果需要测试SQL对MySQL语法或者特性依赖性比较强,可以尝试使用该方式进行测试,并不建议使用在生产环境中。
JDK7 遍历文件系统,需要通过递归的方式,JDK7+ 直接提供了遍历文件的API。1
2
3public static Path walkFileTree(Path start, FileVisitor<? super Path> visitor){}
public static Path walkFileTree(Path start, Set<FileVisitOption> options, int maxDepth, FileVisitor<? super Path> visitor){}
阻塞/非阻塞
:关键词 循环
、检查
,用于描述 程序在等待调用结果(消息,返回值)时的状态同步/异步
:关键词 通知
,用于描述 程序在调用之后是否为立即响应,然后接收任务完成后的通知并发/并行
:关键词时间
、时刻
,用于描述 多个程序是否会在同一时刻执行1 |
|
输出
开始执行
超时了
over !!!!!
超时时间设置为3秒1
2
3……
String result = future.get(3, TimeUnit.SECONDS); // 阻塞直到执行完成,设置超时间
……
输出
开始执行
执行完成
over !!!!!
通过文本绘制简单的SVG流程图
Draws simple SVG flow chart diagrams from textual representation of the diagram
curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。做网页处理流程和数据检索自动化,curl可以祝一臂之力。
base64 一般会默认安装,可以进行 base64 编码和解码。
jq 可以对json进行解析、选择、格式化、高亮等,需要通过 apt-get install jq
进行安装。