国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC ......查看详细
一、NTP 是什么?NTP 是网络时间协议(Network Time Protocol),它用来同步网络设备【如计算机、手机】的时间的协议。二、NTP 实现什么目的?目的很简单,就是为了提供准确时间。因为我们的手表、手机、电脑等设备,经常会跑着跑着时间就出现了误差,或快或慢的少几秒,时间长了甚至误差过分钟。NTP 服务器列表Windows系统上自带的两个:t......查看详细
ArrayList是线程不安全的,这点毋庸置疑。因为ArrayList的所有方法既没有加锁,也没有进行额外的线程安全处理。而Vector作为线程安全版的ArrayList,存在感总是比较低。因为无论是add、remove还是get方法都加上了synchronized锁,所以效率低下。无意中看到掘金中有人写了这样一遍文章(我花了两天时间没解决的问题,chatg......查看详细
现如今又要写一个关于下午的业务,因此再次编写测试用例,总结了两种下载方式。首先介绍一个14年就写的文章,Http断点下载实简单讲解(http://www.javacui.com/java/98.html )基于Spring的ResponseEntity/**
* SpringMVC方式
*/
@GetMapp......查看详细
双重检查锁(Double-Check Locking),顾名思义,通过两次检查,并基于加锁机制,实现某个功能。在实现单例模式时,如果未考虑多线程的情况,就容易写出下面的getInstance1()错误代码:public class Singleton {
private ......查看详细
Java程序在运行的时候,JVM通过类加载机制(ClassLoader)把class文件加载到内存中,只有class文件被载入内存,才能被其他class引用,使程序正确运行起来.Java中的ClassLoader有三种:Bootstrap ClassLoader 、Extension ClassLoader、App ClassLoader。1. Bootst......查看详细
执行顺序是:先执行“静态代码块”,再执行“构造代码块”,最后执行“构造方法”。静态代码块是类级别的,而构造代码块和构造方法是实例级别的,因而静态代码块先执行;又因构造代码块是独立的,必须依附载体才能运行,因而构造代码块需放到构造方法前。静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块:类中直接用{}定义,每一次创建对象时执行。执行顺序......查看详细
在多线程环境下,当多个线程同时使用相同的SimpleDateFormat对象(如static修饰)的话,如调用format方法时,多个线程会同时调用calender.setTime方法,导致time被别的线程修改,因此线程是不安全的。SimpleDateFormat类内部有一个Calendar对象引用,它用来储存和这个SimpleDateFormat相关的日......查看详细
Java小强
未曾清贫难成人,不经打击老天真。
自古英雄出炼狱,从来富贵入凡尘。