陈川
个人专栏

最新文章

Redis设置key过期以及删除过期key的策略

Redis有以下几个命令用于设置key的过期时间:expire <key> <seconds>:给key设置以秒为单位的过期时间pexpire <key> <milliseconds>:给key设置以毫秒为单位的过期时间expireat <key> <timestamp_in_seconds>:指定一个以秒为单位的时间戳,当到

Java Predicate接口的使用

Java 8新增了Predicate接口,它是一个函数接口,提供的test函数会接收一个参数,并返回一个bool值,我们可以用它来做过滤,检测类等功能。源码说明@FunctionalInterfacepublic interface Predicate<T> { /** * 具体过滤操作 需要被子类实现. * 用来处理参数T是否满足要求,可以理解为 条件A

Java验证公私密钥对

验证过程:创建一个足够长的随机字节数,称为challenge使用密钥签名challenge使用公钥验证challenge示例代码:KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");  //密钥生成器 keyGen.initialize(2048); Ke

[译]代码优先的Java 9模块系统教程(二)

服务监控(ServiceMonitor)让我们来想象一个提供娱乐服务的网络,可能是社交网络或者是视频网络。我们希望监控这些服务,以确定系统的健康状况,并且在发生问题时能够发现,而不是客户报告。 这就是ServiceMonitor示例程序所要做的:监视这些服务(另一个惊喜)。幸运的是,服务已经收集了我们想要的数据,ServiceMonitor所需要做的就是定期查询。 不幸的是,并

[译]代码优先的Java 9模块系统教程(一)

Java平台模块系统(JPMS)将模块化带入Java和JVM,并改变了我们在大型应用中的编程方式。 为了充分利用它,我们需要很好地了解,第一步是学习基础知识。 在本教程中,我首先向你展示一个简单的Hello World示例,然后我们用Java 9将一个现有的demo程序模块化。我们将创建模块声明(module-info。java),使用模块路径来编译,打包,以及运行程序——先代