New Evolution patch reduces memory by 40-60MB

http://gnomedesktop.org/node/2725
Philip Van Hoof wrote: "Here are the patches to get the upstream version of evolution-data-server and evolution-exchange to start using the mmap technique for loading the header and content info summary data of Evolution and tinymail.
I expect it to reduce memory usage of Evolution with approximately fourty to sixty megabytes of ram, depending on the amount of folders you have."
HDYT?(how do you think?)

There is a program that works great to control memory on a Macintosh. I know it works great with System X.6.8, and it also works great with Mavericks. It is Memory Keeper. It is this link:>https://itunes.apple.com/us/app/memorykeeper/id689992800?mt=12
Since I got my MacBook Pro built special with 8 gb of memory, I do not have a memory problem for the moment. My old MacBook with 4 gb of memory was almost unusuable when I was online with Chrome until I installed Memory Keeper. Instead of hauling home a MacBook Pro I ordered one with the 8 gb of memory, and I must say that it uses 3.9 gb of memory with Mavericks and Chrome running. Of course, that is not an issue with 8 gb of memory and Memory Keeper. If I had only 4 gb though it would be a major problem.

Similar Messages

  • How to add new fields in Reduced message ( in BD53 )

    Hi Experts,
    How to add new fields in Reduced message ( in BD53 ), when the required field iis available in Table or Structure and need to be added in BD53 so that we can ALE.
    Thanks,
    Ninad

    Hello,
    I think of something like:
    First, you create extension, with transaction WE30.
    Then, reduce your idoc, your extension should also be proposed.
    Do not forget to add this extension in outbound we82, and/or we57 in inbound, and WE20, and find BTE or exit to populate extension.
    regards.
    F.S.

  • I want to ask something about firefox. why firefox use very much memory? can you develop to reduce memory comsume? this problem is very distrub in my PC with low memory.

    I want to ask something about firefox.
    why firefox use very much memory?
    can you develop to reduce memory comsume?
    this problem is very distrub in my PC with low memory.
    == This happened ==
    Every time Firefox opened

    How much memory is Firefox using right now?
    # Press '''CTRL+SHIFT+ESC''' to load the Task Manager window
    # Click the Processes tab at the top. (Click once near the top of the window if you don't see tab
    # Find firefox.exe, and see how many kilobytes of memory it's using.
    Showing around 80MB when Firefox first starts is normal. Right now, I have 75 tabs open and it's using 500MB - this varies a lot depending on what you have in the tabs.
    Other than high memory usage, what other problems are you experiencing? (Examples include slowness, high CPU usage, and failure to load certain sites)
    Many of these issues, including high memory usage, can be caused by misbehaving add-ons. To see if this is the case, try the steps at [[Troubleshooting extensions and themes]]. Outdated plugins are another cause of this issue - you can check for this at http://www.mozilla.com/plugincheck

  • How to reduce memory use on my iMac

    How to reduce memory use on my iMac, OS X Yosemite, 2.7 GHz Intel Core i5
    8 GB memory
    Running very slowly, and the little spinning ball showing up.
    How do I clean up my IMac please?
    Should I use MacKeep or any clean up apps?

    When you see a beachball cursor or the slowness is especially bad, note the exact time: hour, minute, second.  
    These instructions must be carried out as an administrator. If you have only one user account, you are the administrator.
    Launch the Console application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad and start typing the name.
    The title of the Console window should be All Messages. If it isn't, select
              SYSTEM LOG QUERIES ▹ All Messages
    from the log list on the left. If you don't see that list, select
              View ▹ Show Log List
    from the menu bar at the top of the screen.
    Each message in the log begins with the date and time when it was entered. Scroll back to the time you noted above.
    Select the messages entered from then until the end of the episode, or until they start to repeat, whichever comes first.
    Copy the messages to the Clipboard by pressing the key combination command-C. Paste into a reply to this message by pressing command-V.
    The log contains a vast amount of information, almost all of it useless for solving any particular problem. When posting a log extract, be selective. A few dozen lines are almost always more than enough.
    Please don't indiscriminately dump thousands of lines from the log into this discussion.
    Please don't post screenshots of log messages—post the text.
    Some private information, such as your name, may appear in the log. Anonymize before posting.

  • What are the new tax patches to be attached for the FY 2008 in India....

    Hi Experts....
    What are the new tax patches to be added for the tax calculations for the Financial year 2008.Please advice...
    regards,
    sai.

    Thanks Mhpo.
    1 In this period this is a  correct time for applying the tax patch for the financial year 2008.Whats the new in this patch 1154295.
    any how you have to apply the note
    2 What s the heading for the patch. Budget changes 2008~2009
    Regards
    MHPO

  • What is meant by a PATCH.How can we develop a new tax patch.?

    HI Experts,
    Could u please explain me the meaning of a PATCH?
    How to develop a New Tax Patch?
    Please help me to understand the concept and how to test taxation after new patch development!
    Thanks in advance.
    Regards,
    Sai.

    Hi
    PATCH is nothing but a support package which is provided by SAP to add new functionality or correct some error in the already delivered package.
    The latest patch level will be available in Service market place of SAP. It can be downloaded and applied in the serrver.
    The patch for new taxation rules will also be available. You can see the info and the notes in the patch also.
    Hope the info is use about PATCH
    Thanks

  • Where is the best shop for new mac pro's memory in America ?

    Dear all.
    Thank you for your advice in advance.
    I bought new mac pro at yesterday. But here is japan,so really expensive new mac pro's memory.
    So I want to buy memory at America by internet.
    If you know where is the best shop for this memory's price and stability,please let me know.
    Really thank you for your advice. I want to buy 16G in now.

    I bought a "8GB FULLY BUFFERED PC6400 DDR2 ECC (FB-DIMM) 800MHz SPECIAL APPLE KIT (Four modules 2GB) MB194G/A" from Memoryamerica.com for $395.
    killer deal.works perfectly, no overheating , no issues.
    They shipped the sameday. they say on their website that they are the only website shipping the new memory.It must be true, people who ordered from OWC, macsales are still waiting...I am happy I ordered from them.They even have the 4GB modules in stock.These guys are really good.
    http://store.memoryamerica.com/fully-buffered-pc6400-ddr2-ecc-8gb-apple-kit.html

  • How to reduce memory usage?

    OK - I've read through a ton of posts that discuss the "Out of memory" problem in Encore, but what can I do to reduce memory usage?
    I'm trying to produce a very simple Blu-Ray (h.264) project in Encore CS3 on Windows Vista. There are 8 or 9 timelines, a main menu, and 6 sub-menus. Each sub-menu has six static buttons. There are no transitons or motion menus. When I load the project, Task Manager says Encore is using about 1.3 GB RAM. I constantly get "out of memory" errors.
    I've loaded the same project on Vista 32-bit w/ 4GB RAM and Vista 64-bit w/ 8 GB RAM. Same behavior on both.
    Two questions:
    1. Why does Encore need 1.3 GB RAM for such a simple project?
    2. How do I reduce the memory usage?
    TIA for help on the PITA,
    rgames

    Please check with below link, if this can help.
    http://forums.creativecow.net/thread/145/863785#863796

  • Reducing memory use in large Java application

    Hello,
    I've read through many of the threads on memory optimization in Java and am still puzzled about one thing:
    I've got a large Java application that uses around 45,000 kb of memory (according to the Windows Task Manager) when it first starts up. If I reduce the program window and then restore it, the memory use comes down to about 25,000 kb, and stays down, even when the program is in regular use.
    Two questions about this:
    1) Why does reducing and restoring the program have this effect?
    2) Is there any way I can duplicate this effect automatically, so that the program starts off using the smaller amount of memory?
    And a final question: does anyone have any recommendations regarding the several commercial products that are available for optimizing memory use in Java apps?
    Many thanks!
    David Porter

    this effect (minimize application window, rsize it again) is not a Java but a Windows problem. It also works for pure WIndows applications - try it out!
    reducing memory size is not a question of 3rd party java apps or APIS but the JVM and the coding style of the application programmer.

  • HT1338 Is it better to buy a new mac or add memory?

    My mac pro is from 2007 and although I have added the new processor over the years, it's gettin too slow.
    should i buy a new one or buy memory?

    PageIns is not a relevant figure nor is PageOuts. What is relevant is what is in the parentheses of PageOuts. For example, in your image PageOuts are 1.5 MB, but in parentheses it says (0 bytes/sec.) The first number is simply the cumulative value since the machine was last booted. The parenthetical value is the instantaneous number. If it's 0 bytes/sec, then there is no memory problem. If it's a positive number that is increasing continuously, then you do not have sufficient RAM and the memory manager is using hard drive virtual memory.
    See the following:
    About OS X Memory Management and Usage
    Reading system memory usage in Activity Monitor
    Memory Management in Mac OS X
    Performance Guidelines- Memory Management in Mac OS X
    A detailed look at memory usage in OS X
    Understanding top output in the Terminal
    The amount of available RAM for applications is the sum of Free RAM and Inactive RAM. This will change as applications are opened and closed or change from active to inactive status. The Swap figure represents an estimate of the total amount of swap space required for VM if used, but does not necessarily indicate the actual size of the existing swap file. If you are really in need of more RAM that would be indicated by how frequently the system uses VM. If you open the Terminal and run the top command at the prompt you will find information reported on Pageins () and Pageouts (). Pageouts () is the important figure. If the value in the parentheses is 0 (zero) then OS X is not making instantaneous use of VM which means you have adequate physical RAM for the system with the applications you have loaded. If the figure in parentheses is running positive and your hard drive is constantly being used (thrashing) then you need more physical RAM.
    Adding RAM only makes it possible to run more programs concurrently.  It doesn't speed up the computer nor make games run faster.  What it can do is prevent the system from having to use disk-based VM when it runs out of RAM because you are trying to run too many applications concurrently or using applications that are extremely RAM dependent.  It will improve the performance of applications that run mostly in RAM or when loading programs.

  • Updated my iPhone to new iOS6 and my Memory Loader app does not work!  Is there a fix for the problem as it seems I am not the only one coming across this issue?

    Updated my iPhone to new iOS6 and my Memory Loader app does not work!  Is there a fix for the problem as it seems I am not the only one coming across this issue?

    Other than what you have already done, you should clear the cache from your browser and, if you use it, your Facebook app.  Also, deleting old texts can free up some room.

  • [Patch] Reduce syscalls

    Looking at the strace output, pacman seems to invoke lots of unnecessary syscalls.
    This patch has reduced the number of needed syscalls on my system by 70%:
    http://pastebin.archlinux.fr/406557
    Reading the "desc" files is still inefficient:
    open("/var/lib/pacman/sync/extra/firefox-i18n-3.6.8-1/desc", O_RDONLY|O_LARGEFILE) = 4
    fstat64(4, {st_mode=S_IFREG|0644, st_size=321, ...}) = 0
    mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb770e000
    read(4, "%FILENAME%\nfirefox-i18n-3.6.8-1-"..., 4096) = 321
    read(4, "", 4096) = 0
    close(4) = 0
    munmap(0xb770e000, 4096) = 0
    This could be reduced to three syscalls:
    open("/var/lib/pacman/sync/extra/firefox-i18n-3.6.8-1/desc", O_RDONLY) = 4
    read(4, "%FILENAME%\nfirefox-i18n-3.6.8-1-"..., 4096) = 321
    close(4) = 0
    However, this would involve moving away from the glibc functions fopen(), etc. and use the syscalls directly.  What do you think?
    The 4096 bytes should be large enough for all "desc" files. A simple heuristic could be included to check whether some bytes are missing: 1) all sections are covered (NAME, VERSION, DESC, URL, etc.) and 2) the buffer ends with \n\n.
    When I flush the disk cache, pacman takes 1 min and 18s for a single "pacman -Syu" run! With the patch applied it takes 1 min 7s which is still very slow. I guess it would be a lot faster to read the .gz compressed databases into memory rather than using the uncompressed package tree.
    Last edited by tindzk (2010-07-26 13:30:24)

    Rip-Rip wrote:
    Or you could simply compare the value returned by read with 4096...
    int readed;
    while ((readed = read(fd, buf, 4096)) == 4096)
    continue;
    This is the best "heuristic" you could have dream of
    Yes, but that would also imply that each file contains 4096 (or more) bytes which seems not to be the case.
    Another potential issue is that read() may actually return less than 4096 even though the file contains >=4096 bytes. I've never experienced this behaviour before when dealing with normal disk  files but it's quite common with TCP sockets. Well, I still wouldn't want to rely on the situation of always returning the highest number of available bytes because a directory could still be mounted via network. In this case our assumption isn't guaranteed anymore.
    What I thought of in my initial post was something like this:
    size_t len;
    String s = StackString(4096);
    do {
    len = File_Read(&file,
    s.buf + s.len,
    s.size - s.len);
    s.len += len;
    } while (len > 0 && s.len < s.size);
    if (!String_EndsWith(s, String("\n\n")) {
    /* The file is either a) invalid or b) larger than
    * 4096 bytes (unlikely) and thus the final \n\n
    * is missing here.
    Is it even true that a complete "desc" file always has to end with \n\n?
    Last edited by tindzk (2010-08-01 00:27:44)

  • Bug report & possible patch: Wrong memory allocation when using BerkeleyDB in concurrent processes

    When using the BerkeleyDB shared environment in parallel processes, the processes get "out of memory" error, even when there is plenty of free memory available. This results in possible database corruption.
    Typical use case when this bug manifests is when BerkeleyDB is used by rpm, which is installing an rpm package into custom location, or calls another rpm instance during the installation process.
    The bug seems to originate in the env/env_region.c file: (version of the file from BDB 4.7.25, although the culprit code is the same in newer versions too):
    330     /*
    331      * Allocate room for REGION structures plus overhead.
    332      *
    333      * XXX
    334      * Overhead is so high because encryption passwds, replication vote
    335      * arrays and the thread control block table are all stored in the
    336      * base environment region.  This is a bug, at the least replication
    337      * should have its own region.
    338      *
    339      * Allocate space for thread info blocks.  Max is only advisory,
    340      * so we allocate 25% more.
    341      */
    342     memset(&tregion, 0, sizeof(tregion));
    343     nregions = __memp_max_regions(env) + 10;
    344     size = nregions * sizeof(REGION);
    345     size += dbenv->passwd_len;
    346     size += (dbenv->thr_max + dbenv->thr_max / 4) *
    347         __env_alloc_size(sizeof(DB_THREAD_INFO));
    348     size += env->thr_nbucket * __env_alloc_size(sizeof(DB_HASHTAB));
    349     size += 16 * 1024;
    350     tregion.size = size;
    Usage from the rpm's perspective:
    The line 346 calculates how much memory we need for structures DB_THREAD_INFO. We allocate structure DB_THREAD_INFO for every process calling db4 library. We don't deallocate these structures but when number of processes is greater than dbenv->thr_max then we try to reuse some structure for process that is already dead (or doesn't use db4 no longer). But we have DB_THREAD_INFOs in hash buckets and we can reuse DB_THREAD_INFO only if it is in the same hash bucket as new DB_TREAD_INFO. So line 346 should contain:
    346     size += env->thr_nbucket * (dbenv->thr_max + dbenv->thr_max / 4) *
    347         __env_alloc_size(sizeof(DB_THREAD_INFO));
    Why we don't encounter this problem earlier? There are some magic reserves as you can see on line 349 and some other additional space is created by alligning to blocks. But if we have two processes running at the same time and these processes end up in the same hash bucket and we repeat this proces many times to fill all hash buckets with two DB_THREAD_INFOs then we have 2 * env->thr_nbucket(37) = 74 DB_THREAD_INFOs, which is much more than dbenv->thr_max(8) + dbenv->thr_max(8) / 4 = 10 and plus allocation from dbc_put, we are out of memory.
    And how we will create two processes that end up in the same hash bucket. We can start one process (rpm -i) and then in scriptlet we start many processes (rpm -q ...) in loop and one of them will be in the same hash bucket as the first process (rpm -i).
    I would like to know your opinion on this issue, and if the proposed fix would be acceptable.
    Thanks in advance for answers.

    The attached patch for db-4.7 makes two changes:
      it allows enough for each bucket to have the configured number of threads, and
      it initializes env->thr_nbuckets, which previously had not been initialized.
    Please let us know how it works for you.
    Regards,
    Charles

  • Reducing memory & processor requirements of OS X

    Does anyone have any suggestions on how to reduce the memory requirements of OSX on machines with limited Ram?
    I have OSX on a (unsupported) powerbook 3400c. 144MB ram. Yes its slow. about 6 minutes to boot up. Anyways, the only reason I have "shoehorned" X (Jaguar) onto it is to use it as an MP3 server for my home stereo system with a new enough version of itunes that adjusts for differing mp3 recording volumes. It now also has a 20GB HDD in it, and yes OSX Jaguar. But OS X is a ram & processor hog. This machine is distictly lacking in both.
    SO, I am wondering which features & other items a person could disable/turn off etc which would reduce the memory & processor load on the old powerbook. As the aqua interface has many subsystems running, there must be some which can be disabled etc which would "relieve the strain" but leave basic functionality.
    Anyone who has any suggestions, please do so! Its fun breathing life into an antique mac. Might also help make my old original iMac a decent email machine one day too!
    Thanks!

    Hello! Have you experimented with opening activity
    monitor and then selectivly quitting processes? Tom
    No tom I haven't I assumed there were no other processes running at the time, as I only had the system & itunes running. I will however have a look & see. Thanks!

  • How do I run multiple java apps in one JVM to reduce memory use?

    Hi all,
    I saw an article either on the web or in a magazine not too long ago about how to "detect" if the app is already running, and if so, it hands off the new instance to the already running JVM, which then creates a thread to run the Java app in. As it turns out, my app will be used in an ASP environment, through Citrix. We may have as many as 50 to 100 users running the same app, each with their own unique user ID, but all using the same one server to run it on. Each instance eats up 25MB of memory right now. So the question is if anybody knows of a URL or an app like this that can handle the process of running the same (or even different Java) apps in one JVM as separate threads, instead of requring several instances of the JVM to run? I know this article presented a fully working example, and I believe I know enough to do it but I wanted ot use the article as a reference to make sure it is done right. I know that each app basically would use the same one "launcher" program that would on first launch "listen" to a port, as well as send a message through the port to see if an existing launcher was running. If it does, it hands off the Java app to be run to the existing luancher application and shuts down the 2nd launching app. By using this method, the JVM eats up its normal memory, but each Java app only consumes its necessary memory as well and doesn't use up more JVM instance memory.
    Thanks.

    <pre>
    import java.util.Properties;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.lang.reflect.Method;
    import java.lang.reflect.InvocationTargetException;
    import java.util.Enumeration;
    import java.util.NoSuchElementException;
    public class RunProg implements Runnable, Cloneable
    private String iProg;
    private String iArgs[];
    public static void main(String args[])
    new RunProg().main();
    // first step is to start main program itself
    private void main()
    Properties properties = System.getProperties();
    try
    properties.load(new FileInputStream("RunProg.properties"));
    catch(IOException e)
    System.setProperties(properties);
    int i = 0;
    System.out.println("enter main, activeCount=" + Thread.activeCount());
    while(true)
    String program = properties.getProperty("Prog" + i);
    if(program == null)
    break;
    StringTokenizer st = new StringTokenizer(program);
    String[] args = new String[st.countTokens() - 1];
    try
    RunProg rp = (RunProg)this.clone();
    rp.iProg = st.nextToken();
    for(int j = 0; st.hasMoreTokens(); j++)
         args[j] = st.nextToken();
    rp.iArgs = args;
    Thread th = new Thread(rp);
    th.setName("prog" + i + "=" + program);
    th.start();
    System.out.println("prog" + i + "=" + program + ", started");
    catch(CloneNotSupportedException e)
    System.out.println("prog" + i + "=" + program + ", can't start");
    i++;
         System.out.println("end of main, activeCount=" + Thread.activeCount());
    // next step is to start all others one by one
    public void run()
    try
    Class c = Class.forName(iProg);
    Class p[] = new Class[1];
    p[0] = String[].class;
    Method m = c.getMethod("main", p);
    Object o[] = new Object[1];
    o[0] = iArgs;
    m.invoke(null, o);
    catch(ClassNotFoundException e)
    System.out.println(iProg + "ClassNotFoundException");
    catch(NoSuchMethodException e)
    System.out.println(iProg + "NoSuchMethodException");
    catch(InvocationTargetException e)
    System.out.println(iProg + "NoSuchMethodException");
    catch(IllegalAccessException e)
    System.out.println(iProg + "NoSuchMethodException");
    System.out.println(Thread.currentThread().getName() + ", ended");
    System.out.println("exit run, activeCount=" + Thread.activeCount());
    // setup SecurityManager to disable method System.exit()
    public RunProg()
         SecurityManager sm = new mySecurityManager();
         System.setSecurityManager(sm);
    // inner-class to disable method System.exit()
    protected class mySecurityManager extends SecurityManager
         public void checkExit(int status)
              super.checkExit(status);
              Thread.currentThread().stop();
              throw new SecurityException();
    * inner-class to analyze StringTokenizer. This class is enhanced to check double Quotation marks
    protected class StringTokenizer implements Enumeration
    private int currentPosition;
    private int maxPosition;
    private String str;
    private String delimiters;
    private boolean retTokens;
    * Constructs a string tokenizer for the specified string. All
    * characters in the <code>delim</code> argument are the delimiters
    * for separating tokens.
    * <p>
    * If the <code>returnTokens</code> flag is <code>true</code>, then
    * the delimiter characters are also returned as tokens. Each
    * delimiter is returned as a string of length one. If the flag is
    * <code>false</code>, the delimiter characters are skipped and only
    * serve as separators between tokens.
    * @param str a string to be parsed.
    * @param delim the delimiters.
    * @param returnTokens flag indicating whether to return the delimiters
    * as tokens.
    public StringTokenizer(String str, String delim, boolean returnTokens)
    currentPosition = 0;
    this.str = str;
    maxPosition = str.length();
    delimiters = delim;
    retTokens = returnTokens;
    * Constructs a string tokenizer for the specified string. The
    * characters in the <code>delim</code> argument are the delimiters
    * for separating tokens. Delimiter characters themselves will not
    * be treated as tokens.
    * @param str a string to be parsed.
    * @param delim the delimiters.
    public StringTokenizer(String str, String delim)
    this(str, delim, false);
    * Constructs a string tokenizer for the specified string. The
    * tokenizer uses the default delimiter set, which is
    * <code>"&#92;t&#92;n&#92;r&#92;f"</code>: the space character, the tab
    * character, the newline character, the carriage-return character,
    * and the form-feed character. Delimiter characters themselves will
    * not be treated as tokens.
    * @param str a string to be parsed.
    public StringTokenizer(String str)
    this(str, " \t\n\r\f", false);
    * Skips delimiters.
    protected void skipDelimiters()
    while(!retTokens &&
    (currentPosition < maxPosition) &&
    (delimiters.indexOf(str.charAt(currentPosition)) >= 0))
    currentPosition++;
    * Tests if there are more tokens available from this tokenizer's string.
    * If this method returns <tt>true</tt>, then a subsequent call to
    * <tt>nextToken</tt> with no argument will successfully return a token.
    * @return <code>true</code> if and only if there is at least one token
    * in the string after the current position; <code>false</code>
    * otherwise.
    public boolean hasMoreTokens()
    skipDelimiters();
    return(currentPosition < maxPosition);
    * Returns the next token from this string tokenizer.
    * @return the next token from this string tokenizer.
    * @exception NoSuchElementException if there are no more tokens in this
    * tokenizer's string.
    public String nextToken()
    skipDelimiters();
    if(currentPosition >= maxPosition)
    throw new NoSuchElementException();
    int start = currentPosition;
    boolean inQuotation = false;
    while((currentPosition < maxPosition) &&
    (delimiters.indexOf(str.charAt(currentPosition)) < 0 || inQuotation))
    if(str.charAt(currentPosition) == '"')
    inQuotation = !inQuotation;
    currentPosition++;
    if(retTokens && (start == currentPosition) &&
    (delimiters.indexOf(str.charAt(currentPosition)) >= 0))
    currentPosition++;
    String s = str.substring(start, currentPosition);
    if(s.charAt(0) == '"')
    s = s.substring(1);
    if(s.charAt(s.length() - 1) == '"')
    s = s.substring(0, s.length() - 1);
    return s;
    * Returns the next token in this string tokenizer's string. First,
    * the set of characters considered to be delimiters by this
    * <tt>StringTokenizer</tt> object is changed to be the characters in
    * the string <tt>delim</tt>. Then the next token in the string
    * after the current position is returned. The current position is
    * advanced beyond the recognized token. The new delimiter set
    * remains the default after this call.
    * @param delim the new delimiters.
    * @return the next token, after switching to the new delimiter set.
    * @exception NoSuchElementException if there are no more tokens in this
    * tokenizer's string.
    public String nextToken(String delim)
    delimiters = delim;
    return nextToken();
    * Returns the same value as the <code>hasMoreTokens</code>
    * method. It exists so that this class can implement the
    * <code>Enumeration</code> interface.
    * @return <code>true</code> if there are more tokens;
    * <code>false</code> otherwise.
    * @see java.util.Enumeration
    * @see java.util.StringTokenizer#hasMoreTokens()
    public boolean hasMoreElements()
    return hasMoreTokens();
    * Returns the same value as the <code>nextToken</code> method,
    * except that its declared return value is <code>Object</code> rather than
    * <code>String</code>. It exists so that this class can implement the
    * <code>Enumeration</code> interface.
    * @return the next token in the string.
    * @exception NoSuchElementException if there are no more tokens in this
    * tokenizer's string.
    * @see java.util.Enumeration
    * @see java.util.StringTokenizer#nextToken()
    public Object nextElement()
    return nextToken();
    * Calculates the number of times that this tokenizer's
    * <code>nextToken</code> method can be called before it generates an
    * exception. The current position is not advanced.
    * @return the number of tokens remaining in the string using the current
    * delimiter set.
    * @see java.util.StringTokenizer#nextToken()
    public int countTokens()
    int count = 0;
    int currpos = currentPosition;
    while(currpos < maxPosition)
    * This is just skipDelimiters(); but it does not affect
    * currentPosition.
    while(!retTokens &&
    (currpos < maxPosition) &&
    (delimiters.indexOf(str.charAt(currpos)) >= 0))
    currpos++;
    if(currpos >= maxPosition)
    break;
    int start = currpos;
    boolean inQuotation = false;
    while((currpos < maxPosition) &&
    (delimiters.indexOf(str.charAt(currpos)) < 0 || inQuotation))
    if(str.charAt(currpos) == '"')
    inQuotation = !inQuotation;
    currpos++;
    if(retTokens && (start == currpos) &&
    (delimiters.indexOf(str.charAt(currpos)) >= 0))
    currpos++;
    count++;
    return count;
    </pre>
    RunProg.properties like this:
    Prog1=GetEnv 47838 837489 892374 839274
    Prog0=GetEnv "djkfds dfkljsd" dsklfj

Maybe you are looking for

  • Why does COMCAST work so hard to prevent me from taking advantage of MOCA/XB3?

    I apologize in advance for the length of this post and its frustrated tone but I've spent so much time and effort trying to accomplish something that should have been quite straightforward with COMCAST but which has left me with a very biter taste in

  • Injection Problem in a JSP

    Hello, I created an enterprise application (with Netbeans 5.5 20060310) with Entity beans and stateless session bean (EJB3) -> everything seems fine, the tables are created when I deploy (on latest Glassfih). Then I created in the webmodule a small J

  • Two Sections in One Report

    Hello All,             I have a req wherein a Report Will Contain Two Different Sections. Section A                                               |       Section B Customer      Col1  Col2   Col3                 |      Customer  Col1 Col2 Col3 All th

  • Infiniband configuration for Oracle VM in Sparc T5-2

    hello all, Just wanted to post here to ask if someone has experience on configuring Infiniband interfaces in a  SPARC T5-2 Server with multiple Oracle VMs in it As far as we have checked, you can't have Virtual Switch(Simple way) using an Infiniband

  • CS3 & .MOD video files

    How do I convert .MOD format video to AVI?  I have video from a Panasonic SDR series camcorder in MOD format.  I would like to edit with additional AVI format files in CS3 PPRO.  Any one have a technique or procedure that successfully converts MOD VI