Java编程思想-毕业论文外文文献翻译.docx
《Java编程思想-毕业论文外文文献翻译.docx》由会员分享,可在线阅读,更多相关《Java编程思想-毕业论文外文文献翻译.docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 Thinking in JavaAlthough it is based on C+, Java is more of a “pure” object-oriented language.Both C+ and Java are hybrid languages, but in Java the designers felt that the hybridization was not as important as it was in C+. A hybrid language allows multiple programming styles; the reason C+ is hyb
2、rid is to support backward compatibility with the C language. Because C+ is a superset of the C language, it includes many of that languages undesirable features, which can make some aspects of C+ overly complicated. The Java language assumes that you want to do only object-oriented programming. Thi
3、s means that before you can begin you must shift your mindset into an object-oriented world (unless its already there). The benefit of this initial effort is the ability to program in a language that is simpler to learn and to use than many other OOP languages. In this chapter well see the basic com
4、ponents of a Java program and well learn that everything in Java is an object, even a Java program.Each programming language has its own means of manipulating data. Sometimes the programmer must be constantly aware of what type of manipulation is going on. Are you manipulating the object directly, o
5、r are you dealing with some kind of indirect representation (a pointer in C or C+) that must be treated with a special syntax? All this is simplified in Java. You treat everything as an object, using a single consistent syntax. Although you treat everything as an object, the identifier you manipulat
6、e is actually a “reference” to an object. You might imagine this scene as a television (the object) with your remote control (the reference). As long as youre holding this reference, you have a connection to the television, but when someone says “change the channel” or “lower the volume,” what youre
7、 manipulating is the reference, which in turn modifies the object. If you want to move around the room and still control the television, you take the remote/reference with you, not the television. Also, the remote control can stand on its own, with no television. That is, just because you have a ref
8、erence doesnt mean theres necessarily an object connected to it. So if you want to hold a word or sentence, you create a String reference: But here youve created only the reference, not an object. If you decided to send a message to s at this point, youll get an error (at run time) because s isnt ac
9、tually attached to anything (theres no television). A safer practice, then, is always to initialize a reference when you create it.However, this uses a special Java feature: strings can be initialized with quoted text. Normally, you must use a more general type of initialization for objectsWhen you
10、create a reference, you want to connect it with a new object. You do so, in general, with the new keyword. The keyword new says, “Make me a new one of these objects.” So in the preceding example, you can say: Not only does this mean “Make me a new String,” but it also gives information about how to
11、make the String by supplying an initial character string. Of course, String is not the only type that exists. Java comes with a plethora of ready-made types. Whats more important is that you can create your own types. In fact, thats the fundamental activity in Java programming, and its what youll be
12、 learning about in the rest of this bookIts useful to visualize some aspects of how things are laid out while the program is runningin particular how memory is arranged. There are six different places to store data: Registers. This is the fastest storage because it exists in a place different from t
13、hat of other storage: inside the processor. However, the number of registers is severely limited, so registers are allocated by the compiler according to its needs. You dont have direct control, nor do you see any evidence in your programs that registers even exist. The stack. This lives in the gene
14、ral random-access memory (RAM) area, but has direct support from the processor via its stack pointer. The stack pointer is moved down to create new memory and moved up to release that memory. This is an extremely fast and efficient way to allocate storage, second only to registers. The Java compiler
15、 must know, while it is creating the program, the exact size and lifetime of all the data that is stored on the stack, because it must generate the code to move the stack pointer up and down. This constraint places limits on the flexibility of your programs, so while some Java storage exists on the
16、stackin particular, object referencesJava objects themselves are not placed on the stack. The heap. This is a general-purpose pool of memory (also in the RAM area) where all Java objects live. The nice thing about the heap is that, unlike the stack, the compiler doesnt need to know how much storage
17、it needs to allocate from the heap or how long that storage must stay on the heap. Thus, theres a great deal of flexibility in using storage on the heap. Whenever you need to create an object, you simply write the code to create it by using new, and the storage is allocated on the heap when that cod
18、e is executed. Of course theres a price you pay for this flexibility. It takes more time to allocate heap storage than it does to allocate stack storage (if you even could create objects on the stack in Java, as you can in C+). Static storage. “Static” is used here in the sense of “in a fixed locati
19、on” (although its also in RAM). Static storage contains data that is available for the entire time a program is running. You can use the static keyword to specify that a particular element of an object is static, but Java objects themselves are never placed in static storage. Constant storage. Const
20、ant values are often placed directly in the program code, which is safe since they can never change. Sometimes constants are cordoned off by themselves so that they can be optionally placed in read-only memory (ROM), in embedded systems. Non-RAM storage. If data lives completely outside a program, i
21、t can exist while the program is not running, outside the control of the program. The two primary examples of this are streamed objects, in which objects are turned into streams of bytes, generally to be sent to another machine, and persistent objects, in which the objects are placed on disk so they
22、 will hold their state even when the program is terminated. The trick with these types of storage is turning the objects into something that can exist on the other medium, and yet can be resurrected into a regular RAM-based object when necessary. Java provides support for lightweight persistence, an
23、d future versions of Java might provide more complete solutions for persistenceOne group of types, which youll use quite often in your programming, gets special treatment. You can think of these as “primitive” types. The reason for the special treatment is that to create an object with newespecially
24、 a small, simple variableisnt very efficient, because new places objects on the heap. For these types Java falls back on the approach taken by C and C+. That is, instead of creating the variable by using new, an “automatic” variable is created that is not a reference. The variable holds the value, a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 编程 思想 毕业论文 外文 文献 翻译
限制150内