Is java ready for core 2 duo or core quad ???

Ecuador
September 8, 2008 10:50pm CST
I have seen the now processors core 2 duo or core quad have very advantage with speed to number of operations to process by millisecond ... and the providers said they are able to do the works faster, the question is java ready for that kind of processor ??? I know if the processor if 64 bits then the applications have to be coded to support that architecture, so I guess with core 2 duo is the same .. the applications should be coded for the new architecture to take advantage of the benefits of its new features. As the jvm is the core of java that should be installed in the PC to run any java applications, that means the JVM should be changed ... do you think the new java6 is ready for that ??? Regards
1 person likes this
2 responses
@mr_mlk (364)
22 Sep 08
Java is a way for Sun (the people who created Java) to sell hardware. Sun make high end servers (think computers with 64 or more processors (all 64bit), the Sun Fire E25K is a 72 processor machine with 1TB of RAM and the M900 takes 64 quad core SPARC64 VII and 2TB of RAM). So yes, the JVM can thread. It actually just passes this off to the OS, so how well it can handle multi-core/processor machines depends on how well your OS can handle them. However the JVM being able to take advantage and application being able to take advantage of multi-processor systems are different things. The application has to be multithreaded; else it will just run on one core regardless of the language you write it in. 64 bits then the applications have to be coded to support that architecture Not so for Java.
1 person likes this
@mr_mlk (364)
22 Sep 08
No, all programs must be written to take use of multiprocessor systems, regardless of the language. As far as I am aware no language will magically make your application multithreaded.
• Ecuador
22 Sep 08
I've got a little confused. So JVM are able to take advantage of multiprocessor systems like a 72 processor machine with 1TB of RAM (Sun Fire E25K). but the applications written in other languages but java have to be coded to take advantage of this Sun Fire E25K. THat is what you mean ...
@ferdzNK (3211)
• Philippines
9 Sep 08
One good thing about java is its independent to its platform be it operating system or hardware. Linux, apple, window can run it, new and old computers and even cellphones uses java these days. There would come a time that we wont be having OSes or operating system but just virtual machines where any application can run through it.
• Ecuador
10 Sep 08
Interesting ... but I have heard that with 64 bits platform for example, the applications will run but to optimized and take advantage of the platform it is necessary to change the application code ... (that in other language like C) what do you think about it ?? ... well I have heard about video games ...
1 person likes this
@ferdzNK (3211)
• Philippines
10 Sep 08
You are right, I was thinking more on the program side and normally optimization happened on the application interface(API) the routines called by the program, in java its in JRE. For example we make a java application, in order for it to run in windows it must have a JRE. For a linux machine it also must have a corresponding JRE to run the same application without any alteration and so with mac and other type of machine. Although their is now a 64bit JRE (Java SE 6), If one would optimized a java applications to 64bit wouldn't it defeat its main purpose and run solely on a 64bit machine?
@mr_mlk (364)
22 Sep 08
Although their is now a 64bit JRE (Java SE 6), If one would optimized a java applications to 64bit wouldn't it defeat its main purpose and run solely on a 64bit machine? Nope. The JVM would only run on a 64bit machine but the Java apps would run on either. 64bit machines have one real advantage - it can access more memory. The JVM can then also access more memory. The other advantage (that they can process 64 bit values in one tick) is largely irrelevant to applications. As long as the value is correct then it matters not how long it took to execute.