Professional Perspective on the Java Learning Process

Dear Java Community,
Background:
I'm a relatively seasoned C++ developer looking to move to greener pastures, but I'm having a bit of a problem that I am hoping some of you may be able to help with. I have a formal CS/Math education and I'm familiar with the various language 'models'. I've dabbled in C, C++, Java, Smalltalk, Lisp.. and even the old polish-notation style FORTH.
The problem:
I'd like to put myself on a path to learn to develop industrial strength Java applications (for work in the Trading sector); however, almost all of the web material and books in the book store seem to be aimed at novices [which is a great thing to be, don't get me wrong]. Time spent on the concept of OOP, the character of basic data structures, 'hello world', etc. takes these books away from the things I'm most interested in: the heart of the java model, best practices in java, etc. I don't need to know how to throw or catch an exception, I need to know how these checked exceptions were designed to be used... I need to understand the overall Java paradigm. I want a terse and extremely thorough education in the Java language and its primary standard libraries.
Does anyone have a suggested path of study? I know Java is moving fast... but are there any seminal works? For instance, if I were responding to a similar post for a developer wishing to switch to C++ from C or Java, I'd tell them:
Get "The C++ Programming Language" by Bjarne Stroustrup, work your ass off with this book.
Get all 3 of the Meyer's books and the Addison Wesley STL tutorial book.
I know that the learning experience is a moving target, and often the best content is spread among the community for the learner to discover on his own, but is there any combination of online and/or book resources to build a firm foundation with?
Best Regards,
E.P. Frederick

Hi E.P. Frederick,
You've certainly cited some of my favorite C++ books. Everything that Scott Meyers writes is worth knowing.
Java itself isn't changing so much these days, but I think J2EE is still evolving.
I'm guessing that you'd be able to go through any good reference on Java syntax pretty quickly.
Is it fair to say that your real question, once you've gotten the language syntax down, will be design and implementation of enterprise systems? "industrial strength Java apps" for trading certainly bring that to mind.
I'm not sure that I know the best starter book for Java, but Bruce Eckel's "Thinking In Java" is good and available electronically:
http://www.mindview.net/Books
After that, you'll want to start looking at J2EE. Right now I'm reading a book entitled "Expert 1-on-1 J2EE Design and Development" by Rod Johnson:
http://www.amazon.com/exec/obidos/tg/detail/-/0764543857/qid=1084305508/sr=1-4/ref=sr_1_4/103-1931278-1310200?v=glance&s=books
It comes highly recommended.
The two patterns books you'll want to see are the GoF book and the Core J2EE Patterns. I'd also recommend Martin Fowler's "Patterns of Enterprise Application Architecture":
http://www.amazon.com/exec/obidos/ASIN/0201633612/qid=1084305604/sr=2-1/ref=sr_2_1/103-1931278-1310200
http://www.amazon.com/exec/obidos/tg/detail/-/0131422464/qid=1084305630/sr=1-1/ref=sr_1_1/103-1931278-1310200?v=glance&s=books
http://www.amazon.com/exec/obidos/tg/detail/-/0321127420/qid=1084305654/sr=1-1/ref=sr_1_1/103-1931278-1310200?v=glance&s=books
O'Reilly books are highly recommended.
You'll want to start looking at open source tools like Tomcat (a servlet/JSP engine from Apache) and Ant (an XML-based make facility):
http://jakarta.apache.org/tomcat
http://ant.apache.org
I'm sure there will be other suggestions.

