Alibaba Dragonwell8 JDK

Overview

Dragonwell Logo

Alibaba Dragonwell8 User Guide

Alibaba Dragonwell8 Release Notes

Introduction

Over the years, Java has proliferated in Alibaba. Many applications are written in Java and many our Java developers have written more than one billion lines of Java code.

Alibaba Dragonwell, as a downstream version of OpenJDK, is the in-house OpenJDK implementation at Alibaba optimized for online e-commerce, financial, logistics applications running on 100,000+ servers. Alibaba Dragonwell is the engine that runs these distributed Java applications in extreme scaling.

The current release supports Linux/x86_64 platform only.

Alibaba Dragonwell is clearly a "friendly fork" under the same licensing terms as the upstream OpenJDK project. Alibaba is committed to collaborate closely with OpenJDK community and intends to bring as many customized features as possible from Alibaba Dragonwell to the upstream.

Using Alibaba Dragonwell

Alibaba Dragonwell JDK currently supports Linux/x86_64 platform only.

Installation

Option 1, Download and install pre-built Alibaba Dragonwell
Option 2, Install via YUM

Alibaba Dragonwell is officially supported and maintained in Alibaba Cloud Linux 2 (Aliyun Linux 2) YUM repository, and this repo should be also compatible with Aliyun Linux 17.1, Red Hat Enterprise Linux 7 and CentOS 7.

  • For users running Alibaba Cloud Linux 2 OS, you should be able to install Alibaba Dragonwell by simply running: sudo yum install -y java-1.8.0-alibaba-dragonwell;
  • For users running with aforementioned compatible distros, place a new repository file under /etc/yum.repos.d (e.g.: /etc/repos.d/alinux-plus.repo) with contents as follows, then you should be able to install Alibaba Dragonwell by executing: sudo yum install -y java-1.8.0-alibaba-dragonwell:
# plus packages provided by Aliyun Linux dev team
[plus]
name=AliYun-2.1903 - Plus - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/alinux/2.1903/plus/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/alinux/RPM-GPG-KEY-ALIYUN

Enable Alibaba Dragonwell for Java applications

To enable Alibaba Dragonwell JDK for your application, simply set JAVA_HOME to point to the installation directory of Alibaba Dragonwell. If you installed Dragonwell JDK via YUM, follow the instructions prompted from post-install outputs, e.g.:

=======================================================================
Alibaba Dragonwell is installed to:
    /opt/alibaba/java-1.8.0-alibaba-dragonwell-8.0.0.212.b04-1.al7
You can set Alibaba Dragonwell as default JDK by exporting the
following ENV VARs:
$ export JAVA_HOME=/opt/alibaba/java-1.8.0-alibaba-dragonwell-8.0.0.212.b04-1.al7
$ export PATH=${JAVA_HOME}/bin:$PATH
=======================================================================

Acknowledgement

Special thanks to those who have made contributions to Alibaba's internal JDK builds.

Publications

Technologies included in Alibaba Dragonwell have been published in following papers

