Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
jvm虚拟机教程
几种OpenJDK的JVM性能比较
JVM有许多不同的选择。哪个最好用?比较几种JVM性能; Zulu OpenJDK,OpenJDK,Oracle JDK,GraalVM CE。在这篇博客中,我将描述我创建的用于同时在不同JVM上执行测试的设置。我还研究了资源隔离的影响(为进程分配特定的CPU和内存)。这种影响可以忽
为Docker设置Java内存防止OOM Killer
在Logistimo,我们的所有应用程序都是Docker化的,并在Kubernetes内以docker容器运行。我们注意到在使用Java的容器上发生了大量重启,并且非常随
2017你不应该错过的Java库包
下面是2017年你不应该错过的Java库包清单: GuiceGuice是一个Java 6以上支持依赖注入框架。由谷歌提供。
想免费继续使用JDK吗?从java11以后别从Oracle下载了
Java生态系统一直以来是建立在一个高质量的免费(零成本)JDK之上的,它可以从甲骨文(Oracle)和以前的Sun获得。 今天的情况和以前不一样了。 Java现在每六个月发布一次版本,这个版本是指提供带有安全补丁和重要bug修复的更新版本。到目前为止,包
几分钟内学会Kotlin语言
谷歌宣布kotlin成安卓开发一级语言以后,kotlin大热,Kotlin是JVM上的静态类型的编程语言,它是100%兼容的java。 废话少说,上代码,由于代码太长,分两段:
为什么Java占用的RAM比Xmx多得多?
Java为什么使用比堆中规定的大小还要多的内存,如何正确设置Docker内存大小限制?Java进程使用的内存远远超过堆大小?堆大小设置为128 MB(-Xmx128m -Xms128m),而容器最多占用1 GB内存。在正常情况下,它需要500MB。如果docker容器设置限制(例如
真棒:使用Java 11实现应用的模块化
Java 11带来成熟的模块化系统,OSGI丢一边去吧,为什么要迁移到模块系统? 1. 模块能带来可靠的配置 - 新的模块系统是需要在程序组件里明确声明依赖的方法,这种替代料以前默认的但是脆弱的、容易出错的类路径机制,好像只要把Jar包放入classpat
比较三个Java垃圾收集器的性能
比较三个Java垃圾收集器的性能:1. JDK8默认的ParallelOld2. JDK 9默认的G13. JDK11提供的ZGC 比较他们的两个关键指标:收集垃圾花费了多少时间,以及最大暂停时间得分依次是: G1 > ParallelOld > Z
Java内存泄漏解决之道
Java的核心优势之一是在内置垃圾收集器(简称GC)的帮助下实现自动内存管理。GC隐式地负责分配和释放内存,因此能够处理大多数内存泄漏问题。虽然GC有效地处理了大部分内存,但它并不能保证内存泄漏的万无一失的解决方案。GC很聪明,但并不完美。即使在尽职尽责的开发人员的应用程序中,内存泄
新的Java JIT编译器Graal简介
在本教程中,我们将深入研究名为Graal的新Java实时(JIT)编译器。让我们首先解释JIT编译器的作用。当我们编译Java程序时(例如,使用 javac命令),我们最终将源代码编译成代码的二进制表示 - 一个JVM字节码。这个字节码比我们的源代码更简单,更紧凑,但我们计
JShell - Java 9中用于快速原型设计的新REPL工具
REPL代表Read-Eval-Print-Loop。听起来有点神秘,但它只是编程语言的交互式shell的一个奇特名称。如今,许多语言已经提供了REPL。即使在JVM Groovy上,Kotlin,Scala和Clojure也已经拥有它。从版本9开始的Java最终有自己的REPL,称为JSh
Java版本更新重大提醒 - Azul
2019年1月对于Java开发人员和用户都特别重要。原因是O
Java还欠缺什么才能真正支持机器/深度学习?
如何让团队开始使用ML以及如何最好地将ML与我们运行的现有系统集成?实际上没有用Java构建的ML框架(有DL4J,但我真的不知道有谁使用它,
Java在2019年会怎样?
在过去的一年中,Java的发展再次增速,这要归功于Java开发社区: 从Eclipse Foundation决定接受企业Java管理并将其重命名为Eclipse Jakarta,到IBM的收购 Red Hat, 发布 JDK 11,法院裁定Oracle与谷歌长期争夺Java版权,实施更快的
Java 11新特性:Java飞行黑盒子
Java飞行记录仪(Java Flight Recorder)已经变成Java 11的一部分了,之前它是一个商业功能,但是伴随JEP 328的 Java 11发布,
Java中的SafeVarargs和变量参数
有些语言在编译时强制执行类型,但忘记了运行时的类型。这被称为类型擦除。例如,在C中,编译器将确保代码完全是类型证明的。因此生成的字节码不会担心运行时的类型信息。就像一枚硬币的两面,另一面。有些语言在运行时进行类型检查(也可能在编译时)。这被称为具体化reification。<
从2018年JVM生态系统报告中吸取的经验教训|
最近由Snyk发布了一份
JVM生态系统报告2018
调查结果摘要如下: 10个开发人员中有7个使用Oracle JDK进行生产 十分之二的开发人员在生产中使用OpenJDK 10个开发人员中有8个正在生产Java SE版本8。 十分之一的开发人员已迁移到版本9或更高版本 几乎十分之三的开发人员不
上页
下页