加载中
Java 线程的中断机制

线程中断机制提供了一种方法,用于将线程从阻塞等待中唤醒,尝试打断目标线程的现有处理流程,使之响应新的命令。Java 留给开发者这一自由,我们应当予以善用。

2017/12/09 16:28
1.7K
获取 GitHub 的 PullRequest

可以通过简单的步骤获取某仓库的 PullRequest 代码 git config --add remote.origin.fetch "+refs/pull/*/head:refs/remotes/origin/pr/*" git fetch origin pull/<id>/head git merge pull...

Java 备忘: 使用 SpringMVC+Jackson 自动处理 JSON

SpringMVC 可以将 HTTP Body 转化为特定的 Form 对象,本文实现了一种方案将读入的 JSON 里部分字段直接转化为 Jackson 库的 JsonNode 来使用的方法。 SpringMVC 里 Controller 中路由映射的...

2017/08/10 18:00
293
git 修改已提交的 commit

修改历史的操作,原理上都是通过变基(rebase)实现的。 因为发生了修改,则每个涉及的 commit 都会计算出新的 SHA-1 校验和。 不使用 --force 选项,最好**不要修改已经推送到远端的 commit!...

git
2017/08/09 19:56
1.2K
Java 固定线程数、阻塞式提交任务的 ExecutorService 线程池

Java 自带的 Executors.newFixedThreadPool() 使用 LinkedBlockingQueue 存储已提交但未处理的任务,这会导致批量处理时 ExecutorService 会短时间内存储大量的任务在队列中。 我们基于 Thre...

2017/07/13 15:40
2.3K
手动配置 OpenWrt 路由器的 DNS 服务

刚配置好 PPPoE 拨号,想 ping 一下互联网,就遇到了 DNS 问题: $ ping www.baidu.com ping: bad address 'www.baidu.com' 查看本机的 DNS 配置: $ cat /etc/resolv.conf search lan name...

Java 使用 ShutdownHook 实现平滑关闭

Java 提供名为 ShutdownHook 的钩子,能够允许你在程序正常退出前执行特定代码。一般用于清理资源、输出日志、保护当前正在执行的任务的执行。 ShutdownHook 是一个不立刻执行的 Thread,当程...

探究 C++ 中多态、虚函数、虚函数表与 this 的关系

最近因为同学的一个问题,我研究了一下 C++ 的多态性。 先讲讲什么是重载(overload)、覆写(override)和多态(polymorphism)。 重载是:同一个方法名,不同入参对应不同函数,实际是不同...

C++
2017/03/28 14:58
562
通过 User-Agent 请求头判断设备类型

接到了一个要根据不同设备(Android/iOS)跳转到不同链接的需求,然后自然地想到使用 User-Agent 来判断设备类型。 我们就随机抓取了一些,分析字符串: Mac Mozilla/5.0 (Macintosh; Intel ...

2017/03/27 16:41
1.2W
Spring ApplicationContext 的生命周期钩子探究

Spring 提供了多种方法实现 Bean 在初始化和销毁时的回调: JSR-250 标准提供了一对注解 @PostConstruct 和 @PreDestroy,用于在类中标识某方法为生命周期钩子。 实现了 InitializingBean 接...

RedisTemplate SCAN 命令的使用和注意事项

spring-data-redis 提供了 RedisTemplate 类以简化和统一对 Redis 的访问。 使用 HSCAN 命令类似于: String key = "key"; BoundHashOperations<String, String, Long> boundHashOps = redis...

Java Runnable/Callable/Future/FutureTask/ExecutorService 关系解析

首先,我们知道 Runnable 接口是无返回值可执行代码的基础接口: public interface Runnable { void run(); } 自 Java 1.8 起该接口的匿名类可以简化为: Runnable r = () -> { }; 该 ...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部