Comments
  • [Bug] 使用协程,系统稳定运行8个小时后,kafka发生 invalid generation:[commit=265,broker=266(error=0)]异常,不再消费消息,同时Redis不时发生连接超时

    [Bug] 使用协程,系统稳定运行8个小时后,kafka发生 invalid generation:[commit=265,broker=266(error=0)]异常,不再消费消息,同时Redis不时发生连接超时

    Description 使用8.6.6版本,线上灰度使用协程,系统稳定运行8个小时后,kafka发生 invalid generation:[commit=265,broker=266(error=0)]异常,不再消费消息,同时Redis发生连接超时,现象仅发生在dragonwell灰度实例。

    JVM参数: JVM_GC=" -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:InitiatingHeapOccupancyPercent=40 -XX:MaxGCPauseMillis=100 -XX:+TieredCompilation -XX:CICompilerCount=4 -XX:-UseBiasedLocking -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintStringTableStatistics -XX:+PrintAdaptiveSizePolicy -XX:+PrintGCApplicationStoppedTime -XX:+PrintFlagsFinal -XX:-UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M -XX:+UnlockExperimentalVMOptions -XX:+UseWisp2 -Dio.netty.transport.noNative=true -Dio.netty.noUnsafe=true"

    bug 
    opened by lykxqhh 15
  • one billion lines of Java code

    one billion lines of Java code

    Description In the readme:

    many our Java developers have written more than one billion lines of Java code.

    Is this possible? Does it have anything to do with this project?

    opened by foldl 12
  • [Bug] A possible bug found in JVM differential testing

    [Bug] A possible bug found in JVM differential testing

    Description We made some changes to a class file in the Apache Ant project(ant-launcher/org/apache/tools/ant/launch/Launcher.class), and let several JVMs run it. We found that compared to other JVMs, dragonwell8 behaves strangely. It might be a bug in dragonwell8.

    Steps to Reproduce Steps to reproduce the behavior:

    1. extract the ant.zip
    2. In ant directory, run command java -cp ant-launcher/ org.apache.tools.ant.launch.Launcher compile jar run

    Expected behavior dragonwell8 can run it successfully while other JVMs can not. | openjdk8 | openjdk9 | j9 | dragonwell8 | dragonwell11 | | ----------- | ---------------- | ---------------- | -------------------- | ---------------- | | Crash | ClassFormatError | ClassFormatError | Run Successfully | ClassFormatError |

    JDK version

    $ java -version
    openjdk version "1.8.0_232"
    OpenJDK Runtime Environment (Alibaba Dragonwell 8.2.2-b82) (build 1.8.0_232-b09)
    OpenJDK 64-Bit Server VM (Alibaba Dragonwell 8.2.2-b82) (build 25.232-b09, mixed mode)
    

    Execution environment

    • OS and version: Ubuntu 16.04.6 LTS
    • CPU model: Intel(R) Xeon(R) CPU E5-4610 v4 @ 1.80GHz
    • Number of CPU cores: 4CPUs, each has 10 cores
    • Size of physical memory: 16384 MB * 20
    • Inside Linux container? No
    opened by Instein98 11
  • 编译问题

    编译问题

    /home/sc-ik/Downloads/dragonwell8/hotspot/src/share/vm/gc_implementation/g1/elasticHeap.cpp: In static member function ‘static bool ElasticHeapTimer::has_error(Thread*, const char*)’: /home/sc-ik/Downloads/dragonwell8/hotspot/src/share/vm/gc_implementation/g1/elasticHeap.cpp:293:24: error: format not a string literal and no format arguments [-Werror=format-security] tty->print_cr(error); ^ cc1plus: all warnings being treated as errors make[6]: *** [elasticHeap.o] Error 1 make[5]: *** [the_vm] Error 2 make[4]: *** [debug] Error 2 make[3]: *** [generic_build2] Error 2 make[2]: *** [debug] Error 2 make[1]: *** [/home/sc-ik/Downloads/dragonwell8/build/linux-x86_64-normal-server-slowdebug/hotspot/_hotspot.timestamp] Error 2

    opened by ghost 9
  • [Misc] Add Mozilla cacerts

    [Misc] Add Mozilla cacerts

    Summary: Add mozilla cacerts

    Test Plan: Covered by Mozilla Network Security Service

    Reviewed-by: D-D-H, luchsh

    Issue: https://github.com/alibaba/dragonwell8/issues/29

    opened by yfxhust 8
  • [Incompatible]使用Alibaba Dragonwell,Activiti流程图不能显示中文(宋体)

    [Incompatible]使用Alibaba Dragonwell,Activiti流程图不能显示中文(宋体)

    Description 使用Alibaba Dragonwell作为jvm环境,Activiti流程图不能显示中文(宋体)。 image

    Steps to Reproduce 本人进入docker容器后发现Dragonwell中删除了fonts文件夹等对字体支持的部分,请问Dragonwell是否在主程序中保留Openjdk的font.manager的支持,若不支持能否推荐一些关于字体正确显示的办法。

    Expected behavior 希望能够支持中文字体

    JDK version Dragonwell8

    Execution environment

    • centos7
    • docker-ci 19.03
    opened by cszyx666 7
  • [Bug] crash:Node_Backward_Iterator::next()

    [Bug] crash:Node_Backward_Iterator::next()

    Description A clear and concise description of what the bug is.

    #
    # A fatal error has been detected by the Java Runtime Environment:
    #
    #  SIGSEGV (0xb) at pc=0x00007f92e7fc545a, pid=1023799, tid=0x00007f90b4d9c700
    #
    # JRE version: OpenJDK Runtime Environment (8.0_202-b30) (build 1.8.0_202-b30)
    # Java VM: OpenJDK 64-Bit Server VM (25.202-b30 mixed mode linux-amd64 compressed oops)
    # Problematic frame:
    # V  [libjvm.so+0x5da45a]  Node_Backward_Iterator::next()+0x10a
    #
    # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
    #
    

    Steps to Reproduce Steps to reproduce the behavior:

    1. Save below snippet '...'
    2. Compile it with javac '....'
    3. Execute with VM options '....'
    4. See error

    Expected behavior A clear and concise description of what you expected to happen.

    JDK version The output of java -version command

    Execution environment

    • OS and version:
    • CPU model:
    • Number of CPU cores:
    • Size of physical memory:
    • Inside Linux container?
      • Linux container name (docker, pouch, etc):
      • Linux container version:
    opened by yansendao 7
  • [Bug] crash:AddNode::Ideal(PhaseGVN*, bool)

    [Bug] crash:AddNode::Ideal(PhaseGVN*, bool)

    Description A clear and concise description of what the bug is.

    # A fatal error has been detected by the Java Runtime Environment:
    #
    #  SIGSEGV (0xb) at pc=0x00007fba9132e4ff, pid=1023671, tid=0x00007fb85dd64700
    #
    # JRE version: OpenJDK Runtime Environment (8.0_202-b30) (build 1.8.0_202-b30)
    # Java VM: OpenJDK 64-Bit Server VM (25.202-b30 mixed mode linux-amd64 compressed oops)
    # Problematic frame:
    # V  [libjvm.so+0x2bf4ff]  AddNode::Ideal(PhaseGVN*, bool)+0x1af
    #
    # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
    #
    

    Steps to Reproduce Steps to reproduce the behavior:

    1. Save below snippet '...'
    2. Compile it with javac '....'
    3. Execute with VM options '....'
    4. See error

    Expected behavior A clear and concise description of what you expected to happen.

    JDK version The output of java -version command

    $ ./j2sdk-image/bin/java -version ; ./j2sdk-image/bin/java -Xinternalversion
    openjdk version "1.8.0_202"
    OpenJDK Runtime Environment (Dragonwell 8.0-preview) (build 1.8.0_202-b30)
    OpenJDK 64-Bit Server VM (Dragonwell 8.0-preview) (build 25.202-b30, mixed mode)
    OpenJDK 64-Bit Server VM (25.202-b30) for linux-amd64 JRE (1.8.0_202-b30), built on Mar 20 2019 18:29:49 by "admin" with gcc 4.4.7
    

    Execution environment

    • OS and version:
    • CPU model:
    • Number of CPU cores:
    • Size of physical memory:
    • Inside Linux container?
      • Linux container name (docker, pouch, etc):
      • Linux container version:
    $ cat /etc/issue ; uname -a ; lscpu ; nproc ; free -h
    Ubuntu 16.04 LTS \n \l
    
    Linux mathine-ysd 4.4.0-104-generic #127-Ubuntu SMP Mon Dec 11 12:16:42 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
    Architecture:          x86_64
    CPU op-mode(s):        32-bit, 64-bit
    Byte Order:            Little Endian
    CPU(s):                144
    On-line CPU(s) list:   0-143
    Thread(s) per core:    2
    Core(s) per socket:    18
    Socket(s):             4
    NUMA node(s):          4
    Vendor ID:             GenuineIntel
    CPU family:            6
    Model:                 63
    Model name:            Intel(R) Xeon(R) CPU E7-8890 v3 @ 2.50GHz
    Stepping:              4
    CPU MHz:               2499.902
    CPU max MHz:           3300.0000
    CPU min MHz:           1200.0000
    BogoMIPS:              4990.09
    Virtualization:        VT-x
    L1d cache:             32K
    L1i cache:             32K
    L2 cache:              256K
    L3 cache:              46080K
    NUMA node0 CPU(s):     0-17,72-89
    NUMA node1 CPU(s):     18-35,90-107
    NUMA node2 CPU(s):     36-53,108-125
    NUMA node3 CPU(s):     54-71,126-143
    Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm xsaveopt cqm_llc cqm_occup_llc dtherm arat pln pts
    144
                  total        used        free      shared  buff/cache   available
    Mem:           503G        8.3G        288G        1.0G        207G        492G
    Swap:           19G        369M         18G
    
    opened by yansendao 7
  • [Bug] crash:PhaseIdealLoop::build_loop_late_post

    [Bug] crash:PhaseIdealLoop::build_loop_late_post

    Description A clear and concise description of what the bug is.

    # A fatal error has been detected by the Java Runtime Environment:
    #
    #  SIGSEGV (0xb) at pc=0x00007f4476005d20, pid=1021976, tid=0x00007f4242cec700
    #
    # JRE version: OpenJDK Runtime Environment (8.0_202-b30) (build 1.8.0_202-b30)
    # Java VM: OpenJDK 64-Bit Server VM (25.202-b30 mixed mode linux-amd64 compressed oops)
    # Problematic frame:
    # V  [libjvm.so+0x83cd20]  PhaseIdealLoop::build_loop_late_post(Node*)+0x130
    #
    # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
    #
    # If you would like to submit a bug report, please visit:
    #   http://bugreport.java.com/bugreport/crash.jsp
    #
    

    Steps to Reproduce Steps to reproduce the behavior:

    1. Save below snippet '...'
    2. Compile it with javac '....'
    3. Execute with VM options '....'
    4. See error

    Expected behavior A clear and concise description of what you expected to happen.

    JDK version The output of java -version command

    $ ./j2sdk-image/bin/java -version ; ./j2sdk-image/bin/java -Xinternalversion
    openjdk version "1.8.0_202"
    OpenJDK Runtime Environment (Dragonwell 8.0-preview) (build 1.8.0_202-b30)
    OpenJDK 64-Bit Server VM (Dragonwell 8.0-preview) (build 25.202-b30, mixed mode)
    OpenJDK 64-Bit Server VM (25.202-b30) for linux-amd64 JRE (1.8.0_202-b30), built on Mar 20 2019 18:29:49 by "admin" with gcc 4.4.7
    

    Execution environment

    • OS and version:
    • CPU model:
    • Number of CPU cores:
    • Size of physical memory:
    • Inside Linux container?
      • Linux container name (docker, pouch, etc):
      • Linux container version:
    $ cat /etc/issue ; uname -a ; lscpu ; nproc ; free -h
    Ubuntu 16.04 LTS \n \l
    
    Linux mathine-ysd 4.4.0-104-generic #127-Ubuntu SMP Mon Dec 11 12:16:42 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
    Architecture:          x86_64
    CPU op-mode(s):        32-bit, 64-bit
    Byte Order:            Little Endian
    CPU(s):                144
    On-line CPU(s) list:   0-143
    Thread(s) per core:    2
    Core(s) per socket:    18
    Socket(s):             4
    NUMA node(s):          4
    Vendor ID:             GenuineIntel
    CPU family:            6
    Model:                 63
    Model name:            Intel(R) Xeon(R) CPU E7-8890 v3 @ 2.50GHz
    Stepping:              4
    CPU MHz:               2499.902
    CPU max MHz:           3300.0000
    CPU min MHz:           1200.0000
    BogoMIPS:              4990.09
    Virtualization:        VT-x
    L1d cache:             32K
    L1i cache:             32K
    L2 cache:              256K
    L3 cache:              46080K
    NUMA node0 CPU(s):     0-17,72-89
    NUMA node1 CPU(s):     18-35,90-107
    NUMA node2 CPU(s):     36-53,108-125
    NUMA node3 CPU(s):     54-71,126-143
    Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm xsaveopt cqm_llc cqm_occup_llc dtherm arat pln pts
    144
                  total        used        free      shared  buff/cache   available
    Mem:           503G        8.3G        288G        1.0G        207G        492G
    Swap:           19G        369M         18G
    
    opened by yansendao 7
  • 运行了一段时间时间应用直接挂掉

    运行了一段时间时间应用直接挂掉

    A fatal error has been detected by the Java Runtime Environment:

    SIGSEGV (0xb) at pc=0x00007fdf31f2749f, pid=61205, tid=0x00007fdea5d56700

    JRE version: OpenJDK Runtime Environment (8.0_275) (build 1.8.0_275-_2020_12_15_09_29-b00)

    Java VM: OpenJDK 64-Bit Server VM (25.275-b00 mixed mode linux-amd64 compressed oops)

    Problematic frame:

    V [libjvm.so+0x6bf49f] java_lang_Thread::get_thread_status(oopDesc*)+0xf

    hs_err_pid65.log 目前使用到版本:Alibaba_Dragonwell_8.5.5-GA_Linux_x64

    bug 
    opened by clivhua 6
  • [Merge] Merge OpenJDK 8u262-ga

    [Merge] Merge OpenJDK 8u262-ga

    Description This task is for merging openjdk8u262-ga Main actions:

    1. reverted the old JFR implementation in Dragonwell
    2. merged openjdk8u262-ga, there were only a few conflicts and all of them could be resolved clearly
      • https://mail.openjdk.java.net/pipermail/jdk8u-dev/2020-July/012143.html
    3. fixed hotspot & JDK test failures, see
      • https://github.com/alibaba/dragonwell8_hotspot/pull/36/commits/7dee1fe51a9f32d4d5a4868fddddacad01302214
      • https://github.com/alibaba/dragonwell8_jdk/pull/16/commits/45776c14c10651acb947f9b20995ba8afb8c131a
    4. fixed build failure on Windows
      • https://github.com/alibaba/dragonwell8/pull/109/commits/67b61c6e0e56758267478e5986d3abb7fc762088

    Steps to Reproduce

    Expected behavior

    JDK version

    Execution environment

    • OS and version:
    • CPU model:
    • Number of CPU cores:
    • Size of physical memory:
    • Inside Linux container?
      • Linux container name (docker, pouch, etc):
      • Linux container version:
    enhancement 
    opened by D-D-H 6
  • [Bug] 无法加载经过混淆后的jar

    [Bug] 无法加载经过混淆后的jar

    [17:50:08] [Server thread/INFO]: [MyPet] Enabling MyPet v1.0 [17:50:08] [Server thread/ERROR]: Error occurred while enabling MyPet v1.0 (Is it up to date?) java.lang.InternalError: Malformed class name at java.lang.Class.getSimpleName(Class.java:1330) ~[?:1.8.0_352] at java.lang.Class.isAnonymousClass(Class.java:1411) ~[?:1.8.0_352] at co.aikar.timings.SpigotTimings.getPluginTaskTimings(SpigotTimings.java:58) ~[%5b2%5dPaperSpigot-1.8.8.jar:git-PaperSpigot-445] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.(CraftTask.java:42) ~[%5b2%5dPaperSpigot-1.8.8.jar:git-PaperSpigot-445] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:135) ~[%5b2%5dPaperSpigot-1.8.8.jar:git-PaperSpigot-445] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.scheduleSyncRepeatingTask(CraftScheduler.java:122) ~[%5b2%5dPaperSpigot-1.8.8.jar:git-PaperSpigot-445] at cn.mypet.MyPet.onEnable(p:59) ~[?:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[%5b2%5dPaperSpigot-1.8.8.jar:git-PaperSpigot-445] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [%5b2%5dPaperSpigot-1.8.8.jar:git-PaperSpigot-445] at top.iseason.bukkit.model.PLoader.enablePlugin(PLoader.java:134) [%5B插件指定限制%5DPluginLimiter.jar:?] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:407) [%5b2%5dPaperSpigot-1.8.8.jar:git-PaperSpigot-445] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:359) [%5b2%5dPaperSpigot-1.8.8.jar:git-PaperSpigot-445] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:318) [%5b2%5dPaperSpigot-1.8.8.jar:git-PaperSpigot-445] at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:408) [%5b2%5dPaperSpigot-1.8.8.jar:git-PaperSpigot-445] at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:372) [%5b2%5dPaperSpigot-1.8.8.jar:git-PaperSpigot-445] at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:327) [%5b2%5dPaperSpigot-1.8.8.jar:git-PaperSpigot-445] at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:267) [%5b2%5dPaperSpigot-1.8.8.jar:git-PaperSpigot-445] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:563) [%5b2%5dPaperSpigot-1.8.8.jar:git-PaperSpigot-445] at java.lang.Thread.run(Thread.java:855) [?:1.8.0_352]

    opened by 3328429240 0
  • [Wisp] Fix initialization problem between JavaNetSocketAccess and its usage

    [Wisp] Fix initialization problem between JavaNetSocketAccess and its usage

    Summary: JavaNetSocketAccess is used in WispServerSocketImpl.java, but the former one's initialization is in Socket.java. This underlying problem shall be fixed.

    Test Plan: ServerSocketConnectionTest.java

    Reviewed-by: D-D-H, yuleil

    Issue: #437

    opened by zhengxiaolinX 0
  • [Bug] G1ElasticHeap 不支持使用 MaxRAMPercentage 类参数指定堆

    [Bug] G1ElasticHeap 不支持使用 MaxRAMPercentage 类参数指定堆

    Description 在容器中使用如下参数会报错 -XX:+UseG1GC -XX:+G1ElasticHeap -XX:InitialRAMPercentage=50.0 -XX:MinRAMPercentage=50.0 -XX:MaxRAMPercentage=50.0 报错如下 G1ElasticHeap requires Xms:0 bytes same to Xmx: 130862280 bytesError: Could not create the Java Virtual Machine. 从u191开始jdk8已经支持在容器中按照百分比分配堆大小,G1ElasticHeap当前不支持该功能

    Steps to Reproduce Steps to reproduce the behavior: 1、docker容器中指定堆大小使用百分比模式-XX:InitialRAMPercentage=50.0 -XX:MinRAMPercentage=50.0 -XX:MaxRAMPercentage=50.0 2、开启G1ElasticHeap 3、启动进程就报错

    Expected behavior 希望G1ElasticHeap可以支持堆百分比的模式

    JDK version openjdk version "1.8.0_352" OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition 8.13.14) (build 1.8.0_352-b01) OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition 8.13.14) (build 25.352-b01, mixed mode)

    Execution environment

    • OS and version: alinux3
    • CPU model:
    • Number of CPU cores: 1
    • Size of physical memory: 4g
    • Inside Linux container?
      • Linux container name (docker, pouch, etc): docker 阿里云ack
      • Linux container version:
    opened by xxf0925 0
