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 moreHi
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!
DavidI 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/ -
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 KapoorHI 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®ION=&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 youTry 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
-
Problems with keyboard backlight light on my macbook pro retina 2012
Is it a malfunction if it flickers off? Is there some kind of sensor in it sensitive to daylight?
-
I am a student using LabVIEW and Compact Field Point to implement a senior design project in Electrical and Computer Engineering. We have LabVIEW 7.1 and a cFP-2020 and additional modules. We are trying to use the CTR-500 module to output a pulse t
-
"Itunes missing files - please re-install"
Hi I wonder if anyone can help me. I am having major problems ever since i downloaded the newest update. Cant access my itunes now as keep getting a message that says there are files missing and that I need to reinstall itunes. Have tried over and ov
-
When I start typing my user name for hotmail, it automatically pops up. I do NOT want this. How do I get rid of it?
-
ETA 10.1.2.0.1??
I have just downloaded 10.1.2.0.0 and have found out that it does not include Forms/Reports server. Apparently this will be included in 10.1.2.0.1, when can we expect to see this patch for Solaris? Thanks Brett