Java小强个人技术博客站点    手机版
当前位置: 首页 >> Java

Java中使用NTP服务进行服务器校时

7720 Java | 2024-6-28 14:19
一、NTP 是什么?NTP 是网络时间协议(Network Time Protocol),它用来同步网络设备【如计算机、手机】的时间的协议。二、NTP 实现什么目的?目的很简单,就是为了提供准确时间。因为我们的手表、手机、电脑等设备,经常会跑着跑着时间就出现了误差,或快或慢的少几秒,时间长了甚至误差过分钟。NTP 服务器列表Windows系统上自带的两个:t......查看详细

线程安全的List之CopyOnWriteArrayList

16610 Java | 2023-6-29 9:52
ArrayList是线程不安全的,这点毋庸置疑。因为ArrayList的所有方法既没有加锁,也没有进行额外的线程安全处理。而Vector作为线程安全版的ArrayList,存在感总是比较低。因为无论是add、remove还是get方法都加上了synchronized锁,所以效率低下。无意中看到掘金中有人写了这样一遍文章(我花了两天时间没解决的问题,chatg......查看详细

SpringMVC 文件下载的两种方式

29441 Java | 2022-7-29 10:52
现如今又要写一个关于下午的业务,因此再次编写测试用例,总结了两种下载方式。首先介绍一个14年就写的文章,Http断点下载实简单讲解(http://www.javacui.com/java/98.html )基于Spring的ResponseEntity/**  * SpringMVC方式  */ @GetMapp......查看详细

Java中双重检查锁(double checked locking)

50560 Java | 2022-7-20 9:37
双重检查锁(Double-Check Locking),顾名思义,通过两次检查,并基于加锁机制,实现某个功能。在实现单例模式时,如果未考虑多线程的情况,就容易写出下面的getInstance1()错误代码:public class Singleton {     private ......查看详细

Java自定义类的加载器

29021 Java | 2022-2-14 23:19
Java程序在运行的时候,JVM通过类加载机制(ClassLoader)把class文件加载到内存中,只有class文件被载入内存,才能被其他class引用,使程序正确运行起来.Java中的ClassLoader有三种:Bootstrap ClassLoader 、Extension ClassLoader、App ClassLoader。1. Bootst......查看详细

静态代码块、构造代码块、构造方法的执行顺序

28490 Java | 2022-2-14 21:03
执行顺序是:先执行“静态代码块”,再执行“构造代码块”,最后执行“构造方法”。静态代码块是类级别的,而构造代码块和构造方法是实例级别的,因而静态代码块先执行;又因构造代码块是独立的,必须依附载体才能运行,因而构造代码块需放到构造方法前。静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块:类中直接用{}定义,每一次创建对象时执行。执行顺序......查看详细

Java之SimpleDateFormat

31320 Java | 2022-2-11 13:15
在多线程环境下,当多个线程同时使用相同的SimpleDateFormat对象(如static修饰)的话,如调用format方法时,多个线程会同时调用calender.setTime方法,导致time被别的线程修改,因此线程是不安全的。SimpleDateFormat类内部有一个Calendar对象引用,它用来储存和这个SimpleDateFormat相关的日......查看详细

Java之LinkedHashMap

22310 Java | 2022-2-11 11:20
LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变,LinkedHashMap实现与HashMap的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序可以是插入顺序或者......查看详细