Releases(dragonwell-extended-8.13.14_jdk8u352-ga)
Owner
Alibaba
Alibaba Open Source
Alibaba
Spring Cloud Alibaba provides a one-stop solution for application development for the distributed solutions of Alibaba middleware.

Spring Cloud Alibaba A project maintained by Alibaba. See the 中文文档 for Chinese readme. Spring Cloud Alibaba provides a one-stop solution for distribut

Alibaba 24.4k Jan 1, 2023
mall-swarm是一套微服务商城系统,采用了 Spring Cloud Hoxton & Alibaba、Spring Boot 2.3、Oauth2、MyBatis、Docker、Elasticsearch、Kubernetes等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。文档齐全,附带全套Spring Cloud教程。

mall-swarm 友情提示 快速体验项目:在线访问地址。 全套学习教程:《mall学习教程》。 Spring Cloud全套教程:《SpringCloud学习教程》。 专属学习路线:学习不走弯路,整理了套非常不错的《mall专属学习路线》。 项目交流:想要加群交流项目的朋友,可以加入mall项目

macro 9.7k Jan 3, 2023
芋道 mall 商城,基于微服务的思想,构建在 B2C 电商场景下的项目实战。核心技术栈,是 Spring Boot + Dubbo 。未来,会重构成 Spring Cloud Alibaba 。

