`
gaojingsong
  • 浏览: 1183059 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【JVM默认时区影响因素】

阅读更多

说起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

0
1
分享到:
评论

相关推荐

    window XP系统 恢复jvm默认时区为东八区

    默认情况下,JVM会根据操作系统设置来确定时区。在Windows XP上,这个信息存储在注册表键`HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs\sun\time\zone\auto`下。如果这个键的值被修改或者丢失,JVM可能无法正确识别...

    window XP系统 恢复jvm默认时区为东八区 reg

    这边文章中说的注册表文件 " 第五步找了一台能正常设置时区windows注册表 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones],备份之,覆盖之.;

    tomcat时区jvm修改

    - **环境变量的影响**:在某些情况下,系统环境变量可能会影响JVM的时区设置。确保没有其他环境变量覆盖了`-Duser.timezone`参数。 - **测试验证**:修改后,建议进行充分的测试以验证时区设置是否正确,并检查应用...

    一次SPECjbb单JVM默认测试静态HTML结果

    一次SPECjbb单JVM默认测试静态HTML结果

    推荐一些JVM原理,JVM调优,JVM内存模型,JAVA并发 电子书1

    总的来说,JVM原理、JVM调优、JVM内存模型和JAVA并发是Java程序员和系统管理员需要深入了解的知识点,因为它们直接影响到Java程序的性能和稳定性。了解这些知识点有助于开发者编写性能更优的代码,并在生产环境中对...

    jvm源码jvm源码jvm源码

    jvm源码

    jdk,jvm源码

    Java虚拟机(JVM)是Java程序运行的核心,它负责解释和执行字节码,为Java应用程序提供了一个跨平台的运行环境。JDK(Java Development Kit)包含了开发和运行Java程序所需的所有工具,包括JVM。当我们谈论"jdk,jvm...

    jvm 启动过程 JVM 原理

    3. **准备**:在验证通过后,JVM为类的静态变量分配内存,并赋予默认初始值。这些变量存储在方法区的运行时常量池中。 4. **解析**:此时,JVM将常量池中的符号引用转换为直接引用。这个阶段不是必需的,可以在类或...

    jvm 配置jvm参数

    ### JVM参数配置详解 #### 一、理解JVM参数配置的重要性 Java Virtual Machine (JVM) 是运行Java程序的核心环境,其性能优化很大程度上依赖于正确的JVM参数配置。合理配置JVM参数不仅可以显著提升应用程序的运行...

    狂神说JVM探究.rar

    - Bootstrap ClassLoader、Extension ClassLoader和AppClassloader是默认的系统类加载器。 - 自定义类加载器可以实现特定的类加载逻辑。 8. **JVM性能监控和诊断工具**: - JVisualVM、jconsole、jmap、jstack等...

    深入解析jvm深入解析jvm

    深入解析jvm深入解析jvm深入解析jvm深入解析jvm深入解析jvm深入解析jvm

    jvm-mon基于控制台的JVM监视

    2. **GC活动追踪**:它会记录垃圾收集器的活动,如Minor GC和Major GC的触发次数、耗时,有助于理解垃圾回收对性能的影响。 3. **线程状态**:`jvm-mon`可展示当前运行的线程数量及状态,如RUNNABLE、WAITING、...

    JVM图解-JVM指令-JVM原型图.rar

    在这个压缩包中,"JVM图解.png"可能是对JVM内部结构的可视化表示,"JVM图解"可能是一个详细的文档,解释了JVM的工作原理,而"JVM指令手册 中文版"则提供了JVM可执行的所有指令的详细信息。下面,我们将深入探讨JVM的...

    jvm参数与系统性能的优化

    在 Java 虚拟机(JVM)中,参数设置对系统性能的影响是至关重要的。通过设置合适的 JVM 参数,可以提高系统性能,减少垃圾回收的频率和时间,提高应用程序的执行效率。 第一点:设置堆栈大小 在 JVM 中,堆栈大小...

    Java 6 JVM参数选项大全

    启用后,开发者可以处理特定的系统信号,但这可能会影响JVM的默认行为。 - -XX:-DisableExplicitGC: 默认不启用,禁用显式调用System.gc()。这能防止开发者或库在代码中强制执行垃圾回收,让JVM根据其内部策略自动...

    jvm 详细介绍,了解jvm各个组成部分和功能

    ### JVM 详细介绍:掌握 JVM 的各个组成部分与功能 #### 一、Java 源文件编译及执行 Java 应用程序的核心在于源文件的编译与执行。不同于 C/C++ 这类需要针对不同平台进行编译的语言,Java 采用了一种更为灵活的...

    jvm视频及笔记

    Java虚拟机(JVM)是Java程序运行的核心组件,它负责解释和执行字节码,为开发者提供了跨平台的运行环境。"jvm视频及笔记"这个资源显然是一份全面学习JVM的材料,结合了视频教程和书面笔记,帮助学习者深入理解JVM的...

    JVM

    垃圾收集策略的选择对应用性能有很大影响。 ### 调优与监控 为了提高JVM性能,开发者需要进行JVM调优,包括调整堆大小、设置垃圾收集器参数、优化类加载等。JDK提供了一些工具,如`jconsole`、`jvisualvm`和`jmap`...

    慢慢琢磨jvm 经典

    所有类、常量、变量及方法都驻留在内存中,这直接影响程序的运行状态。因此,理解JVM如何管理内存,特别是堆内存和非堆内存,以及垃圾回收机制,对提升应用程序的性能至关重要。 #### JVM的组成结构 JVM由多个关键...

    (46页完整版)JVM体系结构与GC调优.zip

    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...

Global site tag (gtag.js) - Google Analytics