Win a copy of Beginning Java 17 Fundamentals: Object-Oriented Programming in Java 17 this week in the Java in General forum!

Zachary Mitchell

Ranch Hand
+ Follow
since Aug 13, 2014
Cows and Likes
Cows
Total received
-2
In last 30 days
0
Total given
0
Likes
Total received
-1
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Zachary Mitchell

I have already placed a post at https://www.javaprogrammingforums.com/whats-wrong-my-code/44097-two-issues-openjdk-17-windows-10-64-bit-home.html#post172861

The Oracle guarantee, from its own web pages, concerning repairs to Java Floating Point Arithmetic exist at https://openjdk.java.net/jeps/306, as it has for a long time.

I am finding that OpenJDK 17 for 64 bit Windows still creating floating point denormal and pronormal values.



My question is not, why do denormal and pronormal values still occur.  I am in a position where I require
accurate floating point results.  Is Oracle going to repair this within Java nowish, within the present
version of OpenJDK 17?
2 months ago
When programming a JSP, you are not always forced to use Tags.  you can hark back to the original java syntax.
You can import classes like this:

<%@ page import="java.util.List" %>

and begin coding like this:

<% out.print("Welcome to jsp!"); %>  

However, when programming main methods for .jar files, there is a new Module syntax,
requiring you to create one new module for your main method, and to appropriately
obtain the required modules.

How does this impact Java Server Pages?  What is the JSP syntax for dealing with modules,
and packages, and classes or interfaces?  Can someone reply here with a specific example, please?

Merry Christmas!
2 months ago
JSP
I have a series of Java questions that I wish to pose, probably for a person with a bit more experience within that technology domain.

-OpenJDK now comes with modules support.  Will a Java3D program, namely with a main method and in the requisite main method module,
still compile and run the same, with some other library, say, a 2D graphing library, such that the library was not built or compiled
with in any module,  but in an earlier version of java without modules?

-Why did Java even have to have a modules system, anyway?  Given that

-If I wanted a 3D Java library, as an alternative to Java3D 1.7, one that has more support for special effects, that is used in industry,
but approaches something like C++ OSG (Object Scene Graph), with many more options and powers that Java3D 1.7,
what comes recommended for Java?

-Java .class files and .jar files have always been very easy to decompile.  Excelsior Jet is now defunct, and older versions of that
will cease to be compatible with Java going into the future.  There is the Bisguard tool, which I am aware of.  Will
java likely ever be compilable into different binary OS files?  What can be done now to protect any of .class, .jar, .war, .ear classes?
May this area be likely improved into the future, and how?

-The JSTL, Java Standard Tag Library, part of the JSP, Java Server Pages system, has always been incomplete.  What
state is JSTL in nowadays?  Will anyone ever complete it, or likely?

-It has been suggested that Java may likely name mathematics operator overriding into the future, maybe within project
Valhalla.  I have plans on applying that upon so-called Arbitrary precision classes, either the default ones with Java
or those available through Open Source on the public internet.  Is Operator Overriding very likely to be put into openJDK in the future?

-There now is no longer any Java Applet system.  Will there likely be something in the future, that will run inside web browsers,
supporting something similar, or even better, into the future, for Java?

-I have always found that Java development for mobile devices is very tricky.  Particularly if you want to do something
like emulate the mobile phone environment in Netbeans, on a Desktop PC, as you program.  Is there a java android app
at the Google Play App store?  If I am against programming in the Android language for an Android smartphone, but
want to program in Java, how does Java for smartphones, presently, work, also given openJDK v 17?
If I want to combine the previous 3D Java library on Android or Windows smartphone software, how may one do that?


3 months ago
Denormal and Pronormal refer to to the values that get the little extra
bit added on or taken away.

-In terms of my example, does compiling with Excelsior Jet, or
another product like it, get rid of these Denormal and Pronormal
value results with Java, or in fact not?

-Well.  C++ has an SSE mode, which it can even default to these days,
that does give the (human hoped for result).  Is there a way to accomplish
the same thing with Java, say, in the latest version of the OpenJDK,
but without altering this example in source code and by not programming
my example any differently at all?
2 years ago
-Consider the following code fragment.  Is there any
java compiler or runtime, that will result in the following
running as (human hoped), printing true and not false?


class JavaTest
{

import static java.lang.System.out;

public static void main(String ... args)
{
double a = 0.1;
double b= 0.1;
double x = a*b;
out.println();
out.println(x == 0.01);
}

}


-Can compiling a native program using a product which
is out there make floating point denormal and pronormal
arithmetic values go away, in both source code and invoked
library code in memory?

-Is there a way to get the human expected
answer, and not a floating point answer,
without leaving double, float, and arithmetic operators,
inside the Java language, using this code fragment,
and not altering this source code in any particular way?

2 years ago
-I am aware that Java webstart has been removed from future versions of java,
yet can someone kindly please answer my questions?

-I am running Windows 10 64 home edition.

-I am trying to get the the Java Web Start area inside the Java Control Panel.
The button in the General tab marked

View...

is greyed out, and has to somehow get enabled for me to access
the place for the old Web Start settings.

Is this just greyed out until it detects at least its very first JNLP application?
2 years ago
Stephan van Hulst, or any one else so fully
capable, reply or entertain address
my requests here?
2 years ago