[toc] 友情提示:近期在升级和优化该项目,建议先 Star 本项目。主要在做几个事情: 1、微服务技术选型以 Spring Cloud Alibaba 为中心。 2、修改项目分层,并合并部分服务,简化整体服务的复杂性。 3、将管理后台从 React 重构到 Vue 框架。 交流群:传送门 前言

芋道源码 7k Jan 6, 2023
循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Batch、Spring Cloud、Spring Cloud Alibaba、Spring Security & Spring Security OAuth2,博客Spring系列源码:https://mrbird.cc

Spring 系列教程 该仓库为个人博客https://mrbird.cc中Spring系列源码,包含Spring Boot、Spring Boot & Shiro、Spring Cloud,Spring Boot & Spring Security & Spring Security OAuth2

mrbird 24.8k Jan 6, 2023
一个涵盖六个专栏:Spring Boot 2.X、Spring Cloud、Spring Cloud Alibaba、Dubbo、分布式消息队列、分布式事务的仓库。希望胖友小手一抖,右上角来个 Star,感恩 1024

友情提示:因为提供了 50000+ 行示例代码,所以艿艿默认注释了所有 Maven Module。 胖友可以根据自己的需要,修改 pom.xml 即可。 一个涵盖六个主流技术栈的正经仓库: 《Spring Boot 专栏》 《Spring Cloud Alibaba 专栏》 《Spring Clou