Similar Messages

  • Java.lang.Process.exec()

    I have read a article about the "java.lang.Process.exec()" (url:http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html)
    Having some questions with the example in it.
    The example code:
    import java.util.*;
    import java.io.*;
    public class BadExecJavac
        public static void main(String args[])
            try
                Runtime rt = Runtime.getRuntime();
                Process proc = rt.exec("javac");
                //int exitVal = proc.exitValue();
                int exitVal = proc.waitFor();
                System.out.println("Process exitValue: " + exitVal);
            } catch (Throwable t)
                t.printStackTrace();
    }The process can run but never complete.
    Why? Just because when invoke the javac.exe without any argument,it will product a set of usage statements that describe how to run the program and the meaning of all the available program options.So the process is in deadlock.
    The question is, when i change the exec("javac") to exec("javac a.java"), in which the "a.java" is not exist, so the jvm should product error:
    error: cannot read: a.java
    1 error
    But after i changed the code and run the class, at this time the process can run and complete.
    The two codes both product some statements,but why the first one never complete,but the second did. Why?

    import java.util.*;
    import java.io.*;
    public class A
        public static void main(String args[])
            try
                Runtime rt = Runtime.getRuntime();
                Process proc = rt.exec("javac");
                InputStream is = proc.getErrorStream();
                int i=0;
                while ((i = is.read()) != -1)
                    System.out.print((char)i);
                // int exitVal = proc.exitValue();
                // int exitVal = proc.waitFor();
                // System.out.println("Process exitValue: " + exitVal);
            } catch (Throwable t)
                t.printStackTrace();
    }usng this modification, i could see some error messages.
    because exec(cmd) executes the command in a separate process, it will not display the results on the current console. If you want see the results, you should use getInputStream() and getErrorStream().
    good luch ^^

  • Java Compilation Process and how it relates to portability

    I need to know more about the java compilation process, how it achieves porability and its drawback and benifits. Can anyone help me with a link or an answer?
    Help would be much appriciated!

    javac, the Java compiler, is written in Java itself. It generates .class
    files from your .java source files. Those .class files are loaded by the
    JVM (the Java Virtual Machine) and executed. The javac compiler
    itself consists of just a bunch of those .class files and the compiler
    doesn't even know on what platform it is running while compiling
    your .java files.
    If you simply carry over the tools.jar file (and some other .jars) in which
    the package com.sun.tools.javac resides to another platform where a
    JVM is installed you can compile your .java files on that other platform
    too. And those compiled classes will run on that platform too ;-)
    kind regards,
    Jos

  • Class Not found Exception for invoking BPEL process through the Java code

    Hi.
    The JDeveloper IDE raise the Exception From the invoking the BPEL process through the java code .Class Not Found Exception (Locator,ID.......).What is process of importing these classes from API.

    In your code (.bpel file) import the library using the bpelx:exec tag. For example the adding the following entry in your .bpel file imports the com.oracle.bpel.client.util library.
    <bpelx:exec import="com.oracle.bpel.client.util.*"/>

  • Java.lang.AssertionError: WSDL not found in the class file "processes

    Hi,
    I am using WLI 10.3 workshop to build process application. I have designed one JPD which inturn call another process JPD. So i have used worklist process control to create the process and tried to access the process. When i am executing the code, i am getting below error message.
    13-Jun-2011 14:13:00 o'clock BST> <Error> <WLI> <BEA-000000> <Exception processing processes.ISPSSQMsgLisnt
    Java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at com.bea.wli.knex.runtime.core.dispatcher.DispUnit.loadDispFile(DispUnit.java:219)
    Truncated. see log file for complete stacktrace
    Java.lang.AssertionError: WSDL not found in the class file "processes.ISPSSQMsgLisnt", annotated class = processes.ISPSSQMsgLisnt
    --ClassAnnotations:
    --Method Annotations:
    --Field Annotations:
    can't continue
    at com.bea.wli.knex.runtime.jws.dispatcher.JwsDispClass.<init>(JwsDispClass.java:392)
    at com.bea.wli.bpm.runtime.JpdDispClass.<init>(JpdDispClass.java:65)
    at com.bea.wli.bpm.runtime.JpdDispClass.<init>(JpdDispClass.java:55)
    at com.bea.wli.bpm.runtime.JpdDispFile.createPrimaryDispClass(JpdDispFile.java:382)
    at com.bea.wli.knex.runtime.core.dispatcher.DispFile.<init>(DispFile.java:154)
    Truncated. see log file for complete stacktrace
    xception processing processes.ISPSSQMsgLisnt
    ava.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at com.bea.wli.knex.runtime.core.dispatcher.DispUnit.loadDispFile(DispUnit.java:219)
    at com.bea.wli.knex.runtime.core.dispatcher.DispUnit.<init>(DispUnit.java:153)
    at com.bea.wli.knex.runtime.core.dispatcher.DispCache.ensureDispUnit(DispCache.java:628)
    at com.bea.wli.knex.runtime.core.dispatcher.DispCache.ensureDispUnitForURI(DispCache.java:1029)
    at com.bea.wli.knex.runtime.core.dispatcher.DispCache.ensureDispUnitForURI(DispCache.java:950)
    at com.bea.wli.broker.JWSSubscriber.getDispClass(JWSSubscriber.java:231)
    at com.bea.wli.broker.JWSSubscriber.getRequest(JWSSubscriber.java:184)
    at com.bea.wli.broker.JWSSubscriber.doDispatch(JWSSubscriber.java:358)
    at com.bea.wli.broker.JWSSubscriber.doDispatch(JWSSubscriber.java:348)
    at com.bea.wli.broker.SubscriptionDispatcher.doDispatch(SubscriptionDispatcher.java:87)
    at com.bea.wli.broker.MessageBroker$PrivilegedSubscriptionDispatcher.run(MessageBroker.java:179)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.security.authentication.AuthenticationService.runAs(AuthenticationService.java:108)
    at com.bea.wli.broker.MsgBrokerSecurityHelper.doDispatch(MsgBrokerSecurityHelper.java:231)
    at com.bea.wli.broker.MessageBroker$PrivilegedSubscriptionDispatcher.doDispatch(MessageBroker.java:165)
    at com.bea.wli.broker.MessageBroker.publishMessage(MessageBroker.java:984)
    at com.bea.wli.mbconnector.jms.JmsConnMDB.publishMBMessage(JmsConnMDB.java:343)
    at com.bea.wli.mbconnector.jms.JmsConnMDB.onMessage(JmsConnMDB.java:475)
    at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466)
    at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371)
    at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4547)
    at weblogic.jms.client.JMSSession.execute(JMSSession.java:4233)
    at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3709)
    at weblogic.jms.client.JMSSession.access$000(JMSSession.java:114)
    at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5058)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    aused by: java.lang.AssertionError: WSDL not found in the class file "processes.ISPSSQMsgLisnt", annotated class = processes.ISPSSQMsgLisnt
    --ClassAnnotations:
    --Method Annotations:
    --Field Annotations:
    can't continue
    at com.bea.wli.knex.runtime.jws.dispatcher.JwsDispClass.<init>(JwsDispClass.java:392)
    at com.bea.wli.bpm.runtime.JpdDispClass.<init>(JpdDispClass.java:65)
    at com.bea.wli.bpm.runtime.JpdDispClass.<init>(JpdDispClass.java:55)
    at com.bea.wli.bpm.runtime.JpdDispFile.createPrimaryDispClass(JpdDispFile.java:382)
    at com.bea.wli.knex.runtime.core.dispatcher.DispFile.<init>(DispFile.java:154)
    at com.bea.wli.knex.runtime.jws.dispatcher.JwsDispFile.<init>(JwsDispFile.java:24)
    at com.bea.wli.bpm.runtime.JpdDispFile.<init>(JpdDispFile.java:108)
    ... 34 more

    Hi
    Are you using wli process control?
    That uses wsdl and could cause the issue.
    I also saw couple of internal bugs CR264315 and CR288904 on the same issue on 9.2.
    Since this is a wli issue could you post in the wli newsgroup to get more answers http://forums.bea.com/forum.jspa?forumID=2047 ?
    Also you can open a BEA support case at http://support.bea.com and an wli support engineer would help you. Please refer to the Cr numbers above in your support case.
    Thanks
    Vimala

  • Use Java to process the XSLT stylesheet

    Background:-
    I used Java to design a very simple Interface, which was composed of two components, one is an editable comboBox, the other is a button. What I want to achieve is selecting the value in the combobox and clicking the button, then it will achieve the relevant transformation process against the value selected from the comboBox.
    Implementation:-
    The transformation process is to extracting a set of information about a certain bird from an XML document, which contains many birds' information, to form a new XML document of one bird. The bird that I want to transform is listed in the comboBox and can be selected there. I use the Java to control the transformation process. My design is: I use Java programme to read the selected comboBox's value (bird name) and pass this value to the XSLT stylesheet, which is used to transform the XML document to a new XML document. What I have implemented: The Java programme has successfully controlled the transformation process, but I have defined in the XSLT stylesheet the bird name in advance. So the transformation is limited.
    What I want:-
    What I want is the transformation process will be carried out based on the value (bird name) read from the comboBox on the interface. And I hope to use Java to achieve this design!
    XSLT stylesheet code:-
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:template match="node()">
         <xsl:apply-templates/>
    </xsl:template>
    <xsl:template match="class[own-slots/own-slot/entry/value = 'Barn_swallow']">
         <xsl:copy-of select="."/>
    </xsl:template>
    </xsl:stylesheet> I am very appreciated if you can provide me some helps kindly!
    Thanks a lot! Waiting for your nice suggestions!
    David

    I mean, you can find the bird name(Barn_swallow) in my
    attached XSLT stylesheet code. This name was actually
    defined in advance. What I want to perform now is to
    use the Java program to get the bird name from the
    comboBox (you have gave out the method) and pass it to
    the XSLT(actually needed to implement by Java), then
    continue to use the Java programe to achieve the
    transformation process (this step, I think, has been
    achieved.) Obviously, how to perform the second step
    "pass it to the XSLT" is the current task!What can you do already? Can you get a Transformer object from a TransformerFactory? If so, then simply call its setParameter("bird", "Barn Swallow") method. You'll have to declare a top-level xsl:param element whose name is "bird" in your XSL transformation, which you can then use as if it were a variable.

  • Where to learn about the java bytecode?

    I want to learn the JAVA bytecode. Where to find information about that?

    The list of opcodes, list of data types, and how to use them is here:
    http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html
    I personally use BCEL to manipulate class files.
    http://jakarta.apache.org/bcel/
    Some report they prefer Soot.
    http://www.sable.mcgill.ca/soot/

  • When Teststand is expired, the java process communicating with Teststand engine is killed.

    We are using an evaluation version of Teststand for development. We are using Teststand API in C code to communicate with the Teststand engine and in turn the java process communicates with the C code. But if the Teststand is expired, the java process is killed. Please suggest if there is a solution to stop the killing of java process when the teststand is expired.

    Hi geddam,
    The fact that the entire application is ending is expected as it is trying to access the TestStand API. Since your evaluation period is over you no longer have an active license and cannot access TestStand. We allow an evaluation period so that someone new to TestStand can evaluate it to determine if they will benefit from the software. However, once you have decided to develop using TestStand, you need to obtain a development license for TestStand. We have several different licenses for TestStand and a specific license to be used for development. The evaluation period should not be used as a time for development but a time to evaluate the software. So, in order for your application to work again, you will need to obtain a license for TestStand software.
    Thanks,
    Caroline
    National Instruments
    Thanks,
    Caroline Tipton
    Data Management Product Manager
    National Instruments

  • Java Learning for the beginners

    Hi All,
    I have completed OCA exam (SQL and PL/SQL) and now i want to learn JAVA to develop front-end database application. I am quite new with JAVA and i have no experience with it.
    would anyone pls. help me by providing the website/URL from where i may learn JAVA step by steps. better if i have the video clip to learn JAVA.
    i don't know whether i am allowed to post this sort of layman type question in this community. i searched in the web to have those sort of resources, but failed.
    Pls. advise me which java will suit my requirement to develop front end application for database in Oracle database (in back end). i would be grateful if you provide me the guidelines accordingly.
    it would a great help if anyone helps me by providing the website addresses for online training material for the beginners like me from where i may have the resources to learn java step by step.
    thank you in advance

    [Sun's basic Java tutorial|http://java.sun.com/docs/books/tutorial/]
    [Sun's New To Java Center|http://java.sun.com/learning/new2java/index.html]
    Includes an overview of what Java is, instructions for setting up Java, an intro to programming (that includes links to the above tutorial or to parts of it), quizzes, a list of resources, and info on certification and courses.
    jGuru
    A general Java resource site. Includes FAQs, forums, courses, more.
    JavaRanch
    To quote the tagline on their homepage: "a friendly place for Java greenhorns." FAQs, forums (moderated, I believe), sample code, all kinds of goodies for newbies. From what I've heard, they live up to the "friendly" claim.
    [Yawmarks List|http://forums.devshed.com/java-help-9/resources-for-learning-java-249225.html]
    [The Java Developers Almanac|http://www.amazon.com/exec/obidos/tg/detail/-/0201752808?v=glance]
    [http://javaalmanac.com|http://javaalmanac.com]
    Bruce Eckel's [Thinking in Java(Available online.)|http://mindview.net/Books/DownloadSites]
    Joshua Bloch's [Effective Java|http://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683]
    Bert Bates and Kathy Sierra's [Head First Java|http://www.amazon.com/exec/obidos/tg/detail/-/0596004656?v=glance]
    James Gosling's [The Java Programming Language|http://www.bookpool.com/sm/0321349806]
    Gosling is the creator of Java. It doesn't get much more authoritative than this.
    Joshua Bloch and Neal Gafter [Java Puzzlers.|http://www.javapuzzlers.com/]

  • What is the Learning Process for SAP Business ByDesign

    Hi Experts,
    What is the Learning Process for SAP Business ByDesign
    Prashant Kapoor

    HI prasanth,
    SAP-ByD always updated day to day. you can find here:
    https://my020062.sapbydesign.com/sap/ap/ui/repository/SAP_BYD_WEKTRA/CP/sapLSUIContentPlayerTestPage.html?manifest=067D03A7602B1D490899DF46B5082089&COMPONENT=A1S_PDI&RELEASE=260&LANGUAGE=en&REGION=&INDUSTRY=&TASK=CR_VIEW&sap-language=EN
    Note: do u want open the above link u might have a  .net framework4.0 bcz this one silverlight application.
    Best Regards,
    Harish.y

  • Agent Process Throws Error  - Could not create the Java virtual machine

    We are trying to run a WAN test but the server which hosts required SW is kind of older version
    OATS controller version installed is 9.3
    Agent version same 9.3 v27628
    Java version its showing for 9.3 is - 6.0_24
    I got this error message on Agent machine
    Your CPU does not support the SSE2 instruction set required to run JRockit.
    INFO | jvm 5 | 2011/11/11 10:44:11 | Could not create the Java virtual machine.
    ERROR | wrapper | 2011/11/11 10:44:11 | JVM exited while loading the application.
    FATAL | wrapper | 2011/11/11 10:44:11 | There were 5 failed launches in a row, each lasting less than 300 seconds. Giving up.
    FATAL | wrapper | 2011/11/11 10:44:11 | There may be a configuration problem: please check the logs.
    STATUS | wrapper | 2011/11/11 10:44:11 | <-- Wrapper Stopped
    The Agent machine details are
    Intel Pentium III
    1.4Ghz , 2.00GB RAM
    Windows server 2003
    Can you please tell me if this server is not compatible for running version 9.3.
    Or let me know what other problem you see.. I will check the user guide to check compatibility too.
    Thanks for looking.

    Where do i change the path.. i change it in config file in anget manager folder.
    then Agent process started working.. but as we try to test it its still pointing to JRockit thing
    can u please tell me where should we set the path.. only in config file or there are env entires too?
    Thanks

  • OOM Killer is killing the Java processes without using the swap?

    Hi All,
    We are using RHEL 5 64 bit on blade server CISCO UCS B230-M2.
    Below is the memory details on the server. I could see from the sar -r command it did not used the swap memory at all but it calls the OOM killer everyday.
    su@ /root-> free -g
                 total       used       free     shared    buffers     cached
    Mem:           125        119          5          0          2         81
    -/+ buffers/cache:         35         89
    Swap:          251          0        251
    The issue is occuring every day and doesnt allow any user to connect to the server in that perticular time, After some time we could see the below messages in /var/log/messages and once the java processes are getting killed it allow the new telnet connections.
    Any help on this is much appreciated.
    Oct 18 01:47:57 usdc01qd51 kernel: cpu 28 cold: high 62, batch 15 used:10
    Oct 18 01:47:57 usdc01qd51 kernel: cpu 29 hot: high 186, batch 31 used:20
    Oct 18 01:47:57 usdc01qd51 kernel: cpu 29 cold: high 62, batch 15 used:6
    Oct 18 01:47:57 usdc01qd51 kernel: cpu 30 hot: high 186, batch 31 used:93
    Oct 18 01:47:57 usdc01qd51 kernel: cpu 30 cold: high 62, batch 15 used:10
    Oct 18 01:47:57 usdc01qd51 kernel: cpu 31 hot: high 186, batch 31 used:137
    Oct 18 01:47:57 usdc01qd51 kernel: cpu 31 cold: high 62, batch 15 used:6
    Oct 18 01:47:57 usdc01qd51 kernel: HighMem per-cpu: empty
    Oct 18 01:47:57 usdc01qd51 kernel: Free pages:    37295696kB (0kB HighMem)
    Oct 18 01:47:57 usdc01qd51 kernel: Active:15955130 inactive:6377121 dirty:1470607 writeback:0 unstable:0 free:9323924 slab:301569 mapped-file:1506506 mapped-anon:7952475 pagetables:78246
    Oct 18 01:47:57 usdc01qd51 kernel: DMA free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:9076kB pages_scanned:0 all_unreclaimable? yes
    Oct 18 01:47:58 usdc01qd51 kernel: lowmem_reserve[]: 0 4024 126242 126242
    Oct 18 01:47:58 usdc01qd51 kernel: DMA32 free:1202200kB min:1448kB low:1808kB high:2172kB active:275860kB inactive:55140kB present:4120800kB pages_scanned:0 all_unreclaimable? no
    Oct 18 01:47:58 usdc01qd51 kernel: lowmem_reserve[]: 0 0 122217 122217
    Oct 18 01:47:58 usdc01qd51 kernel: Normal free:36093496kB min:44024kB low:55028kB high:66036kB active:63544660kB inactive:25453344kB present:125151120kB pages_scanned:0 all_unreclaimable? no
    Oct 18 01:47:58 usdc01qd51 kernel: lowmem_reserve[]: 0 0 0 0
    Oct 18 01:47:58 usdc01qd51 kernel: HighMem free:0kB min:128kB low:128kB high:128kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
    Oct 18 01:47:58 usdc01qd51 kernel: lowmem_reserve[]: 0 0 0 0
    Oct 18 01:47:58 usdc01qd51 kernel: DMA: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 0kB
    Oct 18 01:47:58 usdc01qd51 kernel: DMA32: 21352*4kB 18549*8kB 13617*16kB 5772*32kB 1097*64kB 52*128kB 8*256kB 1*512kB 1*1024kB 1*2048kB 118*4096kB = 1202200kB
    Oct 18 01:47:58 usdc01qd51 kernel: Normal: 144164*4kB 1746735*8kB 1130515*16kB 102420*32kB 1956*64kB 83*128kB 42*256kB 2*512kB 3*1024kB 1*2048kB 6*4096kB = 36093496kB
    Oct 18 01:47:58 usdc01qd51 kernel: HighMem: empty
    Oct 18 01:47:58 usdc01qd51 kernel: 14377659 pagecache pages
    Oct 18 01:47:59 usdc01qd51 kernel: Swap cache: add 507, delete 507, find 163/244, race 0+0
    Oct 18 01:47:59 usdc01qd51 kernel: Free swap  = 263740076kB
    Oct 18 01:47:59 usdc01qd51 kernel: Total swap = 263740648kB
    Oct 18 01:47:59 usdc01qd51 kernel: Free swap:       263740076kB
    Oct 18 01:47:59 usdc01qd51 kernel: 32770048 pages of RAM
    Oct 18 01:47:59 usdc01qd51 kernel: 648871 reserved pages
    Oct 18 01:47:59 usdc01qd51 kernel: 10183423 pages shared
    Oct 18 01:47:59 usdc01qd51 kernel: 0 pages swap cached
    Oct 18 01:47:59 usdc01qd51 kernel: Out of memory: Killed process 9529, UID 502, (java).
    Thanks,
    Sachin.                  

    It looks like you experience low memory exhaustion. The kernel uses low memory to track allocations of all memory and the more memory you have, the more low memory will have to be allocated. When low memory is exhausted, it doesn't matter how much high memory is available, the oom-killer will begin killing processes to keep the server alive. There are a number of bug reports and patches available regarding this problem affecting Enterprise Linux kernels 4.4 - 4.8. Other solutions are to move to a 64-bit kernel or use 32-bit hugemem. Are you running NFS?
    Perhaps you might want to try the following:
    # cat /proc/sys/vm/lower_zone_protection
    You can try to increase the value and see what happens:
    # echo "250" > /proc/sys/vm/lower_zone_protection
    To set this option on boot, add the following to /etc/sysctl.conf:
    vm.lower_zone_protection = 250
    As a last resort effort, you can disable the oom-killer. This option can cause the server to hang, so use it at your own risk.
    Check status of oom-killer:
    # cat /proc/sys/vm/oom-kill
    Turn oom-killer off/on:
    # echo "0" > /proc/sys/vm/oom-kill
    # echo "1" > /proc/sys/vm/oom-kill

  • Two java.exe processes running in the Task Manager in Windows XP

    I tried to find the best possible place to post this and after spending about 20 minutes searching for an appropriate forum starting from java.com I ended up here. So forgive me if the is a wrong place and if there?s a more appropriate place for my question, please provide a pointer to it.
    I don't know much about java and what it does but as the title says when I open the Task manager there are two java.exe processes running at the same time with about 20 000 k each.
    One of the processes is coming from:
    C:\Program Files\Alias\Maya6.5\docs\jre\bin\java.exe
    and the other from:
    C:\Program Files\Alias\Maya7.0\docs\jre\bin\java.exe
    in addition to that a jusched.exe process is also running coming from
    C:\Program Files\Java\jre1.5.0_10\bin\jusched.exe
    I rarely open the Maya 6.5 and 7 documentations but the two java.exe process are running all the time and I would like to stop them running when I don?t need them but I don?t know how.
    I can't end these processes from the Task Manager; they reappear immediately after I end them.
    Any help with this is greatly appreciated.
    Thank you

    Try to see:
    http://forums.cgsociety.org/showthread.php?t=294973
    Bye,
    leo

  • Help needed in understanding the Java code.

    Hi All,
    I have recently started learning the Java language. I came across this example and had a problem in understanding the output of the program. I could follow that if the continue statement is present in the below program the output is "Found 9 p's in the string" . But if the continue statement is removed I could not understand why the output would be "Found 35 p's in the string" .Is it because of the spaces and characters other than p... (eter ier icked a eck of ickled eers)
    Example-----------------------
    The continue statement skips the current iteration of a for, while , or do-while loop. The unlabeled form skips to the end of the innermost loop's body and evaluates the boolean expression that controls the loop. The following program, ContinueDemo , steps through a String, counting the occurences of the letter "p". If the current character is not a p, the continue statement skips the rest of the loop and proceeds to the next character. If it is a "p", the program increments the letter count.
    class ContinueDemo {
    public static void main(String[] args) {
    String searchMe
    = "peter piper picked a " +
    "peck of pickled peppers";
    int max = searchMe.length();
    int numPs = 0;
    for (int i = 0; i < max; i++) {
    // interested only in p's
    if (searchMe.charAt(i) != 'p')
    continue;
    // process p's
    numPs++;
    System.out.println("Found " +
    numPs + " p's in the string.");
    Here is the output of this program:
    Found 9 p's in the string.
    To see this effect more clearly, try removing the continue statement and recompiling. When you run the program again, the count will be wrong, saying that it found 35 p's instead of 9.

    The answer is already in your example - "The unlabeled form skips to the end of the innermost loop's body and evaluates the boolean expression that controls the loop."
    It unloads the current loop iteration when condition is matching. Loop is again starting from boolean expression inside loop declaration.
    Java Programming - java forum

  • Installation fails with "Cannot launch the Java Virtual Machine"

    I'm trying to install OAS 10.1.3.1. on Windows XPbut after copying all the files the installer starts complaining that it cannot lauch the Java Virtual Machine. Eventually, the process gets to the configuration step where it succeeds with one configuration, then fails with the next, and then finally goes into an eternal loop.
    When launching the installer it claims that my environment successfully passes all test for memory size, etc.
    Is this a known problem? Is there any way I can get more info about the reason why the JVM could not get lauched? I searched for information in the logs without success. I also tried to play around with the PATH environment variable since I saw some installation note saying that includingthe jre/bin path here could help, but it did not help.
    Could anyone, please, give me a hint of how to complete the installation successfully?

    Thanks for the hint.
    I had a look in the INI-file of my BPEL installation and this is what it said about memory:
    JRE_MEMORY_OPTIONS=" -mx256m"
    Still, if I start the BPEL server it finally comes up after issuing a lot of complaints but as soon as I request a page I get this:
    500 Internal Server Error
    OracleJSP: oracle.jsp.provider.JspCompileException:
    Fel vid kompilering:C:\product\10.1.3.1\OraBPEL_1\bpel\system\appserver\oc4j\j2ee\home\application-deployments\orabpel\console_war\persistence\_pages\\_login.java
    Could not create the Java virtual machine.
    Error occurred during initialization of VM
    Could not reserve enough space for object heapThis is strange since at the time there is >1.4 GB of virtual memory and 0.9 GB of physical memory available.
    And according to the task manager:
    Commit charge limit = 2728684
    Physical memory total = 2096496
    I am using Windows XP Professional, version 2002, service pack 2.

Maybe you are looking for