Will Java go native?

PauloPinto pjmlp at progtools.org
Thu Sep 19 06:05:16 PDT 2013


On Thursday, 19 September 2013 at 11:38:35 UTC, deadalnix wrote:
> On Thursday, 19 September 2013 at 11:23:10 UTC, PauloPinto 
> wrote:
>> On Thursday, 19 September 2013 at 09:52:40 UTC, deadalnix 
>> wrote:
>>> On Wednesday, 18 September 2013 at 21:33:50 UTC, Chris wrote:
>>>> Seeing that more and more developers and companies look for 
>>>> or actively develop native languages, I wonder will Java go 
>>>> native one day? (Cf. 
>>>> http://docs.oracle.com/cd/A97336_01/buslog.102/a83727/jtools5.htm)
>>>>
>>>
>>> Java as some design decision that will make it perform worse 
>>> natively than in a VM.
>>>
>>> Dynamic code loading + virtual by default is one example.
>>>
>>>> Is this Java's only chance to keep up with Go and Rust (and 
>>>> D)?
>>>
>>> It certainly isn't unless the language is modified and a 
>>> large amount of code is thrown away.
>>
>> Well, nothing that cannot be cured with PGO, just like in 
>> C++'s case.
>>
>
> PGO do not allow finalization of method that can dynamically 
> overriden. Only a JIT can do that.
>
> The main difference between JIT and OAT optimizaer is that JIT 
> can be optimistic, and fix later if it turns out to be wrong. 
> AOT must consider the worst case scenario. The benefit of AOT 
> being, obviously, to pay the cost ahead of time instead of at 
> runtime.
>
> In java, all classes are dynamically loadable, and most 
> functions are virtual. This is a deal breaker for the AOT.

Wrong. The Java AOT compilers that target embedded systems 
produce static binaries.

--
Paulo


More information about the Digitalmars-d mailing list