芋道源码 15.7k Dec 31, 2022
Hcode Online Judge(HOJ):An open source online judge system base on SpringBoot, Springcloud Alibaba and Vue.js !

Hcode Online Judge(HOJ) 前言 基于前后端分离,分布式架构的在线测评平台(hoj),前端使用vue,后端主要使用springboot,redis,mysql,nacos等技术。 在线Demo:https://hdoi.cn 在线文档:https://www.hcode.top/

Himit_ZH 179 Dec 31, 2022
企业级 Spring Cloud Alibaba 微服务脚手架,nacos 配置中心、Oauth2认证与鉴权、Docker 容器化部署,开发环境一键式脚本安装,10分钟即可构建

云龙 Cloud Dragon 适合于企业级别的微服务开发脚手架,功能齐全,开箱即用,部署快捷 目前项目处于开发阶段,部分功能已经可以使用,后续会逐步完成其他规划内容,并完善项目文档,如果你在使用过程中遇到任何问题,可以通过 QQ 群聊联系我,请戳这里 加入群聊。 ?? 项目介绍 Cloud Dra

chenxiaolong 17 Dec 19, 2022
Alibaba Cloud Dedicated KMS Transfer SDK for Java can help Java developers to migrate from the KMS keys to the Dedicated KMS keys.