Just because it doesn't behave the way you'd like doesn't mean that it's broken. Read up on the IEEE specs and
you'll start to get a feel for all the design decisions and trade-offs that went into the spec. And for additional info see
"Numerical Recipes in C", there's a good bit in the front of the book about how to avoid underflows and overflows.
Usually the issue is a poorly designed algorithm (mathematically speaking). IANAM



-For the purposes of their range, float and double are far quicker, smaller in memory,
and far more organised in source code to program, read and change.  At any rate,
due to thinking around JEP 306

https://bugs.openjdk.java.net/browse/JDK-8175916

that may or may not happen, I still wish to pursue someone
who can consistently introduce the changes I seek to
the JVM most immediately useful to me.

I have more properly now re-published this in the jobs area under

https://coderanch.com/t/706892/careers/Altering-Java-Win-floating-point
2 years ago
By which I mean programmed software and libraries in java,
after the fact of the compiler and either virtual machine, surely?
2 years ago
That such an altered JVM will not operate
previous code consistently is the case, and in fact something I aim to disregard
with my aims here.
2 years ago
Well, any Java machine code really, that would be compatible on Windows 64 bit.

In terms of preconditions and postconditions, I wouldn't have thought
repairing the last decimal place of floating point, for all source code created,
and any consistent library invoked, would course any problems.

Because the means of correction of the final most RHS decimal place, in java code,
can't be calculated any other way in such a Java program, unless it used
BigDecimal and/or BigInteger in an internally consistent way,
or uses StrictMath (or Math, which only listens to StrictMath), which
I amasking for repairs to, in exactly the same way as the java
floating point.

Without seeming silly, with everything used or programmed in such
a new, altered, JVM, as all that, what other problem cold there, hereby, possibly be?
2 years ago
I have been hoping to use internet communications and uploading
to exchanging the relevant information.

My location coincides somewhere within the CST region
of the nation of Australia.  Does the forum administrator think that
I should be more specific, or for the sake of some confidentiality
should I leave it at that?  Can the administrator reply if I should be more specific?
2 years ago
I am attempting to find someone who can program some important
alterations to the JVM for my sake, and that of the public too.

I'm after someone to reprogram, build and submit an altered

64 bit Windows version of Java SE 11 Stable version
(as downloads from the zip file at https://jdk.java.net/11/ )

that is altered so as not to have any more floating point arithmetic errors
(denromals and pronormals) produced any more, so that the default
behaviour is range accurate, and doesn't have any pronormal or denormal
values at the most RHS digit excent of the range.  Probably, also in a way which
continue to use and be layed out in memory in optimised fashion.
This is, unless such a version of this release of the OpenJDK is already out there,
for 64 bit Windows, which I believe that such is not.

The types involved are float and double, Float and Double (autoboxing
and autounboxing).

The classic example for this problem is this very known example:

double a = 0.1;
double b = 0.1;
double x = a*b;
out.println();
out.println(x);
out.println(x == 0.01);


Brackets and arithmetic ordering have apparently been part of the problem.

+, -, *, /, %, ++x, --x, x++, x--, (, ),  +=, -=, *=, /=, %=.

Hexidecimal mode needs to be corrected, on double and float.
Bitshifting operators may be impacted, and needs to be consistent
with the storage of the value; in the end it might not need to be changed,
or not very much.

java.lang.StrictMath will need to be updated so that all its methods operate
with accurate value consideration for the final decimal place is all function
input values. If any of it contains the strictfp keyword, those will all
have to be removed.


I would like the default changed to be range accurate,
and things left so that if the strictfp keyword is used,
denormals and pronormals come back again
(normally, as before), if this is not very harder.

The Global Location for anyone doing this, if they can, will realistically be
anywhere in the world, although it could be better (or not) if you are not
very much offset, either before or after, around
Australian Central Standard time, UTC + 9:30, GMT + 9:30.

I am probably looking for a more advanced programmer who knows
how to acheive all of the relevant changes described, and can rebuild
the runtime so that it will work flawlessly, again,
at all used and mutual interface points, with no
problems, at all the interface points for floating point
computations and submissions.
The ability to accept currency converted payment
through paypal details would be totally ideal, instead of the more challenging
but possible bank transfer approach.

Given that this issue is tantamount to an error fix in the Java SE language,
I am seeking a volunteer or lower cost worker who thinks similarly abou
t floating point operator errors at the Java defaulting as I do.

We can exchange through this forums by posting messages and replying,
certainly since they probably won't let people post email addresses in
their posts, really, anyway.

The last thing is that the results will need to be published on
sourceforge, for download availability, to comply with Java's GPL.

Last that I learned, Stephan van Hulst
seemed willing to help me, and I look forward to his reply.

I look forward to someone who can easily
produce or even knows more about this problem!
2 years ago
It would also, lately, be required that

java.lang.StrictMath

be repaired.

I can mention it all later when you reply!
And by the way, what Timezone on earth are you in?
2 years ago
Again, Stephan van Hulst, I at least
think that what I want, for floating point operations,
is more inline with version 1.1, before they changed it
for version 1.2.

I am excited for your reply!
2 years ago