On Mon, 2 Mar 2020 at 14:09, Vladimir Sitnikov
<sitnikov.vladi...@gmail.com> wrote:
>
> >No, that's not exactly what 100% pure Java code means
>
> Pure Java means nothing.
> JMeter has lots of Properties, XML, XSLT, CSS, Groovy, BeanShell, and even,
> holy cow, JavaScript files.
>
> There's no point in making "100% pure X" without having a good definition
> of that.
>

Properties, XML, etc are not executed by the JVM; they are effectively
just data.

> >The Java code must of course comply with the appropriate Java language
>
> >Is Darklaf written entirely in Java?
> >Are all its dependencies written in Java?
>
> It is Java virtual machine compliant. Why does the language matter to you?

It does not matter, per se.
 What matters is that JMeter is secure against crashing, and that it
will run on any system with a conforming JVM.

The JMeter jars contain Java byte code compiled from Java source files.
(Yes, there are properties and XML files, but these are not executable
by the JVM).

The JVM interprets the Java byte code, so is able to guarantee that it
will not cause a crash.
If the byte code is invalid, the JVM will throw an error at load time,
and similarly if there is a run-time error.
It can guarantee not to crash because it controls exactly how the JVMs
native code is invoked when processing the byte code.

Now the JVM also allows Java byte code to invoke native code in
external libraries.
It has no control over the content of such libraries, so cannot
guarantee that the are being called correctly.

Once you add external native code to a Java app, the JVM cannot prevent crashes.
Nor can one guarantee that the Java app will run on every conforming JVM.

> Vladimir

Reply via email to