说起java中的时间,大家或许都很熟悉,朗朗上口的Date、Calendar、SimpleDateFormat等。但是大家对他们的认识真的很深刻吗?今天我要想大家说的是TimeZone,即时区。
经常有人发现时间不对,比如相差8个小时等等,其真实原因便是TimeZone.只有正确合理的运用TimeZone,才能保证系统时间无论何时都是准确的。
一、影响TimeZone的因素:
1、操作系统的时区设置,TZ环境变量设置。
2、数据传输时时区设置。
3、代码中调用TimeZone.setDefault()
4、JVM参数user.timezone,例如-Duser.timezone=
5、根据JVM参数中的user.country和java.home自动选择
第一个原因其实是根本原因,当数据在不同操作系统间流转时,就有可能因为操作系统的差异造成时间偏差,而JVM默认情况下获取的就是操作系统的时区设置。因此在项目中最好事先设置好时区,
jvm在读取linux的系统时区时:
如果存在环境变量TZ,则jvm最优先读取环境变量TZ中的内容;
如果不存在环境变量TZ,会读取/etc/sysconfig/clock文件中的ZONE内容(需要引号);
若都不存在,则读取使用/etc/localtime文件内容所对应的时区。
如果设置了-Duser.timezone,则使用指定的时区;
1、在程序中使用java的函数设定时区。
2、在启动java程序时加参数-Duser.timezone=GMT+8
附设置为东八区的配置
1、java -Duser.timezone=Asia/Shanghai
2、/etc/sysconfig/clock文件内容ZONE=”Asia/Shanghai”
3、ln -s /etc/localtime /usr/share/zoneinfo/Asia/Shanghai
4、export TZ=Asia/Shanghai
相关推荐
默认情况下,JVM会根据操作系统设置来确定时区。在Windows XP上,这个信息存储在注册表键`HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs\sun\time\zone\auto`下。如果这个键的值被修改或者丢失,JVM可能无法正确识别...
这边文章中说的注册表文件 " 第五步找了一台能正常设置时区windows注册表 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones],备份之,覆盖之.;
- **环境变量的影响**:在某些情况下,系统环境变量可能会影响JVM的时区设置。确保没有其他环境变量覆盖了`-Duser.timezone`参数。 - **测试验证**:修改后,建议进行充分的测试以验证时区设置是否正确,并检查应用...
一次SPECjbb单JVM默认测试静态HTML结果
总的来说,JVM原理、JVM调优、JVM内存模型和JAVA并发是Java程序员和系统管理员需要深入了解的知识点,因为它们直接影响到Java程序的性能和稳定性。了解这些知识点有助于开发者编写性能更优的代码,并在生产环境中对...
Java虚拟机(JVM)是Java程序运行的核心,它负责解释和执行字节码,为Java应用程序提供了一个跨平台的运行环境。JDK(Java Development Kit)包含了开发和运行Java程序所需的所有工具,包括JVM。当我们谈论"jdk,jvm...
3. **准备**:在验证通过后,JVM为类的静态变量分配内存,并赋予默认初始值。这些变量存储在方法区的运行时常量池中。 4. **解析**:此时,JVM将常量池中的符号引用转换为直接引用。这个阶段不是必需的,可以在类或...
6. **安全性**:SAP JVM通常会包含最新的安全补丁,以保护系统免受已知的Java安全漏洞的影响。管理员还需要确保定期更新SAP JVM,以保持其安全性。 7. **性能监控**:SAP JVM提供了丰富的JMX(Java Management ...
- Bootstrap ClassLoader、Extension ClassLoader和AppClassloader是默认的系统类加载器。 - 自定义类加载器可以实现特定的类加载逻辑。 8. **JVM性能监控和诊断工具**: - JVisualVM、jconsole、jmap、jstack等...
2. **GC活动追踪**:它会记录垃圾收集器的活动,如Minor GC和Major GC的触发次数、耗时,有助于理解垃圾回收对性能的影响。 3. **线程状态**:`jvm-mon`可展示当前运行的线程数量及状态,如RUNNABLE、WAITING、...
在这个压缩包中,"JVM图解.png"可能是对JVM内部结构的可视化表示,"JVM图解"可能是一个详细的文档,解释了JVM的工作原理,而"JVM指令手册 中文版"则提供了JVM可执行的所有指令的详细信息。下面,我们将深入探讨JVM的...
在 Java 虚拟机(JVM)中,参数设置对系统性能的影响是至关重要的。通过设置合适的 JVM 参数,可以提高系统性能,减少垃圾回收的频率和时间,提高应用程序的执行效率。 第一点:设置堆栈大小 在 JVM 中,堆栈大小...
启用后,开发者可以处理特定的系统信号,但这可能会影响JVM的默认行为。 - -XX:-DisableExplicitGC: 默认不启用,禁用显式调用System.gc()。这能防止开发者或库在代码中强制执行垃圾回收,让JVM根据其内部策略自动...
### JVM 详细介绍:掌握 JVM 的各个组成部分与功能 #### 一、Java 源文件编译及执行 Java 应用程序的核心在于源文件的编译与执行。不同于 C/C++ 这类需要针对不同平台进行编译的语言,Java 采用了一种更为灵活的...
Java虚拟机(JVM)是Java程序运行的核心组件,它负责解释和执行字节码,为开发者提供了跨平台的运行环境。"jvm视频及笔记"这个资源显然是一份全面学习JVM的材料,结合了视频教程和书面笔记,帮助学习者深入理解JVM的...
垃圾收集策略的选择对应用性能有很大影响。 ### 调优与监控 为了提高JVM性能,开发者需要进行JVM调优,包括调整堆大小、设置垃圾收集器参数、优化类加载等。JDK提供了一些工具,如`jconsole`、`jvisualvm`和`jmap`...
所有类、常量、变量及方法都驻留在内存中,这直接影响程序的运行状态。因此,理解JVM如何管理内存,特别是堆内存和非堆内存,以及垃圾回收机制,对提升应用程序的性能至关重要。 #### JVM的组成结构 JVM由多个关键...
46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT...
JVM(Java Virtual Machine,Java虚拟机)是运行所有Java程序的假想计算机,是Java程序的运行环境,负责执行指令、管理数据、内存、寄存器等,是实现Java跨平台特性的关键部分。JVM指令手册详细记录了JVM的所有操作...
其中,串行垃圾收集器是Jvm默认的垃圾收集器,它使用单线程来执行垃圾回收。并行垃圾收集器使用多线程来执行垃圾回收,可以加快垃圾回收的速度。 Jvm的类加载器是将我们的class文件读取到内存中,并且经历过验证、...