LinkNemo

  • CODY

    TOTP(转载)

    名词解释和基本介绍OTP是One-TimePassword的简写,表示一次性密码。HOTP是HMAC-based One-TimePassword的简写,表示基于HMAC算法加密的一次性密码。  是事件同步,通过某一特定的事件次序及相同的种子值作为输入,通过HASH算法运算出一致的密码。TOTP是Time-based One-TimePassword的简写,表示基于时间戳算法的一次性密码。   是时间同步,基于客户端的动态口令和动态口令验证服务器的时间比对,一般每60秒产生一个新口令,要求客户端和服务器能够十分精确的保持正确的时钟,客户端和服务端基于时间计算的动态......
    2018/05/24 10:19:11发表 2534赏阅 1点评
  • Nemo

    配置Spring Boot通过@ConditionalOnProperty来控制Configuration是否生效

    Springboot中有个注解@ConditionalOnProperty,这个注解能够控制某个configuration是否生效。具体操作是通过其两个属性name以及havingValue来实现的,其中name用来从application.properties中读取某个属性值,如果该值为空,则返回false;如果值不为空,则将该值与havingValue指定的值进行比较,如果一样则返回true;否则返回false。如果返回值为false,则该configuration不生效;为true则生效@Configuration//如果synchronize在配置文件中并且值为true@Conditi......
    2018/05/15 16:11:27发表 2743赏阅 0点评
  • Nemo

    Java加密解密全解

    1sha加密:安全哈希算法(SecureHashAlgorithm)主要适用于数字签名标准(DigitalSignatureStandardDSS)里面定义的数字签名算法(DigitalSignatureAlgorithmDSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。该算法经过加密专家多年来的发展和改进已日益完善,并被广泛使用。该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。散列函数值可以......
    2018/05/14 19:14:45发表 2775赏阅 0点评
  • 随遇而安

    使用 Java 注解自动化处理对应关系实现注释代码化

    原文出处:琴水玉概述假设我们要从一个ES索引(相当于一张DB表)查询数据,ES表有order_no,order_type,state等字段,而应用对象则有属性orderNo,orderType,state等。这样,就会面临“将应用对象的属性与ES字段对应起来”的问题。固然可以通过注释来说明,不过这样显得比较生硬。因为注释并不起实际作用,代码里还得写一套映射关系,就会存在注释与代码不一致的情况。那么,是否可以将这种对应关系的注释用代码形式来解决呢?Java注解可以解决这个问题。实现定义注解首先定义注解类。注解类需要提供对应的ES字段名name、类型type以及是否必传required。@Rete......
    2018/04/16 11:24:10发表 560赏阅 0点评
  • 随遇而安

    Java日志框架:logback详解(转载)

    原文出处:五月的仓颉为什么使用logback记得前几年工作的时候,公司使用的日志框架还是log4j,大约从16年中到现在,不管是我参与的别人已经搭建好的项目还是我自己主导的项目,日志框架基本都换成了logback,总结一下,logback大约有以下的一些优点:内核重写、测试充分、初始化内存加载更小,这一切让logback性能和log4j相比有诸多倍的提升logback非常自然地直接实现了slf4j,这个严格来说算不上优点,只是这样,再理解slf4j的前提下会很容易理解logback,也同时很容易用其他日志框架替换logbacklogback有比较齐全的200多页的文档logback当配置文件修......
    2018/04/09 19:01:09发表 65赏阅 0点评
  • 随遇而安

    JDK 10 的 109 项新特性

    原文出处:开源中国虽然感觉JDK9发布才仅仅几周的时间,然而,随着新的OpenJDK的发布节奏,JDK10已经到达发布候选里程碑阶段。我看过各种关于JDK10新特性的博客,但是它们都倾向于关注通过 JEPS 定义的大方面。这篇博文,我将看看是否可以罗列出JDK10中已经发生变化的方方面面(包括新增的和剔除的)。有时候,我会做一些关于JavaSE的报告会。之前我在“JDK9的55个新特性”的报告会上曾开玩笑说:下次我将做的恐怕是“JDK10的5个新特性”。然而事实证明,即使仅有六个多月的开发时间,JDK10依然超乎想象。即便我不再为Oracle工作,我也在此先做一个“安全港声......
    2018/03/30 18:36:42发表 256赏阅 0点评
  • 随遇而安

    20 个使用 Java CompletableFuture的例子

    原文出处:鸟窝在Java中异步编程,不一定非要使用rxJava,Java本身的库中的CompletableFuture可以很好的应对大部分的场景。原文: 20ExamplesofUsingJava’sCompletableFuture,作者MahmoudAnouti。这篇文章介绍Java8的 CompletionStageAPI和它的标准库的实现 CompletableFuture。API通过例子的方式演示了它的行为,每个例子演示一到两个行为。既然CompletableFuture类实现了CompletionStage接口,首先我们需要理解这个接口的契约。它代表了......
    2018/03/28 19:14:31发表 83赏阅 0点评
  • 随遇而安

    Spring AOP 的实现机制(转载)

    原文出处:大名Dean鼎AOP(AspectOrientProgramming),一般称为面向切面编程,作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理、日志、缓存等等。AOP实现的关键在于AOP框架自动创建的AOP代理,AOP代理主要分为静态代理和动态代理,静态代理的代表为AspectJ;而动态代理则以SpringAOP为代表。静态代理是编译期实现,动态代理是运行期实现,可想而知前者拥有更好的性能。本文主要介绍SpringAOP的两种代理实现机制,JDK动态代理和CGLIB动态代理。静态代理是编译阶段生成AOP代理类,也就是说生成的字节码就织入了增强后的AOP对......
    2018/03/26 19:27:12发表 73赏阅 0点评
  • 随遇而安

    Java代码优化(转载)

    原文出处:五月的仓颉前言2016年3月修改,结合自己的工作和平时学习的体验重新谈一下为什么要进行代码优化。在修改之前,我的说法是这样的:就像鲸鱼吃虾米一样,也许吃一个两个虾米对于鲸鱼来说作用不大,但是吃的虾米多了,鲸鱼自然饱了。代码优化一样,也许一个两个的优化,对于提升代码的运行效率意义不大,但是只要处处都能注意代码优化,总体来说对于提升代码的运行效率就很有用了。这个观点,在现在看来,是要进行代码优化的一个原因,但不全对。在机械工艺发展的今天,服务器动辄8核、16核,64位CPU,代码执行效率非常高,StringBuilder替换StringBuffer、ArrayList替换Vector,对......
    2018/03/26 17:21:33发表 77赏阅 0点评
  • 随遇而安

    在 Java 8 中避免 Null 检查(转载)

    原文出处:ostatsu如何预防Java中著名的NullPointerException异常?这是每个Java初学者迟早会问到的关键问题之一。而且中级和高级程序员也在时时刻刻规避这个错误。其是迄今为止Java以及很多其他编程语言中最流行的一种错误。Null引用的发明者 TonyHoare 在2009年道歉,并称这种错误为他的十亿美元错误。我将其称之为自己的十亿美元错误。它的发明是在1965年,那时我用一个面向对象语言(ALGOLW)设计了第一个全面的引用类型系统。我的目的是确保所有引用的使用都是绝对安全的,编译器会自动进行检查。但是我未能抵御住诱惑,加入了Null引用,仅仅......
    2018/03/26 17:11:57发表 62赏阅 0点评
  • 随遇而安

    使用Java函数接口及lambda表达式隔离和模拟外部依赖方便单元测试(转载)

    原文出处:琴水玉概述单测是提升软件质量的有力手段。然而,由于编程语言上的支持不力,以及一些不好的编程习惯,导致编写单测很困难。最容易理解最容易编写的单测,莫过于独立函数的单测。所谓独立函数,就是只依赖于传入的参数,不修改任何外部状态的函数。指定输入,就能确定地输出相应的结果。运行任意次,都是一样的。在函数式编程中,有一个特别的术语:“引用透明性”,也就是说,可以使用函数的返回值彻底地替代函数调用本身。独立函数常见于工具类及工具方法。不过,现实常常没有这么美好。应用要读取外部配置,要依赖外部服务获取数据进行处理等,导致应用似乎无法单纯地“通过固定输入得到固定输出”。实际上,有两种方法可以尽可能隔......
    2018/03/08 18:14:21发表 79赏阅 0点评
  • Nemo

    EmojiFilter

    /***emoji过滤器*@param*/classEmojiFilter<T>{/***传入一个bean,将其下的所有java.lang.String类型的列中含有的emoji全部去除*@paramobj*@return*/privateTfilter(Tobj){Field[]fields=obj.getClass().getDeclaredFields();for(Fieldfield:fields){field.setAccessible(true);try{Objectvalue=field.get(obj);if(valueinstanceofjava.lang.Str......
    2018/03/05 17:23:16发表 96赏阅 0点评
  • CODY

    根据手机号码查询归属

    方式一:使用google手机号码校验库libphonenumber依赖<dependency>   <groupId>com.googlecode.libphonenumber</groupId>   <artifactId>geocoder</artifactId>   <version>2.82</version></dependency><dependency>  &nbs......
    2018/02/08 11:47:53发表 237赏阅 1点评
  • Nemo

    java:字符串相关操作工具类StringUtils

    importjava.io.IOException;importjava.io.PrintWriter;importjava.io.StringWriter;importjava.io.UnsupportedEncodingException;importjava.lang.reflect.Method;importjava.net.URLDecoder;importjava.net.URLEncoder;importjava.util.*;importjava.util.concurrent.ConcurrentHashMap;importjava.util.regex.Matcher;im......
    2018/02/07 19:28:43发表 233赏阅 0点评
  • Nemo

    java:序列化/反序列化工具SerializeUtils

    importcom.fasterxml.jackson.databind.ObjectMapper;importcom.thoughtworks.xstream.XStream;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importpers.adam.framework.bean.User;importjava.beans.XMLDecoder;importjava.beans.XMLEncoder;importjava.io.*;/***序列化/反序列化工具*CreatedbyNemoon2017/11/2.*/publiccl......
    2018/02/07 19:27:17发表 208赏阅 0点评
  • Nemo

    java : FtpUtils

    importorg.apache.commons.net.ftp.FTPClient;importorg.apache.commons.net.ftp.FTPReply;importjava.io.IOException;importjava.io.InputStream;/***CreatedbyNemoon2017/8/2.*/publicclassFtpUtils{privateFTPClientftp=null;publicbooleanuploadFile(Stringurl,intport,Stringusername,Stringpassword,Stringpath,Strin......
    2018/02/07 19:24:38发表 110赏阅 0点评

最新点击

热门人物

热门标签

回到顶部