Alibaba Cloud Dedicated KMS Transfer SDK for Java Alibaba Cloud Dedicated KMS Transfer SDK for Java can help Java developers to migrate from the KMS k

Alibaba Cloud 3 May 12, 2022
Apache/Alibaba Dubbo <= 2.7.3 PoC Code for CVE-2021-25641 RCE via Deserialization of Untrusted Data; Affects Versions <= 2.7.6 With Different Gadgets

The 0xDABB of Doom - CVE-2021-25641-Proof-of-Concept Apache/Alibaba Dubbo <= 2.7.3 PoC Code for CVE-2021-25641 RCE via Deserialization of Untrusted Da

Dor Tumarkin 51 Apr 24, 2022
Provides additional date-time classes that complement those in JDK 8

ThreeTen-Extra ThreeTen-Extra provides additional date-time classes that complement those in JDK 8. Not every piece of date/time logic is destined for

ThreeTen 361 Jan 8, 2023
JCTools - Concurrency tools currently missing from the JDK.

JCTools Java Concurrency Tools for the JVM. This project aims to offer some concurrent data structures currently missing from the JDK: SPSC/MPSC/SPMC/

null 3.1k Dec 28, 2022
Automon combines the power of AOP (AspectJ) with monitoring or logging tools you already use to declaratively monitor your Java code, the JDK, and 3rd party libraries.

