Confusion about statics

Hello,
Even though, we can use static variables in non-static methods , we are not allowed to use non-static variables in static methods. So Why??
Please expalin...

Even though, we can use static variables in
non-static methods , we are not allowed to use
e non-static variables in static methods. So Why??
Please expalin...A static variable "lives" in the static environment of the class. A non-static variable lives in the environment of an object. The latter could be a called a dynamic variable but it normally isn't.
You actually can access a non-static variable (the dynamic environment of an object) from a static method (the static environment of the class) if you have a reference to the object.

Similar Messages

  • Confused about static thread safe.help me

    sample codes look like follows:
    public static class test
          public static method1(Object obj)
                //some operations  
    }my question is that is method1 is thread safe?

    Thread safety isn't about methods and it isn't about static. It's about being carefully about access to resources which may be accessed by more than one thread, and in particular may be changed by one thread and accessed by another.
    Local variables are always thread safe, and there's no problem about serveral threads executing the same block of code concurently.
    Thread safety is, in particular, about data items that are linked in some way so that there can be problems if one thread updates one piece of data on the basis of an out of date version of another.
    Databases are, generally, designed to cope with that kind of thing.

  • Confusion About "Static"

    If I have
    public class abc
      private static final int x=1;
      public static def()
        final int y=2;
    }Since you can't make y static, and the method is static, does y become static automatically??

    1. static methods are faster as there is no
    polymorphismActually there is polymorphism from a Class P.O.V.
    2. it's nice for helper classes like java.lang.Math
    who have no instances.
    3. They are needed for Objects without public
    constructors (think Factory, Singleton, etc)The main reason for static methods (class methods) is to provide methods that are not instance specific. As phohmeyer mentioned classes like java.lang.Math have no instances because the needed funcitonality is provided by the class itself. There is nothing about the Math class that will change from instance to instance, so there is no need to ever instanciate one and use instance methods.
    Think about the following:public class MyFirstClass extends Object{
      static public void main(String[] args){
        System.out.println("Hello World.");
    }Normally, when you thing about using objects, you have to create one. However, how would you use MyFirstClass if it is the entry point of the system? In other words, where would you create an instance of MyFirstClass if your intent is to run MyFirstClass from the command prompt? Making main() a static (and public) method allows it to be called without creating an instance of MyFirstClass.
    Likewise, the line that prints "Hello World." is making use of a static member. Note, an instance of System is never created. However, you are still allowed to access the output stream of System becasue out belongs to the class (that is, it exists as long as the class exists).

  • Swamped and confused about products

    Hi guys,
    I am new to Oracle middleware products. After looking at a few articles, I am swamped and confused about those products, WebCenter (WC), Content Server (CS), Universal Content Management (UCM).
    1. WC has a built-in content database, part of Oracle database. CS also stores contents into Oracle database. Then what are differences between two types of content storage? Can I build WebCenter with Content Server as the content storage?
    2. WebCenter provides management functions on content. So does UCM. Users could contribute, review and release contents to web via both. Then what are differences between two types of content management? What more does UMC provide than the built-in content management in WC.
    3. Content Server needs a third-party web server (port:80) to publish its content. WebCenter Suite seems use Oracle HTTP Server (port:7777) to render web pages. Is it possible to integrate those two on one web server? Why is Oracle HTTP Server using a weird port?
    4. JDeveloper has the built-in OC4J container. But how can JDeveloper access or interact with Content Server or WC content database? Site Studio can access Content Server directly but only provides very limited portlet or ajax components. If I want to store web pages, static or dynamic, into WC and/or CS, which tool should I use?
    Can anybody help me with them? Or please point me to the right direction. I really appreciate it.
    thanks,
    Chen

    Plug it in and use the Transfer Purchases function, either from the resulting dialog box or from the File menu. If you need to authorize the computer, choose it from the Store menu.
    (65603)

  • Confusion about TreeMap

    Hi,
    I'm currently studying for SCJP exam and am confused about the following code.
         public static void main(String[] args) {
         TreeMap myMap = new TreeMap();
         myMap.put("ab", 10);
         myMap.put("cd", 5);
         myMap.put("ca", 30);
         myMap.put("az",20);
         NavigableMap myMap2 = myMap.headMap("cd", true);
         myMap.put("bl",100);
         myMap.put("hi",100);
         myMap2.put("bi", 100);
         System.out.println(myMap.size() + " " + myMap2.size());
         }When I run it, it outputs 7 6.
    What I'm confused about is how when after the line NavigableMap myMap2 = myMap.headMap("cd", true);and values are being entered into the myMap object, that it is still possible for them to be entered in the NavigableMap object? Are the 2 entities not seen seperately? Is it to do with the "inclusive" field of the headMap method.
    The solution states that the myMap contains the objects "ab","cd","ca","az","b1","h1","bi"
    and myMap2 "ab","cd","ca","az","b1","bi".
    But how when adding key-value pairs do both objects (myMap,myMap2) get considered for putting into?
    Thanks.

    From the API:
    headMap
    public NavigableMap<K,V> headMap(K toKey,
    boolean inclusive)
    Description copied from interface: NavigableMap
    Returns a view of the portion of this map whose keys are less than (or equal to, if inclusive is true) toKey. The returned map is backed by this map, so changes in the returned map are reflected in this map, and vice-versa. The returned map >supports all optional map operations that this map supports. So myMap2 contains all the elements from myMap that are <= "cd" (which are all except "hi"), and changes in either map are reflected on both, as stated.

  • Confused about how to display a rectangle on JFrame

    i'm a little confused about how to display a rectangle on a jframe.
    I know there is a class called Rectangle. is there a way to use it to display a rectangle on a JFrame? i couldn't find a way to do that.
    i found a way to display a rectangle in the internet:
    CODE:
    public class RectangleFrame extends JFrame {
        public RectangleFrame() {
            super("My Rectangle");
            setSize(300,400);
            setLocation(300,300);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            JButton button = new JButton("Button");
            JPanel panel = new JPanel();
            panel.add(button);
            getContentPane().setLayout(new BorderLayout());
            getContentPane().add(new Rect(), BorderLayout.CENTER);
            getContentPane().add(panel, BorderLayout.SOUTH);       
            setVisible(true);
        public static void main(String[] args) {
            new RectangleFrame();
    public class Rect extends JComponent {
        public void paint(Graphics g) {
            g.drawRect(50,50,200,200);
    }is this the only way to do that? isn't there an easier way? do i have to write this new class Rect i wrote?
    i don't really know how this Rect class i wrote works. could someone explain?
    then another question: can i put a rectangle on a JPanel or do i have to add it directly onto the ContentPane as i did above?
    i hope everything i asked is clear enough.
    thanks for your effort.

    Take a look at the 2D graphics tutorial:
    http://java.sun.com/docs/books/tutorial/2d/index.html

  • I am confused about something.  How do I read a book on my MacBook Pro?  I can't find the iBook app anywhere, which is what I use on my iPad.  The book I want to read is in my iTunes but I can't click on it.  My iBook library does not show up in iTunes.

    I am confused about something.  How do I read a book on my MacBook Pro?  I can't find the iBook app anywhere, which is what I use on my iPad.  The book I want to read is in my iTunes but I can't click on it.  Some of my iBooks show up in my iTunes but they are "grayed" out.  The only books that respond in iTunes are audiobooks and that's not what I'm looking for.  Is this a stupid question?

    Nevermind - I answered my own question, which is I CAN"T READ ANY BOOKS I purchased in iBooks on my MacBook Pro.  If I want to read on my mac I have to use Kindle or Nook.  Which means any book I've already purchased through iBooks has to be read on my iPad.  Kind of a drag because there are times when it's more convenient for me to read while I'm sitting with my Mac.

  • Confuse about the injecting entity in EJB 3.0?

    Hi all,
    I have an customersBean which is inherit from customersRemote and my problem is i' am little confuse about injecting the entity(customer).
    Where can you apply the EntityManagerFactory is it outside on EJB or Inside the EJB? means outside EJB is use the web application or java application. i have and example.
    this is inside on EJB...............
    public class CustomersBean implements com.savingsaccount.session.CustomersRemote {
    @PersistenceContext(unitName="SavingAccounts")
    EntityManagerFactory emf;
    EntityManager em;
    /** Creates a new instance of CustomersBean */
    public CustomersBean() {
    public void create(int id, String name, String address, String telno, String mobileno)
    try{
    //This is the entity.
    Customer _customer = new Customer();
    _customer.setId(id);
    _customer.setName(name.toString());
    _customer.setAddress(address.toString());
    _customer.setTelno(telno.toString());
    _customer.setMobileno(mobileno.toString());
    em = emf.createEntityManager();
    em.persist(_customer);
    emf.close();
    }catch(Exception ex){
    throw new EJBException(ex.toString());
    in web application, i'm using the @EJB in customer servlets.
    public class CustomerProcessServlet extends HttpServlet {
    @EJB
    private CustomersRemote customerBean;
    blah blah inject directly coming request field from jsp.
    }

    Hi all,
    I have an customersBean which is inherit from customersRemote and my problem is i' am little confuse about injecting the entity(customer).
    Where can you apply the EntityManagerFactory is it outside on EJB or Inside the EJB? means outside EJB is use the web application or java application. i have and example.
    this is inside on EJB...............
    public class CustomersBean implements com.savingsaccount.session.CustomersRemote {
    @PersistenceContext(unitName="SavingAccounts")
    EntityManagerFactory emf;
    EntityManager em;
    /** Creates a new instance of CustomersBean */
    public CustomersBean() {
    public void create(int id, String name, String address, String telno, String mobileno)
    try{
    //This is the entity.
    Customer _customer = new Customer();
    _customer.setId(id);
    _customer.setName(name.toString());
    _customer.setAddress(address.toString());
    _customer.setTelno(telno.toString());
    _customer.setMobileno(mobileno.toString());
    em = emf.createEntityManager();
    em.persist(_customer);
    emf.close();
    }catch(Exception ex){
    throw new EJBException(ex.toString());
    in web application, i'm using the @EJB in customer servlets.
    public class CustomerProcessServlet extends HttpServlet {
    @EJB
    private CustomersRemote customerBean;
    blah blah inject directly coming request field from jsp.
    }

  • Confused about logical table source

    Hi,
    I'm confused about logical table source(LTS), there are 'General', 'Column Mapping', 'Content' tabs in
    LTS, in General tab ,there are some information,like 'Map to there tables' and 'joins',
    just here, we have created relationships in physical layer and BMM layer, so I would like to ask what's the use of the 'joins' here?

    Hi Alpha,
    Valid query, when you establish a complex join it is always between a logical fact and dimension table.Consider a scenario,
    Example:w_person_dx is an extension table not directly joined to a fact but joins to a dimension w_person_d.
    When you model the person_d tables in BMM, you ll have a single logical table with w_person_d as source.If you have to pull columns from both w_person_d and w_person_dx tables in a report, you add dx table as inner join to persond table in the general tab.Now when you check your physical query, you can see the inner join fired between the two dimensions.
    Rgds,
    Dpka

  • Confused about transaction, checkpoint, normal recovery.

    After reading the documentation pdf, I start getting confused about it's description.
    Rephrased from the paragraph on the transaction pdf:
    "When database records are created, modified, or deleted, the modifications are represented in the BTree's leaf nodes. Beyond leaf node changes, database record modifications can also cause changes to other BTree nodes and structures"
    "if your writes are transaction-protected, then every time a transaction is committed the leaf nodes(and only leaf nodes) modified by that transaction are written to JE logfiles on disk."
    "Normal recovery, then is the process of recreating the entire BTree from the information available in the leaf nodes."
    According to the above description, I have following concerns:
    1. if I open a new environment and db, insert/modify/delete several million records, and without reopen the environment, then normal recovery is not run. That means, so far, the BTree is not complete? Will that affact the query efficiency? Or even worse, will that output incorrect results?
    2. if my above thinking is correct, then every time I finish commiting transactions, I need to let the checkpoint to run in order to recreate the whole BTree. If my above thinking is not correct, then, that means that, I don't need to care about anything, just call transaction.commit(), or db.sync(), and let je to care about all the details.(I hope this is true :>)
    michael.

    http://www.oracle.com/technology/documentation/berkeley-db/je/TransactionGettingStarted/chkpoint.html
    Checkpoints are normally performed by the checkpointer background thread, which is always running. Like all background threads, it is managed using the je.properties file. Currently, the only checkpointer property that you may want to manage is je.checkpointer.bytesInterval. This property identifies how much JE's log files can grow before a checkpoint is run. Its value is specified in bytes. Decreasing this value causes the checkpointer thread to run checkpoints more frequently. This will improve the time that it takes to run recovery, but it also increases the system resources (notably, I/O) required by JE.
    """

  • Confused about extending the Sprite class

    Howdy --
    I'm learning object oriented programming with ActionScript and am confused about the Sprite class and OO in general.
    My understanding is that the Sprite class allows you to group a set of objects together so that you can manipulate all of the objects simultaneously.
    I've been exploring the Open Flash Chart code and notice that the main class extends the Sprite class:
    public class Base extends Sprite {
    What does this enable you to do?
    Also, on a related note, how do I draw, say, a line once I've extended it?
    Without extending Sprite I could write:
    var graphContainer:Sprite = new Sprite();
    var newLine:Graphics = graphContainer.graphics;
    And it would work fine. Once I extend the Sprite class, I'm lost. How do I modify that code so that it still draws a line? I tried:
    var newLine:Graphics = this.graphics;
    My understanding is that since I'm extending the Sprite class, I should still be able to call its graphics method (or property? I have no idea). But, it yells at me, saying "1046: Type was not found or was not a compile-time constant: Graphics.

    Thanks -- that helped get rid of the error, I really appreciate it.
    Alas, I am still confused about the extended Sprite class.
    Here's my code so far. I want to draw an x-axis:
    package charts {
        import flash.display.Sprite;
        import flash.display.Graphics;
        public class Chart extends Sprite {
            // Attributes
            public var chartName:String;
            // Constructor
            public function Chart(width:Number, height:Number) {
                this.width = width;
                this.height = height;
            // Methods
            public function render() {
                drawAxis();
            public function drawAxis() {
                var newLine:Graphics = this.graphics;
                newLine.lineStyle(1, 0x000000);
                newLine.moveTo(0, 100);
                newLine.lineTo(100, 100);
    I instantiate Chart by saying var myChart:Chart = new Chart(); then I say myChart.render(); hoping that it will draw the axis, but nothing happens.
    I know I need the addChild method somewhere in here but I can't figure out where or what the parameter is, which goes back to my confusion regarding the extended Sprite class.
    I'll get this eventually =)

  • Confused about standby redo log groups

    hi masters,
    i am little bit confuse about creating redo log group for standby database,as per document number of standby redo group depends on following equation.
    (maximum number of logfiles for each thread + 1) * maximum number of threads
    but i dont know where to fing threads? actually i would like to know about thread in deep.
    how to find current thread?
    thanks and regards
    VD

    is it really possible that we can install standby and primary on same host??
    yes its possible and i have done it many times within the same machine.
    For yours confusion about spfile ,i agree document recommend you to use spfile which is for DG broker handling if you go with DG borker in future only.
    There is no concern spfile using is an integral step for primary and standby database implementation you can go with pfile but good is use spfile.Anyhow you always keep pfile on that basis you created spfile,i said you make an entry within pfile then mount yours standby database with this pfile or you can create spfile from this pfile after adding these parameter within pfile,i said cause you might be adding this parmeter from SQL prompt.
    1. logs are not getting transfered(even i configure listener using net manager)
    2.logs are not getting archived at standby diectory.
    3.'ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION' NEVER COMPLETE ITS RECOVERY
    4. when tried to open database it always note it 'always' said system datafile is not from sufficiently old backup.
    5.i tried 'alter database recover managed standby database camncel' also.Read yours alert log file and paste the latest log here..
    Khurram

  • Confused about SOAP

    Hi all,
    As far as I know, SOAP is initially designed to be an XML based
    RPC protocol.
    But Java API for XML Messaging (JAXM), which is actually a
    messaging API (and not RPC), is also based on SOAP.
    How do they fit to each other?
    In a few words, what does actually SOAP define?
    I am confused about that, can you help me?
    Any idea will be appreciated.
    Thank you

    In a few words -- no. Try here:
    http://java.sun.com/webservices/docs/1.0/tutorial/index.html

  • Confused about passing by reference and passing by valule

    Hi,
    I am confuse about passing by reference and passing by value. I though objects are always passed by reference. But I find out that its true for java.sql.PreparedStatement but not for java.lang.String. How come when both are objects?
    Thanks

    Hi,
    I am confuse about passing by reference and passing
    by value. I though objects are always passed by
    reference. But I find out that its true for
    java.sql.PreparedStatement but not for
    java.lang.String. How come when both are objects?
    ThanksPass by value implies that the actual parameter is copied and that copy is used as the formal parameter (that is, the method is operating on a copy of what was passed in)
    Pass by reference means that the actual parameter is the formal parameter (that is, the method is operating on the thing which is passed in).
    In Java, you never, ever deal with objects - only references to objects. And Java always, always makes a copy of the actual parameter and uses that as the formal parameter, so Java is always, always pass by value using the standard definition of the term. However, since manipulating an object's state via any reference that refers to that object produces the same effect, changes to the object's state via the copied reference are visible to the calling code, which is what leads some folk to think of java as passing objects by reference, even though a) java doesn't pass objects at all and b) java doesn't do pass by reference. It passes object references by value.
    I've no idea what you're talking about wrt PreparedStatement, but String is immutable, so you can't change its state at all, so maybe that's what's tripping you up?
    Good Luck
    Lee
    PS: I will venture a guess that this is the 3rd reply. Let's see...
    Ok, second. Close enough.
    Yeah, good on yer mlk, At least I beat Jos.
    Message was edited by:
    tsith

  • PSE 7 confusion about folder location, help needed

    Here's some background: I'm using PhotoShop Elements 7 on Win XP.  I have an external firewire hard drive I use for overflow/backups.  Originally, this showed up as a K: drive on my system.
    I added a RAID controller and two more drives to stripe as a single drive for temp space rendering movies.  This ended up as a K: drive and the external moved to L:  However, when I did this there were some pictures from my catalog that I had on the external drive.  I have used File > reconnect missing files to handle the moves, but PSE is still confused (very).
    PSE has started to mix up the RAID (K:) and external (L:) content.  If I move a set of pictures (e.g. a folder of them) onto the external drive (L:) via drag and drop in the folder location view, the folder will show up empty on the L: heirarchy, but will show up as a gray folder icon in the K: RAID drive hierarchy.  If I open up windows explorer, the RAID drive will appear empty.  In other cases (I'm not sure when/how yet), pictures physically end up on the RAID drive itself instead of the external.  I have uninstalled both the external drive and the RAID drive and reinstalled them both, but they are still getting confused in the folder view by PSE.  I've also tried moving content outside of PSE and just reconnecting missing files, but it still wants to put things under the K: RAID drive instead of the external L:.
    I've searched everywhere I can think of for a description of what gray folder icons in the folder location view means and can find none.  I'm not sure how to convince PSE that there's nothing on the RAID K: drive and it shouldn't try to connect the two.  Any suggestions?
    Thanks,
    Jim

    Thank you!  I ran psedbtool and the output shows the catalog has the wrong drive letter for the L: drive.
    Is there a way to make PSE forget about the K: and L: drives that it is so confused about so that it can relearn of their existence?  If I use the drive letter reassignment to fix PSE, it will break other apps that are now dependent on the current drive letter assignments.  I've tried removing all files from the L: drive, but it's still remembered as part of the catalog.
    Thanks,
    Jim
    psedbtool version 1.07
    Opening catalog C:\Documents and Settings\All Users\Application Data\Adobe\Photoshop Elements\Catalogs\Moms pics\catalog.pse7db
    Photoshop Elements version:      7
    Total files               :   4833
    Total files missing       :      0
    Total files offline       :    278
    Total files wrong volume  :      0
    ****** Volumes with warnings: 1
    PSE Volume Table
    Path used by PSE        : F:
    Type                    : builtin_drive
    Status                  : online
    Total files             : 0
    Total files missing     : 0
    Total files wrong volume: 0
    Description             : MEDIA
    Serial                  : 1C2F-9805
    Drive_path_if_builtin   : F:
    Id                      : 32520
    Path used by PSE        : M:
    Type                    : builtin_drive
    Status                  : online
    Total files             : 938
    Total files missing     : 0
    Total files wrong volume: 0
    Description             : FreeAgent Drive
    Serial                  : 7830-2970
    Drive_path_if_builtin   : M:
    Id                      : 93626
    Path used by PSE        : E:
    Type                    : builtin_drive
    Status                  : online
    Total files             : 0
    Total files missing     : 0
    Total files wrong volume: 0
    Description             : GAMES
    Serial                  : 025A-4B70
    Drive_path_if_builtin   : E:
    Id                      : 93625
    Path used by PSE        : L:
    Type                    : builtin_drive
    Status                  : online
    Total files             : 114
    Total files missing     : 0
    Total files wrong volume: 0
    Description             : FreeAgent Drive
    Serial                  : 60AE-A816
    Drive_path_if_builtin   : K:
    Id                      : 31354
    ***** WARNING *****     : Wrong drive letter in catalog
    Path used by PSE        : \\dmzhost\media
    Type                    : network_drive
    Status                  : offline
    Total files             : 278
    Total files missing     : 0
    Total files wrong volume: 0
    Description             : //dmzhost/media
    Serial                  : //dmzhost/media
    Drive_path_if_builtin   :
    Id                      : 26948
    Path used by PSE        : J:
    Type                    : builtin_drive
    Status                  : online
    Total files             : 3503
    Total files missing     : 0
    Total files wrong volume: 0
    Description             : MEDIA2
    Serial                  : BAC0-B5A3
    Drive_path_if_builtin   : J:
    Id                      : 108
    Path used by PSE        : C:\Documents and Settings\All Users\Application Data\Adobe\Photoshop Elements\Catalogs\Moms pics
    Type                    : database_relative_drive
    Status                  : online
    Total files             : 0
    Total files missing     : 0
    Total files wrong volume: 0
    Description             : database relative
    Serial                  : amoc:database_relative_volume
    Drive_path_if_builtin   :
    Id                      : 2
    Windows Drives
    Drive  Type             Serial     Path
    A:     removable_drive  0000-0000 
    C:     builtin_drive    9088-07F9 
    D:     builtin_drive    F408-1CB0 
    E:     builtin_drive    025A-4B70 
    F:     builtin_drive    1C2F-9805 
    G:     builtin_drive    242D-15ED 
    H:     readonly_drive   0000-0000 
    I:     builtin_drive    427D-3F6B 
    J:     builtin_drive    BAC0-B5A3 
    K:     builtin_drive    64E8-9846 
    L:     builtin_drive    60AE-A816 
    M:     builtin_drive    7830-2970
    Thanks so much for your help!
    Jim

Maybe you are looking for

  • Stutters only in Full Screen...

    Hi, I have a strange problem with qt. Watching h.264 material that is streamed with DSS and encoded with the x264 library in mp4live (have compiled it with tweaked encoding parameters). The bandwidth is fine, the material is between 100 and 400 kbits

  • Error 102 when updating customer in dispute case

    Hi Experts, When I try to edit a dispute case I am getting following error: Error 102 during change to record <CustomerNumber> (Customer). Below is the screen shot. Please help. Thanks and Regards Pankaj Pareek

  • Image to BLOB

    Hi: I want to create a Blob since then one image How I do it??

  • Should pass hints to each and every query

    The platform is Oralce 10g on Linux platform. My manager has asked me to pass hints to each and every query. The reason is that according to him on client side data is updated so frequently that statistics shall become stale, due to which the plan of

  • Labview Runtime-Engine 6.0, welche höhere Version ist Kompatibel?

    Hallo zusammen, Ich habe ein Labview-Vi  (bzw. dieses als .exe) das Ganze wurde mit Labview 6.0 erstellt. Die Runtime-Engine 6 produziert beim Aufruf eventlogwarnung die vom Kunden nicht akzeptiert werden. Nun habe ich Version 8.5 installiert und erh