Variable declaration/memory use

Do you use more memory if you do
int q = stringBuffer.indexOf("cat");
stringBuffer.insert(q, "your ");
than
stringBuffer.insert(stringBuffer.indexOf("cat"), "your ");
I would think no...

So you should
go with the second version!How do you come to that conclusion? This kind of
thinking just leads to to code cramming andultimately
hard to maintain code. AND all stack allocationsare
released when the method finishes.Title: "variable declaration/memory use"
That's why I came to this conclusion! Let's say that
in this method you have a for(;;) that never breaks
(like a daemon), this memory is never released, is
it?
Well, to be picky, the question was which uses more memory, not which is better.
In any case, the answer "A uses more memory than B" does not automatically imply "Therefore B is better." This kind of microoptimization is rarely useful. If you're so tight on stack that coding like that makes a difference between your program running or breaking, then you probably either need more memory, or, more likely, a better design.

Similar Messages

  • Using a static variable declared in an applet in another class

    Hi guys,
    I created an applet and i want to use one of the static variables declared in teh applet class in another class i have. however i get an error when i try to do that...
    in my Return2 class i try to call the variable infoPanel (declared as a static JPanel in myApplet...myApplet is set up like so:
    public class myApplet extends JApplet implements ActionListener, ListSelectionListener
    here are some of the lines causing a problem in the Return2 class:
    myApplet.infoPanel.removeAll();
    myApplet.infoPanel.add(functionForm2.smgframeold);
    myApplet.infoPanel.validate();
    myApplet.infoPanel.repaint();
    here are some of the errors i get
    dummy/Return2.java [211:1] package myApplet does not exist
    myApplet.infoPanel.removeAll();
    ^
    dummy/Return2.java [212:1] package myApplet does not exist
    myApplet.infoPanel.add(functionForm2.smgframeold);
    ^
    dummy/Return2.java [213:1] package myApplet does not exist
    myApplet.infoPanel.validate();
    ^
    dummy/Return2.java [214:1] package myApplet does not exist
    myApplet.infoPanel.repaint();
    ^
    please help! thanks :)

    I don't declare any packages though....i think it just doesn't recognize myApplet for some reason..
    other errors i got compiling are:
    dummy/Return2.java [82:1] cannot resolve symbol
    symbol : variable myApplet
    location: class Return2
    updateDesc.setString(3, myApplet.staticName);
    I Don't get why i'm getting this error cuase they worked fine when myApplet was a standalone application, not an applet.
    myApplet is in the same folder as Return2 and it compiles properly.

  • Is it possible to use a form variable (in memory) as input to render pdf?

    Hi,
    I understand that the render to PDF service takes URI as input, but what if I have a xdp form modified and stored in memory, and would like to use that to render PDF, how can this be done?
    Thakns in advance.

    Hi Jasmine,
    Thanks for the tip. So, is this what I need to do?
    I have an xdp form in the repository, and xml data I generate from a custom component.
    1. render the pdf form (merge xdp (no data) with xml data)
    2. convert pdf back to xdp (this xdp now includes data) and stored as a document variable in memory
    3. manipulate the xdp (via custom component)
    4. render the pdf form by passing the xdp (from step 3) in a document variable type as part of the data parameter, leaving URL blank.
    5. write pdf to disk
    This would work right? Is there another way?
    Thanks in advance.

  • Variable name declared by using an object-------Where Used List

    Hi,
          Can anyone let me know how to find the variable names that are defined by using an object  like 'sflight' in all the reports, classes,funciton modules.
    For example
    in a report   'ZREPORT'  i have declared a variable data lt_sflight type table of sflight.
    and in other report 'ZREPORT1' i have declared as data lt_sfli type table of sflight.
    and i want to know the all the variable name that are declared by using sflight object say in all reports,FM'S and Classes
    Edited by: PEEDNAS on Feb 3, 2011 10:02 AM
    Edited by: PEEDNAS on Feb 3, 2011 10:08 AM

    Hi Sumodh,
                         Thanks for your information but
    the where used list internally uses 'RS_TOOL_ACCESS' FM for that FM if we give object type and object name then it gives some search results  and from there we can check the variables names manually directly but i want to get the list of variable names directly
    Regards,
    Sandeep

  • How to use local variables declared in b/t the methods in other views

    Hi
    i need to use the value of the local variables declared in b/w the views in one other view,as i have manipulated the value based on some condition & want to use it in 1 more view for my req.,but that variable is not global one just for once i need to use it,and i can't again write the whole for its conditions,as its there in initialization view,which if coded again,can hit the functionality there,so is it possible to use the value of such local variables thereafter or not,if yes pls let me know,or i need to declare the global variable for this.

    hi,
    1.Declare an Attribute in Component controller.
    2. Pass the value to this Attribute in View V1.
             using :
      wd_comp_controller->Att = 'Saurav'.
    3. Now in view2 , you can access this Attribute using:
      data lv type string.
         lv = wd_comp_controller->Att .
    Here Att is my attribute of type string declared in component controller.

  • Variable declaration in BEx - Business scenario's

    Hi,
        I need some documents about all kind of variable declaration with some example business scenarios in MM, FI-CO modules.
    will assign you a reasonable points
    Regards,
    Pooja.S

    Hi Pooja,
    The processing type of a variable may be varies from business requirement.
    In general we will use the processing type:
    Replacement Path : If you specify a variable as a characteristic value, you do not have to specify a text for the characteristic value right away. Instead, you can fill the text field dynamically and specifically for the characteristic that you use for the variable when you execute the query. To do this, define a text variable with automatic replacement.
    [http://help.sap.com/saphelp_nw70/helpdata/EN/bd/589b3c494d8e15e10000000a114084/content.htm]
    Authorisations: If the user belongs to Asia PAciffic region and he must see only details of his region then we can create a variable Region vt Processing type Authorisations so that he vl able to see only that region's data.
    [http://help.sap.com/saphelp_nw70/helpdata/EN/44/599b3c494d8e15e10000000a114084/content.htm]
    SAP EXIT: If you want to define a query that only ever displays the data from the current month, drag the delivered variable “current month” (technical name 0CMONTH) for the characteristic “calendar year/month” (technical name 0CMONTH) into the query filter.
    [http://help.sap.com/saphelp_nw70/helpdata/EN/f1/0a5702e09411d2acb90000e829fbfe/content.htm]
    Customer Exit: You want to use one characteristic value to calculate a second characteristic value. The InfoProvider only contains the calendar day. However, you now also want to display the cumulated value for the relevant period (beginning with the first day of a quarter) in a query.
    For the first day of the quarter, use a variable with customer exit processing. If you now enter the current calendar day (for example, 06/19/2000), a start date of 06/01/2000 appears in the customer exit, and the cumulated value of this period can be displayed.
    [http://help.sap.com/saphelp_nw70/helpdata/EN/f1/0a56f5e09411d2acb90000e829fbfe/content.htm]
    I hope this helps you.

  • The amount of memory used for data is a lot larger than the saved file size why is this and can I get the memory usage down without splitting up the file?

    I end up having to take a lot of high sample rate data for relativily long periods of time. When I save the data it is usually over 100 MB. When I load the data for post-processing though the amount of memory used is excessively higher than the file size. This causes my computer to crash because 1.5 GB is not enough. Is there a way to stop this from happening withoput splitting up the file into smaller files.

    LabVIEW can efficiently handle large files, far beyond 100Mb, provided that care is taken in the coding of the loading/processing routines. Here are several suggestions:
    1) Check out the resources National Instruments has put together (NI Developer Zone > Development Library > Measurement and Automation Software > LabVIEW > Development System > Optimizing Applications > Managing Memory), specifically the article entitled "Managing Large Data Sets in LabVIEW".
    2) Load and process the data in chunks if possible.
    3) Avoid sending the data to front panel indicators, using local/global variables for data storage, or changing data types unless absolutely necessary.
    4) If using LabVIEW 7.1, use the "show buffer" tool to determine when LabVIEW is creating extra
    copies of data in memory.

  • Source a file containing variable declaration in csh style into Java

    Hi ALL,
    How can java import a plain-text file which contains csh declaration statements, then simultaneously declare as the statements into the java program?
    Below is the example that the plain-text file:
    set test_1 = ('1')
    set test_234 = ('2' '3' '4')
    set test_abc = ('abc')
    Thanks,
    Alex

    I have already started learning Java from the web site of Sun Java. Thanks for your advise.
    However, let me explain more details what I want.
    Now, I have a plain-text file, such as /mnt/source.txt, which contain statement of variable declaration as below
    ====================
    set test_1 = ('1')
    set test_234 = ('2' '3' '4')
    set test_abc = ('abc')
    ====================
    These are the csh statement.
    In csh, we can use command "source [filename]" then the variable test_1, test_234 and test_abc will be declared directly. Right?
    Then, now, I have this plain-text file. Also the csh statement.
    However, I would use Java to declare the variable test_1, test_234 and test_abc from this file.
    Thanks.
    Alex

  • How to deallocate memory used by the labview program?

    Hi,
    I have bulit a large application in labview 2012 that uses a couple of subvis, local and global variables, some uninitialized shift registers (functional global variables) and some c++ and .net dlls as well. When I open my application the memory usage shown at Windows task manager is around 1.4GB. After running the application and enabling all processes used in the application, the memory usage goes up to 1.55GB but when i stop the application, memory is never released/deallocated until i close the application plus exit labview. Can you suggest how to deallocate this memory? and how can i use the request deallocation function for this application? labview help says i have to place it inside a subVI for which i want to deallocate memory. But i have a lot of subVIs used in my application. I tried placing it in the top level VI and called it after stopping all processes but it didn't work... I am also closing references to all of the .net dlls at the end. Any workarounds??
    Thanks

    sandee wrote:
    When I open my application the memory usage shown at Windows task manager is around 1.4GB. After running the application and enabling all processes used in the application, the memory usage goes up to 1.55GB but when i stop the application, memory is never released/deallocated until i close the application plus exit labview.
    You already got some good advice. One thing that was not clear was how you are measuring memory. Since the task manager is capable of showing the memory used by LabVIEW alone (you simply need to look elsewhere), and you said that the memory gets released when you exit LabVIEW, you gave the impression that the 1.4GB was the LabVIEW portion.
    OK, so a couple of hundred MB used by LabVIEW is really nothing to worry about. Are you running into memory or other performance problems? What are the symptoms?
    sandee wrote:
    I have bulit a large application in labview 2012 that uses a couple of subvis, local and global variables, some uninitialized shift registers (functional global variables) and some c++ and .net dlls as well.
    We really need to see some code. It is very well posssible that you have a lots of unecessary data copies in memory due to sloppy programming. How big are the data structures? Do you use local variables for big data structures? What does the program actually do?
    LabVIEW Champion . Do more with less code and in less time .

  • Variables declared in .JSPF flagged as error in .JSP

    I am using version 11.1.1.2.0
    On the website that I develop we make use of a few JSP segments (.jspf extensions). These segments declare variables that are used in the JSPs that include them. In this new version (11.1.1.2.0), those variables are now marked as an error with the message "Name <variableName> not found." In JDev 10.1.3, this was not an issue at all.
    For example, the .JSPF would have:
    String testString = "This is a test";The .JSP that includes the the above segment would make use of that, but testString would be highlighted as an error:
    <html>
      <body>
        <%@ include file = "includedSegment.jspf"%>
        Hello World and <%=testString%>
      </body>
    </html>This is does not cause any problems after deploying the site, but it is a nuisance seeing all the "errors" highlighted when there really isn't anything wrong. Is there a way to fix this problem?
    Thank you.

    This issue still has not been corrected as of JDEV 11.1.2.3.
    If the included fragment (in my example) also includes stylesheets, then the references in that file appear to not be resolved correctly (design time), but work ok at runtime. So, the IDE would show warnings for things like:
    Reference JSPError.jsp not found
    Reference styles/MyApp.css not found
    Reference js/utility.js not found
    Then, the main page would have any errors for any static includes that introduce variables (and call methods on them), and don't have the styles displayed properly. This DEFINITELY worked in JDeveloper 10.1.3.4, as I am in the process of migrating a VERY old application (2002-2003) vintage and noticed all these errors in the JSPs, and corrected all of them in that version of JDEV. Now, in JDEV 11.1.2.3, I have a whole list of errors that shouldn't even appear. The <% @include file="page.jspf" %> directive is not fully functional as it was in the prior version.
    Any help would be appreciated.
    Eric

  • Invalid variable declaration:  object 'TIMESTAMP' must be a type or subtype

    Message 1: ORA-06550: line 91, column 14:
    PL/SQL: ORA-06552: PL/SQL: Compilation unit analysis terminated
    ORA-06553: PLS-488: invalid variable declaration: object 'TIMESTAMP' must be a type or subtype
    ORA-06550: line 89, column 1:
    PL/SQL: SQL Statement ignored
    I'm getting above error message when i'm trying to define one cursor from a table which has a column with data timestamp(3) in a cursor i'm not even using a column with data type timestamp .( this tables i created by importing sybase tables into oracle )
    SELECT to_char(sysdate) -- trunc(act.date_posted)
    INTO v__Data
    from cedb.cr_ar_debit_activity act
    where rownum < 2 ;
    for testing purpose i even removed the cursor and make it shor to above query then also it dosent work and gave the above error . if you know the solution then please let me know . i think i've to do/change database settings but i'm not sure .

    the above code is not working but the following code is working if i open cursor from assiging select to variable , why this is happening .
    DECLARE
         v_A_REPORT_DT VARCHAR2(100);
    ls_sel VARCHAR2(900);
    i INTEGER := 1;
    TYPE dynamic_cur IS REF CURSOR;
    tb_test_cur dynamic_cur ;
    TYPE array_date_type IS TABLE OF DATE INDEX BY PLS_INTEGER;
    v1 array_date_type ;
    BEGIN
         v_A_REPORT_DT := '01-01-2007'/* VARCHAR2(2000) */;
    -- this one is not working
    SELECT to_char(sysdate) -- trunc(act.date_posted)
    INTO v_A_REPORT_DT
    from cedb.cr_ar_debit_activity act
    where rownum < 2 ;
    ls_sel := 'SELECT trunc(act.date_posted)
    from cedb.cr_ar_debit_activity act
    where rownum < 3 ' ;
    OPEN tb_test_cur FOR ls_sel;
    LOOP
    FETCH tb_test_cur INTO v1(i) ;
    EXIT WHEN tb_test_cur%notfound;
    dbms_output.put_line(to_char(v1(i)));
    i := i + 1 ;
    END LOOP;
    CLOSE tb_test_cur;
    END;

  • URGENT: problem with variable-declaration while precompiling

              Hi,
              i got a problem while precompiling my webapplication.
              i got some jsp-pages, each containing following code
              <%@ include file="/header.jsp" %>
              <% button = true; %>
              [...some code...]
              <%@ include file="/footer.jsp" %>
              The variable 'button' is defined in header.jsp and
              evaluated in footer.jsp. When i run through my application without precompiling
              it, there appear NO errors, but when i try to precompile my pages, the jsp-compiler
              reports an error in footer.jsp, because in footer.jsp is the 'button'-Variable
              used, but not defined and not included (because all other pages include footer.jsp)
              How can I tell the jsp-Compiler not to check for variable declarations, or what
              else can i do to work around this problem ?
              thanks,
              Dirk Bade
              

    Thanks for the sample. Changed it to look this way. Still getting the error message from above. Any clue?
    [ BTW: you can see the auto-fixits that Netbeans used to resolve the exception thrown errors from earlier.  Ugly ... I used Netbeans for the ease of interface generation, but I am spending a lot time chasing down little stuff like this. ]
    public class DesktopApplication1View extends FrameView {
        public DesktopApplication1View(SingleFrameApplication app) throws PortInUseException, UnsupportedCommOperationException, IOException, NoSuchPortException {
            super(app);
          initComponents();  //interface code follows this until the variables below ...
            String      defaultPort = "/dev/ttyS0";
            String      portName;
            ByteBuffer  asciiBytes = null;
            CommPort    commPort = null;
            byte[] h = new byte[asciiBytes.capacity()];
            asciiBytes.get(h, 0, h.length);
            CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(defaultPort);
                System.out.println("Default port" + defaultPort + "found.");
            if ( portIdentifier.isCurrentlyOwned() )
                System.out.println("Error: Port is currently in use");
            try {
                 commPort = portIdentifier.open(this.getClass().getName(), 200);
            } catch (NoSuchPortException e) {
            System.out.println("Whoops! Cannot identify the port.");
            }

  • How to find how much memory used by particular procedure or function.

    Hi,
    How can we find out memory used by particular procedure or function?
    If procedure or function is called many times in particular interver, wil it be cached in memory?
    and how will it affect performance?
    what type of pl/sql statement will take more time than normal sql statement?

    Hi
    There are several different memory issues to consider:
    - the code itself (stored in the shared pool)
    - simple variables defined in the code
    - complex variables (eg VARRAY, TABLE etc)
    There's a helpful note on PL/SQL profiling here - http://www.oratechinfo.co.uk/tuning.html - which mentions how to measure memory use (session PGA and UGA - that's program and user global areas)
    You can find out more about shared pool memory structures here - http://download-east.oracle.com/oowsf2005/003wp.pdf.
    Calling a function many times - yes, the function code will be cached (if possible). Session state (for a package) will also be retained (ie global package variables).
    If many users call the same function, there will be one copy of the code but many copies of the private state.
    Finally: PL/SQL statements that can take a long time include:
    - anything that does heavy processing inside a tight loop;
    - anything that waits (select for update; read from a pipe or dequeue from AQ etc)
    Probably the most common mistake is to use PL/SQL for relational processing that can be done from SQL itself (eg writing nested PL/SQL loops to join data that could have been queried in a single SQL statement. Try to minimise context switches between PL/SQL and SQL:
    - use bulk collect where possible
    - use set operations in SQL
    Good luck, HTH
    Regards Nigel

  • Class variable declaration

    Hello.
    Just looking through some code and I see a class variable declared as so...
    static final MessageDigest digestFunction;
    static { // The digest method is reused between instances to provide higher entropy.
            MessageDigest tmp;
            try {
                tmp = java.security.MessageDigest.getInstance(hashName);
            } catch (NoSuchAlgorithmException e) {
                tmp = null;
            digestFunction = tmp;
        }I have never come accoss a variable being declared in this way and it looks strange. The use of static before the opening brace is strange to me, and just the fact that this is not inside the constructor. Would this code be run after or before code inside the class constuctor?
    Thanks for any help, just a little confused!

    Sir_Dori wrote:
    Ah yes, of course it could not be within the constructor as it is static, sorry.
    So when would the class be loaded? Could this be the first time the ClassName.staticBlockVar is accessed, Most likely, yes. The first time something else uses the class. Classloading in Java is lazy.
    Also, is the code not reevaluated every time it is referenced ?No. Only when the class is loaded (actually, when it's initialized, but usually it boils down to the same thing)
    You can write some simple tests for this, by writing a constructor and a static initializer, then instantiating it twice, for example. Don't be afraid to just play around with code to test assumptions. I find JUnit very handy for experimenting with assumptions.

  • How to go to java section global variable declaration

    Hi all
    i am following this scenario
    http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3417100)ID0446700150DB10376299506581707969End?blog=/pub/wlg/11287
    in this scenario 3rd screen shot is about global variable declaration:
    In order to build the content of the attachment (for this particular requirement) we use a global variable declared and initialized in the global sections :
    can any body tell me how to go to this java section screen , as i am unable to find this java screen....
    Thanks
    sandeep

    even i cant see this edit java section
    i am working on PI 7.1. has this feature been removed in pi 7.1
    this is replaced in PI7.1 ... check this blog on how to use the "global" variable in PI7.1:
    /people/william.li/blog/2008/02/13/sap-pi-71-mapping-enhancements-series-using-graphical-variable
    Regards,
    Abhishek.

Maybe you are looking for