Automon Automon combines the power of AOP (AspectJ) with monitoring tools or logging tools that you already use to declaratively monitor the following

Steve Souza 561 Nov 27, 2022
JDK 17 development

Welcome to the JDK! For build instructions please see the online documentation, or either of these files: doc/building.html (html version) doc/buildin

OpenJDK 135 Dec 8, 2022
One file java script for visualizing JDK flight recorder execution logs as flamegraphs without any dependencies except Java and a browser.

Flamegraph from JFR logs Simple one file Java script to generate flamegraphs from Java flight recordings without installing Perl and the Brendan Gregg

Billy Sjöberg 17 Oct 2, 2022
JDK main-line development

Welcome to the JDK! For build instructions please see the online documentation, or either of these files: doc/building.html (html version) doc/buildin

OpenJDK 14.8k Dec 29, 2022
JDKMon - A little tool written in JavaFX that monitors your installed JDK's and inform you about updates

JDKMon JDKMon Home JDKMon is a little tool written in JavaFX that tries to detect all JDK's installed on your machine and will inform you about new up

Gerrit Grunwald 246 Jan 3, 2023
Log4Shell RCE exploit using a gadget class. Not dependent on an old JDK version to work.

Log4Shell RCE exploit using a gadget class. Not dependent on an old JDK version to work.

null 8 Jan 4, 2022