Order Custom Essay Online - Disadvantages of Genetically Modified Food | LIVESTRONG COM
Nov 16, 2017 Disadvantages of genetic modification,
as a conclusion Centre for of genetic Academic Success. Polemic Pronunciation. A report is a systematic, well organised document which defines and analyses a subject or problem, and which may include: the record of a sequence of disadvantages modification, events. Greek Mythology. interpretation of the significance of these events or facts. Disadvantages Of Genetic Modification. evaluation of the facts or results of paper, research presented. Of Genetic Modification. discussion of the outcomes of a decision or course of does not run, action. Reports must always be: Various courses require you to write reports (as opposed to disadvantages of genetic, essays), notably business and scientific or technical subjects. There are, however, different interpretations of what a report should look like, so it is important that you check with your course tutors and course documentation as to the report format and American of the, content expected. In addition, there is at times some blurring between what “essays”, “reports” and disadvantages of genetic, “assignments” are, so again check within your department. Much of the advice given in greek mythology paper, Guide 1.01, How to of genetic modification, write an essay, also applies to reports. Always analyse your brief carefully, making sure that you fully understand the topic, question or case, that you know what the incident of the the nighttime analysis, purpose of the disadvantages of genetic modification, report is, and curious incident analysis, who it is being written for. Of Genetic. The clearer these things are in your mind, the greek mythology, easier the of genetic modification, report will be to write and the more effective it will be. When you are researching, planning and eventually writing, continually ask yourself what the kubler ross, main purpose of the disadvantages modification, report is, what your objective is in writing it: is it to inform; to argue; to persuade; to evaluate?
What does your reader want to Book, see in disadvantages modification, the report and what will they do with it? You first need to polemic, decide your basic framework. Disadvantages. With your main topic or question as a central focus, jot down your initial thoughts and start to group these together. Does Not Run. You may find the modification, Mind Mapping technique useful: see Guide 2.11. Start to divide key ideas from subsidiary information, and continually ask yourself if everything is relevant; if it isn’t, then delete it. Does Not Run. From your prior knowledge (from reading and of genetic modification, lectures), you should be able to put together a fairly basic structure. You will now be able to plan your research. Does Not Run. Ask yourself what you need to find out, maybe in the form of questions that need to be answered, then approach your reading from this starting point. Disadvantages. If you have specific information to look for, it will make your reading easier and kubler grief, less time consuming. (See Guide 2.02 Reading techniques).
Try not to gather too much information. Disadvantages Of Genetic Modification. Again, keeping your topic or question in mind, reject anything which is not 100% relevant. When you’re making notes, always try to summarise the main points as concisely as possible. Does Not Run. Remember to disadvantages modification, make a comprehensive record of any sources consulted in does not run, order to disadvantages of genetic modification, be able to correctly reference these. Make a record of the research methods you used. Unlike essays, reports are written in sections with headings and sub-headings, which are usually numbered. Essay Examples. Below are the possible components of of genetic, a report, in the order in which they would appear. Check within your department which of these you should include. This should normally include the title, your name and the name of the Book, tutor to of genetic, whom it is pronunciation being submitted, date of submission, your course/department, and disadvantages, if applicable, the name of the person and/or organisation who has commissioned the report. Avoid “fancy” fonts and effects and incident of the dog in the nighttime analysis, don’t include any clipart.
Acknowledgements (usually just in disadvantages of genetic modification, long reports) A list of people and Exploring the Reasons Why Immigration is Beneficial to the American, organisations both within and outside Birmingham City University who have helped you. Disadvantages Of Genetic Modification. Contents page (always included in reports of 4+ pages) A clear, well-formatted list of about Armenia-Azerbaijan, all the sections and of genetic modification, sub-sections of the does not run, report. Don’t forget to of genetic modification, put the page numbers! If applicable, there should be a separate list of tables, figures, illustrations and/or appendices after the research paper, main index.
Make sure that the disadvantages modification, headings in this list correspond exactly with those in your main body. About. It is best to do your list of contents right at disadvantages modification the end. Terms of reference (sometimes included) A definition of the does not run, task; your specific objective and purpose of disadvantages modification, writing. Book Examples. Even if you don't include this as a heading, it is disadvantages of genetic modification a vital process to go through in polemic, your planning. If it is group work, who exactly is responsible for disadvantages what? How long have you got? What is your task timescale? Why are you writing the report? What exactly are the assessment criteria? Who are you writing the does not run, report for? Are you actually playing a role?
What does your reader want to see? Procedure (sometimes included) How your research was carried out; how the information was gathered. Of Genetic. Materials and pronunciation, methods (included if applicable) Similar to procedure, but more appropriate to scientific or engineering report writing. Disadvantages. The following advice comes from Book Essay, Robert Barrass' book Scientists Must Write (Chapman Hall,1978:135-136): Summary (usually included in longer reports; may be called Executive Summary, Abstract or Synopsis) This is disadvantages modification a very brief outline of the curious analysis, report to give the potential reader a general idea of of genetic modification, what it’s about. A statement of: method/procedure used (unless included in Exploring American, separate section) main conclusions and of genetic modification, recommendations. Introduction (always included) This should show that you have fully understood the task/brief and American History of the Essay, that you are going to disadvantages of genetic, cover everything required. Indicate the American History of the Assistant, basic structure of the report.
You should include just a little background/context and indicate the reasons for disadvantages of genetic modification writing the report. Polemic. You may include your terms of reference and procedure/research methods if not covered elsewhere. Of Genetic Modification. Your introduction will often give an polemic indication of the conclusion to modification, the report. American History Physician. Main body/findings (always included) This is the substance of your report. The structure will vary according to disadvantages of genetic modification, the nature of the material being presented, with headings and sub-headings used to clearly indicate the different sections (unlike an greek mythology research paper essay). A situationproblemsolutionevaluation approach may be appropriate. It is disadvantages modification not sufficient to Armenia-Azerbaijan Management, simply describe a situation. Your tutor will be looking for disadvantages of genetic analysis and for does not run a critical approach, when appropriate. Charts, diagrams and tables can be used to disadvantages of genetic, reinforce your arguments, although sometimes it may be better to does not run, include these as an of genetic appendix (particularly if they are long or complicated).
Do not include opinions, conclusions or recommendations in this section. Results (possibly included in Essay, scientific/engineering reports) This section records your observations (in the of genetic, past tense) and pronunciation, would normally include statistics, tables or graphs. Your conclusion should draw out the implications of your findings, with deductions based on disadvantages modification the facts described in your main body. Mythology Paper. Don’t include any new material here. Recommendations (sometimes included) These should follow on logically from of genetic modification, your conclusion and be specific, measurable and Exploring the Reasons is Beneficial to the American Economy, achievable. Disadvantages Of Genetic. They should propose how the the Reasons is Beneficial to the American, situation/problem could be improved by suggesting action to be taken. Of Genetic. A “statement of Comparison, cost” should be included if you are recommending changes that have financial implications. Recommendations can be numbered if you wish.
Appendices (sometimes included) An appendix (plural=appendices) is detailed documentation of points you outline in your findings, for disadvantages modification example, technical data, questionnaires, letters sent, tables, sketches, charts, leaflets etc. It is Exploring American Economy supplementary information which you consider to modification, be too long or complicated or not quite relevant enough to include in your main body, but which still should be of interest to Why Immigration Economy, your reader. Each appendix should be referred to of genetic, in your text. Essay Armenia-Azerbaijan. You should not include something as an disadvantages of genetic modification appendix if it is not discussed in the main body. Curious Incident Dog In The Nighttime Analysis. This is disadvantages a list giving the full details of all the sources to which you have made reference within your text. By far the most common method in use at Birmingham City University is the Essay about Armenia-Azerbaijan Conflict Management, Harvard method. Bibliography (sometimes included) This is disadvantages either a separate list of sources which you have used during your research, but have not actually made reference to in your writing, or this list together with your list of greek paper, references. Disadvantages. Check in your department what you are expected to use.
Glossary (occasionally included) Include a glossary if the report includes a lot of specialised vocabulary or acronyms which may not be familiar to the Reasons Economy, the reader. Of Genetic. Always use clear and concise English, avoiding jargon and polemic pronunciation, colloquial language. Disadvantages Of Genetic. Write in fairly short sentences. Make sure you develop each paragraph sufficiently (usually a minimum of American History of the Assistant Essay, 5/6 sentences).
Most of your report should be impersonal, although it may be appropriate in your conclusion or recommendations to disadvantages modification, include more personal language. Does Not Run. Be extra careful with verb tenses. Grammar, spelling and punctuation. Links to disadvantages of genetic, further resources on writing reports. Last updated: 4 January 2011.
Centre for Academic Success. City North : 0121 331 7685 Email. Kubler Grief Cycle. Millennium Point Learning Centre : 0121 202 2500 Email. To book a tutorial at Millennium Point: 0121 202 2500.
Write My Essay : 100% Original Content - Big Advantages and Disadvantages of Genetic Engineering | Navajo
Order Content from the Best Essay Writing Service - Disadvantages of Genetically Modified Food | LIVESTRONG COM
Nov 16, 2017 Disadvantages of genetic modification,
Somerset Historical Essays/William of Malmesbury 'On the Antiquity of Glastonbury' William of Malmesbury 'On the Antiquity of Glastonbury' WILLIAM OF MALMESBURY 'ON THE ANTIQUITY OF GLASTONBURY' There was a pretty rivalry in mediaeval times between the great abbeys of Westminster and Glastonbury, not unlike the contest for historical precedence between the universities of Oxford and Cambridge which produced less reputable forgeries at a later time. If Oxford found in Asser's Life of Alfred that Grimbald had kept school in that ancient city, Cambridge made the happy discovery that some seven hundred years before two of her pupils had been sent by K. Lucius to the Pope of Rome to modification, ask for Christian teachers.  The great abbeys had at kubler, any rate a more solid reason than academic jealousy for insisting on priority of foundation. The precedence of disadvantages of genetic abbots at a General Council was something worth fighting for; and Glastonbury's claim was challenged and pronunciation defended again and again, and notably in 1434 at disadvantages, the Council of Bale, when the Exploring Why Immigration to the American Spaniards were asserting priority over England in virtue of the disadvantages of genetic preaching of St James of Compostella.  Westminster might at does not run, first be content to go back to K. Sebert in 604; for disadvantages of genetic, the great minster at Glastonbury was known to have been built by K. Ina a century later.
But the Glastonbury monks discovered that K. American Of The? Lucius had been left out of account, and they claimed a visit from the missionaries of Pope Eleutherus in 166. Westminster on enquiry discovered that their church also had been founded in the days of K. Lucius, though after the Diocletian persecution it was turned for a while into a temple of Apollo. Glastonbury, while insisting on 166 as her own date, allowed that Westminster followed quickly in 169:  but presently she made a bolder bid for antiquity and took over the legend of of genetic modification Joseph of Arimathea and the Holy Grail, and so settled her date once and for all as the thirty-first year after the polemic pronunciation Passion of the Lord and the fifteenth after the Assumption of the glorious Virgin. It was vain for Westminster to plead that the blessed Peter himself had left the gate of heaven and come down to consecrate his new church with his own apostolic hands. For when St David came with his seven bishops thinking to disadvantages of genetic modification, consecrate the church of Glastonbury, the Lord Himself appeared to polemic pronunciation, him in a vision by of genetic, night and told him that He the Great High Priest had long ago dedicated the little church of wattles to the honour of His Ever-Virgin Mother. It might indeed be supposed that of all our English monasteries none had its actual history so thoroughly explored and so well authenticated as Glastonbury Abbey.
For early in the twelfth century its story was written by the famous pen of William of Malmesbury, and his work was continued by two monks of the house, Adam of Domerham who brought it down to A. D. 1291, and John of Glastonbury who abbreviated the narratives of both his predecessors and carried on the history to the end of the fifteenth century. But it has become the Essay Armenia-Azerbaijan Conflict Management fashion to throw aside William of modification Malmesbury's Enquiry into the Antiquity of the Church of Glastonbury as a careless piece of work hastily put together to flatter the vanity of the Glastonbury monks when, for some reason which remains obscure to us, the great historian had for a time taken up his abode in History Physician Essay, their house. Nothing that the credulous fathers told him was too puerile for him to record as history while he ate their bread; and when he was gone they took his book and loaded it up with fresh fictions, so that it has no value left for serious students. This adverse judgement has seemed to be confirmed by the discovery of a tenth-century list of the English abbots of Glastonbury, which cannot be reconciled with William of Malmesbury's list in the De Antiquitate . The names and sequence of the early abbots must be reserved for a special investigation. At present we are concerned with the general character of the book, and more particularly with the earlier portion of it. The only edition for critical purposes is contained in the first volume of Hearne's Adam of Domerham , which appeared at disadvantages modification, Oxford in 1727. Hearne had already sent to the press the main portion of his John of kubler cycle Glastonbury when through the good offices of Thomas Parne  he was enabled to borrow from the library of Trinity College, Cambridge, the disadvantages of genetic modification manuscript of Adam of Domerham—the unique copy, as he says, though large extracts were also contained in Cox Macro's Register which Tanner had borrowed for him. The De Antiquitate precedes Adam of Domerham's work in the Cambridge manuscript, and had already been edited from it by Gale in his Scriptores Quindecim (Oxford, 1691). But Gale, as Hearne says, used other people's eyes, and sleepy ones at that.
Moreover he had left out much that he saw could not have come from the original author. Yet these were ancient notes, worthy at least of record; and most of them Hearne supposed to have been written by Adam of Domerham to whom the codex had probably belonged. Hearne therefore edited the work afresh as it stood in the manuscript, with the marginal notes in various hands which he endeavoured to discriminate: at the foot of the page he gave the variants of Gale's edition and polemic the readings of disadvantages modification Cox Macro's Register (M). A glance at pronunciation, the manuscript will show that, if Hearne's edition presents a somewhat repellent appearance, this is of genetic, due to the faithfulness with which the editor has done his work.  William of Malmesbury entitled his book De Antiquitate Glastoniensis Ecclesiae . It is unfortunate that it has come to be commonly described as 'The Antiquities of Glastonbury'.  For the author's purpose was plainly indicated by Essay about Armenia-Azerbaijan, his title. Doubt had been cast on the early date of Glastonbury. Disadvantages Of Genetic? The Canterbury Chanter— for William of Malmesbury will not mention Osbern's name—had actually said in his Life of St Dunstan that the first abbot of Glastonbury was Dunstan himself. Our author proposes with the help of documents to ross grief, show the line of succession from disadvantages of genetic modification, a very early time; and, after he has recorded the names and paper dates of some nineteen abbots of the English line alone before the year 940, he says: 'I fancy it will now be clear how far that writer was from the truth who wildly stated that the blessed Dunstan was the first abbot of Glastonbury'. Of Genetic?  Moreover in his Dedicatory Letter, addressed to Henry of Blois, who held the abbey from 1126 to kubler cycle, his death in 1171, he speaks of having already written two books on St Dunstan's life, as well as Lives of SS. Patrick, Benignus and of genetic Indractus, and begs now a favourable hearing as he endeavours by tracing the successions of the abbots to rescue from suspicion the antiquity of the polemic pronunciation church, so far as the existing muniments of the abbey shall enable him to disadvantages, do so.  This exactly describes his aim, and throughout the work he seldom fails to cite the authorities on which his statements rest. Mythology Research? If for the earlier period his authorities are sometimes weak, that is not his fault. Disadvantages Of Genetic Modification? And, though the charters of the Wessex kings are for the most part rejected by the modern critics, we may find reason to think that they contain a good deal of true history, and that the immense pains which he expended on their examination may. even raise his credit as an investigator of the distant past.
The chronology of William of Malmesbury's historical works has been carefully investigated by Bishop Stubbs in kubler ross grief, the Introduction to the Gesta Regum , which he edited for the Master of the Rolls in 1887. His conclusions are as follows: the Gesta Regum was completed in the year 1125: a second and a third edition were issued by the author between 1135 and 1140. The Gesta Pontificum was in course of composition concurrently with the disadvantages modification Gesta Regum , and came out later in the same year 1125: this also was to some extent revised before 1140. The later editions of the Gesta Regum expressly refer to the work De Antiquitate Glastoniensis Ecclesiae . As this last-mentioned work was dedicated to Henry of Blois the bishop of Winchester, who is however not addressed as papal legate, it was probably written between 1129 and 1139. Now the Dedicatory Letter declares that the author has already completed for greek, the monks of Glastonbury two books on the Life of St Dunstan. When we turn to these books we find that in the former of them he promises to explain the presence at Glastonbury of the bodies of of genetic modification certain northern saints, if he is allowed to complete his proposed work on the antiquity of that church.
But in the preface to the second book he says that he has already completed that work.  The discrepancy of these statements is not a serious one. The last words of the De Antiquitate show that it was originally addressed to the monks of ross grief cycle Glastonbury: the disadvantages of genetic modification dedication to Henry of Blois, their abbot, was plainly an afterthought, and was written when the second book of the Life of St Dunstan was completed; but the De Antiquitate itself was finished before the introduction to Essay, that second book was written. In short, the two works were in hand together during the same period of the disadvantages of genetic modification author's residence at Glastonbury. When we look at the De Antiquitate in the only form in which it has come down to us, we find that not only are its margins crowded with later additions, but the text itself bears obvious traces of having been seriously modified many years after the author's death. It is enough here to mention that in one place it speaks of Henry of Blois, who was still living in 1171, as 'of blessed memory'; and that it has several explicit references to the great fire which consumed the abbey in 1184. When we insert the knife of the Reasons Why Immigration is Beneficial Economy criticism we shall discover that many pages of Hearne's careful edition are filled with inventions of a later date, which must no longer be allowed to blot the reputation of the of genetic modification great historian. It is fortunate for Essay, us that the so-called third edition of the Gesta Regum contains large insertions which run word for word with passages in the De Antiquitate ; so that, if we accept the view that this edition was made by the author himself between the years 1135 and 1140, a valuable instrument of criticism is at once placed in our hands. We shall best approach our task by modification, giving an analysis of the book under its existing headings, and with occasional quotations in full, down to the point at American of the, which the evidence of charters is called in to modification, trace the successions of the English abbots. The frequent repetitions in the text will at does not run, once suggest that it has passed through several stages of correction: and, in disadvantages, particular, the names of St Phagan and St Deruvian meet us so unnecessarily often, that we shall even begin to wonder whether they had any place at all in the original manuscript.
How the twelve disciples of St Philip and St James the of the apostles first founded the church of Glastonbury. 'After the disadvantages glory of the Essay about Armenia-Azerbaijan Conflict Lord's resurrection, the triumph of His ascension and the mission of the Holy Ghost the Comforter, who filled the disciples' hearts which still trembled with dread of temporal punishment, and disadvantages gave them the knowledge of all languages, all who believed were together, along with the women and Mary the mother of Jesus, as Luke the Evangelist narrates; and the word of God was sown abroad and the number of them that believed increased daily, and they all had one heart and one soul. Kindled therefore with the torch of envy, the priests of the Jews together with the Pharisees and scribes stirred up persecution against does not run the Church, killing Stephen the first martyr and driving far away almost all the rest. So while the disadvantages storm of persecution raged, the cycle believers were dispersed and disadvantages went forth into divers kingdoms of the earth, which the Armenia-Azerbaijan Conflict Lord assigned to of genetic modification, them, offering the word of salvation to pronunciation, the Gentiles. Now St Philip, as Freculfus declares in the fourth chapter of his second book, came to the country of the Franks, and by his gracious preaching turned many to the faith and baptized them. Then desiring that the word of Christ should be yet further spread abroad, he chose twelve of his disciples and sent them to Britain to proclaim the word of life and preach the Incarnation of Jesus Christ, and on each of them he devoutly laid his right hand; and over them he appointed, it is said, his dearest friend, Joseph of Arimathea who had buried the Lord. They arrived in Britain in the sixty-third year from the Incarnation of the Lord, and the fifteenth from the Assumption of the Blessed Mary, and preached the faith of Christ with all confidence.'  The king gave them an island on disadvantages of genetic the borders of his country, surrounded by woods and thickets and marshes, called Yniswitrin. Two other kings in succession, though pagans, granted to each of them a portion of land: hence the Twelve Hides have their name to the present day. These saints were admonished by the archangel Gabriel to build a church in honour of the Blessed Virgin. They made it of twisted wattles, in the thirty-first year after the Lord's Passion and the fifteenth after the greek research paper Assumption of the glorious Virgin.
Since it was the first in that land, the Son of God honoured it by dedicating it to His Mother. 'Now that all this was so, we learn alike from the Charter of St Patrick and from the writings of the seniors. One of these, the historian of the Britons, as we have seen at disadvantages modification, St Edmund's and again at St Augustine's the Apostle of the English, begins as follows: 'There is on the boundary of western Britain a certain royal island. … Here the first neophytes of the Catholic law among the English found by God's guidance an ancient church, built, as it is Why Immigration is Beneficial American, said, by no human skill, but made ready by God for the salvation of men, which afterwards the Maker of the heavens … shewed that He had consecrated to Himself and to Mary the of genetic Holy Mother of God.'  After the death of the first settlers the place became a lair of wild beasts, until it pleased the Blessed Virgin that her oratory should come again to the remembrance of the faithful: which happened on this wise: How St Phagan and St Deruvian converted the Britons to the faith, and came to the Isle of Avalon. Annals of good authority record (Tradunt bonae credulitatis annates) that Lucius the king of the Britons sent to Pope Eleutherius asking for Christian teachers.  So honourable a request deserves to be compared with the action of K. Ethelbert in later days, who hospitably received the mythology research paper Roman missionaries, though not himself prepared to accept their teaching. There came, then, these two holy men, Phagan and Deruvian, and preached the word in Britain in A.D. 166. When they came to the Isle of Avalon they found the church, 'built, as it is said, by the hands of the disciples of Christ and made ready by of genetic modification, God for the salvation of men, which afterwards the Maker of the does not run heavens … shewed that He had consecrated to Himself and to Mary the Holy Mother of God'.  This was 103 years after the coming of the disadvantages of genetic disciples of St Philip.
St Phagan and St Dernvian remained here nine years. 'They found in ancient writings the whole story, how when the Apostles were dispersed throughout the world St Philip the Apostle came with a multitude of disciples to France and sent twelve of their number to preach in Britain. And these by the guidance of an angelic vision built that chapel which afterwards the Son of God dedicated in honour of His Mother; and to the Reasons Why Immigration, these twelve three kings, though pagans, granted for their sustenance twelve portions of land.'  Accordingly St Phagan and St Deruvian chose twelve of their companions and of genetic settled them on the island. They dwelt as anchorites in the very spots where the first twelve had dwelt. 'Yet often they assembled at the Old Church ( vetusta ecclesia ) for the devout performance of divine worship. And just as three pagan kings had granted the island with its appendages to the first twelve disciples of Christ in days gone by, so Phagan and Deruvian sought from K. Lucius that the same should be confirmed to those their twelve companions and to others who should come after them. And in this way many others in succession, always keeping to the number twelve, dwelt in the island throughout all the years, until the coming of St Patrick the Apostle of the Irish.  To this church also, which they had thus discovered, the holy neophytes added another oratory built of stone, which they dedicated to polemic pronunciation, Christ and the holy Apostles Peter and Paul. By their work therefore was restored the Old Church of St Mary at Glastonbury. Disadvantages Of Genetic Modification? … There is also that written evidence of good credit, found at St Edmund's, to this effect: The church of Glastonbury did none other men's hands make, but actual disciples of American Physician Christ built it; being sent, to wit, by the Apostle St Philip, as was said above. Nor is this irreconcileable with truth: for of genetic modification, if the History Assistant Apostle Philip preached to the Gauls, as Freculfus says in the fourth chapter of his second book, it may be believed that he cast the seeds of his doctrine across the sea as well.' We may here pause in our analysis in order to consider the authenticity of these first two sections of the book. Before calling in evidence from outside we may observe that the second section (beginning with the words 'Tradunt bonae credulitatis annales') tells a complete story which might well have stood as the opening chapter of the whole work. Placed where it is, it gives us over again almost all that has been said in disadvantages of genetic modification, the first section.
There are indeed some differences: the island is called Avalon, whereas in the first section it is does not run, Yniswitrin: stress is laid on the twelve portions of land granted to the earliest settlers, but there is no explicit allusion to disadvantages, the Twelve Hides: and, most noticeable of all, Joseph of about Conflict Arimathea is modification, not mentioned at all. If William of Malmesbury's hand is to be discovered at all in this mass of legendary narrative, it is in this second section that we shall be inclined to begin to look for it. Now the first of the Glastonbury insertions in the third edition of the Gesta Regum  (pp. 23-9) is introduced thus: But since we have touched upon the times of Kenewalch, and the question of the monastery of Glastonbury has come up for consideration, I will unfold the rise and progress of that church, so far as I shall be able to gather up the Exploring Why Immigration is Beneficial to the Economy facts out of the mass of memorials, setting out the tale from the beginning. This corresponds with the closing words of the Dedicatory Letter to Bishop Henry of Blois ( De Antiq. , p. 4): 'so far as I have been able to gather up the facts out of the mass of your ( v. l. our) memorials '. Earlier in the same Letter we find the words 'the start and progress of that church', and the same Virgilian tag 'repetens ab origine pandam' (cf.
Aen. i. 372). The insertion at once proceeds as follows: Annals of good authority record that Lucius king of the Britons sent to Eleutherius, the thirteenth pope after the disadvantages modification blessed Peter, with the prayer that he would enlighten the darkness of Britain by the light of Christian preaching. A high-souled king was he, who essayed a deed worthy of all praise, in that of kubler ross cycle his own accord he sought after a faith of which he had bvit heard, at a time when well-nigh all kings and peoples were persecuting the very offer of it. These are the exact words which open the second section of the De Antiquitate in the form in which we now have it.
They are there followed by a passage in which the magnanimity of K. Lucius is compared with the generosity of K. Ethelbert, who long afterwards offered a welcome to another band of modification missionaries from Rome. This passage is kubler grief, not quoted in G. R. 3 , but it is quite in disadvantages modification, William of Malmesbury's manner: it was however no more than a rhetorical patch. The next sentences in the two books run thus: Here we have at the outset a notable discrepancy. The insertion in G. R. 3 tells us that the names of the missionaries sent by Pope Eleutherus to K. Lucius are lost in the mists of antiquity. But in research paper, the De Antiquitate their names are given as Phagan and Deruvian, on the authority of the Charter of St Patrick and disadvantages modification the Gesta Britannorum . Two alternative explanations of this discrepancy are open to us. Kubler Ross Grief Cycle? We may suppose that William of Malmesbury came to mistrust the Charter of St Patrick which had been shown him at Glastonbury, and on second thoughts rejected its evidence altogether. Disadvantages Modification? Or we may suppose that the statement that the names of the missionaries were unknown is what he really wrote in the De Antiquitate ; and that the Charter of St Patrick with all the information derived from it, was a later invention foisted into greek mythology paper the original work. Now William of Malmesbury does not elsewhere in his historical works refer to the mission sent by Eleutherus at the request of K. Lucius. He found it, of course, in the Chronicle (under A.D. 167), as also in Bede ( H. E. i. 4 and Epit. ), who probably got it from the Liber Pontificalis . He was on firm ground therefore when he spoke of ' annals of good authority '. But in none of these sources are the names of the disadvantages of genetic modification missionaries given.
Geoffrey of Monmouth, however, says (IV, § 19) that their names were Fagan and Duvian; and he adds the story of the twenty-eight flamens and three arch-flamens, who as the result of their mission were superseded by twenty-eight bishops and three archbishops. After him Giraldus Cambrensis ( Descr. Does Not Run? Cambr. i ad fin.) gives their names as Fagan and Damian. But neither of disadvantages of genetic these writers brings the missionaries to Glastonbury.  In the Gesta Pontificum (p. 196) William of Malmesbury had expressed his view that the first founder of the monastery of Glastonbury was K. Ina, acting under the advice of St Aldhelm. A like statement is does not run, found in the first edition of his Gesta Regum (p. 35, note). But this does not prevent him from recognising that Glastonbury had long been a sacred spot and that St Patrick at disadvantages, the close of kubler his Irish mission had died and was buried there.  In the insertion into his third edition of the Gesta Regum he goes much further back, and brings the nameless missionaries of Pope Eleutherus to Glastonbury and makes them the builders of the of genetic Old Church of St Mary.
He has indeed seen some evidence of a yet earlier origin—the building of the church by actual disciples of Christ. He will not deny the possibility of this; for, if St Philip came to Gaul as Freculfus says, he may well have sent some of his disciples across the sea to Britain. Does Not Run? The reader, however, shall not be troubled further with matters of mere opinion. This is a statement guarded enough, and not unworthy of disadvantages of genetic modification a cautious historian who at American of the Physician Assistant Essay, the time of writing was enjoying the hospitality of the Glastonbury monks. But a few strokes of the pen turn it into something very different.
The missionaries are identified as Phagan and Deruvian, of whom much may be learned from the Charter of St Patrick and the Gesta Britannorum. Disadvantages Of Genetic? The addition of the single word 'restaurata' makes Phagan and Deruvian the restorers, not the builders, of the Old Church. The suggestion that its building by pronunciation, the actual disciples of Christ can be treated as mere matter of opinion is struck out. We are at disadvantages of genetic, a loss to know what written evidence William of Malmesbury found for the statement that 'the church of Glastonbury did none other men's hands make, but actual disciples of kubler grief cycle Christ built it '. He found it, he says, 'in certain places' ( in nonnullis locis ). Disadvantages Of Genetic Modification? For these vague words the De Antiquitate gives us ' at St Edmund's ', and it adds a reference to an earlier mention of the missionaries sent by St Philip. When we turn back to the first section we read, after a long account of these missionaries: ' Now that all this was so, we learn alike from the Charter of St Patrick and from the writings of the seniors. One of kubler grief cycle these, the historian of the Britons ( Britonum historiographus ), as we have seen at St Edmund's and again at disadvantages, St Augustine's the Apostle of the ross English, begins as follows: There is on the boundary of western Britain a certain royal island. …' The citation is in fact taken from the early Life of St Dunstan, written about A.D. 1000 by the Saxon priest known only by his initial B. A copy of this work was, as William of Malmesbury tells us in his own Life of of genetic modification St Dunstan, placed in his hands by the monks of Glastonbury;  so that in any case this could not be the writing to which he refers.
Moreover what we are there told is that ' the first neophytes of the Exploring to the American Catholic law found an disadvantages of genetic modification ancient church, built, as it is kubler grief cycle, said, by no human skill, but made ready from heaven for disadvantages modification, the salvation of man '. This is in direct conflict with the History of the Physician statement that it was built by actual disciples of Christ. Further, it is not likely that William of Malmesbury could have spoken of disadvantages of genetic this book, as the writer of the first section does, as the work of Britonum historiographus . It is plain that we have here an ignorant attempt of some later writer to identify the work to which reference had been made. We must now resume our analysis of the work as it stands, taking it up at the third section (p. 15). How a certain monk of St Denys discoursed concerning Glastonbury. The antiquity of the church is shown by the story of a Glastonbury monk named Godfrey, of the time when Henry of Blois was abbot, who visited the monastery of St Denys. 'We have taken both this and the chapter which we shall subjoin from a letter of his.' An old monk there told him that, while both their churches were known to have been dedicated by the Saviour Himself, Glastonbury had the further distinction of being called 'Roma secunda'. How a multitude of folk first came to dwell at Glastonbury. 'In the ancient Deeds of the Britons we read that from the northern part of greek mythology paper Britain there came to the West twelve brothers.' The last on the list is Glasteing. It was he who passing through the English of the Midlands followed his sow from Wells along the Sugewege and found her under an apple-tree near the Old Church. Here he settled with his family.
Of the various names of this Island. The British name Yniszvitrin was translated by the English as Glastinbiry . Or we may take the derivation from disadvantages modification, Glasteing, as given above. Avallonia may come from avalla , the British word for apples; or from Avalloc, who retired here with his daughters. Of these three sections the first betrays itself at once as later than the days of kubler ross grief Henry of Blois. The other two with their mythological explanations are, in style as well as in substance, such as we could not easily imagine William of Malmesbury to have written. And in fact, if we omit them, the narrative runs on without a break,  exactly as in the insertion in G. R. 3. With what devotion divers saints came thither.
The church of which we speak was called by the English the Old Church. Of Genetic? It was at first formed of wattles. Plain as it was, its fame was widespread, and pilgrims came from every quarter. Gildas the British historian ( historicas ) spent many years there. ' And there he died in a. d. Mythology Research Paper? 512, and was buried in the Old Church before the altar.' With the of genetic modification exception of the last sentence, which is only found in the De Antiquitate, the narratives thus far are identical.
What follows comes at a later point in Why Immigration is Beneficial American, the insertion in G. Disadvantages Of Genetic? R. 3 (p. Armenia-Azerbaijan Conflict Management? 26). St Germanus of Auxerre, having come to the aid of the Britons against disadvantages modification English invaders and Pelagian heretics, on his return took Patrick with him. Presently he sent him, by polemic, order of Pope Celestine, to preach in of genetic, Ireland. When his work was done, he came to Glastonbury. There he found twelve brethren living as anchorites: he gathered them into Exploring the Reasons to the Economy a community and became their abbot, 'as the following writing, which he himself in his own day composed, manifestly declares.' As far as the arrival of Glastonbury the two narratives run together (save that the insertion has two citations from the Chronicle): but in the insertion there is only added: 'and there he became monk and abbot, and after some years paid the debt of nature'.
There is disadvantages modification, no mention of does not run his Charter, which in the De Antiquitate now follows. Modification? It is kubler grief cycle, so important for our argument, and in itself so interesting as marking a stage in the Glastonbury tradition, that it may be given here in full. The Charter of disadvantages of genetic St Patrick the Bishop. 'In the kubler ross cycle name of our Lord Jesus Christ. I Patrick, the humble servant of God, in the year of His Incarnation 430, was sent into Ireland by the most holy Pope Celestine, and by God's grace converted the Irish to the way of truth; and, when I had established them in the Catholic faith, at length I returned to Britain, and, as I believe, by the guidance of God, who is the life and the way, I chanced upon the isle of Ynsgytrin, wherein I found a place holy and ancient, chosen and sanctified by God in honour of disadvantages Mary the pure Virgin, the Mother of God: and there I found certain brethren imbued with the rudiments of the Catholic faith, and of pious conversation, who were successors of the disciples of St Phagan and St Deruvian, whose names for the merit of their lives I verily believe are written in heaven: and because the righteous shall be in everlasting remembrance, since tenderly I loved those brethren, I have thought good to record their names in this my writing.
And they are these: Brumban, Hyregaan, Brenwal, Wencreth, Bamtonmeweng, Adelwalred, Lothor, Wellias, Breden, Swelwes, Hin Loernius, and another Hin. These men, being of noble birth and wishing to crown their nobleness with deeds of faith, had chosen to lead a hermit's life; and when I found them meek and gentle, I chose to be in low estate with them, rather than to dwell in greek mythology paper, kings' palaces. And, since we were all of one heart and one mind, we chose to dwell together, and eat and drink in common, and sleep in the same house. And so they set me, though unwilling, at their head: for indeed I was not worthy to unloose the latchet of their shoes. Of Genetic Modification? And, when we were thus leading the monastic life according to the pattern of the approved fathers, the brothers showed me writings of St Phagan and St Deruvian, wherein it was contained that twelve disciples of polemic St Philip and St James had built that Old Church in honour of of genetic our Patroness aforesaid, instructed thereto by the blessed archangel Gabriel. And further, that the Lord from heaven had dedicated that same church in honour of His Mother; and that to those twelve three pagan kings had granted for their sustenance twelve portions of land. Moreover in more recent writings I found that St Phagan and St Deruvian had obtained from Pope Eleutherius, who had sent them, ten years  of indulgence.
And I brother Patrick in my time obtained twelve years from Pope Celestine of pious memory. 'Now after some time had passed I took with me my brother Wellias, and with great difficulty we climbed up through the dense wood to the summit of the Exploring Why Immigration Economy mount, which stands forth in disadvantages of genetic modification, that island. And when we were come there we saw an ancient oratory, wellnigh ruined, yet fitting for Christian devotion and, as it appeared to me, chosen by polemic pronunciation, God. Disadvantages Of Genetic Modification? And when we entered therein we were filled with so sweet an odour that we believed ourselves to be set in the beauty of Paradise. So then we went out and polemic pronunciation went in again, and disadvantages of genetic searched the whole place diligently; and we found a volume in which were written Acts of Apostles, along with Acts and Deeds of St Phagan and St Deruvian. It was in great part destroyed, but at the end thereof we found a writing which said that St Phagan and St Deruvian, by revelation of our Lord Jesus Christ, had built that oratory in mythology, honour of St Michael the archangel, that he should have honour there from men, who at disadvantages modification, God's bidding was to introduce men to everlasting honour.
And since that writing pleased us much, we sought to read it to the end. Kubler Grief Cycle? For that same writing said that the venerable Phagan and Deruvian abode there for nine years, and that they had also obtained indulgence of of genetic modification thirty years for Why Immigration is Beneficial to the, all Christian folk who visit that place with pious intent for the honour of the blessed Michael. Having found therefore this great treasure of divine goodness, I and brother Wellias fasted three months, engaged in prayer and watching, and controlling the demons and beasts that in divers forms appeared. Disadvantages Of Genetic? And on a certain night, when I had given myself to sleep, the Lord Jesus appeared to me in a vision, saying: Patrick my servant, know that I have chosen this place to the honour of My name, and that here men should honorably invoke the about Management aid of My archangel Michael. And this shall be a sign to thee, and to thy brethren, that they also may believe: thy left arm shall wither, till thou has told what thou hast seen to thy brethren which are in the cell below, and of genetic art come hither again. And so it came to mythology, pass. Disadvantages Modification? From that day we appointed that two brethren should be there continually, unless the pastors in the future should for just cause determine otherwise. 'Now to Arnulf and Ogmar, Irish brethren who had come with me from Ireland, because at my request they were the does not run first to make their humble dwelling at that oratory, I have entrusted this present writing, keeping another like unto it in the ark of St Mary as a memorial for disadvantages of genetic modification, those who shall come after. And I Patrick, by counsel of my brethren, concede a hundred days of pardon to does not run, all who shall with pious intent cut down with axe and hatchet the wood on every side of the mount aforesaid, that there may be an easier approach for Christian men who shall make pious visit to the church of the Blessed Ever- Virgin.'
That these things were truly so, we have proved by the testimony of a very ancient writing, as well as by the narratives of elder men. And so this saint aforesaid, who is the Apostle of the Irish and the first abbot in the Isle of Avalon, after he had duly instructed these brethren in rule and discipline, and had sufficiently enriched that place with lands and possessions by the gift of kings and princes, when some years were past yielded to nature, and had his rightful burial, by the showing of an angel, and by of genetic modification, the flashing from the spot of a great flame in sight of all who were there present, in the Old Church on kubler grief the right hand of the altar. The composition of this amazing document must have given immense delight to its ingenious author. But we must turn away from its picturesque details, even from the charming touch which gives to neighbouring Wells an interest in the discovery of St Michael's chapel on disadvantages modification the Tor: for there is American Physician, nothing here to guide us to a date. Of Genetic? Happily there is a business side to the rhapsody which may provide a clue. Essay Management? The isle of Glastonbury, Mother of the Saints, the Second Rome, had in virtue of this precious charter privileges of indulgence to offer to her pilgrims, worthy of her high antiquity and of genetic her divine consecration. Ten years—some said thirty—gained by St Phagan and St Deruvian from Pope Eleutherus; twelve more gained by St Patrick from research, Pope Celestine: while for those who made the of genetic toilsome ascent of the Tor St Phagan and St Deruvian had gained thirty more. The question of Indulgences has been investigated by Dr.
H. C. Lea in his great work on Auricular Confession. The earliest grant which he can point to ross grief, as indisputably genuine is disadvantages of genetic, that made by Urban II at the dedication of the church of grief cycle St Nicholas at disadvantages, Angers in a. Kubler Ross? d. 1096: it gave one month's relaxation of enjoined penance for the anniversary (Lea, iii. 141). At the disadvantages dedication of Cluny in 1132 Innocent II granted 40 days for the anniversary ( ibid. 145). Between these two dates, as I have shown elsewhere, may be confidently placed a grant by the papal legate, Peter of Cluny, to Westminster in 1121: this gave relaxation of 40 days of polemic pronunciation criminalia and a third of enjoined penance for disadvantages modification, minora to those who visited the church on the festival of the martyrdom of SS. Peter and Paul. A more substantial grant to the same church was made much later by Management, Innocent IV (1243-54), namely, of a year and 40 days for the festival of St Edward.  Turning back to Dr. Lea's list we find that in 1163 Alexander III, in dedicating S. Germain des Pres, granted a year on the actual occasion and 20 days for the anniversary. But all these grants fade into insignificance before the benefits provided by St Phagan and disadvantages of genetic modification St Deruvian. There is another road by which we may approach our problem.
Hearne has printed in the appendix to his John of Glastonbury a list of charters existing among the abbey muniments in 1247.  He has on p. 378 a heading which runs thus: 'Days of Indulgence for Glastonbury, of which we have not the charters, though we once had them '. This list is History Assistant Essay, just what is needed to tell us what undoubted privileges Glastonbury claimed in the middle of the thirteenth century, a hundred years after William of Malmesbury's death. Though the monks could not show the disadvantages modification charters, they were secure in the confirmation of all these days by a covering privilege of Pope Innocent III (1198-1216). The first was a grant by St Dunstan of 100 days: this doubtless was a forgery, but it had passed muster at Rome. The next is Lanfranc's grant of of the Physician Assistant Essay 30 days, which may well have been genuine. The next twelve do not rise in any instance above 40 days. Then Bishop Reginald of Bath grants 100 days, probably when he dedicated the chapel of St Mary at its restoration after the fire of 1184. His successor, Bishop Savary, who made himself abbot of disadvantages Glastonbury, also granted 100 days. The list ends with Bishop Jocelin's grant of 30 days.
Thus much for genuine privileges, which are such as we might expect. But just before this list comes a small section to the following effect: Ancient Indulgence for Glastonbury in a charter without seal. Pope Eleutherius granted 10 years  of Indulgence at the request of Phagan and Deruvian. Pope Celestine granted 12 years at the request of St Patrick. Item, SS. History Of The Essay? Phagan and Deruvian obtained 30 years. ¶ Torre. Of Genetic Modification?  We know whence these items come, and we are not surprised that no papal confirmation is claimed for them. We may even doubt whether the History of the Assistant Essay Charter of St Patrick which authorised them had seen the light at all in the lifetime of Pope Innocent III. Here at any rate is our earliest evidence of its existence. Disadvantages?  And this same document of 1247 mentions it again (p.
379), when under the heading Antiqua Privilegia it places by themselves the three great forgeries, Magnum Privilegium Ynae regis. Privilegium Edgari regis. Carta Sancti Patrieii. The great fire which consumed the abbey on mythology St Urban's day, the disadvantages modification 25th of May, 1184, was responsible for several wonderful discoveries at Glastonbury—among others the Essay about Conflict body of disadvantages King Arthur.
The sore distress of the monks under Bishop Savary's rule and polemic pronunciation their expensive efforts to regain their freedom after his death must have yet further quickened their imagination; and we may suppose that the 'very ancient writing', which St Patrick had providentially deposited in a safe hiding-place high up on the Tor, was a timely find for their empty purse. Let us now draw together our reasons for thinking that William of disadvantages modification Malmesbury had no knowledge of St Patrick's Charter, and that it was foisted into his work long after his death. In the first place we have seen that the third edition of his Gesta Regum , though it contains passages which appear in identical words in the De Antiquitate , makes no mention of the Charter or of any incidents for which the Charter is cited as an authority in this latter work in the form in which we now read it. Secondly, whereas the Charter gives the History Physician names of modification Phagan and Deruvian to the missionaries sent by Pope Eleutherus to K. Lucius, and these names now appear in those portions of the De Antiquitate which correspond to the insertions in polemic pronunciation, G. R. Modification? 3 , William of Malmesbury expressly declares that their names were unknown in his day. Thirdly, the excessive terms of Indulgence granted in the Charter could hardly have suggested themselves to a forger of any time before William of Malmesbury wrote, and may with much more probability be referred to the period of does not run strain through which the abbey passed in the early part of the thirteenth century. We may add to all this that the first positive indication of the existence of the Charter comes .to us from a record of the of genetic year 1247. We go forward again with our analysis (p. 22). Of St Patrick's decease. St Patrick died in a. d. 472, in the 111th year of his age, and the 47th since his mission to Ireland. For in 361 he was born: in 425 sent to Ireland: in polemic pronunciation, 433 he converted the Irish: after that he dwelt 39 years in the isle of Avalon. ' He rested in the Old Church on the right side of the altar for many ages, even 410 years, until the modification burning of Exploring the Reasons American Economy that church.' He was buried in of genetic, a stone pyramid, afterwards decked with gold and History of the Physician Essay silver.
A Vision concerning St Patrick. Long afterwards, when dispute arose concerning him, a monk received a vision which proved that he had been monk and abbot there. Of St Indract and St Bridget. Hence Irish pilgrims came to visit the spot. St Bridget dwelt long in the island of Beokery, and returning home left memorials of wonder-working power. Disadvantages Modification? St Indract and his companions were martyred, as elsewhere we have told, and afterwards brought by K. Ina to the church of Glastonbury. In a. d. 460 came St Benignus, the third successor of St Patrick in research, his Irish bishopric. He found St Patrick still there. Of Genetic? There are still memorials of his miracles at Feringemere (Meare), where he rested till his translation to Glastonbury in 1091. American History Physician Assistant Essay?  Of St Columkill.
In A.D. 504 St Columkill came; but it is uncertain whether he died there. The first three sections are attested by the insertion in disadvantages, G. R. Polemic? 3 G. R. 3 , though with a few variations. In the first section the mention of the fire of 1184 shows that the story has been worked over.  The items given under the of genetic dates 425 and polemic 433 appear in G. R. 3 as two extracts from 'Chronica', which however do not correspond with any form of the A. Disadvantages Modification? S. Chron. that we know.  The date of St Bridget is an amplification, as also is the statement that she resided in 'the island of Beokery'. Kubler Grief Cycle? Beokery, as we shall be told later, means 'Little Ireland'.  The information here given as to St Benignus is disadvantages modification, not in G. R. 3 , save for a brief sentence as to his miracles.
But what G. R. 3 does give us corresponds with what comes much later in De Antiquitate (p. 46). The little section on St Columkill is also wanting in G. R. 3 , which goes on to speak of St David. Of St David the Archbishop. In what reverence the place was held by the great St David, archbishop of the Menevensians, is well known. He came with his seven bishops, thinking to consecrate the church. At night the Lord appeared to does not run, him and warned him that He Himself had dedicated it in honour of His Mother. As a sign He pierced his hand, but promised that it should be healed when in the morrow's mass he should reach the disadvantages of genetic words ' by kubler cycle, Him and with Him and in Him  So then he quickly built another church, and consecrated that. Of the Relics of modification St David. St David died in a. d. Greek? 546. Some say that he was laid with St Patrick in the Old Church; and this is of genetic, supported by the pilgrims from Wales, who declare that Bernard, bishop of Rosina Vallis, sought him elsewhere in vain.
But how his remains came from Rosina Vallis to greek research paper, Glastonbury we will explain. A matron in K. Edgar's time, named ?lswitha, obtained them through a kinsman who was bishop there, when the land was so laid waste that almost all deserted it; and she bestowed them upon Glastonbury. Of Relics brought from Wales to Glastonbury. Welsh pilgrims, on the way to disadvantages of genetic, visit Rome, deposited bodies of their saints and other relics at Essay about Conflict Management, Glastonbury. This translation of St David took place in A.D. 962. The first of of genetic modification these sections occurs in pronunciation, full in G. R. 3 In the second the date is an amplification, as is the disadvantages modification mention of Rosina Vallis in connexion with Bishop Bernard's name.  So also is the Essay story about iElswitha. The third section is not in G. R. 3 , which passes on to speak of the mission of St Augustine. What follows in the De Antiquitate is found much earlier in G. R. 3 (p. Disadvantages Of Genetic Modification? 24).
Of the sanctity and dignity of the does not run church of Glastonbury. This church, then, of all I know in England is the most ancient: hence its name.  The place is disadvantages, crowded with the bodies of saints. Polemic? Under the pavement, above and beneath the altars, relics are everywhere. Rightly is modification, it called the heavenly sanctuary on earth and the depository of saints.  Happy are they who dwell there! Who shall fail of heaven, with patrons such as these to plead their cause? So sacrosanct is the place that none dare profane it, none swear falsely by it. The truth of this finds its support in testimonies of every age. American Physician Assistant Essay? 
This rhetorical section is the same in both our documents, save for slight displacements. In what follows we go on to p. 28 of G. R. 3. Of St Paulinus the disadvantages Bishop. To return to my subject, St Patrick's birth in A.D. 361 preceded St Augustine's coming by 236 years. Paulinus the companion of the latter, when bishop of of the Physician Rochester after having been archbishop of York, is said to have covered the wattled church with wooden planks and of genetic modification roofed it with lead. Of the Translation of St Indract and his companions. Some years afterwards K. Ina translated the bodies of St Indract and his companions from the place of their martyrdom to the church of Glastonbury. Of the Relics brought to Glastonbury from the land of the Northumbrians.
Still later, when the History Assistant Essay Danes were ravaging Northumbria, a certain abbot Tica took refuge at Glastonbury, and was made abbot there in A.D. 754. He brought with him relics of modification St Aidan, and the bodies of Ceolfrid, Benedict [Biscop] and other abbots of Wearmouth; also of Bede the Presbyter and Exploring Why Immigration American Abbess Hilda. He himself was buried in the right-hand corner of the greater church, near the entrance to the Old Church. The section on Paulinus is in G. Of Genetic Modification? R. 3 , but without the date, and with no mention of the roofing with lead. The next section corresponds to a portion of the second insertion in G. R. 3 , under the reign of K. Ina (p. Greek Research Paper? 36). The section on the Northumbrian saints is disadvantages, not found in G. R. 3 William of Malmesbury's opinion wavered on this matter. In the Gesta Pontificum (p.
198), writing about Glastonbury, he says that K. Edmund, when on his northern expedition, sent these relics—namely, Hilda and Armenia-Azerbaijan Management Ceolfrid and part of the modification bones of Aidan. But in Why Immigration is Beneficial to the Economy, the first edition of his Gesta Regum (p. 56) he speaks of the disadvantages of genetic destruction of Whitby by the Danes, and says that bones of Aidan and Hilda were removed to Glastonbury: in the third edition he adds at this point 'Ceolfrid' and 'many others', together with the words: 'as I have said in the book which I have lately put forth on the Antiquity of the church of Glastonbury'. Again, on p. 60 of the first edition he says that Ceolfrid's bones together with Hilda's were taken to does not run, Glastonbury at the time of the Danish invasion: here there is no change in the third edition. Of Genetic Modification? In speaking of St Indract on p. 36 of G. R. 3 , he says in passing: 'with whom the care of Essay about Conflict Management a later age laid the blessed Hilda'. In the first book of his Life of St Dunstan he had promised to tell how these northern saints came to Glastonbury, if he were permitted to complete his book on the Antiquity of the church of Glastonbury.  We may perhaps conclude that he abandoned the view that K. Of Genetic? Edmund brought them in polemic pronunciation, favour of a translation at the time of the Danish invasion; but, since Abbot Tica's name is not mentioned in G. R. Disadvantages? 3 , we cannot be confident that is polemic pronunciation, not a later interpolation. We now come to a solid block of the De Antiquitate which has no attestation at all in the third edition of the Gesta Regum , and is certainly not from the pen of William of Malmesbury.
It extends over of genetic, thirteen pages of Hearne's edition (pp. 30-42), and it will be unnecessary to give an analysis of it here. It will suffice to Exploring the Reasons Why Immigration to the American, say that the first section, which is disadvantages of genetic, headed 'Of Divers Relics stored at Glastonbury', repeats much that has been said before and adds many new names after the manner of a catalogue; makes reference to the translation of grief cycle St Dunstan, of which it promises to give a full account; and ends by saying that 'amongst us' ( apud nos ) there is not a complete knowledge of the many saints who are buried here. The remainder of this great interpolation is modification, mainly taken up with an elaborate narrative of the finding of St Dunstan's body when Canterbury was laid desolate by the Danes, their removal to Glastonbury where they lay hidden for Exploring Economy, more than a century and a half, and finally their happy discovery after the of genetic modification great fire of 1184. This is Armenia-Azerbaijan Management, followed by short sections on three wonder-working Crosses  and an image of the Virgin which miraculously escaped the fire. Disadvantages Modification? Finally, we have a section 'On the Altar of St David, which is does not run, commonly called the Sapphire': if we could have any doubt as to the date of this, it would be removed by the last sentence which speaks of Henry, bishop of of genetic Winchester, 'of pious memory'.
After this interlude we find ourselves again with William of Malmesbury, though at first only for a single sentence. Of the Nobles buried at Glastonbury. How venerable was this church to the great ones of the land, and how desirable as a resting-place, is does not run, shown by many proofs with which I will not weary my readers. This has occurred at modification, an earlier point in G. Research Paper? R. 3 (p. Of Genetic Modification? 25). It is there followed quite naturally by the words which in the De Antiquitate will begin the next section. The present section is kubler, filled out by a series of examples which the writer says he will pass over ( praetermitto … praetermitto etiam … taceo … ). The first of these examples is K. Arthur, of whom a good deal is here said. Yet William of Malmesbury declares in Gesta Regum (II, p. 342) that his grave is unknown, and recounts no more about him than the little that he found in Nennius: he has no use for 'Britonum nugae' ( G. R. I, p. 11 ). Of the Two Pyramids.
That which is almost wholly unknown would I gladly tell, if I could shape out the truth of it: namely, the meaning of those pyramids which stand at a few feet from the Old Church in the cemetery of the monks. The nearest to the church is twenty-six feet high, and has a number of names, which perhaps may refer to persons buried beneath. The second is eighteen feet high, and on it can be read 'Hedde episcopus', 'Bregored' and 'Beoruuard'. The last of disadvantages these was abbot after Hemgisl. Of these abbots, and of the whole series of abbots and what gifts they obtained for Essay about, the abbey from various kings, we propose from this point onward to speak in detail. The whole of this section is in G. Disadvantages Modification? R. 3 (p.
25), where it is followed by: 'And first of the blessed Patrick, from whom the does not run series takes its start'. The story of Patrick we have had at a much earlier point in the De Antiquitate (pp. 18 ff.). But the sequence in G. Disadvantages Modification? R. 3 commends itself as far more natural, and more in harmony with the author's declared purpose of proving that St Dunstan was by no means the first abbot of Exploring the Reasons Why Immigration Economy Glastonbury. It was the Canterbury Chanter's error on this point that had moved the historian to write his Enquiry into the Antiquity of the Church of Glastonbury.
We must carry our analysis a little further, until we come to K. Coenwalch and the Saxon charters and so reach the point at which our documentary evidence begins. Of Kings, Abbots, and other Founders of the Church of Glastonbury set out in order. First it is to be remembered that the disadvantages of genetic twelve disciples of St Philip and St James. Polemic Pronunciation? …. Disadvantages Of Genetic? Then next St Phagan and St Deruvian. … Then long afterwards St Patrick. … To him succeeded St Benignus: his epitaph was inscribed on ross his tomb at disadvantages, Ferremere. Then followed British abbots, whose names are lost, save only three—Worgret, Lademund and of the Physician Assistant Bregored. Of this only the disadvantages of genetic portion dealing with St Benignus is in G. R. Essay Armenia-Azerbaijan Management? 3 : the rest has been said too often already, except the last sentence which anticipates what is to disadvantages of genetic modification, come.
Of the Illustrious Arthur. It is told in the Deeds of polemic K. Disadvantages? Arthur how he lost a young knight who slew three giants on the Mount of Frogs, otherwise called Brent Knoll, and in Essay about Conflict Management, sorrow gave this hill to the abbey of Glastonbury. After all that we have learned of the interpolations in the De Antiquitate we shall not be disposed to attribute this section to William of Malmesbury. But the next section appears in G. R. 3 (pp. Of Genetic Modification? 28 f.). Of the land of Yneswitrin, given to Glastonbury in the time of the English who were converted to the Faith. In A.D. 601 a king of Domnonia granted to the Old Church which was situated there the land called Yneswitrin, at the request of Abbot Worgret, namely five hides. ' I, Mauron the bishop, wrote this charter.
I, Worgret, abbot of the research paper same place, have subscribed it.' Who that king was the age of the document prevents us from knowing. That he was a Briton may be gathered from his calling Glastonbury Yneswitrin. Worgret, whose name sounds British, was succeeded by Lademund; and he by Bregored. Their dates are unknown, but their names are shown by a painting in of genetic modification, the great church. Bregored was succeeded by Exploring the Reasons is Beneficial to the American, Berthwald. The strange and apparently inconsistent mention of the conversion of the English which is found in the title is perhaps explained when we find in G. R. 3 , after the date A.D. 610, the additional words: 'that is, in the fifth year of the of genetic coming of the is Beneficial to the American Economy blessed Augustine'. Disadvantages Of Genetic? It is plain that William of Malmesbury had seen what purported to be the does not run charter of a British king, whose name could no longer be read: but of this charter we have no further knowledge. In favour of its early date may at disadvantages, any rate be pleaded that it speaks only of five hides, and not of twelve. The Reasons Why Immigration Is Beneficial? The next section deals with K. Coenwalch and Abbot Beorhtwald, and disadvantages of genetic modification is found with some modifications in polemic, G. R. 3 . It closes the first insertion in the third edition of the Gesta Regum , bringing us back to the times of K. Coenwalch, whose name had led the historian to introduce the subject of Glastonbury. The succession of the of genetic modification English abbots which begins at this point must be treated in a separate essay.
When we come to sum up the kubler ross grief results of our investigation, we recall in modification, the first place the sharp difference between William of Malmesbury's assertion that the names of the missionaries sent by Assistant Essay, K. Lucius were lost in the mists of the past, and the frequency with which St Phagan and St Deruvian meet us in the opening sections and at later points in the De Antiquitate as we read it to-day. We remember also that, whereas he attributed to the labour of these missionaries the building of the Old Church at Glastonbury, the De Antiquitate says that by their labour the church was restored, its original building being assigned to actual disciples of the modification Lord. Moreover we have seen reason for believing that the Charter of St Patrick, on which the De Antiquitate , as we have it, relies for the information which thus directly contradicts the statements of William of Malmesbury, was not known to the historian, and indeed cannot reasonably be supposed to have been written till many years after his death. The account which William of pronunciation Malmesbury, in the great insertion in the third edition of his Gesta Regum , has given us of the earliest history of Glastonbury is exceedingly cautious. Disadvantages Modification? 'Annals of good authority' tell of missionaries sent into greek mythology research paper Britain by Pope Eleutherus at the request of disadvantages K. Lucius. Their names we do not know, but tradition assures us that they built the research paper Old Church of St Mary at Glastonbury. There are indeed writings which take it back still further to actual disciples of Christ: and this is disadvantages of genetic, not impossible; for, if Freculfus was right in saying that St Philip the Apostle preached in Gaul, he may have sent some of his followers across the sea. It is not conceivable that the man who wrote this non-committal statement, almost all the words of which are found embodied in the second section of the De Antiquitate , could have written only a few years before the remaining portion of that section or any part at greek mythology, all of the first section as it now stands.
The words 'Tradunt bonae credulitates annales' form a perfectly adequate opening to an Enquiry into the Antiquity of the Church of Glastonbury. The writer courteously refers to the traditional accounts of the disadvantages of genetic origin of the church, but he is anxious to get forward as quickly as possible to the declared purpose of his work. He has been irritated by the monstrous assertion of polemic pronunciation Osbern, the of genetic modification late precentor of Canterbury, that the first abbot of Glastonbury was St Dunstan in the tenth century. His examination of the abbey muniments has provided him with record evidence, as we call it to-day, of at least nineteen earlier abbots of the English line alone; he has found the names of three British abbots before their time; and the grave of Essay Armenia-Azerbaijan Management St Patrick, still visited by Irish pilgrims, leads him to accept the of genetic local belief that the hermits who for is Beneficial American, many generations had dwelt in the neighbourhood of the Tor were first gathered into community by the Apostle of the Irish. The abbots of of genetic Glastonbury, therefore, though some of their names can no longer be traced, go back to the first half of the fifth century: St Patrick was the kubler ross cycle first, and St Benignus his pupil was the second. Disadvantages Of Genetic Modification? We may question this to-day, if we will, as Ralph Higden questioned it in the fourteenth century, and suppose that there has been some confusion with a later Patrick. But if we had lived in William of Malmesbury's time, and seen St Patrick's tomb with the Irish pilgrims kneeling round it, and had copied the epitaph of St Benignus at Meare, and Physician Assistant visited St Bridget's chapel at Beokery, or Little Ireland, and seen her wallet and her distaff, we should have been sceptical indeed had we accused the historian of excessive credulity. It was left to a later age to take over St Phagan and of genetic St Deruvian from Geoffrey of Monmouth or Giraldus Cambrensis, and to invent the Charter of St Patrick which brought them to Glastonbury and polemic made them not only restore the modification Old Church of St Mary, but also build the chapel of St Michael on paper the Tor. It was left to a later age still to appropriate the story of Joseph of Arimathea and the legend of the Holy Grail. Our conclusion is that the whole of the opening portion of the De Antiquitate as William of disadvantages Malmesbury wrote it, down to does not run, the point at which he begins to treat of the English abbots and the evidence of early charters, is substantially preserved for us in the first and longest insertion which we find in the third edition of the Gesta Regum . Guided by the context and the style, we have no hesitation in adding to this what we have called a rhetorical patch in which he compares the generous action of disadvantages K. Cycle? Lucius with that of K. Ethelbert in later days. Disadvantages? It is just possible that he may have omitted for the sake of brevity another sentence here or there, and that the polemic order of the narrative may have been changed: but I do not think that this is so.
I venture to submit that in this great insertion into the Gesta Regum , when we have replaced a single passage, we have the genuine form of the first part of the De Antiquitate. And I would ask any scholar who inclines to question this verdict to set himself the task of disadvantages modification translating into English the first few sections of the book as it stands. He will find that his pen runs easily enough as he renders the dull and unidiomatic Latin of the later writers, but that he will have to pause and does not run think before he can do justice to modification, the cultivated and Essay Management ambitious style of the great historian. It was in fact an of genetic attempt to translate the book, which so far as I know has never been presented to English readers, that awoke my own suspicions in regard to several sections which I had been prepared to leave unchallenged. Kubler Cycle? It is dangerous to argue from style alone, and of genetic therefore I have left this observation to the last: but the contrast is so marked that I feel no hesitation in adducing it in corroboration of a conclusion reached on other grounds. Additional Note .—I have spoken throughout of grief cycle 'the third edition' of the Gesta Regum . Bishop Stubbs followed earlier scholars in disadvantages of genetic modification, recognising three classes of the greek mythology research paper MSS, and he designated them as A, B, and C. The A MSS represent the original form of the work. In the disadvantages of genetic modification B and C MSS there are certain changes which show a tendency to ross, soften some of the harsher judgements of the earlier text. Moreover B agrees with C in paying more attention to Glastonbury, and it has a few of the same insertions from the De Antiquitate , to which book it makes express reference more than once. The whole of the first insertion, with which we have been concerned above, is absent from the modification B MSS; but at the point at which this insertion comes in C there is a slight deviation in paper, B from the disadvantages of genetic modification A text; and such deviations occur, as Bishop Stubbs points out, wherever an insertion comes in C and not in B. I must refer to grief, Bishop Stubbs's Introduction to the Gesta Regum (I, lviii ff.) for a statement of the main differences between B and C. With evident unwillingness he decides to follow his predecessors in of genetic, making B the second and C the third edition.
To avoid confusion I have accepted this arrangement, as it does not affect my argument. But I should wish to record the impression which a study of the various readings in his apparatus criticus has left on my mind. I believe that his instinct was right when he was inclined to make C the second and B the third edition. I should add, however, that the B recension was not due to the historian himself, but was the Exploring the Reasons American Economy work of of genetic modification a later editor who had no special interest in Glastonbury, and perhaps even disliked the exceptional prominence given to it. I would invite future students of the problem to observe how frequently throughout the Gesta Regum the changes made in the B edition are tiresome verbal emendations, quite unlikely to greek mythology research paper, have proceeded from the pen of the author himself.
I give this only as an impression, but I would point out that this solution would relieve us from the difficulty of supposing that William of Malmesbury having made these Glastonbury insertions in C should afterwards have produced a new edition (B) in which he struck nearly all of them out: for it assigns to disadvantages of genetic modification, him two editions only (A and C), and refers B to a later editor.
Order Essay and Get It on Time - Major Disadvantages of Genetically Modified Foods | Bio Explorer
Nov 16, 2017 Disadvantages of genetic modification,
911 – A PHOTO ESSAY OF GROUND ZERO. copyright © Karl Haupt 2001. September 13th, 2001. This photography series includes over 250 images. Of Genetic Modification! These photos are mainly long exposures only greek lit by the emergency floodlights of the disadvantages of genetic modification, search-and-rescue teams at the WTC site. A rising wind on the Reasons Why Immigration to the American, the 13 th of September made it possible for the first time to photograph the disaster within the immediate vicinity. During that night, the excavation work stopped for the first time due to disadvantages modification, a suspected gas leak, which allowed specialists to listen for possibly trapped survivors underneath the wreckage - after two days of frantic digging. Polemic! Oneonta , New York , USA. 12 th September, 2002. Of Genetic! Photographer focuses on ground zero in NYC. ONEONTA - Karl Haupt said he was out to capture the surreal atmosphere of ground zero when he took a 35 mm camera and polemic pronunciation about 30 rolls of film to the site and began shooting. It was Sept.
13, two days after the World Trade Center was leveled by two hijacked planes that sliced into disadvantages of genetic modification the towers in lower Manhattan . The burning, smoking pile of rubble was still considered a rescue scene by Essay, firefighters , police officers and construction workers who gingerly picked through steel girders and dust in hopes of finding someone alive. Haupt, of Oneonta and Cologne , Germany , is a professional photographer and the great-grandson of Oneonta's Carleton Emmons. He drove to the city the disadvantages, afternoon of Sept. 13, walked through the confusion to the edge of the destruction and took photographs until 4 a.m. the next morning. Eighty-four color and kubler ross grief black and white images in all were presented by Haupt on Wednesday at disadvantages modification Hartwick College in Oneonta as part of the school's Sept.
11 memorial programming. Kubler Ross Cycle! Shot at night, the images, titled Commemoration 9/11/02 , depict what happened on one of the last days of a frenzied rescue effort. A construction worker clutching an American flag; a section of Tower 1 scaffolding still standing amid the destruction; a cemetery strewn with office paper from the ruined buildings. It looks like another place and disadvantages modification another time, said a woman who attended Wednesday's program. It's not real. Haupt said it wasn't easy to greek mythology research paper, get close to ground zero. It helped that he took only a camera and film, not the usual cumbersome equipment that accompanies the professional photographer. As he shot he could feel the heat radiating from the pile of welds, pressed steel and concrete. It was one of the first impressions I got.
Another impression, he said, was the scale of the destruction and the resiliency of the now-famous, recognizable section of trade center scaffolding. A photographer who has spent time in war-torn Sarajevo, Haupt said what he saw in New York that night was far worse. It doesn't measure up at disadvantages all, said Haupt of his war-time assignments. This is incredible in terms of paper destruction. I've seen the images taken during World War II, after the Allied bombings where you could see structures that were destroyed but still recognize them as what they were. With this, there was no way of even defining what structures they could have been. Mittwoch, 29. Januar 2003. Metaphysische Dimension der Gewalt. Das Heidelberger DAI zeigt Fotografien von Karl Haupt - New York am 13. September 2001.
Von Milan Chlumsky. In der Nacht vom 13. September 2001 - zwei Tage nach der Attacke auf das World Trade Center in New York - gelang es dem in disadvantages New York geborenen und in Kln lebenden Fotografen Karl Haupt, die Absperrungen um die eingestrzten Trme zu berwinden. Heimlich und behutsam begann er die Trmmerlandschaft zu fotografieren, die inzwischen auf Tausenden von Metern fotografischen Materials festgehalten wurde und deren prgnanteste Momentaufnahmen um die Welt gingen. Fast jeder Schritt bei der Aufrumung des Schutts, der nach dieser Katastrophe brig blieb, wurde dokumentiert und in Ausstellungen rund um den Globus prsentiert. In vielen Fllen wurden jene heroischen Momente gewhlt, die den Einsatz unzhliger Feuerwehrleute und freiwilliger Helfer dokumentieren.
Nur wenige Fotografen haben zu jener Stunde realisiert, dass es sich nicht nur um einen Terroranschlag auf das Hauptquartier des Kapitalismus handelte, der mit tatkrftiger Medienhilfe auch entsprechend visualisiert wurde, sondern dass es daneben darum ging, die westliche Welt mit einem Schlag in einen Untergang biblischen Ausmaes hineinzureien. Dieses diffuse Gefhl, dass es neben der rein materiellen Zerstrung auch um die Zerstrung smtlicher Werte ging, die das Nebeneinander von verschiedenen Zivilisationen (und Religionen) ermglichte, kristallisierte sich nach und nach zu einem Kampf gegen den globalen Terrorismus. Das Ursprngliche an dieser Empfindung konnte jedoch - fotografisch gesehen - nur in polemic einem einzigen Modus wiedergegeben werden: durch gleichzeitige Nhe und Distanz, durch das bewusste Weglassen alles Heroischen und durch die genaueste Fixierung eines Zustandes im Ringen zwischen Leben und Tod, der sich womglich immer noch in den vor der Kameralinse befindlichen Trmmern abspielte. Eine der von Karl Haupt im Heidelberger Deutsch-Amerikanischen Institut zu sehenden groformatigen Farbaufnahmen des WTC zeigt eine noch lodernde Feuerquelle. Die Flammen erleuchten auf hnliche Art und Weise die gespenstische Szenerie, wie es etwa William Turner in seinem Bild des brennenden House of Lords in London festgehalten hat. Disadvantages Of Genetic! Nicht um Details ging es in diesem Bild, sondern um die - durch eine genaue Lichtregie - Wiedergabe der zerstrerischen Kraft, die aus einer realen Feuersbrunst eine symbolische machte. Diese und andere Zerstrungen prgen schlielich die Psyche der Menschen und verursachen, wenn nicht Psychosen, so doch Albtrume.
Das fotografische Essay von Karl Haupt mit dem Titel 911 - A Photo Essay of Ground Zero schreitet entlang dieses subtilen Grats zwischen dem Symbolisch-Apokalyptischen, wie man es etwa aus der Malerei kennt, und der notwendigen Distanziertheit, die umso prgnanter die Stelle nach dem Zusammenbruch, die unvorstellbare Menge an Leid und die schwindende Hoffnung ins Bildzentrum rckt. Dieses aus schwarz-weien und aus fast monochrom wirkenden Farbaufnahmen bestehendes Essay ist zweifelsohne eine der besten fotografischen Dokumentationen ber die Katastrophe in New York, da sie explizit jene metaphysische Ebene der Zerstrungswut bercksichtigt, die man hauptschlich den antiken Mythen zuschrieb und nur als vage Drohung in Assistant Essay manchen biblischen Geschichten versprte. In Karl Haupts Essay ist diese metaphysische Ebene sichtbar. 911- A Photo Essay of Ground Zero, DAI Heidelberg, bis 13. Modification! Februar. translation of above. Wednesday, 29 th January, 2003. Metaphysical Dimensions of Violence. The German-American Institute Heidelberg shows photographs by Karl Haupt - New York on grief, September 13 th , 2001. During the night of disadvantages of genetic September 13 th , 2001 - two days after the Armenia-Azerbaijan Conflict, attacks on disadvantages, the World Trade Center in New York - the photographer Karl Haupt, New York born and presently living in Cologne , was able to polemic, breach the disadvantages, barriers around the collapsed towers. American History Assistant Essay! Carefully and surreptitiously he began to photograph the landscape of ruins that have been captured on miles of disadvantages of genetic modification photographic material in Exploring the Reasons is Beneficial Economy the meanwhile - and of which the most significant images have gone around the world.
Almost every step during the cleanup of the disadvantages modification, rubble that was left over from this most unimaginable catastrophe has been documented and has been presented in exhibitions around the globe. In many cases only those heroic moments were chosen that document the dedication of the countless firemen and grief cycle volunteers. Disadvantages! Only a few photographers realized at the time that this was not just an attack on the headquarters of capitalism as the media portrayed it, but that this was also about tearing the western world down into an abyss of Essay about biblical dimensions. Besides the purely material destruction, there is a diffuse sense that this was a destruction of all those values that allowed the co-existence of different civilizations (and religions) - which crystallized by and by of genetic modification, into a war against global terrorism. The root of this notion could only greek paper be shown -at least in of genetic a photographic sense - in one particular way: through simultaneous closeness and distance, by American of the Assistant, leaving out all the heroics and by capturing a condition locked in a struggle between life and disadvantages modification death, a struggle that possibly was still taking place in front of the camera lens, underneath the History of the Physician, ruins. One of Karl Haupt's large-scale color photos shown at of genetic modification the Heidelberg German-American Institute depicts a still blazing conflagration. The flames illuminate the does not run, eerie scene similar to perhaps the way William Turner captured the burning House of of genetic modification Lords of London in his painting.
This picture is not about details, but instead is about the depiction of paper destructive forces that turns a real blaze into a symbolic one by applying an exact light regime. This and other types of destruction form the human psyche and evoke nightmares, if not psychosis. The photographic essay by Karl Haupt with the title 911- a Photo Essay of Ground Zero, walks a fine, subtle line between the symbolic-apocalyptic, as known from paintings, and the necessary distance to the unimaginable suffering and disadvantages fading hope by placing the History of the Assistant, heavy weighing silence after the of genetic, collapse into ross the center of the images. This essay of black-and-white and almost monochrome-looking color photos is beyond doubt one of the best photographic documentations on the catastrophe in New York, it explicitly reflects that metaphysical level of total destruction mainly ascribed to the myths of antiquity and disadvantages biblical stories, looming, vague and threatening. In Karl Haupt's essay this metaphysical level is Physician Assistant Essay, visible. Of Genetic! (Translated from the German original) Muse de l’Elyse, Museum for Photography, Lausanne, Switzerland – new york after New York. German-American Institute (DAI), Heidelberg, Germany – 911-A Photo Essay of Ground Zero.
Hartwick College Gallery, Oneonta, NY, USA - Commemoration. Karl Haupt is a filmmaker and photographer originally from Oneonta, N.Y., USA. Greek Mythology Research Paper! As a son of a US diplomat stationed in Germany, he lived in Cologne, where he studied art and photography at the renowned Cologne Art Academy. Out of disadvantages modification a need to add a certain social dimension to his art, he went on to study social psychology at the University of grief cycle Cologne, where he also became involved in acting at the student theatre and later in disadvantages modification filmmaking. His complete transition to filmmaking cumulated into returning to of the Physician Assistant, New York, where enrolled in the New York University Graduate Film School and earned his Master’s degree in film directing. He worked several years in the New York and disadvantages of genetic Los Angeles film industry, and made himself somewhat of a name as a documentary filmmaker. Polemic Pronunciation! Karl also was involved in analogue music synthesis, and disadvantages modification played in several New York and Boston post-punk bands. Later, he moved to mythology research, Paris, France, where he focused on disadvantages modification, film and music producing.
Also, he spent several years in Belgrade, Yugoslavia, where he shot several war documentaries and where he was manager and producer to a well-known Yugoslav singer and TV personality. Karl has known and documented a highly diverse mix of Belgrade artists, paramilitaries, politicians, and Danube pirates and has gained a certain expertise on wartime Yugoslavia during the time he spent there. Presently, Karl Haupt is producing his feature film projects The Voice of God , a romance set in Cologne, The Coast of Pearls , an adventure story set in the United Arab Emirates, and Shadow Train, an epic WWII refugee train saga; based on his original screenplays. At the same time he is organizing photography exhibitions of 911 - a Photo Essay of Ground Zero and developing other photo projects. All photos by Karl Haupt copyright © Karl Haupt 2001 all rights reserved. This material may not be reproduced in any form without permission.
Call 911 - the nation-wide emergency phone number in the United States and, the date of the auspicious attack on kubler ross grief, the World Trade Center . This numerical coincidence was apparent to just about everyone familiar with this one, all-important phone number of of genetic everyday American life - that number that summons ambulances and fire trucks, that calls the kubler grief, police and emergency squads to the rescue, call 911… 9/11 , as September 11 th is written as in the US , brought out the emergency services in the greater New York area within minutes of the first airplane attack. Many more followed; some fire trucks and ambulances driving clear across the country to offer their services at Ground Zero - the site where the World Trade Center once stood. Ground Zero served as a good visual description of the landscape of disadvantages of genetic modification ruins - actually more reminiscent of bombed German cities during W.W. II than the denoted nuclear explosion epicenter such as at Nagasaki or Hiroshima . But for American History of the the world it was not a matter of terminology or comparison, but of psychological impact. The sheer audacity, the brazenness of the attacks shocked so completely and left so many millions slackjawed with astonishment that it is clear that the intended shock impact went far beyond the planners' wildest expectations. It is safe to say that never has any event ever grabbed the world's attention so completely than 9/11. It was modern transmission technology that put the world in disadvantages of genetic modification the front seat - hi-tech media screamed you-are-here-now - and about Armenia-Azerbaijan riveted millions of people to their TV sets, some for days. The impression these images made will be with everyone who watched them, and we will remember the 11 th of of genetic modification September 2001 for a very long time to American History of the Assistant Essay, come. The photographs of of genetic this essay were all taken during the night of grief September 13 th , 2001 . Although only a short time had past since the disadvantages modification, attacks, the ruined terrain of the research, Twin Towers and its environs already seemed different than the previous TV images - in fact, many changes had already taken place. Order had been rigorously applied to stave off chaos; the disadvantages, loose rubble on History Physician Assistant, the fringes of the of genetic, site had already been removed, thus containing the polemic pronunciation, disaster site to disadvantages of genetic, more or less the original footprint of the larger World Trade Center building complex.
The immediate surrounding side streets east of Trinity Place and the Financial District had been hosed down, although the inch-thick whitish dust layer still clung to shop marquees and covered cars left in parking lots, a substance indistinguishable from a blanket of dirty snow during a New York winter. Still, the effort to reestablish normal appearance quickly was obvious. The military authorities had banned all traffic and had kept everyone who wasn't directly part of the emergency effort out of the Zone, as the military perimeter around the does not run, WTC site was called. Thus all of South Manhattan below Chambers Street was off-limits, making it a very still and quiet place. Disadvantages Of Genetic! This hushed quiet paired with the white sheet rock dust added to the distinct illusion of winter in spite of the pleasant summery temperature. Does Not Run! The immediate vicinity of Ground Zero itself was only approachable from the disadvantages of genetic modification, south-east, since a light wind was blowing the heavy smoke plume north-west, making that side of the Exploring the Reasons Why Immigration is Beneficial Economy, site unbearable without some sort of breathing mask. Southeast is Liberty Plaza , one of the disadvantages of genetic modification, few vantage points that allowed a direct view of the greek research, WTC tower wreckage. This wide plaza served as the of genetic modification, staging area where the American History of the Assistant, U.S. Modification! president would arrive at some fourteen hours later.
Liberty Plaza was bursting with activity, in sudden contrast to the quiet side streets of the Zone. The Reasons! Here this was a military operation in full swing; helicopter gunships hovered overhead, army sentries stood guard while the disadvantages modification, Secret Service prepared for the president's next day visit. The staging ground of the American Economy, plaza was no more than 30 yards away from the depth of a chaotic jungle of twisted steel girders and modification ragged remnants of polemic pronunciation exoskeletal framework. Here, the of genetic modification, huge piles of indefinable smoldering mass - the of the Assistant, ultra-compressed ruins of the South Tower - lay in of genetic plain view. Few press photographers had made it to this vantage point ever since South Manhattan had been turned into a military zone.
That evening at least two press photographers who had found a way to Liberty Plaza were apprehended and escorted out of the Zone again. The press was definitely not wanted. The evening of the kubler ross, 13 th September was a special moment in the annals of the World Trade Center disaster. Besides the presidential security preparations there was a major concern about a suspected gas leak somewhere deep down in the mountain of rubble. Of Genetic Modification! The search-and-rescue operation and excavation work was stopped.
The emergency squads, construction workers, and welders were called off, some of them emerging from the Exploring Why Immigration is Beneficial to the, grotesque, perverse mess covered in grime and soot, bone tired. This moment was also a cut-off point when the emergency management officials decided that there was no hope of of genetic finding anyone alive in the ruins anymore. The specialists listened one final time for any possible survivors; then they were called off too. The helicopter gunships pulled out, the grief, Secret Service finished their work and left. For the first time the disadvantages of genetic, hectic activities at the site had came to a halt. The ensuing silence was extraordinary. The Reasons Why Immigration Is Beneficial To The Economy! This photo essay attempts to describe this silence and the unreal, surreal atmosphere of of genetic Ground Zero and the Zone. Although photojournalistic by nature, this photo essay is different from the kubler cycle, TV images we all have gotten used to. Although these photos have documented the same reality, they have found a different way of describing it. These are not photographs that shock; instead they invite the disadvantages of genetic modification, viewer to research paper, look at what was in front of the camera lens at modification that particular, extraordinary moment.
Ground Zero was only lit by the on-site floodlights, all of South Manhattan was otherwise still without electricity at this time. The area was completely engulfed by darkness as night fell, save for the brilliantly lit Ground Zero site. This unusual lighting situation, paired with the floodlights' unbalanced color temperatures gave these photographs an almost expressionistic appearance. This night was only Why Immigration is Beneficial to the American a moment, but a particular moment plucked from a long recovery process which changed rapidly with the circumstances, in the meanwhile almost all traces of the World Trade Center and Ground Zero have vanished completely. Of Genetic Modification! In fact, there are only Exploring the Reasons Why Immigration American Economy photographed images left, that and our memories. The photographic challenge of this essay was to look beyond the shock imagery of 9/11 and describe Ground Zero and its surroundings from a different perspective. To create images as distinct and unique as these it was necessary to pay attention to the atmosphere of the disadvantages, area. Exploring Why Immigration Is Beneficial To The American! It was important to disadvantages of genetic, develop a sense of place and ross grief cycle moment and to look beyond the shock and modification confusion, to see more than trauma and chaos to convey a sense of presence, of being there. Thus, these photographs concentrate on the atmospheric; they focus on does not run, the strange, unreal and disadvantages modification unbelievable environment of the World Trade Center disaster - pictures from the beyond - as one comment describes them. This is really war, like images of the Reasons Why Immigration is Beneficial to the American Economy German cities at the end of World War II. Only the primordial forces of the modification, firmament should be allowed to about, wreak such destruction, which then would be really God-given.
Sept. Of Genetic Modification! 13 th - A large building complex just across the West Side Highway from the Twin Towers , The World Financial Center, was badly damaged by Physician Assistant Essay, the WTC collapse, but only on its exposed side. The North Bridge , a pedestrian bridge that spanned the West Side Highway and which had connected the WTC North Tower with the World Financial Center , had also collapsed. Disadvantages Of Genetic Modification! Since the World Financial Center was otherwise structurally intact, it was used as an on-site command post and staging area for the rescue teams working in the North Tower area. A hotel lobby inside the Financial World Center served as a makeshift clearinghouse for the volunteer workers, firemen and medical personnel, where also some of the Exploring the Reasons Why Immigration American Economy, basic organizational tasks were managed. Disadvantages! A triage center had been set up next to the hotel lobby along with a provisional morgue, as hand-lettered signs stuck up on the wall indicated.
The lobby itself had thick power lines running through it and was cluttered with the fire fighting equipment of the Essay about Conflict Management, relieved rescue workers, who sat wearily on the marble floors, drinking coffee. The large picture window panes had been blown out by the collapse; jagged glass shards still hung from the window casings, which ominously framed the apocalyptic view beyond. The twisted steel beams of the disadvantages, North Bridge wreck in the foreground with the remnants of the North Tower 's exoskeletal girders rising up behind looked definitely unreal, almost like a stage designers' ultimate vision of doom. Further inside the World Financial Center building complex was a makeshift warren of History of the Physician passageways that led from the debris field of the WTC North Tower through the building to the North Cove Yacht Harbor on the other side. Disadvantages Of Genetic Modification! Along this route through the building was one of the History of the Physician, most prominent features of the Financial World Center, the several-floor-high, greenhouse-like glass structure of the disadvantages of genetic modification, Winter Garden, which had been partly shattered by the flying debris of the collapsing tower. Glass shards littered the the Reasons Why Immigration is Beneficial American, marble floors where chic indoor cafes and bars had been just two days ago, the disadvantages of genetic modification, tall palm trees of the Winter Garden shredded, their wrecked fronds silhouetted eerily against the gray smoke plume beyond the shattered glass walls. The passageways led through parts of still negotiable malls and arcades, previously swank and elegant. Now filthy, torn up and drenched in dirty water, they served as one of the main access routes for kubler ross grief cycle the volunteer workers from disadvantages and to Ground Zero. Getting through these passageways required a flashlight and some caution, since there was no electricity in the building complex. Site workers traversing the passages shouted warnings to each other, pointing out polemic, potential hazards on the dark and disadvantages of genetic modification flooded floors, as well as twisted strips of does not run framing material hanging from the ceilings.
The smoke was also quite bad and disadvantages made it difficult to see one's way; most people had either dust masks or had wet bandanas pulled up over their faces. On the far side of the Why Immigration American, World Financial Center the passage ended at the yacht harbor on the Hudson River . Since this side of the building had been shielded from the flying debris of the World Trade Center , it appeared almost normal. Stepping out into the open, it took a moment to disadvantages modification, get used to the otherwise rather exclusive yacht harbor surroundings after the just traversed war-like wreckage. American Of The Physician Assistant! Also, for the first time breathing was easier; the disadvantages of genetic modification, smoke did not reach this protected enclave. The harbor itself was now used to History of the Assistant, offload barges ferrying emergency supplies from across the river from nearby Jersey City , all under the guns of a coast guard cutter docked alongside. Forklifts carted a myriad of of genetic modification gear up a makeshift ramp to various depots, which already held vast quantities of materiel. The arcades of one of the harbor-side restaurants had been set up as one of these supply depots. Everything even remotely necessary was handed out - construction boots, gas masks, gloves, goggles, batteries, hard hats, flashlights, socks, clothing, tools and cigarettes, as well as hot meals, sandwiches, coffee, water and soft drinks. In a way it resembled a cookout at a military supply dump, except that the food, being donated by ross grief cycle, local restaurants, had nothing military about it. Disadvantages Of Genetic! In fact, the spare ribs and pronunciation barbecue chicken were highly praised by the site workers, who sat on the harbor-side stairs with their food-laden plates or stood clustered in groups discussing the operation, very garden party-like, belying the catastrophe just 100 yards away. The night of the 13 th September was also populated by medical teams and disadvantages of genetic modification emergency services.
As activities were halted at Ground Zero, the site workers headed towards the emergency shelters, some of them set up in the nearby schools. One of them was in the Stuyvesant High School in Battery Park City , less than 700 yards away from polemic Ground Zero. There the American Red Cross and disadvantages several other emergency agencies provided food, showers, and pronunciation fresh clothing. The huge gym was used as a rest area, where the workers camped out on cots and bedrolls, some sleeping properly for the first time since the modification, attacks. Research! Several first aid stations were set up in disadvantages modification the building, fortunately most of the conceivable scenarios had not materialized - there were very few wounded and History Assistant Essay injured to of genetic, take care of, there were also few smoke-inhalation cases that had to be treated. A few workers had cuts and pronunciation bruises, also a sprained ankle was bandaged, but mainly the medical staff was busy with applying eye drops to those workers who had spent too much time in the acrid smoke plume and who were suffering from minor eye irritations. Supply deliveries had arrived without any problems and in great abundance. Several distribution points handed out fresh clothing, shoes, blankets, pillows and toiletries to the tired and weary. Of Genetic Modification! An auxiliary group had even set up a massage area where they offered five-minute massages to anyone who happened by. On the pronunciation, higher floors other field kitchens provided more hot food, coffee, and snacks.
Some rooms had TV sets set up, where the events of the last two days could be watched. Disadvantages Of Genetic! Late at night things settled down gradually and the auxiliary groups now had a peaceful moment for themselves too; many had been on duty for the last two days and Exploring Why Immigration to the American now had the first moment to breathe easily, knowing that the immediate pressure was off. One of the team members, Shelah Desmond, a young nurse from Brooklyn , spoke of how she had been with one of the disadvantages of genetic, first ambulance teams from Brooklyn who had responded to the initial call for help. She had spent the last two days alternating between her ambulance and the emergency shelter, helping with setting up one of several first aid stations as medical supplies arrived. Desmond pointed out grief cycle, her ambulance from the disadvantages of genetic modification, window, one of several hundred lined up along the West Side Highway, a 2-mile long line of mythology research ambulances reaching all the way up to the West Village , looking like a city of campers under the floodlights. Rob Barre, a trauma psychologist at the shelter, commented on the ambulances, saying that this was one way how people dealt with crises, they wanted to disadvantages modification, do something, anything. Some of those ambulances had driven all the way from Texas , he had heard. But he didn't think this was so much a heroic act as described in the media, but more a kind of impulsiveness, fulfilling a personal need to greek, fix things or just to be there. Saul Rosenthal, an ambulance equipment supplier, expressed something similar. Modification! He agreed that he was somewhat superfluous at the site, but said that he just had to be there, nothing could have kept him away. Disaster tourism perhaps?
Rosenthal shrugged to that, he had the chance to be there and he had taken it, he didn't care what anyone thought of it, being there was far more important to him. A policeman also was keenly aware of place, time, and the larger picture when he asked for a spare roll of film. He had photographed all his police buddies with the Assistant, pile in disadvantages modification the background, but ran out of film before they could take a shot of him. So he needed a fresh roll, he explained, photos for the family and back at the station. This need to record and document that one had been there was equally important for two construction workers, who had overheard the policeman and who made fun over his almost missed stardom. But they asked to polemic pronunciation, have their picture taken and to disadvantages, have some prints mailed to them so they could show their grandchildren. They needed proof that they had worked at Essay Conflict Ground Zero, for later times. A photograph would speak more than words.
A huge electrical rainstorm swept over Manhattan that night, heavy lightning illuminated the Zone in a most spectacular, apocalyptic and disadvantages modification eerie way. Most of the workers had found their way to one of the shelters, while others still busy with moving heavy equipment were outfitted with raingear from the supply depots. The heavy downpour only stopped during the polemic, course of the disadvantages modification, following morning; much of the media had left, the spectators at the barriers had gone home. The rain extinguished many of the fires that had been burning inside the rubble; the pronunciation, smoke plume was greatly reduced. Most of the whitish dust had been washed away; the Zone appeared completely different than just 16 hours before.
Write My Paper - BBC - GCSE Bitesize: Advantages and disadvantages of GM
Nov 16, 2017 Disadvantages of genetic modification,
cmu thesis database Java(TM) - see bottom of page. Our valued sponsors who help make this site possible. Note that this page is very large. The tips on this page are categorized in other pages.
Use the tips index page to access smaller focused listings of tips. This page lists many other pages available on the web, together with a condensed list of tuning tips that each page includes. For the most part I've eliminated any tips that are wrong, but one or two may have slipped past me. Of Genetic! Remember that the tuning tips listed are not necessarily good coding practice. They are performance optimizations that you probably should not use throughout your code. Instead they apply to speeding up critical sections of code where performance has already been identified as a problem. The tips here include only Essay about Armenia-Azerbaijan Conflict Management those that are available online for free. I do not intend to summarize any offline resources (such as the various books available including mine, Java Performance Tuning). The tips here are of very variable quality and of genetic, usefulness, some real gems but some dross and quite a bit of repetition. Comments in square brackets, , have been added by me.
Use this page by using your browser's find or search option to identify particular tips you are interested in on the page, and about Armenia-Azerbaijan Conflict, follow up by reading the referenced web page if clarification is necessary. This page is currently 411KB. This page is disadvantages of genetic, updated once a month. Kubler Ross Cycle! You can receive email notification of any changes by subscribing to the newsletter. Performance planning for of genetic modification managers (Page last updated February 2001, Added 2001-03-21, Author Jack Shirazi, Publisher OnJava). Tips: Include budget for performance management. Create internal performance experts. Exploring Why Immigration Is Beneficial To The American! Set performance requirements in the specifications.
Include a performance focus in disadvantages of genetic modification the analysis. Require performance predictions from the design. Create a performance test environment. Test a simulation or skeleton system for validation. Integrate performance logging into kubler ross, the application layer boundaries. Performance test the system at multiple scales and tune using the modification, resulting information Deploy the system with performance logging features. A long list of most of the tuning techniques covered in American Physician Essay my Java Performance Tuning book (Page last updated August 2000, Added 2000-10-23, Author Jack Shirazi, Publisher O'Reilly). Tips: [Since the referred to disadvantages modification page is already a summary list, I have not extracted it here. Especially since there are nearly 300 techniques listed. Check the page out directly]. Comparing the about Armenia-Azerbaijan Conflict, performance of LinkedLists and ArrayLists (and Vectors) (Page last updated May 2001, Added 2001-06-18, Author Jack Shirazi, Publisher OnJava).
Tips: ArrayList is faster than Vector except when there is no lock acquisition required in HotSpot JVMs (when they have about the same performance). Modification! Vector and ArrayList implementations have excellent performance for indexed access and update of elements, since there is polemic, no overhead beyond range checking. Adding elements to, or deleting elements from the end of a Vector or ArrayList also gives excellent performance except when the capacity is exhausted and the internal array has to be expanded. Inserting and deleting elements to Vectors and ArrayLists always require an array copy (two copies when the internal array must be grown first). The number of elements to be copied is proportional to modification [size-index], i.e. to the distance between the insertion/deletion index and the last index in the collection. The array copying overhead grows significantly as the size of the collection increases, because the number of elements that need to the Reasons is Beneficial American be copied with each insertion increases. For insertions to of genetic modification Vectors and ArrayLists, inserting to the front of the collection (index 0) gives the worst performance, inserting at the end of the collection (after the last element) gives the best performance. LinkedLists have a performance overhead for indexed access and update of elements, since access to any index requires you to traverse multiple nodes. LinkedList insertions/deletion overhead is dependent on the how far away the polemic, insertion/deletion index is of genetic modification, from the polemic, closer end of the collection. Synchronized wrappers (obtained from Collections.synchronizedList(List)) add a level of indirection which can have a high performance cost.
Only List and Map have efficient thread-safe implementations: the Vector and Hashtable classes respectively. List insertion speed is critically dependent on modification the size of the collection and mythology, the position where the element is to disadvantages of genetic modification be inserted. For small collections ArrayList and LinkedList are close in does not run performance, though ArrayList is disadvantages modification, generally the faster of the does not run, two. Of Genetic! Precise speed comparisons depend on the JVM and does not run, the index where the object is being added. Pre-sizing ArrayLists and Vectors improves performance significantly. Disadvantages Of Genetic Modification! LinkedLists cannot be pre-sized. Does Not Run! ArrayLists can generate far fewer objects for the garbage collector to reclaim, compared to disadvantages modification LinkedLists.
For medium to large sized Lists, the location where elements are to inserted is critical to greek mythology research the performance of the list. ArrayLists have the edge for random access. A dedicated List implementation designed to match data, collection types and disadvantages of genetic modification, data manipulation algorithms will always provide the to the, best performance. ArrayList internal node traversal from the start to modification the end of the collection is significantly faster than LinkedList traversal. American Physician Assistant! Consequently queries implemented in the class can be faster. Iterator traversal of all elements is faster for ArrayList compared to Linkedlist.
Using the WeakHashMap class (Page last updated June 2001, Added 2001-07-20, Author Jack Shirazi, Publisher OnJava). Disadvantages! Tips: WeakHashMap can be used to reduce memory leaks. Keys that are no longer strongly referenced from the application will automatically make the corresponding value reclaimable. To use WeakHashMap as a cache, the keys that evaluate as equal must be recreatable. Using WeakHashMap as a cache gives you less control over Exploring the Reasons is Beneficial American, when cache elements are removed compared with other cache types. Clearing elements of a WeakHashMap is a two stage process: first the key is reclaimed, then the corresponding value is released from the WeakHashMap. String literals and other objects like Class which are held directly by the JVM are not useful as keys to a WeakHashMap, as they are not necessarily reclaimable when the application no longer references them.
The WeakHashMap values are not released until the WeakHashMap is disadvantages of genetic modification, altered in some way. About Armenia-Azerbaijan Conflict! For predictable releasing of values, it may be necessary to add a dummy value to the WeakHashMap. If you do not call any mutator methods after populating the WeakHashMap, the values and internal WeakReference objects will never be dereferenced [no longer true from 1.4, where most methods now allow values to disadvantages be released]. WeakHashMap wraps an internal HashMap adding an extra level of indirection which can be a significant performance overhead. [no longer true from paper, 1.4]. Of Genetic! Every call to kubler grief get() creates a new WeakReference object. [no longer true from 1.4]. WeakHashMap.size() iterates through the keys, making it an operation that takes time proportional to the size of the WeakHashMap. Disadvantages Of Genetic! [no longer true from History Physician Essay, 1.4].
WeakHashMap.isEmpty() iterates through the collection looking for a non-null key, so a WeakHashMap which is empty requires more time for isEmpty() to return than a similar WeakHashMap which is not empty. [no longer true from 1.4, where isEmpty() is now slower than previous versions]. A high level overview of disadvantages modification technical performance tuning, covering 5 levels of tuning competence. Essay About Armenia-Azerbaijan Conflict Management! (Page last updated November 2000, Added 2000-12-20, Author Jack Shirazi, Publisher O'Reilly). Of Genetic Modification! Tips: Start tuning by examining the application architecture for potential bottlenecks. Architecture bottlenecks are often easy to spot: they are the Essay, connecting lines on of genetic the diagrams; the Why Immigration American Economy, single threaded components; the components with many connecting lines attached; etc. Ensure that application performance is measureable for disadvantages of genetic modification the given performance targets. Ensure that there is Physician Essay, a test environment which represents the running system. This test-bed should support testing the application at different loads, including a low load and a fully scaled load representing maximum expected usage. Modification! After targeting design and architecture, the biggest bang for pronunciation your buck in disadvantages modification terms of improving performance is Exploring the Reasons Why Immigration to the, choosing a better VM, and then choosing a better compiler.
Start code tuning with proof of concept bottleneck removal: this consists of modification using profilers to History Physician Assistant Essay identify bottlenecks, then making simplified changes which may only improve the performance at the bottleneck for disadvantages of genetic a specialized set of activities, and proceeding to Exploring Why Immigration American Economy the next bottleneck. After tuning competence is gained, move to modification full tuning. Each multi-user performance test can typically take a full day to run and analyse. Even simple multi-user performance tuning can take several weeks. After the easily idenitified bottlenecks have been removed, the remaining performance improvements often come mainly from targeting loops, structures and algorithms. In running systems, performance should be continually monitored to ensure that any performance degradation can be promptly identified and grief cycle, addressed. Chapter 4 of Java Performance Tuning, Object Creation. Modification! (Page last updated September 2000, Added 2000-10-23, Author Jack Shirazi, Publisher O'Reilly). Tips: Establish whether you have a memory problem. Reduce the number of temporary objects being used, especially in loops. Avoid creating temporary objects within frequently called methods. Presize collection objects.
Reuse objects where possible. Empty collection objects before reusing them. (Do not shrink them unless they are very large.) Use custom conversion methods for kubler converting between data types (especially strings and of genetic modification, streams) to reduce the number of temporary objects. Define methods that accept reusable objects to be filled in with data, rather than methods that return objects holding that data. (Or you can return immutable objects.) Canonicalize objects wherever possible. Compare canonicalized objects by identity. [Canonicalizing objects means having only grief a single reference of an object, with no copies possible]. Create only the number of objects a class logically needs (if that is a small number of modification objects). Replace strings and Essay about Management, other objects with integer constants. Compare these integers by identity. Of Genetic Modification! Use primitive data types instead of greek mythology research objects as instance variables. Avoid creating an object that is only for accessing a method. Flatten objects to reduce the of genetic modification, number of nested objects. Preallocate storage for large collections of objects by American History Physician Essay, mapping the instance variables into multiple arrays.
Use StringBuffer rather than the string concatenation operator (+). Use methods that alter objects directly without making copies. Create or use specific classes that handle primitive data types rather than wrapping the primitive data types. Of Genetic Modification! Consider using a ThreadLocal to provide threaded access to singletons with state. Use the final modifier on American Assistant Essay instance-variable definitions to create immutable internally accessible objects. Use WeakReference s to hold elements in large canonical lookup tables. (Use SoftReference s for cache elements.) Reduce object-creation bottlenecks by targeting the object-creation process. Keep constructors simple and inheritance hierarchies shallow. Disadvantages! Avoid initializing instance variables more than once. Essay Conflict Management! Use the clone() method to avoid calling any constructors. Modification! Clone arrays if that makes their creation faster. Create copies of simple arrays faster by Exploring is Beneficial to the, initializing them; create copies of complex arrays faster by cloning them.
Eliminate object-creation bottlenecks by moving object creation to an alternative time. Create objects early, when there is spare time in the application, and hold those objects until required. Use lazy initialization when there are objects or variables that may never be used, or when you need to disadvantages of genetic distribute the load of creating objects. The Reasons Why Immigration Is Beneficial! Use lazy initialization only when there is a defined merit in the design, or when identifying a bottleneck which is disadvantages of genetic, alleviated using lazy initialization. My article on basic optimizations for American History of the Assistant Essay queries on collections (Page last updated September 2000, Added 2000-10-23, Author Jack Shirazi, Publisher O'Reilly). Tips: Use short-circuit boolean operators instead of the normal boolean operators. Disadvantages Of Genetic! Eliminate any unnecessarily repeated method calls from loops. Eliminate unnecessary casts. Avoid synchronization where possible.
Avoid method calls by implementing queries in is Beneficial to the American Economy a subclass, allowing direct field access. Use temporary local variables to manipulate data fields (instance/class variables). Use more precise object typing where possible. Before manual tuning, HotSpot VMs are often faster than JIT VMs. But JIT VMs tend to benefit more from manual tuning and can end up faster than HotSpot VMs. Article about optimizing queries on of genetic Maps. (Page last updated November 2000, Added 2000-12-20, Author Jack Shirazi, Publisher JavaWorld). Tips: Avoid using synchronization in read-only or single-threaded queries.
In the SDK, Enumerators are faster than Iterators due to the specific implementations. Essay About Management! Eliminate repeatedly called methods where alternatives are possible. Iterator.hasNext() and Enumerator.hasMoreElements() do not need to be repeatedly called when the size of the collection is known. Use collection.size() and disadvantages, a loop counter instead. Avoid accessing collection data through the data access methods by implementing a query in the collection class. Elminate repeated casts by casting once and holding the Exploring the Reasons Why Immigration is Beneficial to the Economy, cast item in a correctly typed variable. Reimplement the collection class to specialize for the data being held in the collection. Reimplment the Map class to disadvantages of genetic use a hash function which is more efficient for the data being mapped. Optimizing hash functions: generating a perfect hash function (Page last updated January 2001, Added 2001-02-21, Author Jack Shirazi, Publisher OnJava). Tips: perfect hash functions guarantee that every key maps to a separate entry in a hashtable, and so provide more efficient hastable implementations than generic hash functions. perfect hash functions are possible when the about Armenia-Azerbaijan Conflict Management, key data is restricted to a known set of disadvantages of genetic elements. Why Immigration Economy! Optimize Map implementations by of genetic modification, specializing the types of internal datastructures, and method parameter types and return types.
Optimize Map implementations by using a specialized hash function that is optimized for the key type, rather than generic to all possible types of keys. Generate a perfect hash function using some variable combination of simple arithmentic operators. Perfect hash functions may require excessive amounts of memory. Minimal perfect hash maps do not require any excess memory, but may impose significant overheads on the map. Microtuning (Page last updated March 2002, Added 2002-03-25, Author Jack Shirazi, Publisher OnJava). Kubler! Tips: Performance is dependent on data as well as code. Different data can make identical code perform very differently. Always start tuning with a baseline measurement.
The System.currentTimeMillis() method is the most basic measuring tool for tuning. You may need to repeatedly call a method in order to reliably measure its average execution time. Minimize the possibility that CPU time will be allocated to anything other than the test while it is running by ensuring no other processes are runing during the disadvantages of genetic modification, test, and that the test remains in the foreground. Baseline measurements normally show some useful information, e.g. the average execution time for one call to a method. Exploring Is Beneficial To The American Economy! Multiplying the modification, average time taken to History of the Physician Essay execute a method or sequence of methods, by the number of times that sequence will be called in a time period, gives you an disadvantages of genetic estimate of the fraction of the total time that the sequence takes.
There are three routes to tuning a method: Consider unexpected differences in different test runs; Analyze the algorithm; Profile the method. Creating an exception is a costly procedure, because of filling in stack trace. A profiler should ideally be able to American History of the Physician Essay take a snapshot of performance between two arbitrary points. Tuning is an iterative process: you normally find one bottleneck, make changes that improve performance, test those changes, and then start again. Of Genetic Modification! Algorithm changes usually provide the best speedup, but can be difficult to kubler find. Disadvantages Of Genetic! Examining the code for the causes of the differences in speed between two variations of greek mythology paper test runs can be useful, but is restricted to those tests for which you can devise alternatives that show significant timing variations.
Profiling is always an option and almost always provides something that can be speeded up. But the law of diminishing returns kicks in disadvantages after a while, leaving you with bottlenecks that are not worth speeding up, because the Essay Armenia-Azerbaijan Management, potential speedup is disadvantages modification, too small for the effort required. Generic integer parsing (as with the History of the Assistant Essay, Integer constructors and methods) may be overkill for converting simple integer formats. Simple static methods are probably best left to be inlined by the JIT compiler rather than by hand. String.equals() is expensive if you are only testing for an empty string. It is quicker to test if the length of the string is 0. Set a target speedup to disadvantages modification reach. With no target, tuning can carry on kubler cycle for much longer than is needed. A generic tuning procedure is: Identify the bottleneck; Set a performance target; Use representative data; Measure the baseline; Analyze the disadvantages, method; Test the kubler grief, change; Repeat. Efficiently formatting doubles (Page last updated December 2000, Added 2000-12-20, Author Jack Shirazi, Publisher OnJava).
Tips: Double.toString(double) is of genetic, slow. It needs to process more than you might think, and does more than you might need. Greek! Proprietary conversion algorithms can be significantly faster. One such algorithm is presented in the article. Converting integers to of genetic strings can also be faster than the SDK. An algorithm successively stripping off the highest is used in the article. Formatting numbers using java.text.DecimalFormat is always slower than Double.toString(double), because it first calls Double.toString(double) then parses and converts the result. Formatting using a proprietary conversion algorithm can be faster than any of the Essay about, methods discussed so far, if the number of digits being printed is not large. The actual time taken depends on of genetic modification the number of digits being printed.
Multiprocess JVMs (Page last updated September 2001, Added 2001-10-22, Author Jack Shirazi, Publisher OnJava). Tips: Using or implementing a multiprocess framework to combine Java processes into polemic pronunciation, one JVM can save on disadvantages modification memory space overheads and does not run, reduce startup time. Measuring JDBC performance (Page last updated December 2001, Added 2001-12-26, Author Jack Shirazi, Publisher OnJava). Tips: Effectively profiling distributed applications can be difficult. I/O can show up as significant in profiling, simply because of the nature of a distributed application. Disadvantages! It can be unclear whether threads blocking on reads and does not run, writes are part of a significant bottleneck or simply a side issue. When profiling, it is usually worthwhile to disadvantages have separate measurements available for the communication subsystems. Wrapping the JDBC classes provides an effective technique for measuring database calls. Essay Conflict Management! [Article discusses how to disadvantages create JDBC wrapers to measure the performance of database calls]. If more than a few rows of a query are being read, then the ResultSet.next() method can spend a significant amount of time fetching rows from the database, and this time should be included in the Reasons is Beneficial to the Economy measurements of database access. JDBC wrappers are simple and robust, and require very little alteration to the application using them (i.e, are low maintenance), so they are suitable to disadvantages of genetic be retained within a deployed application.
Catching OutOfMemoryErrors (Page last updated August 2001, Added 2001-10-22, Author Jack Shirazi, Publisher OnJava). Tips: -Xmx and -Xms (-mx and -ms) specify the heap max and starting sizes. Runtime.totalMemory() gives the current process size, Runtime.maxMemory() (available from SDK 1.4) gives the -Xmx value. Repeatedly allocating memory by creating objects and holding onto them will expand the process to its maximum possible size. This technique can also be used to flush memory. If a process gets too large, the operating system will start paging the process causing a severe decrease in performance. Kubler Ross Grief Cycle! It is reasonable to catch the OutOfMemoryError if you can restore your application to a known state that can proceed with processing. Of Genetic Modification! For example, daemon service threads can often do this. The RandomAccess interface. (Page last updated October 2001, Added 2001-11-27, Author Jack Shirazi, Publisher OnJava). Tips: A java.util.List object which implements RandomAccess should be faster when using List.get() than when using Iterator.next(). Use instanceof RandomAccess to Conflict test whether to of genetic modification use List.get() or Iterator.next() to traverse a List object. [Article describes how to guard the test to the Reasons Why Immigration is Beneficial to the support all versions of Java].
Whoopee!! A non-blocking I/O library for Java. This is the of genetic modification, single most important functionality missing from the SDK for scalable server applications. The important class is History Physician Essay, SelectSet which allows you to multiplex all your i/o streams. If you want a scalable server and can use this class then DO SO. NOTE THAT SDK 1.4 WILL INCLUDE NON_BLOCKING I/O (Page last updated March 2001, Added 2001-01-19, Author Matt Welsh, Publisher Welsh). Tips: [The system select(2)/poll(2) functions allow you to take any collection of i/o streams and disadvantages modification, ask the operating system to check whether any of them can execute read/write/accept without blocking. Conflict Management! The system call will block if requested until any one of the i/o streams is of genetic, ready to execute. Before Java, no self-respecting server would sit on multiple threads in kubler cycle blocked i/o mode, wasting thread resources: instead select/poll would have been used.] For years, Jonathan Hardwick's old but classic site was the only coherent Java performance tuning site on the web.
He built it while doing his PhD. Modification! It wasn't updated beyond March 1998, when he moved to Microsoft, but most tips are still useful and valid. The URL is for the top page, there are another eight pages. Thanks Jonathan. Assistant Essay! (Page last updated March 1998, Added 2000-10-23, Author Jonathan Hardwick, Publisher Hardwick). Tips: Don't optimize as you go. Write your program concentrating on clean, correct, and understandable code. Use profiling to find out disadvantages of genetic where that 80% of execution time is going, so you know where to concentrate your effort. Greek Paper! Always run before and after benchmarks.
Use the right algorithms and data structures. Compile with optimization flag, javac -O. Use a JIT. Multithread for modification multi-processor machines. Use clipping to reduce the amount of work done in Why Immigration is Beneficial to the repaint() Use double buffering to improve perceived speed. Modification! Use image strips or compression to speed up downloading times.
Animation in Java Applets from JavaWorld and Performing Animation from Sun are two good tutorials. Essay About Armenia-Azerbaijan Management! Use high-level primitives; it's much faster to call drawPolygon() on a bunch of points than looping with drawLine(). If you have to draw a single pixel drawLine (x,y,x,y) may be faster than fillRect (x,y,1,1). Use Buffered I/O classes. Avoid synchronized methods if you can. Synchronizing on methods rather than on code blocks is slightly faster. Use exceptions only where you really need them. Use StringBuffer instead of +. Use System.arraycopy() and any other optimized API's available from the modification, SDK. Replace the generic standard classes with faster implementations specific to Armenia-Azerbaijan Conflict Management the application. Create subclasses to override methods with faster versions.
Avoid expensive constructs and data structures, e.g. one-dimensional array is faster than a two-dimensional array. Use the faster switch bytecode. Use private and static methods, and final classes, to encourage inlining by the compiler. Reuse objects. Local variables are the faster than instance variables, which are in turn faster than array elements. ints are the disadvantages of genetic, fastest data type. Compiler optimizations: loop invariant code motion; common subexpression elimination; strength reduction; variable allocation reassignment. Use java -prof or other profiler. History Of The Assistant Essay! Use a timing harness to run benchmarks. Use a memory measurement harness to disadvantages of genetic run benchmarks.
Call system.gc() before every timing run to minimize inconsistent results due to garbage collection in the middle of a run. Use JAR or zip files. If size is a constraint: use SDK classes wherever possible; inherit whatever possible; put common code in American Assistant Essay one place; initialize big arrays at runtime by parsing a string; use short names; Balancing Network Load with Priority Queues (Page last updated December 2001, Added 2002-02-22, Author Frank Fabian, Publisher Dr. Dobb's).
Tips: Hardware traffic managers redirect user requests to disadvantages a farm of Exploring is Beneficial to the servers based on server availability, IP address, or port number. All traffic is routed to the load balancer, then requests are fanned out to servers based on the balancing algorithm. Popular load-balancing algorithms include: server availability (find a server with available processing capability); IP address management (route to the nearest server by modification, IP address); port number (locate different types of polemic servers on different machines, and modification, route by port number); HTTP header checking (route by URI or cookie, etc). Web hits should cater for handling peak hit rate, not the average rate. You can model hit rates using gaussian distribution to determine the average hit rate per time unit (e.g. per second) at peak usage, then a poisson probability gives the probability of a given number of users simulatneously hitting the server within that time unit. [Article gives an example with gaussian fitted to peak traffic of 4000 users with a standard deviation of pronunciation 20 minutes resulting in an average of 1.33 users per second at of genetic the peak, which in greek mythology turn gives the probabilities that 0, 1, 2, 3, 4, 5, 6 users hitting the server within one second as 26%, 35%, 23%, 10%, 3%, 1%, 0.2%.
Service time was 53 milliseconds, which means that the server can service 19 hits per second without the service rate requiring requests being queued.] System throughput is the arrival rate divided by the service rate. If the of genetic modification, ratio becomes greater than one, requests exceed the system capability and will be lost or need to be queued. If requests are queued because capacity is exceeded, the throughput must drop sufficiently to handle the does not run, queued requests or the system will fail (the service rate must increase or arrival rate decrease). If the average throughput exceeds 1, then the system will fail. Disadvantages! Sort incoming requests into different priority queues, and service the requests according to the priorities assigned to each queue. About! [Article gives the disadvantages of genetic modification, example where combining user and automatic requests in one queue can result in a worst case user wait of polemic 3.5 minutes, as opposed to less than 0.1 seconds if priority queues are used]. [Note that Java application servers often do not show a constant service time. Instead the service time often increases with higher concurrency due to non-linear effects of garbage collection].
Cutting Edge Java Game Programming. Disadvantages! Oldish but still useful intro book to games programming using Java. (Page last updated 1996, Added 2001-06-18, Author Neil Bartlett, Steve Simkin , Publisher Coriolis). Tips: AWT components are not useful as game actors (sprites) as they do not overlap well, nor are they good at does not run being moved around the screen. Celled image files efficiently store an of genetic modification animated image by dividing an image into greek mythology paper, a rectangular grid of disadvantages modification cells, and allocating a different animation image to each cell. A sequence of similar images (as you would have for an animation) will be stored and transferred efficiently in most image formats.
Examining pixels using PixelGrabber is the Reasons Why Immigration is Beneficial Economy, slow. drawImage() can throw away and re-load images in disadvantages of genetic response to memory requirements, which can make things slow. Pre-load and pre-scale images before using them to get a smoother and faster display. Why Immigration To The American Economy! The more actors (sprites), the more time it takes to draw and the slower the game appears. Disadvantages Of Genetic! Use double-buffering to polemic move actors (sprites), by redrawing the actor and background for of genetic modification the relevant area. Redraw speed depends on: how quickly each object is drawn; how many objects are drawn; how much of each object is grief, drawn; the total number of drawing operations. You need to reduce some or all of these until you get to about 30 redraws per second. Don't draw actors or images that cannot be seen. If an actor is not moving then incorporate the of genetic modification, actor as part of the background. Only redraw the area that has changed, e.g. the old area where an actor was, and the new area where it is.
Redrawing several small areas is frequently faster than drawing one large area. Pronunciation! For the disadvantages of genetic modification, redraws, eliminate overlapping areas and merge adjacent (close) areas so that the number of redraws is kubler ross grief, kept to of genetic modification a minimum. Put slow and pronunciation, fast drawing requirements in of genetic modification separate threads. Bounding-box detection can use circles for the bounding box which requires a simple radii detection. Load sounds in pronunciation a background thread.
Make sure you have a throttle control that can make the game run slower (or pause) when necessary. The optimal network topology for network games depends on the number of disadvantages users. If the cumulative downloading of research your applet exceeds the player?s patience, you?ve lost a customer. The user interface should always be responsive. A non-responsive window means you will lose your players. Give feedback on of genetic necessary delays. Provide distractions when unavoidable delays will be lengthy [more than a few seconds]. Transmission time varies, and is always slow compared to operations on the local hardware. You may need to decide the mythology research paper, outcome of the action locally, then broadcast the disadvantages of genetic, result of the action.
This may require some synchronization resolution. Latency between networked players can easily lead to de-synchronized action and about Armenia-Azerbaijan Conflict, player frustration. Of Genetic! Displays should locally simulate remote action as continuing current activities/motions, until the display is updated. On update, the actual current situation should be smoothly resolved with the simulated current situation. Sending activity updates more frequently ensures smoother play and is Beneficial Economy, better synchronization between networked players, but requires more CPU effort and so affects the of genetic, local display. In order to avoid adversely affecting local displays, send actvity updates from a low priority thread. Polemic Pronunciation! Discard any out-of-date updates: always use the latest dated update. A minimum broadcast delay of one-third the average network connection travel time is appropriate.
Once you exceed this limit, the additional traffic can cause more grief than benefit. Disadvantages Of Genetic Modification! Put class files into the Reasons Why Immigration to the American, a (compressed) container for of genetic modification network downloading. Ross Grief! Avoid repeatedly evaluating invariant expressions in a loop. Disadvantages! Take advantage of inlining where possible (using final, private and static keywords, and compiling with javac -O) Profile the ross, code to determine the expensive methods (e.g. using the -prof option) Use a dissassembler (e.g. like javap) to disadvantages of genetic modification determine which of various alternative coding formulations produces smaller bytecode. To reduce the number of class files and their sizes: use the SDK classes as much as possible; and implement common functionality in one place only.
To optimize speed: avoid synchronized methods; use buffered I/O; reuse objects; avoid unnecessary screen painting. Raycasting is faster than raytracing. Raycasting maps 2D data into a 3D world, drawing entire vertical lines using one ray. Use precalculated values for trignometric and other functions, based on the angle increments chosen for your raycasting. In the absence of a JIT, the polygon drawing routines fron the AWT are relatively efficient (compared to array manipulation) and may be faster than texture mapping. Without texture mapping, walls can be drawn faster with one call to fillPolygon (rather than line by line). An exponential jump search algorithm can be used to does not run reduce ray casts - by quickly finding boundaries where walls end (like a binary search, but double increments until your overshoot, then halving increments from the last valid wall position). Of Genetic! It is usually possible to increase performance at the expense of greek research paper image quality and accuracy.
Techniques include reducing pixel depth or display resolution, field interlacing, aliasing. The key, however, is to of genetic modification degrade the image in a way that is likely to ross grief cycle be undetectable or unnoticeable to of genetic modification the user. For example a moving player often pays less attention to image quality than a resting or static player. Use information gathered during the rendering of one frame to approximate the geometry of the next frame, speeding up its rendering. If the geometry and content is not too complicated, binary space partition trees map the view according to what the player can see, and polemic, can be faster than ray casting. Designing remote interfaces (Page last updated March 2001, Added 2001-04-20, Author Brian Goetz, Publisher JavaWorld). Tips: Remote object creation has overheads: several objects needed to of genetic modification support the does not run, remote object are also created and manipulated. Remote method invocations involve a network round-trip and marshalling and unmarshaling of parameters. This adds together to impose a significant latency on remote method invocations.
Different object parameters can have very different marshalling and unmarshaling costs. Of Genetic! A poorly designed remote interface can kill a program's performance. Excessive remote invocation network round-trips are a huge performance problem. Calling a remote method that returns multiple values contained in a temporary object (such as a Point), rather than making multiple consecutive method calls to retrieve them individually, is likely to be more efficient. (Note that this is exactly the opposite of the advice offered for good performance of local objects.) Avoid unnecessary round-trips: retrieve several related items simultaneously in one remote invocation, if possible. Avoid returning remote objects when the polemic, caller may not need to hold a reference to the remote object. Avoid passing complex objects to remote methods when the remote object doesn't necessarily need to have a copy of the object.
If a common high-level operation requires many consecutive remote method calls, you need to revisit the class's interface. Disadvantages Of Genetic Modification! A naively designed remote interface can lead to an application that has serious scalability and performance problems. Kubler Grief Cycle! [Article gives examples showing the disadvantages, effect of applying the polemic, listed advice]. Glen McCluskey's paper with 30 tuning tips, now free. Of Genetic Modification! (Page last updated October 1999, Added 2000-10-23, Author Glen McCluskey, Publisher McCluskey). Tips: Faster algorithms are better. Different architectures can be functionally identical but perform very differently. Keep performance in cycle mind at the design stage. Use the fastest available JVM.
Use static variables for fields that only need to be assigned once. Disadvantages Of Genetic Modification! Reuse objects where reasonable, e.g. nodes of a linked list. Inline methods manually where appropriate. [Better to use a preprocessor]. Keep methods short and simple to make them automatic inlining candidates. final classes can be faster. Synchronized methods are slower than the identical non-synchronized one. Paper! Consider using non-synchronized classes and synchronized-wrappers. Of Genetic Modification! Access to private members of inner classes from the enclosing class goes by pronunciation, a method call even if not intended to. Use StringBuffer instead of the '+' String concatentation operator. Use char arrays directly to disadvantages of genetic create Strings rather than StringBuffers. '==' is Exploring is Beneficial to the, faster than equals(). Disadvantages! intern() Strings to enable identity (==) comparisons. Convert strings to Exploring the Reasons American Economy char arrays to process characters, rather than accessing characters one at a time using String.charAt().
Creating Doubles from strings is slow. Of Genetic! Buffer i/o. Research Paper! MessageFormat is modification, slow. Reuse objects. File information such as File.length() requires a system call and does not run, can be slow.
Use System.arraycopy() to copy arrays. ArrayList is disadvantages of genetic modification, faster than Vector. Preset array capacity to as large as will be required. Polemic! LinkedList is faster than ArrayList for inserting elements to the front of the array, but slower at indexed lookup. Program using interfaces so that the actual structure can be easily swapped to modification improve performance. Use the -g:none option to the javac compiler. Primitive data wrapper classes (e.g. Integer) are slower than using the History of the Assistant Essay, primitive data directly. Disadvantages! Null out references when they are no longer used so that garbage collection can reclaim their space. Use SoftReferences to does not run recycle memory when required.
BitSets have deterministic memory requirements where boolean arrays do not (booleans are implemented as bytes rather than bits in modification some JVMs). Use sparse arrays to hold widely spaced indexable data. Performance tuning part of a white paper about Java on does not run Solaris 2.6. (Page last updated 2000, Added 2000-10-23, Author ?, Publisher Sun). Tips: To profile I/O calls, use a profiler or use truss and look for disadvantages of genetic modification read() and write() system calls. Buffer I/O. Tune the American Physician Essay, buffer size (bigger is usually better if memory is available). Use char arrays for of genetic all character processing in loops, rather than using the String or StringBuffer classes. Avoid character processing using methods (e.g. charAt(), setCharAt()) inside a loop.
Set the initial StringBuffer size to the maximum string length, if it is known. StringTokenizer is does not run, very inefficient, and can be optimized by storing the disadvantages of genetic modification, string and delimiter in ross grief cycle a character array instead of in String, or by modification, storing the highest delimiter character to allow a quicker check. Accessing arrays is Exploring Why Immigration to the American, much faster than accessing vectors, String, and disadvantages modification, StringBuffer. Use System.arraycopy() to improve performance. Vector is convenient to use, but inefficient. Ensure that elementAt() is not used inside a loop. FastVector is greek paper, faster than Vector by making the elementData field public, thus avoiding (synchronized) calls to elementAt().
Use double buffering and override update() to improve screen painting and drawing. Use custom LayoutManagers. Repaint only the disadvantages of genetic modification, damaged regions (use ClipRect). To improve image handling: use MediaTracker; use your own imageUpdate() method; pre-decode and Physician Assistant Essay, store the image in an array - image decoding time is greater than loading time. Pre-decoding using PixelGrabber and MemoryImageSource should combine multiple images into one file for maximum speed. Disadvantages Of Genetic! Increase the ross, initial heap size from the modification, 1-MByte default with -ms and -mx [-Xms and -Xmx]. Exploring The Reasons Is Beneficial American! Use -verbosegc.
Take size into account when allocating arrays (for instance, if short is big enough, use it instead of int. Avoid allocating objects in disadvantages of genetic loops (readLine() is does not run, a common example). Minimize synchronization. Polling is only acceptable when waiting for outside events and should be performed in a side thread. Use wait/notify instead. Move loop invariants outside the disadvantages of genetic modification, loop. Make tests as simple as possible. Perform the loop backwards (this actually performs slightly faster than forward loops do). [Actually it is Armenia-Azerbaijan Management, converting the modification, test to Essay Armenia-Azerbaijan compare against 0 that makes the difference]. Modification! Use only local variables inside a loop; assign class fields to local variables before the loop.
Move constant conditionals outside loops. Combine similar loops. Physician Assistant! Nest the busiest loop, if loops are interchangeable. Disadvantages Modification! Unroll the loop, as a last resort. Pronunciation! Convert expressions to disadvantages of genetic table Lookups. Use caching. Armenia-Azerbaijan Management! Pre-compute values or delay evaluation to shift calculation cost to another time. [Also gives information on using Solaris Trace Normal Format (TNF) utilities for profiling java applications].
Detailed article on disadvantages modification load testing systems (Page last updated January 2001, Added 2001-01-19, Author Himanshu Bhatt, Publisher Java Report). Tips: Internet systems should be load-tested throughout development. Load testing can provide the basis for: Comparing varying architectural approaches; Performance tuning; Capacity planning. Is Beneficial To The American Economy! Initially you should identify the probable performance and scalability based on the requirements. You should be asking about: numbers of users/components; component interactions; throughput and disadvantages modification, transaction rates; performance requirements. Factor in batch requirements and performance characteristics of kubler grief dependent (sub)systems. Of Genetic Modification! Note that additional layers, like security, add overheads to Assistant performance.
Logging and stateful EJB can degrade performance. Modification! After the initial identification phase, the target should be for a model architecture that can be load-tested to feedback information. Scalability hotspots are more likely to Armenia-Azerbaijan Management exist in the tiers that are shared across multiple client sessions. Performance measurements should be from presentation start to presentation completion, i.e. Disadvantages! user clicks button (start) and information is displayed (completion). Use load-test suites and frameworks to pronunciation perform repeatable load testing. Article on using syslog to track performance across distributed systems (Page last updated December 2000, Added 2001-01-19, Author Brian Maso, Publisher DevX). Tips: Use syslog to log distributed system performance. Make sure you instrument distributed systems so that you do get performance logging.
JDBC Performance Tips (targeted at disadvantages of genetic AS/400, but generically applicable) (Page last updated February 2001, Added 2001-03-21, Authors Richard Dettinger and Mark Megerian, Publisher IBM). Tips: Move to Exploring Why Immigration is Beneficial the latest releases of disadvantages modification Java as they become available. Exploring The Reasons Is Beneficial To The! Use prepared statements (PreparedStatement class) [article provides coded example of disadvantages of genetic using Statement vs. PreparedStatement]. Note that two database calls are made for pronunciation each row in a ResultSet: one to describe the disadvantages of genetic modification, column, the second to tell the db where to put the data.
PreparedStatements make the description calls at construction time, Statements make them on every execution. Avoid retrieving unnecessary columns: don't use SELECT *. If you are not using stored procedures or triggers, turn off autocommit. All transaction levels operate faster with autocommit turned off, and doing this means you must code commits. Coding commits while leaving autocommit on will result in extra commits being done for ross cycle every db operation. Disadvantages Of Genetic! Use the appropriate transaction level. Increasing performance costs for transaction levels are: TRANSACTION_NONE; TRANSACTION_READ_UNCOMMITTED; TRANSACTION_READ_COMMITTED; TRANSACTION_REPEATABLE_READ; TRANSACTION_SERIALIZABLE. Note that TRANSACTION_NONE, with autocommit set to true gives access to triggers, stored procedures, and large object columns.
Store string and char data as Unicode (two-byte characters) in the database. Kubler Ross! Avoid expensive database query functions such as: getBestRowIdentifier; getColumns; getCrossReference; getExportedKeys; getImportedKeys; getPrimaryKeys; getTables; getVersionColumns. Use connection pooling, either explicitly with your own implementation, or implicitly via a product that supports connection pooling. Disadvantages Modification! Use blocked fetchs (fetching table data in blocks), and tailor the the Reasons Why Immigration is Beneficial to the, block size to reduce calls to the database, according to the amount of data required. Use batch updates (sending multiple rows to the database in one call). Use stored procedures where appropriate. These benefit by reducing JDBC complexity, are faster as they use static SQL, and move execution to of genetic modification the server and potentially reduce network trips. Kubler Grief! Use the type-correct get() method, rather than getObject(). Patrick Killelea's Java performance tips. (Page last updated 1999, Added 2000-10-23, Author Patrick Killelea, Publisher Killelea). Tips: System.currentTimeMillis may take up to 0.5 milliseconds to execute.
The architecture and algorithms of your program are much more important than any low-level optimizations you might perform. Tune at the highest level first. Make the common case fast (Amdahl's advice). Use what you know about the runtime platform or usage patterns. Look at a supposedly quiet system to see if it's wasting time even when there's no input. Keep small inheritance chains. Disadvantages Of Genetic Modification! Use stack (local) variables in kubler cycle preference to class variables. Disadvantages! Merge classes. drawPolygon() is ross grief cycle, faster than using drawLine() repeatedly. Don't create too may objects. Reuse objects if possible. Beware of object leaks (references to objects that are never nulled).
Accessor methods increase overhead. Disadvantages Of Genetic Modification! Compound operators such as n += 4; are faster than n = n + 4; because fewer bytecodes are generated. Shifting by powers of two is faster than multiplying. Multiplication is American Assistant, faster than exponentiation. int increments are faster than byte or short increments. Disadvantages Of Genetic Modification! Floating point increments are much slower than any integral increment. Memory access from better to worse: local vars; supersuperclass instance variable; superclass instance var; class instance var; class static var; array elements. It can help to copy slower-access vars to fast local vars if you are going to does not run operate on them repeatedly, as in of genetic modification a loop. Use networking timeouts, TCP_NODELAY, SO_TIMEOUT, especially in case of dying DNS servers. Buffer network io. [or read explicitly in chunks]. Avoid reverse DNS where you can. Use UDP rather than TCP if speed is more important than accuracy.
Use threads. Is Beneficial To The American Economy! Prioritize threads. Use notify instead of notifyAll. Use synchronization sparingly. Counting down is often faster than counting up. [the loop test comparison to 0 is what matters]. Keep synchronized methods out of loops if you possibly can. Avoid excessive String manipulation. Use String Buffers or Arrays rather than String. byte arrays may be faster than StringBuffers for certain operations, especially if you use System.arraycopy(). Disadvantages Of Genetic Modification! Use StringBuffer rather than the + operator. Watch out for slow fonts, Fonts vary in does not run speed of rendering. Keep the paint method small.
It will get called a lot. Double buffer where possible. Disadvantages Of Genetic Modification! For some applications that access the date a lot, it can help to set the mythology research paper, local timezone to modification be GMT, so that no conversion has to take place. American History Physician Essay! Potential compiler optimizations: loop invariant code motion; common subexpression elimination; strength reduction; variable allocation. Disadvantages Of Genetic Modification! Don't turn off native threads. Use .jar files.
Rewrite Java library classes to make them smaller or instantiate fewer objects or eliminate synchronization. Does Not Run! Install classes locally. Tutorial on the full screen capabilities in of genetic modification the 1.4 release (5 pages plus example pages under the top page) (Page last updated June 2001, Added 2001-06-18, Author Michael Martak, Publisher Sun). Tips: The full-screen exclusive mode provides maximum image display and drawing performance by allowing direct drawing to the screen. Use java.awt.GraphicsDevice.isFullScreenSupported() to determine if full-screen exclusive mode is available. If it is does not run, not available, full-screen drawing can still be used, but better performance will be obtained by using a fixed size window in normal screen mode. Full-screen exclusive applications should not be resizable. Turn off decoration using the disadvantages of genetic, setUndecorated() method. Change the screen display mode (size, depth and refresh rate), to the best match for your image bit depth and display size so that scaling and the Reasons Why Immigration American Economy, other image alterations can be avoided or minimized.
Don't define the screen painting code in the paint() method called by the AWT thread. Define your own rendering loop for screen drawing, to be executed in disadvantages modification any thread other than the AWT thread. Management! Use the setIgnoreRepaint() method on your application window and components to turn off all paint events dispatched from the operating system completely, since these may be called during inappropriate times, or worse, end up calling paint, which can lead to race conditions between the AWT event thread and disadvantages, your rendering loop. Do not rely on Economy the update or repaint methods for delivering paint events. Do not use heavyweight components, since these will still incur the overhead of involving the disadvantages, AWT and the platform's windowing system. Use double buffering (drawing to an off-screen buffer, then copying the finished drawing to the screen). Use page-flipping (changing the does not run, video pointer so that an off-screen buffer becomes the on-screen buffer, with no image copying required). Use a flip chain (a sequence of off-screen buffers which the disadvantages modification, video pointer successively points to does not run one after the other). java.awt.image.BufferStrategy provides getDrawGraphics() (to get an off-screen buffer) and show() (to display the buffer on disadvantages of genetic screen). Use java.awt.BufferCapabilities to customize the BufferStrategy for pronunciation optimizing the performance of your application.
If you use a buffer strategy for double-buffering in a Swing application, you probably want to turn off double-buffering for your Swing components, Multi-buffering is only useful when the drawing time exceeds the time spent to do a show. Don't make any assumptions about performance: profile your application and identify the bottlenecks first. HP Java tuning site, including optimizing Java and optimizing HPUX for disadvantages of genetic modification Java. This is the top page, but several useful pages lie off it (tips extracted for inclusion below). Why Immigration To The American! Includes a nice procedure list for tuning apps, and disadvantages, some useful forms for what you should record while tuning. (Page last updated 2000, Added 2000-10-23, Author ?, Publisher HP). Tips: Have a performance target.
Consider architecture and components for bottlenecks. Third-party components may have options that cause bottlenecks. Mythology! Having debugging turned on disadvantages can cause performance problems. Having logging turned on can cause performance problems. Is the underlying machine powerful enough. Carefully document any tests and changes.
Create a performance baseline. Make one change at a time. Be careful not to lose a winning tune because it's hidden by a bad tune made at the same time. Record all aspects of the system (app/component/version/version date/dependent software/CPU/Numbers of CPUs/RAM/Disk space/patches/OS config/etc.) Give the JVMs top system priority. Tune the heap size (-mx, -ms options) and use -verbosegc to minimize garbage collection impact. A larger heap reduces the frequency of garbage collection but increases the Conflict Management, length of of genetic modification time that any particular garbage collection takes.
Rules of thumbs are: 50% of free space available after a gc; set the maximum heap size to be 3-4 times the space required for polemic the estimated maximum number of live objects; set the initial heap to disadvantages of genetic modification size a little below the pronunciation, space required for the average data set, and the maximum value large enough to handle the largest data set; increase -Xmn for disadvantages applications that create many short-lived objects [is -Xmn a standard option?]. [These rules of does not run thumb should only of genetic be considered as starting points. Ultimately you need to does not run tune the VM heap empirically, i.e. by trial and error]. You may need to of genetic add flags to third party products running in the JVM to eliminate explicit calls to garbage collect (VisiBroker has this known problem). Watch out for bottlenecks introduced from third party products. Make sure you know and use the options available, many of which can affect performance (for better or worse). Document the changes you make so that you will be able to reproduce the Essay about Armenia-Azerbaijan Conflict Management, performance. computationally intensive applications should increase the disadvantages, number of CPUs to increase overall system performance and throughput. Be certain that the application's CPU usage is a factor limiting performance: often, highly contended locks and garbage collections that are too frequent will make the system look busy, but little work is Essay Armenia-Azerbaijan, done by the application. [Some nice detailed description on how to profile and analyze application problems, from the HP system and JVM level at http://www.devresource.hp.com/JavaATC/JavaPerfTune/symptoms_solutions.html.] J2EE Application server performance (Page last updated April 2001, Added 2001-04-20, Author Misha Davidson, Publisher Java Developers Journal). Disadvantages! Tips: Good performance has sub-second latency (response time) and hundreds of (e-commerce) transactions per Conflict, second.
Avoid n-way database joins: every join has a multiplicative effect on the amount of work the database has to do. The performance degradation may not be noticeable until large datasets are involved. Avoid bringing back thousands of rows of data: this can use a disproportionate amount of resources. Cache data when reuse is likely. Avoid unnecessary object creation. Disadvantages Of Genetic Modification! Minimize the use of synchronization. Avoid using the kubler grief, SingleThreadModel interface for servlets: write thread-safe code instead. ServletRequest.getRemoteHost() is very inefficient, and disadvantages of genetic modification, can take seconds to complete the kubler grief cycle, reverse DNS lookup it performs. OutputStream can be faster than PrintWriter. Disadvantages Of Genetic Modification! JSPs are only Economy generally slower than servlets when returning binary data, since JSPs always use a PrintWriter, whereas servlets can take advantage of a faster OutputStream. Excessive use of custom tags may create unnecessary processing overhead.
Using multiple levels of disadvantages of genetic BodyTags combined with iteration will likely slow down the processing of the page significantly. Essay About Management! Use optimistic transactions: write to the database while checking that new data is not be overwritten by using WHERE clauses containing the old data. However note that optimistic transactions can lead to worse performance if many transactions fail. Use lazy-loading of dependent objects. For read-only queries involving large amounts of disadvantages of genetic data, avoid EJB objects and use JavaBeans as an intermediary to about Armenia-Azerbaijan Management access manipulate and store the data for JSP access. Disadvantages! Use stateless session EJBs to cache and manage infrequently changed data. Update the EJB occasionally.
Use a dedicated session bean to perform and cache all JNDI lookups in a minimum number of requests. Minimize interprocess communication. Use clustering (multiple servers) to increase scalability. Using the pronunciation, Syslog class for logging (Page last updated April 2001, Added 2001-04-20, Author Nate Sammons, Publisher JavaWorld). Tips: Use Syslog to log system performance. Logging should not take up a significant amount of the system's resources nor interfere with its operation. Use static final boolean s to wrap logging statements so that they can be easily turned off or eliminated.
Beware of disadvantages of genetic logging to kubler ross grief cycle slow external channels. These will slow down logging, and disadvantages, hence the application too. Glen McCluskey's article on research paper tuning Java I/O performance. Weak on serialization tuning. Disadvantages Modification! (Page last updated March 1999, Added 2000-10-23, Author Glen McCluskey, Publisher Sun). Tips: Avoid accessing the disk. Avoid accessing the underlying operating system. Avoid method calls. Avoid processing bytes and characters individually. Use buffering either at the class level or at the array level. Disable line buffering.
MessageFormat is slow. Reuse objects. Creating a buffered RandomAccessFile class can be faster than plain RandomAccessFile if you are seeking alot. Kubler Ross Grief Cycle! Compression can help I/O, but only sometimes. Disadvantages Of Genetic! Use caching to speed I/O. Your own tokenizer will be faster than using the available SDK tokenizer. Many java.io.File methods are system calls which can be slow. Designing Entity Beans for Improved Performance (Page last updated March 2001, Added 2001-03-21, Author Beth Stearns, Publisher Sun). Tips: Remember that every call of an entity bean method is potentially a remote call.
Designing with one access method per data attribute should only be used where remote access will not occur, i.e. entities are guaranteed to be in the same container. Use a value object which encapsulates all of an entity's data attributes, and which transfers all the data in one network transfer. This may result in large objects being transferred though. Group entity bean data attributes in subsets, and use multiple value objects to American provide remote access to those subsets. Performance tuning report in of genetic modification German. Thanks to Peter Kofler for extracting the kubler grief cycle, tips. Modification! (Page last updated November 2001, Added 2001-07-20, Author Sebastian Ritter, Publisher Ritter). Tips: Performance optimizations vary in effect on different platforms. Always test for your platforms. Reasons not to kubler optimize: can lead to unreadable source code; can cause new errors; optimizations are often compiler/JVM/platform dependent; can lose object orientation. Disadvantages Modification! Reasons to about optimize: application uses too much memory/processor/I/O; application is unnaceptably slow. Don't optimize before you have at of genetic least a functioning prototype and some identified bottlenecks.
Try to kubler optimize the of genetic modification, design first before targeting the implementation. Of The Assistant Essay! Profile applications. Use the 80/20 rull which suggests that 80% of the work is done in of genetic modification 20% of the code. Target loops in particular. Monitor running applications to maintain performance. Plan and budget for History Assistant Essay some resources to optimize the application. Try to modification have or develop a couple of performance experts. Specify performance in the project requirements, and kubler ross cycle, specify seperate performance requirements for the various layers of the application. Of Genetic! Consider the cycle, effects of performance at the analysis stage, and include testing of 3rd party tools. Use a benchmark harness to make repeatable performance tests, varying the of genetic, number of users, data, etc.
Use profilers and logging to ross grief cycle measure performance and identify performance problems. Optimize the runtime system if the optimization does not require alterations to the application design or implementation. Test various JVMs and choose the of genetic, optimal JVM. JIT compilers are faster but require more memory than interpreter JVMs. Exploring Why Immigration Is Beneficial American! HotSpot can provide better performance and modification, a faster startup and maintain a relatively low memory requirement. Design in asynchronous operations so tasks are not waiting for others to History Assistant Essay finish when they don't need to. use the right VM use the of genetic, right threading model (native vs. green) use native compilers give more ram to the VM give all ram to short-lived applications to completely avoid GC use alternate/optimizing compilers use the right database driver use direct JDBC drivers expand all JDK classes into does not run, the filesystem to increase access to classes use slot-local variables (1st 128 bit = 4 slots) (applies for interpreters only) use int use Arraylist instead of Vector use own Hashtable implementations for primitives (i.e. Disadvantages Of Genetic! int) use caches use object pools avoid remote method calls use callbacks to avoid blocking remote method calls use batching for remote method calls use the flyweight pattern to reduce object creation [The flyweight pattern uses a factory instead of 'new' to reuse objects rather than always create new ones]. Research! use the right access modifier: static private final protected public use inlining use shallow hierarchies (to avoid long instantiation chains) use empty default constructors use direct variable access (not recommended, breaks OO) mix model with view (not recommended, breaks OO) use better algorithms remove redundant code optimize loops unroll loops use int as loop counter count/test loops towards 0 use Exception terminated loops for long loops use constants for expressions with known results, e.g. replace x = 3; . (x does not change) . Of Genetic Modification! ; x += 3; with x = 3; . About Armenia-Azerbaijan! (x does not change) . ; x = 6; move code outside loops how to disadvantages of genetic modification optimize: 1st check for better algorithms, 2nd optimize loops use shift for *2 and /2 do not initialize with default values (0, null) use char arrays for mutable Strings use arrays instead of collections use the private final modifier use System.arraycopy() to copy arrays use Hashtable keys with fast hashcode() do not use Strings as keys for Hashtables use new Hashtable() instaed of Hashtable.clear() for very large Hashtables inspect JDK source use methods in order: static final instance interface synchronized use own specialized methods instead of JDK's generalized ones avoid synchronization avoid new objects reuse objects use the polemic pronunciation, original instead of overloaded constructors (give default parameters by disadvantages of genetic, your own) avoid inner classes use + for concenating 2 Strings, use Stringbuffer for concenating more Strings use clone to create new objects (instead of new) use instance.hashcode() to test for equality of intances use native JDK implemented methods (as System.arraycopy()) avoid Exceptions (use Exceptions only for cases with probability 50%, else use error flags) combine multiple small try-catchs to one larger block use Streams instead of Readers, use Reader and polemic pronunciation, Writer only if you need internationalization use buffering for io use EOFException and ArrayOutOfBoundsException for terminating io reading loops use transient fields to speedup serialisation use externalization instead of serialisation use multiple threads to increase perceived performance use awt instead of swing for speed use swing instead of awt for less memory use super.paint() to initially draw something (i.e. background) to increase perceived performance use your own wrapper for primitives (with setter methods) use Graphics.drawPolygon() (native implemented) instead of several Graphics.drawlines(). use low priority threads to initialize graphic components in the background use synchronized blocks instead of synchronized methods cache (SQL) Statements for DB access use PreparedStatements for DB access.
Accelerating GUI apps (after 1.4) (Page last updated March 2002, Added 2002-04-26, Author Dana Nourie, Publisher Sun). Tips: To add many items to a JComboBox, add them in of genetic modification one go using a Model on a vector, e.g. About! new JComboBox(new DefaultComboBoxModel(new Vector(allItemsInAnArray)));. Disadvantages Of Genetic! This generates only one changed event. Perform GUI operations in bulk to minimize the events generated. Exploring To The American Economy! When initializing or totally replacing the contents of a model, construct a new one instead of of genetic modification reusing the existing one to minimize generated events. Use threads other then the GUI handling thread for long, indeterminate, or repetitive tasks.
VolatileImage allows you to create a hardware-accelerated offscreen image and manage the contents of does not run that image. From 1.4 Swing double-buffers using VolatileImage hardware acceleration to disadvantages modification improve performance. Repaint small regions instead of entire sections or screens. For instance, when using tables, repaint a single table cell as needed instead of repainting the kubler ross grief cycle, entire screen or table. EventHandler provides support for dynamically generating event listeners that have a small footprint and can be saved automatically by the persistence scheme. MIDP tips (Page last updated March 2002, Added 2002-04-26, Author Eric Giguere, Publisher Sun). Tips: Make HTTP requests in a background thread. Disadvantages Of Genetic! Use an asynchronous messaging model. Use WBXML to American History of the compress XML messages.
Article about avoiding creating objects where possible. Disadvantages Of Genetic Modification! (Page last updated 1996, Added 2000-10-23, Author Chuck McManis, Publisher JavaWorld). Tips: The mythology surrounding the slowness of garbage-collected systems is just that, myth. Exploring The Reasons Why Immigration To The Economy! I can show that the number of instructions executed is the same whether I call malloc() and free() or I only disadvantages modification call malloc() and some other code calls free(). Simple designs can easily run through many unnecessary objects, e.g. data wrapper objects like Integer. Reuse objects where possible. Use -verbosegc to check the impact of garbage collection on your application. The Eight Fallacies of American History Assistant Essay Distributed Computing (Page last updated 2000, Added 2002-03-25, Author Peter Deutsch, Publisher Sun). Tips: The network can fail to deliver at any time. Latency is significant. Bandwidth is always limited. Article on designing for performance focusing on interfaces (Page last updated January 2001, Added 2001-02-21, Author Brian Goetz, Publisher JavaWorld).
Tips: Avoid excessive object creation: be wary of object creation inside of tight loops when executing performance-critical code. Performance-conscious programmers avoid excessive use of String. Defining a utility class which is applied to data required by its constructor means that you must create a new object for every piece of data to run it on. Disadvantages Of Genetic! Instead, do not require data in Essay about Armenia-Azerbaijan Management the constructor. Disadvantages! Do not force methods to provide arguments with input in greek paper the form that is convenient rather than efficient. For example, don't require that arguments be passed only as String objects if a byte array or char array would also be functionally equivalent (try to disadvantages of genetic support all formats, especially the polemic pronunciation, efficient ones). Defining a method signature in terms of an interchange type (the type of object passed from a caller method to the callee method as an argument) reduces the interface's complexity while maintaining its flexibility, but sometimes this simplicity comes at the cost of disadvantages modification performance. HotSpot FAQ (Page last updated August 2000, Added 2001-02-21, Author ?, Publisher Sun). Tips: HotSpot has a bunch of startup options that may help you configure your VM to go faster.
HotSpot garbage collection parameters can be tuned with -Xincgc, -XX:NewSize, -XX:MaxNewSize and -XX:SurvivorRatio(and heap size parameters). Sun recommends you no longer use objects pools [this is rather a sweeping and inappropriate statement. Object pools are still useful even with HotSpot, but presumably not as often as previously]. Undocumented option -Xconcurrentio may help performance when there are very many threads. It uses a lighter thread synchronization model. American History Of The! If using few threads, using -XX:+UseBoundThreads and the light weight process threads (LWP) library may improve performance. LWP threads are scheduled by the JVM, system threads have kernel scheduling.
Don't call System.gc(). Warming loops is no longer necessary from HotSpot 2.0 (SDK 1.3). HotSpot now supports on-stack-replacement. HotSpot supports -Xrunhprof options and also -Xaprof for object allocation statistics. Integer alignment of generated native code affects its speed [so it is conceivable that adding the of genetic, odd bytecode could make code faster]. Polemic Pronunciation! HotSpot can eliminate dead variables and dead code, i.e. variables that are assigned to but never used [in isolated code segments]. Of Genetic! The generational-GC per object costs varies depending on the length of Exploring the Reasons life of the object. A different HP tip page on disadvantages of genetic optimizing Java performance, from the HP-UX Programmer's Guide for Java. Pronunciation! Gives info on HP system performance monitoring too (Page last updated ?, Added 2000-10-23, Author ?, Publisher HP).
Tips: Maximize thread lifetimes and minimize thread creation/destruction cycles. Minimize contention for shared resources. Minimize creation of short-lived objects. Use -verbosegc to monitor garbage collection. Tune the applications to minimize the of genetic modification, effects of garbage collections. Disk I/O should be minimized. Don't do random I/O to pronunciation read a file serially (RandomAccessFile class). You should use buffered I/O. Complex AWT graphics will slow down your performance. Use the most current version of Java.
Use -mx and -ms to tune the heap size [now -Xms and -Xmx]. Profile the modification, code to find bottlenecks. Bill Venners on the right way to optimize (Page last updated May 1998, Added 2000-10-23, Author Bill Venners, Publisher Artima). Tips: Don't optimize until you know you have a problem. Measure the research, program before and after your optimization efforts. Profile the program to isolate the modification, code that really matters to polemic pronunciation performance (10 to 20 percent), and disadvantages of genetic, just focus your optimization efforts there. Greek Mythology! Try to devise a better algorithm Use APIs in a smarter way Use standard code optimization techniques such as strength reduction, common sub-expression elimination, code motion, and disadvantages, loop unrolling. Only as a last resort should you sacrifice good object-oriented, thread-safe design and maintainable code in mythology research paper the name of performance.
Make methods static wherever possible. Disadvantages Modification! Avoid creating lots of Exploring the Reasons is Beneficial to the short-lived objects. Application performance tuning (Page last updated July 2002, Added 2002-07-24, Author Baya Pavliashvili and Kevin Kline, Publisher informIT). Tips: Application performance problems can be caused and mitigated with any combination of the following areas: Network topology and throughput; Server hardware configuration; client application code; middle-tier components; database communication code; database configuration settings; logical and physical database design; operating system settings; client hardware; overall application architecture. Disadvantages Of Genetic Modification! Monitor the application.
Primary statistics worth analyzing are: the number of concurrent users; number of transactions per unit of kubler grief cycle time; duration of the modification, longest and does not run, shortest transactions; and the average response time. Specify the performance targets. Consider using eye candy to distract attention during acceptable short waits. Identify which application tier contains the bottleneck and fix that. It might be hardware or software; low-level or architecture. Prioritize which problems to fix according to the resources available. Object management article (Page last updated November 1999, Added 2000-12-20, Author Dennis M. Sosnoski, Publisher JavaWorld). Of Genetic Modification! Tips: Objects have a space overhead in addition to the space taken by the data held by the object.
Objects have a space overhead in addition to the space taken by the data held by the object. The overhead is dependent on the particular JVM, but there is always some. The space overhead is a per American of the Physician Essay, object value, so the percentage of overhead decreases with larger objects. If you work with large numbers of modification small objects, you can use a huge amount of memory simply for overhead. Polemic! Different JVMs are optimized for disadvantages of genetic modification short lived objects or for long lived objects. Object creation and garbage collection have significant overheads. Providing you're sensible about creating objects in heavily used code, it's easy to Essay Armenia-Azerbaijan Conflict Management avoid the object churn cycle. The easiest way to reduce object creation in your programs is by using primitive types in place of objects.
Avoid using wrapper classes (for primitive data types, e.g. Integer) as they impose extra overheads. If you're working with a large number of primitive data types, you can avoid the excessive object overhead of disadvantages wrappers by storing and passing values of the underlying primitive types, and only converting the values into the full objects when necessary for use with methods in the class libraries. Does Not Run! Avoid convenience classes like Point if you can manage the underlying data directly. Reuse objects where possible.
Use object pools where this is helpful in reusing objects, but be careful that the pool implementation does actually give a performance improvement (dedicated pools within the of genetic modification, class can be significantly faster than abstract pool implementations). Is Beneficial Economy! Implement pools so that the pool does not retain a reference to any allocated object, so that if the object is not returned to the pool, it can still be garbage collected when finished with (thus avoiding memory leaks). Website usability metrics (Page last updated May 2002, Added 2002-07-24, Author Sharon Gaudin, Publisher EarthWeb). Tips: A website must be easy to navigate and have a quick display and response time. Disadvantages Of Genetic Modification! Bad navigation metrics include: abandoned shopping carts; first time visitors look at one or two pages and disappear; dead ends require the back button; less than 5% buy something; any broken links. Good navigation metrics include: three pages or less from wesbite entry to desired information; no streaming video or Flash introductions; multiple ways to reach the required information; up to date search engines; basic compancy and contact info one click away from the homepage. Common issues affecting Web performance (Page last updated June 2002, Added 2002-07-24, Author Drew Robb, Publisher EarthWeb).
Tips: Symptoms of network problems include slow response times, excessive database table scans, database deadlocks, pages not available, memory leaks and Armenia-Azerbaijan Conflict Management, high CPU usage. Causes of performance problems can include the application design, incorrect database tuning, internal and external network bottlenecks, undersized or non-performing hardware or Web and disadvantages, application server configuration errors. Root causes of the Reasons Why Immigration American Economy performance problems come equally from four main areas: databases, Web servers, application servers and the network, with each area typically causing about disadvantages modification a quarter of the problems. The most common database problems are insufficient indexing, fragmented databases, out-of-date statistics and faulty application design. Solutions include tuning the index, compacting the database, updating the database and rewriting the application so that the database server controls the query process. About Armenia-Azerbaijan! The most common network problems are undersized, misconfigured or incompatible routers, switches, firewalls and load balancers, and inadequate bandwidth somewhere along he communication route. The most common application server problems are poor cache management, unoptimized database queries, incorrect software configuration and poor concurrent handling of client requests. Modification! The most common web server problems are poor design algorithms, incorrect configurations, poorly written code, memory problems and overloaded CPUs. Having a testing environment that mirrors the about Conflict, expected real-world environment is very important in achieving good performance. The deployed system needs to be tested and continually monitored.
The smallest Hello World (Page last updated July 2002, Added 2002-07-24, Author Norman Richards, Publisher Java Developers Journal). Tips: [Brilliantly amusing search to make the smallest Hello World program.] Use the -g:none option to strip debugging bytes from disadvantages modification, classfiles. Most bytes in Java class files are from the constant pool, then the method declarations. The Reasons Why Immigration Is Beneficial To The! The constant pool includes class and method names as well as strings. The Java compiler will insert a default constructor if you don't specify one, but the constructor is only needed if you will create instances.
You can remove the constructor if you will not be creating instances. Most variables and class references used by the code generate entries in the constant pool. Reusing already existing constant pool entries for class/method/variable names reduces the class file size. Article on using smart proxies. (Page last updated November 2000, Added 2001-01-19, Author M. Jeff Wilson, Publisher JavaWorld). Tips: Use smart proxies to transparently cache data in disadvantages of genetic the client, thus reducing the number of remote calls. Pronunciation! Use smart proxies for caching frequently read, seldom-updated data of remote objects. Use smart proxies to monitor the performance of RMI calls. Disadvantages! Use smart proxies to prevent returning multiple copies of the Essay about Conflict, same remote object to client code. Paper detailing the Best Practices for Developing High Performance Web and Enterprise Applications using IBM's WebSphere. All the modification, tips are generally applicable to servlet/EJB development, as well as other types of server development. Paper! (Page last updated September 2000, Added 2001-01-19, Author Harvey W. Disadvantages Modification! Gunther, Publisher IBM). Tips: Do not store large object graphs in javax.servlet.http.HttpSession.
Servlets may need to serialize and deserialize HttpSession objects for persistent sessions, and making them large produces a large serialization overhead. Use the tag %@ page session=false% to avoid creating HttpSessions in JSPs. Minimize synchronization in Servlets to avoid multiple execution threads becoming effectively single-threaded. Do not use javax.servlet.SingleThreadModel. Use JDBC connection pooling, release JDBC resources when done, and the Reasons Why Immigration to the Economy, reuse datasources for JDBC connections. Use the HttpServlet Init method to perform expensive operations that need only be done once. Of Genetic! Minimize use of System.out.println.
Avoid String concatenation +=. Access entity beans from session beans, not from client or servlet code. Reuse EJB homes. Use Read-Only methods where appropriate in entity-beans to avoid unnecessary invocations to Exploring Why Immigration to the store. Disadvantages! Use the lowest impact transaction level possible for each transaction. The EJB remote programming model always assumes EJB calls are remote, even where this is not so. Where calls are actually local to the same JVM, try to use calling mechanisms that avoid the remote call. Remove stateful session beans (and any other unneeded objects) when finished with, to about Armenia-Azerbaijan Management avoid extra overheads in case the container needs to be passivated.
Beans.instantiate() incurs a filesystem check to create new bean instances. Use new to avoid this overhead. Tuning IBM's WebSphere product. White paper: Methodology for Production Performance Tuning. Of Genetic Modification! Only non-product specific Java tips have been extracted here. (Page last updated September 2000, Added 2001-01-19, Author Gennaro (Jerry) Cuomo, Publisher IBM). Tips: A size restricted queue (closed queue) allows system resources to about Armenia-Azerbaijan Conflict Management be more tightly managed than an open queue.
The network provides a front-end queue. Disadvantages! A server should be configured to use the network queue as its bottleneck, i.e. only accept a request from the network when there are sufficient resources to process the request. This reduces the load on an app server. However, sufficient requests should be accepted to Armenia-Azerbaijan ensure that the app server is working at maximum capacity, i.e. try not to let a component sit idle while there are still requests that can be accepted even if other components are fully worked. Try to disadvantages of genetic balance the workload of the various components. [Paper shows a nice throughput curve giving recommended scaling behavior for an server] The desirable target bottleneck is the CPU, i.e. a server should be tuned until the Essay Armenia-Azerbaijan Conflict Management, CPU is the disadvantages modification, remaining bottleneck. Does Not Run! Adding CPUs is a simple remedy to this. Use connection pools and cached prepared statements for database access. Object memory management is disadvantages of genetic modification, particularly important for server applications.
Typically garbage collection could take between 5% and 20% of the to the Economy, server execution time. Garbage collection statistics provide a useful monitor to determine the server's health. Use the verbosegc flag to of genetic modification collect basic GC statistics. Mythology Research! GC statistcs to disadvantages of genetic monitor are: total time spent in GC (target less than 15% of execution time); average time per GC; average memory collected per GC; average objects collected per GC. For long lived server processes it is particularly important to eliminate memory leaks (references retained to objects and never released). Use -ms and -mx to tune the JVM heap. Bigger means more space but GC takes longer. Use the GC statistics to mythology determine the optimal setting, i.e the setting which provides the of genetic modification, minimum average overhead from GC. The ability to reload classes is typically achieved by testing a filesystem timestamp. Pronunciation! This check should be done at set intermediate periods, and not on of genetic modification every request as the filesystem check is an expensive operation.
WebSphere V3 Performance Tuning Guide (Page last updated March 2000, Added 2001-01-19, Authors Ken Ueno, Tom Alcott, Jeff Carlson, Andrew Dunshea, Hajo Kitzh?fer, Yuko Hayakawa, Frank Mogus, Colin D. Wordsworth, Publisher IBM). Tips: [The Red book lists and Essay Management, discusses tuning parameters available to of genetic modification Websphere] Run an application server and any database servers on separate server machines. JVM heap size: -mx, -ms [-Xmx, -Xms]. As a starting point for a server based on a single JVM, consider setting the maximum heap size to 1/4 the total physical memory on Conflict Management the server and setting the minimum to 1/2 of the maximum heap. Disadvantages! Sun recommends that ms be set to somewhere between 1/10 and 1/4 of the mx setting. They do not recommend setting ms and mx to be the same. Bigger is not always better for does not run heap size. In general increasing the size of the Java heap improves throughput to the point where the heap no longer resides in of genetic physical memory. Once the heap begins swapping to disk, Java performance drastically suffers. Therefore, the mx heap setting should be set small enough to contain the heap within physical memory. Also, large heaps can take several seconds to fill up, so garbage collection occurs less frequently which means that pause times due to GC will increase.
Use verbosegc to help determine the optimum size that minimizes overall GC. In some cases turning off asynchronous garbage collection (-noasyncgc, not always available to all JVMs) can improve performance. Setting the JVM stack and pronunciation, native thread stack size (-oss and disadvantages of genetic, -ss) too large (e.g. Exploring The Reasons Is Beneficial! greater than 2MB) can significantly degrade performance. When security is enabled (e.g. SSL, password authentication, security contexts and of genetic modification, access lists, encryption, etc) performance is degraded by significant amounts. One of the paper, most time-consuming procedures of a database application is disadvantages of genetic, establishing a connection to the database. Use connection pooling to minimize this overhead. Using a ternary search tree for fast searches of partial text matches (Page last updated February 2001, Added 2001-03-21, Author Wally Flint, Publisher JavaWorld).
Tips: [Article discusses several efficient algorthms for searching through ternary search trees which provide fast partial match searches of does not run character array keys]. When synchronization is disadvantages of genetic, required (Page last updated July 2001, Added 2001-07-20, Author Brian Goetz, Publisher IBM). Tips: synchronization means mutual exclusion (if the same monitor is used), atomicity of the synchronized block (again with respect to does not run other threads using the same monitor) and synchronization of thread memory to main memory. Disadvantages Of Genetic! Because synchronization synchronizes thread memory with main memory, there is a cost to synchronization beyond simply acquiring a lock. Too little synchronization can lead to corrupt data; too much can lead to reduced performance and deadlock. The costs of synchronization vary with JVMs, with more recent JVMs being more efficient. The costs of synchronization differs depending on whether or not threads are actually contending for locks (more expensive, slower), or for uncontended synchronization where the Exploring is Beneficial Economy, thread is basically acting in single-threaded mode (cheaper, faster). Of Genetic Modification! You need to synchronize or make volatile variables holding data that will be shared between threads. Composite operations may need synchronizing to make them atomic even if each individual operation is already synchronized. Reducing thread contention (Page last updated September 2001, Added 2001-10-22, Author Brian Goetz, Publisher IBM). Tips: Thread contention impairs scalability because it forces the scheduler to serialize operations, even if a free processor is greek mythology research, available.
Analyze your program to determine where contention is likely to disadvantages of genetic occur. Make synchronized blocks as short as possible. Spread synchronizations over more than one lock. Cycle! [Article provides a thread-safe hashed Map implementation with lower global contention than Hashtable.] If you will be acquiring and releasing the disadvantages modification, same lock many times (such as in a loop), acquire the lock before the loop: it is Exploring Why Immigration is Beneficial American Economy, faster to acquire a lock that you already hold than one that nobody holds. J2EE worst practices (Page last updated April 2002, Added 2002-04-26, Author Brett McLaughlin, Publisher OnJava). Disadvantages Of Genetic! Tips: The choice of does not run data store type (RDB, ODB, XML-DB, directory-server, etc) affects performance, and should not be made without performance considerations. Directory servers are optimized for frequent reads, with few writes. If you frequently add data to a directory server, performance degrades. Stateless session beans are soooo much faster. The hprof profiler (Page last updated December 2001, Added 2001-12-26, Author Bill Pierce, Publisher JavaWorld). Tips: Use the hprof profiler with the startup command java -Xrunhprof[:help][:suboption=value. ] MyMainClass. [Article describes using hprof and reading the resultant profile files to profile an application for modification memory leaks, cpu-bottlenecks and thread contention]. hprof can be used to profile object allocation (heap option), method bottlnecks (cpu option) and greek mythology research paper, thread contention (monitor option). Weblogic tuning (generally applicable Java tips extracted) (Page last updated June 2000, Added 2001-03-21, Author BEA Systems, Publisher BEA).
Tips: Response time is of genetic, affected by: contention and wait times, particularly for shared resources; and software and hardware component performance, i.e. the amount of grief cycle time that resources are needed. Disadvantages! A well-designed application can increase performance by simply adding more resources (for instance, an the Reasons Why Immigration to the American Economy extra server). Use clustered or multi-processing machines; use a JIT-enabled JVM; use Java 2 rather than JDK 1.1; Use -noclassgc. Of Genetic! Use the maximum possible heap size that also is small enough to avoid the JVM from swapping (e.g. American Physician Assistant Essay! 80% of RAM left over disadvantages of genetic modification, after other required processes). Exploring The Reasons Why Immigration Is Beneficial American Economy! Consider starting with minimum initial heap size so that the garbage collector doesn't suddenly encounter a full heap with lots of garbage. Disadvantages Of Genetic! Benchmarkers sometimes like to set the about Armenia-Azerbaijan Conflict Management, heap as high as possible to modification completely avoid GC for the duration of the polemic pronunciation, benchmark. Distributing the application over several server JVMs means that GC impact will be spread in time, i.e. the various JVMs will most likely GC at different times from disadvantages, each. On Java 1.1 the most effective heap size is that which limits the longest GC incurred pause to the longest acceptable pause in processing time.
This will typically require a reduction in the maximum heap size. History Of The! Too many threads causes too much context switching. Too few threads may underutilize the system. Disadvantages Of Genetic Modification! If n=number of threads, k=number of Essay about Armenia-Azerbaijan Conflict CPUs, then: (n k) by a moderate amount of threads is disadvantages modification, practically ideal; (n k) by many threads can lead to significant performance degradation from context switching. Blocked threads count for ross cycle less in the previous formulae. Symptoms of too few threads: CPU is modification, waiting to do work, but there is work that could be done; Can not get 100% CPU; All threads are blocked [on i/o] and runnable when you do an execution snapshot. American History Of The Physician Assistant! Symptoms of too many threads: An execution snapshot shows that there is a lot of of genetic modification context switching going on in your JVM; Your performance increases as you decrease the number of does not run threads. If many client connections are dropped or refused, the TCP listen queue may be too short.
Try to avoid excessive cycling (creation/deletion or activation/passivation) of beans. Weblogic JDBC tuning (Page last updated April 1999, Added 2001-03-21, Author BEA Systems, Publisher BEA). Tips: Use connection pools to the database and reuse connections rather than repeatedly opening and closing connections. Optimal pool size is when the connection pool is disadvantages modification, just large enough to about Management service requests without waits. Cache frequently requested data in the JVM and avoid the unnecessary database requests. Speed up applet download and startup using zip/jar files containing just the classes needed for the applet. Avoid accessing the database wherever possible. Fetch rows in of genetic modification batches rather than one at a time, using the batch as a read-ahead mechanism (i.e. pre-fetch rows in Assistant batches).
Tune the disadvantages, batch size and mythology research, the number of rows pre-fetched. Disadvantages Modification! Avoid pre-fetching BLOBs. Avoid moving data unless absolutely necessary. Process the data and greek paper, produce results as close to its source as possible. Use stored procedures.
Streamline data before the of genetic, result crosses the network. Use stored procedures to avoid extra network transfers. Use built-in DBMS set-based processing to operate on multiple rows/tables in research one request. Avoid row at a time processing, process multiple rows together wherever possible. Counting entries in a table (e.g. using SELECT count(*) from disadvantages of genetic, myTable, yourTable where . ) is resource intensive. Try first selecting into temporary tables, returning only the count, and then sending a refined second query to return only a subset of the greek mythology paper, rows in the temporary table.
Proper use of SQL can reduce resource requirements. Use queries which return the minimum of modification data needed: avoid SELECT * queries. A complex query that returns a small subset of data is more efficient than a simple query that returns more data than is needed. Make your queries as smart as possible, i.e. as precise as possible to does not run minimize the data transferred to just that subset that is disadvantages, required. Try to batch updates: collect statements together and execute them together in one transaction. Kubler Grief! Use conditional logic and temporary variables if necessary to disadvantages modification achieve statement batching. Never let a DBMS transaction span user input.
Consider using optimistic locking. Optimistic locking employs timestamps to verify that data has not been changed by another user, otherwise the transaction fails. Greek Research Paper! Use in-place updates, i.e. change data in rows/tables that already exist rather than adding or deleting rows/tables. Of Genetic! Try to avoid moving rows or changing their sizes. Store operational data and historic data separately (or more generally store frequently used data separately from infrequently used data).
Keep your operational data set as small as possible, to avoid having to read through data that is Exploring Why Immigration American Economy, irrelevant. DBMSs work well with parallelism. Try to design the application to do other things while interacting with the DBMS. Modification! Use pipelining and parallelism. Designing applications to support lots of parallel processes working on easily distinguished subsets of the History of the Physician Assistant Essay, work makes the application faster. If there are multiple steps to processing, try to design your application so that subsequent steps can start working on disadvantages of genetic modification the portion of data that any prior process has finished, instead of having to wait until the about Armenia-Azerbaijan Conflict, prior process is disadvantages of genetic modification, complete. Choose the ross cycle, right driver for your application, i.e. the fastest JDBC driver. JDBC optimizing for DB2 (Page last updated April 2002, Added 2002-04-26, Author John Goodson, Publisher WebSphere Developers Journal).
Tips: Use the same connection to disadvantages of genetic modification execute multiple statements. Keep connection objects open, and reuse them, rather than repeatedly connecting and disconnecting. Turn off autocommit, but don't leave transactions open for too long. Avoid distributed transactions (transactions that span mutliple connections). Minimize the data retrieved from the database, both columns and rows. Use setMaxRows, setMaxFieldSize, and SetFetchSize. Use the most efficiently handled data type: character strings are faster than integers, which are in turn more efficient than floating-point and timestamps. Use programmatic updates: updateXXX() calls on updatable resultsets. The resultset is already postioned at a row, so eliminating the pronunciation, usual overhead of finding the row to be updated when using an UPDATE statement. Cache any required metadata and use metadata methods as rarely as possible as they are quite slow.
Avoid using null parameters in metadata queries. Disadvantages! Use a dummy query to get the metadata for a column, rather than use the does not run, getcolumns() Use parameter markers with stored procedures, rather than embedding data literally in the statement, to of genetic minimize parsing overheads. Use prepared statements for repeatedly executing SQL statements Choose the optimal cursor: forward-only for sequential reads; insensitive for two-way scrolling. About Armenia-Azerbaijan Management! Avoid insenstive cursors for queries that only return one row. J2EE Performance tuning (Page last updated October 2001, Added 2001-10-22, Author James McGovern, Publisher Java Developers Journal).
Tips: Call HttpSession.invalidate() to clean up a session when you no longer need to use it. For Web pages that don't require session tracking, save resources by turning off automatic session creation using: %@ page session=false% Implement the HttpSessionBindingListener for all beans that are scoped as session interface and explicitly release resources implementing the method valueUnbound(). Timeout sessions more quickly by setting the disadvantages modification, timeout or using session.setMaxInactiveInterval(). Keep-Alive may be extra overhead for dynamic sites. Use the include directive %@ include file=copyleft.html % where possible, as this is a compile-time directive (include action jsp:include page=copyleft.jsp / is a runtime directive). The Reasons To The Economy! Use cache tagging where possible. Always access entity beans from session beans. If only using an entity bean for data access, use JDBC directly instead. Use read-only in the deployment descriptor. Cache access to EJB homes. Disadvantages Of Genetic! Use local entity beans when beans are co-located in the same JVM.
Proprietary stubs can be used for caching and batching data. Use a dedicated remote object to generate unique primary keys. Does Not Run! Follow standard JDBC optimizations: use connection pools; prefer stored procedures or direct SQL; use type 4 drivers; remove extra columns from the result set; use prepared statements when practical; have your DBA tune the query; choose the disadvantages of genetic modification, appropriate transaction levels. Consider storing all database character data in Unicode to kubler cycle eliminate conversion overheads. Of Genetic! But beware: this step will cause your database size to grow, as Unicode requires 2 bytes per character.
Use block fetches when the query will give a large ResultSet and all rows are needed. Use the Page-by-Page Iterator pattern when only some of the rows may be needed. Consider using an in-memory database (product) for data that doesn't need to be persisted. Use an algorithm to prune caches to stop them growing too large. Performance is sometimes in perception: try to provide immediate feedback. Optimizing code is kubler grief, one of the last things developers should consider [after optimizing configurations, hardware, etc]. Using nonblocking I/O and memory-mapped buffers in SDK 1.4. (Page last updated September 2001, Added 2001-10-22, Author Michael T. Nygard, Publisher JavaWorld). Disadvantages Of Genetic Modification! Tips: Before SDK 1.4, servers had a number of performance problems: i/o could easily be blocked; garbage was easily generated when reading i/o; many threads are needed to does not run scale the disadvantages, server. Many threads each blocked on i/o is an inefficient architecture in comparison to mythology one thread blocked on many i/o calls (multiplexed i/o).
Truly high-performance applications must obsess about garbage collection. The more garbage generated, the lower the of genetic modification, application throughput. A Buffer (java.nio.*Buffer) is a reusable portion of memory. Does Not Run! A MappedByteBuffer can map a portion of a file directly into memory. Direct Buffer objects can be read/written directly from Channels, but nondirect Buffer objects have a data copy performed for read/writes to i/o (and so are slower and may generate garbage). Convert nondirect Buffers to direct Buffers if they will be used more than once.
Scatter/gather operations allow i/o to operate to and from several Buffers in one operation, for increased efficiency. Where possible, scatter/gather operation are passed to even more efficient operating system functions. Channels can be configured to operate blocking or non-blocking i/o. Using a MappedByteBuffer is more efficient than using BufferedInputStreams. The operating system can page into memory more efficiently than BufferedInputStream can do a block read. Of Genetic! Use Selectors to kubler multiplex i/o and avoid having to block multiple threads waiting on i/o.
Combining apps in one JVM (Page last updated April 2002, Added 2002-04-26, Author Kirk Pepperdine, Publisher Java Developers Journal). Of Genetic Modification! Tips: Loading multiple applications in the same JVM allows resource sharing and reduce system memory requirements. Classloaders allow multiple applications to run in the same JVM without interfering with each other. [Article discusses the resource sharing problems of running multiple applications in the same JVM]. JDBC Drivers (Page last updated March 2002, Added 2002-04-26, Author Barrie Sosinsky, Publisher DevX). Tips: Type 1 drivers are JDBC-ODBC bridges, plus an ODBC driver. Recommended only for prototyping, not for does not run production. Not suitable for high-transaction environments. Not well supported, and disadvantages modification, limited in functionality. Type 2 drivers use a native API, and does not run, are part-Java drivers.
Have a binary-code client loading overhead, and may not be fully-featured. Type 3 drivers are a pure Java driver which connects to database middleware. Modification! Can be server-based which is frequently faster than types 1 and 2. Type 4 drivers are pure Java drivers for direct-to-database communications. This can minimize overheads, and generally provides the kubler ross grief cycle, fastest driver. JDBC 3.0 has additional features to improve performance such as advancements in connection pooling, statement pooling, RowSet objects. Opening a connection is the most resource-expensive step in database transactions. Creating a connection requires multiple separate network roundtrips. However, once the connection object has been created, there is little penalty in disadvantages of genetic modification leaving the mythology, connection object in place and reusing it for disadvantages modification future connections. Connection pooling, keeps open a cache of kubler grief cycle database connection objects, making them available for immediate use. Of Genetic Modification! Instead of performing expensive network roundtrips to the database server to about open a connection, a connection attempt results in the re-assignment of a connection from the local cache. RowSet objects are similar to ResultSet objects, but can provide access to database data while being disconnected.
This allows data to be efficiently cached in modification its simplest form. Prepared statement pooling (available from JDBC 3.0) caches SQL queries that have been previously optimized and does not run, run so that, should they be needed again, they do not have to go through optimization pre-processing again (avoiding optimization steps, such as checking syntax, validating addresses, and optimizing access paths and execution plans). Statement pooling can be a significant performance booster. Statement pooling and connection pooling in JDBC 3.0 can cooperate to share statement pools, so that connections that can use a cached statement from another connection, thus incurring statement preparation overheads only of genetic modification once on the first execution of some SQL by any connection. Database drivers developed by vendors other than the the database vendor can be better performing and more feature full. (Driver vendors concentrate on the driver, database vendors have many other things to consider). Type 3 and type 4 third-party drivers can provide better performance than the database vendor's native-API (type 2) driver. Try to pronunciation use a driver that supports JDBC 3.0 as it includes support for performance enhancing features including DataSource objects, connection pooling, distributed transaction support, RowSets, and prepared statement pooling. Type 3 and Type 4 drivers are the drivers to disadvantages of genetic modification use when performance is American History of the Physician, important. Shortened version of chapter 2, I/O, from Early Adopter J2SE 1.4 (Page last updated October 2001, Added 2001-10-22, Author James Hart, Publisher Sun). Tips: Non-blocking I/O can improve performance by minimizing the amount of time spent in I/O calls, though they may add complexity to the application. The old I/O classes can now be interrupted more reliably from 1.4.
FileChannel.transferFrom() is an efficient way to copy data between files. Shortened version of chapter 5, Utilities: The Logging Architecture, from Early Adopter J2SE 1.4 (Page last updated October 2001, Added 2001-10-22, Author James Hart, Publisher Sun). Tips: Logging can take place asynchronously: a call to log can return before the log has been formatted and written. Disadvantages Of Genetic! The logging framework provides methods (in Logger) for recording method activity, but this may have a large overhead to American Assistant Essay use. Coding standards with a small but interesting section (section 7.3) on optimizations (Page last updated January 2000, Added 2001-04-20, Author Scott Ambler, Publisher AmbySoft). Of Genetic! Tips: Optimizing code is one of the greek mythology research, last things that programmers should be thinking about, not one of the first. Don't optimize code that already runs fast enough. Disadvantages Modification! Prioritize where speed comes among the Essay Conflict, following factors, so that goals are better defined: speed, size, robustness, safety, testability, maintainability, simplicity, reusability, and disadvantages modification, portability.
The most important factors in looking for code to optimize are fixed overhead and performance on pronunciation large inputs: fixed overhead dominates speed for small inputs and the algorithm dominates for large inputs (a program that works well for modification both small and large inputs will likely work well for medium-sized inputs). Operations that take a particular amount of time, such as the way that memory and buffers are handled, often show substantial time variations between platforms. Users are sensitive to particular delays: users will likely be happier with a screen that draws itself immediately and then takes eight seconds to load data than with a screen that draws itself after taking five seconds to kubler grief load data. Give users immediate feedback: you do not always need to make your code run faster to of genetic optimize it in the eyes of your users. Slow software that works is almost always preferable to fast software that does not. Overview of common application servers. (Announced at kubler ross grief http://www.theserverside.com/home/thread.jsp?thread_id=9581). I've extracted the disadvantages modification, performance related features (Page last updated October 2001, Added 2001-10-22, Author Pieter Van Gorp, Publisher Van Gorp). About! Tips: Load balancing: random; minimum load; round-robin; weighted round-robin; performance-based; load-based; dynamic algorithm based; dynamic registration. Clustering. Additionally: distributed transaction management; in-memory replication of session state information; no single point of failure. Connection pooling.
Caching. JNDI caching. Distributed caching with synchronization. Thread pooling. Disadvantages Modification! Configurable user Quality of Service. Cycle! Analysis tools. Disadvantages! Low system/memory requirements. Does Not Run! Optimized subsystems (RMI, JMS, JDBC drivers, JSP tags cacheable page fragments). Of Genetic Modification! Optimistic transaction support. Atomic File Transactions. (Page last updated November 2001, Added 2001-11-27, Author Jonathan Amsterdam, Publisher OnJava). Tips: If you don't require powerful search capabilities, using flat files may be faster than dealing with a database.
Basic file operations (deletion, creation, renaming) are atomic. History Physician Assistant! Other operations and combinations of operations are not atomic. Disadvantages Of Genetic! Atomicity can be built but comes at mythology a performance cost. You will have to determine whether the increase in robustness is worth the of genetic, slowdown in your application. Do the I/O in Essay Conflict a background thread to mitigate the disadvantages of genetic, performance impact of adding atomicity to file transactions. [Article discusses how to use a free package which provides atomicity for file transactions, and how the atomicity is provided]. Atomic File Transactions, Part 2 (Page last updated February 2002, Added 2002-02-22, Author Jonathan Amsterdam, Publisher OnJava). Exploring The Reasons Why Immigration To The American Economy! Tips: [Article continues implementation of a framework for atomic file transactions].
If a transaction creates a file and of genetic, then performs several other actions on it, there is no need to undo the actions -- it is greek, enough to delete the of genetic, file. Does Not Run! If a backup copy of a file is made, then it is unnecessary to roll back all subsequent actions on the file: recovery can simply restore the backup. MIDP memory tuning (Page last updated June 2002, Added 2002-07-24, Author Jonathan Knudsen, Publisher Sun). Tips: Use an disadvantages obfuscator to minimize the size of History of the Physician Assistant classes. Minimize resource sizes by using as few images as possible, and using fewer colors in the images you do use.
Use as few objects as possible. Dereference objects (set them to null) when they're no longer useful so they will be garbage-collected. Catch OutOfMemoryErrors on all allocations, or at least the large ones. Don't let an modification OutOfMemoryError take your application by greek research, surprise. MIDlets use three types of of genetic modification memory: program memory, heap, and persistent storage. Each of these may be scarce and cycle, they should all be treated with respect. Design patterns catalog (Page last updated 2001, Added 2002-01-25, Author ?, Publisher Sun). Tips: [Page lists some patterns with summaries and links to detailed info.
Patterns are: Data Access Object; Fast-Lane Reader; Front Controller; Page-by-Page Iterator; Session Facade; Value Object]. Of Genetic! Use the Data Access Object pattern to decouple business logic from data access logic, allowing for optimizations to be made in how data is managed. Use the Fast-Lane Reader pattern to accelerate read-only data access by not using enterprise beans. Use the Front Controller pattern to centralize incoming client requests, allowing optimizations to be made in aggregating the resulting view. Use the Page-by-Page Iterator pattern to efficiently access a large, remote list by retrieving its elements one sublist of value objects at a time. Use the research, Session Facade pattern to provide a unified, workflow-oriented interface to a set of enterprise beans, thus minimizing client calls to disadvantages of genetic server EJBs. Use the Value Object pattern to efficiently transfer remote, fine-grained data by sending a coarse-grained view of the data. EJB design (Page last updated January 2002, Added 2002-01-25, Author Boris Lublinsky, Publisher Java Developers Journal). Essay! Tips: Some application server implementations (e.g., WebSphere) automatically convert remote communications to local communications to make them faster. Low granularity (i.e. fine-grained) methods in an EJB typically leads to disadvantages of genetic poor performance of the Assistant Essay, overall system. Local interfaces in EJB 2.0 is one attempt to improve overall performance: local interfaces provide for beans in disadvantages of genetic the same container to interact locally without involving RMI.
The most effective way to improve the overall performance of EJB-based applications is to minimize the amount of method invocations, making the communications overhead negligible compared with the execution time. This can be achieved by implementing coarse-grained methods. Entity beans should not be simply mapped to database tables. American History Of The Physician! Treating entity beans as such fine-grained objects which are effectively wrappers on table rows leads to of genetic modification increased network communications and heavier database communications than if entity beans are treated as coarse-grained components. For optimal performance, entity beans should be designed to: have large granularity, which usually means they should contain multiple Java classes and support multiple database tables; be associated with a certain amount of persistent data, typically multiple database tables, one of which should define the primary key for the whole bean; support meaningful business methods and encapsulate business rules to access the data. Don't use client transactions in the EJB environment since long-running transactions that can cause database lockup. Entity beans are transactional resources due to polemic pronunciation their stateful nature, but application server vendors often rely on the underlying database to lock and resolve access appropriately. Disadvantages Modification! Although this approach greatly improves performance, it provides the potential for database lockup. Design Patterns (Page last updated January 2002, Added 2002-01-25, Author Vijay Ramachandran, Publisher Sun). Tips: [Article discusses several design patterns: Model-View-Controller, Front Controller, Session Facade, Data Access Object].
Use the pronunciation, Front Controller pattern to channel all client requests through a single decision point, which allows the application to be balanced at runtime. Use a Session Facade to provide a simple interface to a complex subsystem of enterprise beans, and to reduce network communication requirements. Use Data Access Objects to decouple the business logic from the data access logic, allowing data access optimizations to be decoupled from other types of optimizations. J2EE Design Patterns for the presentation tier (Page last updated January 2002, Added 2002-01-25, Author Sue Spielman, Publisher OnJava). Tips: [Article discusses several design patterns: Intercepting Filter, Front Controller, View Helper, Composite View, Service To Worker, Dispatch View. Performance is not explicitly covered, but at least a couple are relevant to getting good performance]. Thread programming (Page last updated January 2002, Added 2002-01-25, Author Karthik Rangaraju, Publisher DevX).
Tips: Use Djikstra semaphores (synchronized acquire()/release()) to control access to a finite pool of resources. Conditional events provide a more sophisticated version of the wait()/notify() mechanism which avoids some potential problems of that mechanism. Blocking queues provides a mechanism for reliably distributing requests to multiple server threads. A dispatcher-worker model consists of a dispatcher which hands requests of to disadvantages of genetic modification multiple worker threads. Essay About Armenia-Azerbaijan! A pipeline model consists of a dispatcher which iteratively hands a particular request to one worker thread after another, with each worker thread completing part of the overall request. Some (Intel chip) optimization myths debunked. (Page last updated March 2002, Added 2002-04-26, Author George Walsh, Publisher DevX). Tips: If optimization and performance tools are used throughout development rather than tacked on at the end as a final optimization phase, time to disadvantages of genetic market and costs can actually be decreased by speeding up the process of locating problems and bottlenecks in code.
Not taking advantage of new optimized interfaces will ultimately put you at a competitive disadvantage. Double-checked locking revisited. (Page last updated November 2001, Added 2001-11-27, Author Brian Goetz, Publisher JavaWorld). Tips: Double-checked locking is not guaranteed to produce consistent results. Using a ThreadLocal in the double-checked locking test is guaranteed to produce consistent results, but is slower than avoiding double-checked locking altogether. ThreadLocal is faster in each SDK release through 1.2, 1.3 and 1.4.
1.4 ThreadLocal may be fast enough to provide an polemic pronunciation efficient double-checked locking test. Command objects for RMI. Disadvantages! (Page last updated October 2001, Added 2001-11-27, Author William Grosso, Publisher OnJava). Tips: Use Command objects to automatically queue or retry RMI calls. Caching RMI stubs. Ross Cycle! (Page last updated October 2001, Added 2001-11-27, Author William Grosso, Publisher OnJava). Tips: Remote method calls are much slower than local calls, at least 1000 times slower. Reduce the number of remote calls made by an application to improve performance. Modification! Cache remote objects locally where possible, rather than repeatedly fetching them. Use Command objects to does not run transparently add a remote stub cache to an RMI application. Caching stubs keeps them from being garbage collected, and may prevent an disadvantages of genetic RMI server from closing. Use a policy to expire stubs and delete them from the cache. Website performance. (Page last updated October 2001, Added 2001-11-27, Author Gordon Benett, Publisher Intranet Journal).
Tips: Some e-commerce consultants cite an attention span on the order of eight seconds as the threshold for abandoning a slow retail site. Where broadband connections are the norm, pages that don't appear instantly stand a good chance of Armenia-Azerbaijan never being seen: slow pages might as well be no pages. Systems can only disadvantages be designed to meet performance goals if those goals have been identified. Determine what range of greek mythology paper response times will be acceptable. Of Genetic Modification! Try to understand the performance impacts of your design decisions. However the performance of some design choices can be hard to predict and may remain unclear before testing. Test the system under conditions that simulate real patterns of to the American use. Intermittent hard to repeat performance problems are not worth addressing unless they are in a business critical part of the website which provides corporate revenue.
Use a rapid, iterative development process in combination with frequent performance testing. Try to plan up-front rather than have to rely on late-phase tuning. High performance graphics (Page last updated February 2002, Added 2002-03-25, Author ?, Publisher Sun). Tips: The large number extra features and increased cross-platform compatibility added to disadvantages of genetic the Java Graphics framework in SDK 1.2 made the graphics slower than the 1.1 Graphics. SDK 1.4 targeted these performance issues head on. VolatileImage allows you to create hardware-accelerated offscreen images, resulting in better performance of Swing and gaming applications in particular and faster offscreen rendering. When filling a shape with a complex paint, Java 2D must query the Paint object every time it needs to assign a color to a pixel whereas a simple color fill only requires iterating through the pixels and assigning the polemic, same color to all of of genetic them. Research! The graphics pipeline (from SDK 1.4) only gets invalidated when an attribute is changed to a different type of disadvantages of genetic modification value, rather than when an does not run attribute is changed to a different value of the same type. For example rendering one opaque color is the same rendering another opaque color, so this would not invalidate the pipeline. Disadvantages Modification! But changing an opaque color to a transparent color would invalidate the Exploring Why Immigration to the American Economy, pipeline.
Smaller font is disadvantages, rendered faster than larger font. Kubler Cycle! Hardware-accelerated scaling is currently (1.4.0 release) disabled on Win32 because of quality problems, but you can enable it with a runtime flag, -Dsun.java2d.ddscale=true. From SDK 1.4 many operations that were previously slow have been accelerated, and of genetic modification, produce fewer intermediate temporary objects (garbage). Alpha blending and anti aliasing adversely affect performance. Only opaque images or images with 1-bit transparency can be hardware accelerated currently (1.4.0). Use 1-bit transparency to make the background color of a sprite rectangle transparent so that the does not run, character rendered in the sprite appears to move through the disadvantages, landscape of your game, rather than within the sprite box. Create images with the same depth and type of the screen to does not run avoid pixel format conversions. Of Genetic Modification! Use either Component.createImage() or GraphicsConfiguration.createCompatibleImage(), or use a BufferedImage created with the ColorModel of the screen.
Rectangular fills--including horizontal and vertical lines--tend to of the Physician Essay perform better than arbitrary or non-rectangular shapes whether they are rendered in software or with hardware acceleration. If your application must repeatedly render non-rectangular shapes, draw the shapes into 1-bit transparency images and copy the images as needed. If you experience low frame rates, try commenting out pieces of your code to find the particular operations that are causing problems, and of genetic modification, replace these problem operations with something that might perform better. Various flags are available that affect performance, but may affect quality in polemic some environments. These include: NO_J2D_DGA (no Solaris hardware acceleration); USE_DGA_PIXMAPS (use Solaris DGA acceleration of pixmaps); -Dsun.java2d.noddraw=true (turn off DirectDraw); -Dsun.java2d.ddoffscreen=false (disable DirectDraw offscreen acceleration); -Dsun.java2d.ddscale=true (enable hardware acceleration in Win32); -Dsun.java2d.pmoffscreen=true/false (store images in pixmaps under Unix); You can trace graphics performance using the flag -Dsun.java2d.trace=optionname,optionname. Of Genetic! where the options are log (print primitives on execution); timestamp (timestamp log entries); count (print total calls of each primitive used); out:filename (send logs to Armenia-Azerbaijan Conflict filename); verbose (whatever); help (help); Assertions (Page last updated April 2002, Added 2002-04-26, Author Glen McCluskey, Publisher Sun). Disadvantages Of Genetic Modification! Tips: Disabled assertions add a cost of one check of a global state flag Enabled assertions add a cost of a check of a global state flag and evaluating the boolean expression. Mythology Research! Also the cost of throwing a new exception is added if the assertion fails. Use the conditional compilation idiom applied to assertions to remove assertions completely from the bytecode.
GC performance tuning (Page last updated February 2002, Added 2002-03-25, Author Alka Gupta and Michael Doyle, Publisher Sun). Of Genetic Modification! Tips: The point when garbage collection kicks in is out Why Immigration is Beneficial of the control of the application. Of Genetic! This can cause a sequential overhead on of the Assistant the application, as the garbage collector suspends all application threads when it runs, causing inconsistent and unacceptable application pauses, leading to disadvantages of genetic modification high latency and does not run, decreased application efficiency. Disadvantages Of Genetic Modification! verbosegc provides detailed logs of the garbage collector activities The live transient memory footprint of an application is the (Garbage generated per call) * (duration of the call) * (number of calls per second) . Does Not Run! GC pause time caused by two-space collection of modification short-lived objects is paper, directly proportional to the size of the memory space allocated to holding short-lived objects. But smaller available space can mean more frequent GCs. Higher frequency GC of of genetic modification short-lived objects can inadvertently promote short-lived objects to old space where longer lived objects reside [because if the American of the Physician Assistant Essay, the object is in short-lived object area for disadvantages several GCs, then GC decides it's long-lived.] The promoteAll option will force the GC to assume that any object surviving GC of young space is long-lived, and is immediately promoted to old space.. The short-lived object space needs to be configured so that GC pause time is not too high, but GCs are not run so often that many short-lived objects are considered long-lived and so promoted to the more expensively GCed long-lived object space.
The long-lived object space needs to be large enough to avoid an out-of-memory error, but not so high that a full GC of old space pauses the JVM for too long. Essay About Armenia-Azerbaijan Conflict Management! [Article covers 1.2 and 1.3 GC memory space models]. A significant GC value to focus on disadvantages modification is the GC sequential overhead, which is the the percentage of the system time during which GC is running and application threads are suspended: (Sequential GC pause time added together) * (100) / (Total Application run time) . The concurrent garbage collector runs only most of the old space GC concurrently. Is Beneficial American! Some of the old space GC and all the young space GC is disadvantages of genetic, sequential. Grief Cycle! GC activity can take hours to settle down to its final pattern. Modification! Fragmentation of old space can cause GC times to ross degrade, and disadvantages of genetic, it may take a long time for the old space to become sufficiently fragmented to grief show this behavior. GC options can reduce fragmentation (such as bestFitFirst). Disadvantages Of Genetic Modification! The promoteAll option produced a significant improvement in ross cycle performance [which I find curious]. Minimizing bytecode size for disadvantages of genetic J2ME (Page last updated February 2002, Added 2002-03-25, Author Eric Giguere, Publisher Sun). Tips: Eliminate unnecessary features. Avoid inner classes: make the main class implement the American History of the Assistant, required Listener interfaces and handle the callbacks there.
Use built-in classes if functionality is close enough, and work around their limitations. Collapse inheritence hierarchies, even if this means duplicating code. Of Genetic Modification! Shorten all names (packages, classes, methods, data variables). Some obfuscators can do this automatically. MIDP applications are completely self-contained, so you can use the default package with no possible name-clash. Convert array initialization from code to extract data from a binary string or data file. Array initialization generates many bytecodes as each element is separately initialized.
Sun engineering report on performance tests of various configurations of the 1.2.2 and 1.3 JVM (Page last updated February 2001, Added 2001-02-21, Author Ed Ort, Publisher Sun). Tips: Different versions of the Sun JVM support different optimization flags. Essay! Some flags may allow you to configure the garbage collector generational spaces. Configure heap space using -Xms and -Xmx [-ms and -mx for 1.1.x JVMs] to optimize the JVM heap memory for improved performance. Disadvantages Modification! If the JVM supports configuring the Why Immigration is Beneficial to the, garbage collector generational spaces (-Xgenconfig in 1.2.2; -XX:newSize, -XX:MaxNewSize, -XX:SurvivorRatio in 1.3), then you can improve performance by of genetic, specifying generation spaces more appropriate for your application [you can start with some appropriate configuration depending on the ratios of kubler grief short-lived to disadvantages of genetic modification medium-lived to American Physician Assistant Essay long-lived objects, then test multiple configurations to determine the optimal config]. Disadvantages Modification! The 1.3 JVM appears to Essay about Armenia-Azerbaijan Conflict Management be faster when run with the -server flag. The -Xoptimize flag seems to improve performance on those 1.2.x JVMs that support it. Discussion on JDBC performance (Page last updated August 2000, Added 2001-02-21, Author , Publisher JGuru). Tips: Use a connection pool mechanism whenever possible. Use prepared statements.
Use stored procedures. Select only required columns rather than using select * from Table xyz. Disadvantages Of Genetic Modification! Always close Statement and ResultSet objects as soon as possible. Work with DatabaseMetaData to get information about database functionality. Always catch and handle database warnings and Assistant Essay, exceptions.
Time DB queries. Use the most appropriate datatype specific kinds of data, e.g. Disadvantages Modification! store dates as a date type rather than varchar. Use scrollable ResultSet (JDBC 2.0). Stay away from the JDBC-ODBC and other Type 1 drivers where possible. Improving J2EE performance (Page last updated May 2002, Added 2002-07-24, Author Scott Marlow, Publisher The Server Side). Tips: Set performance goals before development starts. If supporting clients with slow connections, consider compressing data for network communication. Minimize the number of network round trips required by the application.
For applications to does not run scale to many users, minimize the amount of shared memory that requires updating. Modification! Cache data to the Reasons is Beneficial to the minimize lookup time, though this can reduce scalability if locks are required to disadvantages of genetic modification access the cache. If there are more accesses than updates to a cache, share the access lock amongst all the accessors, though be aware that this reduces the window for updators to lock the cache. For optimum performance, zero shared memory provides a cache per user. Be methodical to ensure that changes for performance do actually improve performance. Eliminate memory leaks before tuning execution speed. Use a test environment that correctly simulates the expected deployment environment.
Simulate the American Assistant, expected client activity, and compare the performance against disadvantages of genetic, your expected goals. Polemic! Consider which metrics to measure, such as: Max response time under heavy load; CPU utilization under heavy load; How the of genetic modification, application scales as additional users are added. Profile the application to Essay about Conflict find the bottlenecks. Correct bottlenecks by disadvantages of genetic, making one change at a time and testing for improvement. Does Not Run! Generate stack traces to look for disadvantages of genetic modification bottlenecks which are multi-thread conflicts (waiting for locks). Improving the performance of a method that is called 1000 times and takes a tenth of a second on average each call, is greek research paper, better than improving the modification, performance of a method that is kubler ross cycle, only called 10 times but takes 1 second each call.
Don?t cache data unless you know how and when to invalidate the cached entries. An assortment of tips (Page last updated 2000, Added 2000-10-23, Author Curt Smith, Publisher Smith). Tips: Use the Java compiler?s optimization flag (javac -O) Profile the of genetic modification, application (using -prof) re-code the methods that are taking the grief cycle, longest. Avoid repeatedly instantiating exceptions. Reuse exceptions in preference. Of Genetic Modification! Move common subexpressions to one execution. Eliminate casts, or reduce the Essay Armenia-Azerbaijan Management, number of casts being made.
Method local variables are faster than Class variables Declare method arguments final if they are not modified in the method. In general declare all variables final if they are not modified after being initialized or set to of genetic modification some value. Declare methods private and/or final whenever that makes sense. This can help the compiler inline methods. [final methods are of dubious value] Buffer i/o. Use BufferedReaders.
DON?T create static strings via new(). Use String.intern() to reduce the number of strings in kubler cycle your runtime. [but this is an expensive operation] Use char arrays for all character processing in loops, rather than using the String or StringBuffer classes. StringBuffer default size is 16 chars. Set this to the maximum expected string length. StringTokenizer is inefficient. It can be optimized by disadvantages modification, storing the string and American of the Physician, delimiter in a character array instead of in a String, or by of genetic modification, storing the kubler grief cycle, highest delimiter character to of genetic allow a quicker check. Accessing arrays is much faster than accessing vectors, String, and StringBuffer. Use System.arraycopy() to improve performance.
Initialize expensive arrays in class static initializers, and create a per instance copy of this array initialized with System.arrarycopy(). Vector is convenient to use, but inefficient. For best performance, use it only polemic when the structure size is unknown, and disadvantages of genetic modification, efficiency is Physician Assistant Essay, not a concern. When using Vector, ensure that elementAt() is not used inside a loop. Vector element access is disadvantages, faster using a subclassed non-synchronized accessor. Armenia-Azerbaijan! Re-use Vectors by using Vector.removeAllElements().
Initialize Vector to the maximum expected size. Re-use Hashtables by of genetic modification, using Hashtable.clear(). Kubler Grief Cycle! Set the Hashtable size to be large enough to modification hold the Exploring the Reasons Why Immigration is Beneficial American, expected elements. Disadvantages Of Genetic! Use a prime number for does not run table size. Override hashcode() methods of Hashtable keys to improve hashing efficiency. Use non-synchronized hash table classes. Increase heap size to reduce garbage collection [actally to defer it - this is a balancing act]. Of Genetic Modification! Use the Exploring the Reasons is Beneficial American Economy, -verbosegc option to monitor garbage collection.
Use arrays of smaller datatypes (short rather than int) is of genetic modification, possible. Exploring The Reasons Why Immigration To The! Avoid allocating objects in loops (readLine() is a common example). Minimizing synchronization may take work, but can pay off well. Polling is only acceptable when waiting for disadvantages of genetic modification outside events and should be performed in Exploring Why Immigration is Beneficial a side thread. Use wait/notify instead. Eliminate calls to of genetic modification synchronized methods (but be careful of being overly ambitious in pronunciation this).
It is slightly faster to call a synchronized method than to enter a synchronized block. Of Genetic! Calling a synchronized method when the monitor is already owned by the thread executes somewhat faster than calling a synchronized method when the monitor isn't already owned by the thread. Creating objects is about Management, expensive. Consider reusing objects in reuse pools. Of Genetic Modification! Move new(), invariants and constant conditionals outside of kubler grief cycle loops. Unroll loops.
Make tests in loops as simple as possible. Loop tests run backwards are slightly faster [actually the test comparing to 0 is of genetic modification, what is faster]. Exploring Why Immigration Is Beneficial Economy! Use local variables, rather than any other type of variable, in loops. Combine similar loops. Nest the disadvantages modification, busiest loop, if loops are interchangeable. Convert expressions to table lookups [doesn't always work]. Cache values that are expensive to fetch or compute. Pre-compute results. Does Not Run! Delay computation of results until they are needed [if the computation comes at of genetic a bad time] Put all one-time initializations into a class initializer. Various performance tips (Page last updated May 2001, Added 2001-06-18, Author Asha Balasubramanyan, Publisher Nandighosha). Exploring The Reasons Is Beneficial American Economy! Tips: Use buffered I/O.
Use stream I/O rather than character I/O (Readers/Writers) if you are dealing with only ASCII characters. Modification! Avoid premature flushing of buffers. Recycle objects. American History Of The Essay! try to minimize the number of objects you create in your java programs. Factor out constant computations from disadvantages, loops. Push one-time computations into methods called once only.
Use StringBuffer when dealing with mutable strings. American Of The! Initialize the StringBuffer with the proper size. Comparison of two string objects is faster if they differ in of genetic length. Avoid converting Strings to bytes and Essay about Armenia-Azerbaijan Conflict Management, back. StringTokenizer is disadvantages of genetic, slow.
Write your own tokenizer. Use charAt() instead of StartsWith() in case you are looking for a single character within a String. Avoid premature object creation. Creation should be as close to Exploring Why Immigration Economy the actual place of use as possible. Avoid initializing twice. Zeroing buffer contents is not usually required. Be careful about the order of evaluation of of genetic modification expressions with OR and AND conditions. Use ArrayList for pronunciation non-synchronized Vectors.
Minimize JNI calls in disadvantages of genetic your code. Minimize calls to Date and related classes. Avoiding synchronization deadlocks (Page last updated October 2001, Added 2001-10-22, Author Brain Goetz, Publisher JavaWorld). Tips: Deadlocks are difficult to Physician Assistant identify from code analysis, and can occur unexpectedly. Always acquire locks in the same order to avoid one common cause of deadlocking. If you can guarantee that all locks will always be acquired in of genetic modification a consistent order, then your program will not deadlock. Try to avoid acquiring more than one lock at ross grief a time (though this is usually impractical). Keep synchronized blocks of code as short as possible.
Counting object creation (Page last updated December 2001, Added 2002-02-22, Author Heinz M. Disadvantages Of Genetic Modification! Kabutz, Publisher Kabutz). Tips: Add a counter in to the Object constructor to trace object creation. Doesn't trace arrays [nor objects created from deserialization]. Performance tuning (Page last updated September 2001, Added 2001-10-22, Author James McGovern, Publisher Java Developers Journal). About Armenia-Azerbaijan Conflict Management! Tips: Often there's a trade-off between designing for reuse and designing for performance. Performance generally wins: customers understand fast-performing systems when they don't necessarily understand code reuse. Exceptions degrade performance and should be used for error conditions only, not control flow. Don't initialize variables twice: Java by default initializes variables to a known value. Use the disadvantages, factory pattern to enable reuse or cloning of objects. Make classes final. Use local variables as much as possible.
Use non-blocking I/O (available from 1.4, or use www.cs.berkeley.edu/ mdw/proj/java-nbio/download.html for earlier versions). Create/Use method interfaces that reduce overhead. Use bit-shifting instead of multiplication or division by powers of two. Choose the JVM that runs your application fastest. Use clustering application servers. Avoid stateful sessions. Profile and tune the application (architecture and code).
Set aside at least 20% of the total project time for performance. Make sure your QA environment mirrors your production environment, and your QA procedure tests the application at different loads, including a low and fully scaled loads. Why CMP is American History Physician Assistant Essay, better than BMP (Page last updated April 2002, Added 2002-04-26, Author Tyler Jewell, Publisher Weblogic Developers Journal). Tips: Use CMP except in specific cases when BMP is necessary: fields use stored procedures; persistence is not simple JDBC (e.g. JDO); One bean maps to multiple tables; non-standard SQL is disadvantages of genetic modification, used. CMP can make many optimizations: optimal locking; optimistic transactions; efficient lazy loading; efficiently combining multiple queries to the same table (i.e. multiple beans of the same type can be handled together); optimized multi-row deletion to handle deletion of beans and their dependents. Scalable recoverable applications (Page last updated May 2002, Added 2002-07-24, Author Billy Newport, Publisher The Server Side). Ross! Tips: [Article describes several approaches to building a scalable recoverable system] Split the application into disadvantages, a transactional part and a non-transactional part. The non-transactional part can be replicated. Using a single machine limits both reliability and scalability.
Scalability is completely dependent on greek research how powerful the single machine can become. Multiple front-end machines with http request load balancing is more reliable, but the database machine is disadvantages, still a single point of failure. A database caching layer in the servlet helps performance. An EJB caching layer is difficult to achieve. Oracle 9i includes queryable snapshots of the pronunciation, main database which can offload the query to run against the clients local snapshot. Disadvantages Modification! An in-memory database (such as TimesTen) is very, very fast and can act as a queryable cache for a back end database. Database instances on American History each machine, with replication increases reliability and access speed.
But updates now need to be handled differently. Alternatives include: buffering updates; using message queues; database update replication. Partitioning the database across multiple machines adds scalability, but must be done with care. If you want very reliable systems then everything has to be controlled. A load balancing message queue may be needed for a high rate of messages (500/sec). Note that reliable systems should ensure that all duplicated data have no single points of failure in the software or hardware chain behind the data (different controllers, UPSs, etc). Techniques to avoid deadlocks (Page last updated September 2001, Added 2001-10-22, Author Mark Dykstra, Publisher Java Developers Journal). Tips: Potential deadlocks can be caused by coding styles. Always acquire a set of locks in the same set order.
Don't hold a lock and wait for an event. Specify which thread should have access to data at any time. Ensure that both access and update to the same variable is of genetic modification, synchronized on the same monitor. Stateful to Armenia-Azerbaijan Conflict Stateless Bean (Page last updated February 2002, Added 2002-03-25, Author Brett McLaughlin, Publisher OnJava). Tips: Stateless session beans are much more efficient than stateful session beans.
Stateless session bean have no state. Most containers have pools of modification stateless beans. About Conflict Management! Each stateless bean instance can serve multiplw clients, so the bean pool can be kept small, and doesn't need to change in size avoiding the main pooling overheads. A separate stateful bean instance must exist for every client, making bean pools larger and more variable in size. [Article discusses how to move a stateful bean implementation to stateless bean implementtaion]. Alternatives to using 'new'. (Page last updated March 2002, Added 2002-03-25, Author Jonathan Amsterdam, Publisher Dr. Dobb's). Tips: The 'new' operator is modification, not object oriented, and prevents proper polymorphic object creation. Constructors must be made non-public and preferably private to limit the number of objects of a class. The Singleton pattern and the Flyweight (object factory) pattern are useful to limit numbers of objects of various types and to assist with object reuse and mythology research, reduce garbage collection. The real-time specification for Java allows 'new' to allocate objects in a 'current memory region', which may be other than the heap.
Each such region is a type of MemoryArea, which can manage allocation. Using variables to provide access to modification limited numbers of objects is does not run, efficient, but a maintenance problem if you need to change the object access pattern, for example from a global singleton to a ThreadLocal Singleton. A non-static factory method is disadvantages of genetic, polymorphic and does not run, so provides many advantages over of genetic modification, static factory methods. The Abstract Factory design pattern uses a single class to create more than one kind of Why Immigration is Beneficial to the object. An alternative to disadvantages the Flyweight pattern is the Prototype pattern, which allows polymorphic copies of existing objects. The Object.clone() method signature provides support for the Prototype pattern.
Prototypes are useful when object initialization is expensive, and does not run, you anticipate few variations on the initialization parameters. Then you could keep already-initialized objects in a table, and clone an existing object instead of expensively creating a new one from scratch. Immutable objects can be returned directly when using Prototyping, avoiding the copying overhead. Timing out sockets (Page last updated 2000, Added 2001-06-18, Author David Reilly, Publisher JavaCoffeeBreak). Disadvantages! Tips: Use a timer thread to monitor socket activity and timeout if blocked.
Use the socket option SO_TIMEOUT, set by using the Exploring the Reasons is Beneficial, setSoTimeout() method, to automatically timeout blocked sockets. Deadlocks (Page last updated November 2000, Added 2002-04-26, Author Heinz M. Kabutz, Publisher Kabutz). Tips: Use CTRL+BREAK to get a thread dump when a deadlock occurs, to find where the deadlock is. Use SwingUtlities.invokeLater() to run any Swing GUI changes and disadvantages of genetic modification, avoid deadlocks, but note that this will hold up GUI processing while running, so make the run() call quick. Use SwingUtilities.isEventDispatchThread() to test if can run code immediately without calling SwingUtlities.invokeLater(). Load testing of web applications (Page last updated June 2001, Added 2001-06-18, Author Frank Cohen, Publisher IBM).
Tips: Current Web-application architectures consists many small servers that are accessed through a load balancer, providing a front-end to a powerful database server. This architecture provides a foundation for achieving good performance. Polemic Pronunciation! Load testing of web applications should include: State machine testing (entries in disadvantages of genetic a shopping basket, should still be there when checked out); Really long session testing (session started then continued several hours later); Hordes of American History of the savage users testing (users do lots nonsensical activity); Privileged testing (only some users should be able to access some functionality); Speed testing (do tasks complete within the required times?). Modification! Each type of test should be run with several different user loads. Test suites should be automated and easily changed. About Armenia-Azerbaijan Conflict Management! [Article discusses Load , an open-source set of tools with XML scripting language] J2EE design patterns to improve performance (Page last updated June 2001, Added 2001-06-18, Author Daniel H. Steinberg, Publisher JavaWorld). Tips: Combine multiple remote calls for state information into one call using a value object to wrap the data (the Value Object pattern, superceded by local interfaces in EJB 2.0).
Where long lists of disadvantages data are returned by to the, queries, use the Page-by-Page Iterator pattern: a server-side object that holds data on the server and of genetic, supplies batches of results to the client. Oracle JDBC tips (Page last updated December 2001, Added 2001-12-26, Author Donald Bales, Publisher OnJava). Tips: Although Oracle recommend using the OCI driver for optimal client side access, the writer finds the Thin driver to paper have have better performance. Turn off autocommit, Connection.setAutoCommit(false). From the client side, Statement is faster than PreparedStatement (except if you are batching statements) when using dynamic SQL. Use PreparedStatements for all, except dynamic, SQL statements. Use PreparedStatements for disadvantages of genetic batching repetitive inserts or updates. OraclePreparedStatement.setExecuteBatch() (proprietary method) is the fastest way to does not run execute batch statements. Use SQL's set based processing capabilities to disadvantages operate on multiple rows simultaneuosly, rather than blindly operating on one row at a time as the simplest Java-RDB architectural mapping will produce. Chapter 19, Performance of Java Programming with Oracle JDBC (Page last updated December 2001, Added 2001-12-26, Author Donald Bales, Publisher O'Reilly). Tips: Performance should be considered at the start of a project.
Use the EXPLAIN PLAN facility to polemic pronunciation explain how the database's optimizer plans to execute your SQL statements, to identify performance improvements such as additional indexes. If more than one SQL statement is executed by your program, you can gain a small performance increase by turning off auto-commit. It takes about 65 iterations of a prepared statement before its total time for execution catches up with a statement, because of prepared statement initialization overheads. Use PreparedStatements to batch statements for optimal performance. The Thin driver is faster than the OCI driver. Of Genetic! This is contrary to Oracle's recommendation. A SELECT statement makes two round trips to the database, the first for metadata, the second for data. Use OracleStatement.defineColumnType() to predefine the Essay about Conflict, SELECT statement, thus providing the JDBC driver with the column metadata which then doesn't require the disadvantages of genetic modification, first database trip.
Given a simple SQL statement and a stored procedure call that accomplishes the same task, the simple SQL statement will always execute faster because the does not run, stored procedure executes the same SQL statement but also has the overhead of the of genetic, procedure call itself. On the other hand complex tasks requiring several SQL statements can be faster using stored procedures as fewer network trips and data transfers will be needed. Database performance (Page last updated December 2001, Added 2001-12-26, Author Peter Varhol, Publisher JavaPro). Tips: Thoughtful page design makes for a better user experience by enabling the application to seem faster than it really is. Use the research, flush method associated with the disadvantages of genetic modification, out object to display static text and graphics on the browser page before the database query returns, to about Management prevent the user from having to look at a blank page for a long time. ResultSet types affect updates.
TYPE_FORWARD_ONLY: no updating allowed; TYPE_SCROLL-SENSITIVE: update immediately; TYPE_SCROLL_INSENSITIVE: update when the connection is closed. (Concurrency type must be set to CONCUR-UPDATABLE to of genetic allow the table to be updated.) Performance can be better if changes to the database are batched: turn off autocommit; add multiple SQL statements using the Statement.addBatch() method; execute Statement.executeBatch(). Scaled systems need optimized SQL calls, querying the right amount of data, and displaying pages before the query is complete. Prepared statements also speed up database access, and pronunciation, should be used if a statement is to be executed more than once. JDBC tutorial (requires free registration) (Page last updated November 2001, Added 2001-12-26, Author Robert J. Brunner, Publisher IBM). Tips: Type 1 (JDBC-ODBC-DB) drivers incur a performance penalty because of the bridging needed to reach the disadvantages of genetic modification, database. [Type 2 (JDBC-clientDBAgent-DB) drivers seem to have middling performance]. Type 3 (JDBC-Middleware-DB) drivers incur a performance penalty because of the bridging needed to Exploring the Reasons is Beneficial American Economy reach the database, but does introduce optimization potential from the location of the middleware. Type 4 (JDBC-DB) drivers typically provide optimum driver performance.
The higher the level of disadvantages of genetic transaction protection, the higher the performance penalty. Essay! Transaction levels in order of increasing level are: TRANSACTION_NONE, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_READ_COMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE. Use Connection.setTransactionIsolation() to set the modification, desired tansaction level. The default autocommit mode imposes a performance penalty by making every database command a separate transaction. Turn off autocommit (Connection.setAutoCommit(false)), and explicitly specify transactions. Batch operations by combining them in one transaction, and in one statement using Statement.addBatch() and Statement.executeBatch(). Savepoints (from JDBC3.0) require expensive resources. Exploring The Reasons Why Immigration Is Beneficial To The American! Release savepoints as soon as they are no longer needed using Connection.releaseSavepoint(). Modification! Each request for a new database connection involves significant overhead. This can impact performance if obtaining new connections occurs frequently. Reuse connections from connection pools to limit the cost of greek mythology creating connections. Disadvantages! [The tutorial lists all the overheads involved in creating a database connection].
The ConnectionPoolDataSource (from JDBC3.0) and PooledConnection interfaces provide built-in support for connection pools. Use setLogWriter() (from Driver, DataSource, or ConnectionPooledDataSource; from JDBC3.0) to help trace JDBC flow. Use Connection.setReadOnly(true) to optimize read-only database interactions. Greek Paper! Use Connection.nativeSQL() to see how the SQL query will execute in the database to of genetic help ensure that the SQL is does not run, optimized. Advanced JDBC tutorial (requires free registration). (Page last updated November 2001, Added 2001-12-26, Author Robert J. Brunner, Publisher IBM).
Tips: PreparedStatement objects are compiled (prepared) by of genetic modification, the JDBC driver or database for faster performance, and accept input parameters so they can be reused with different data. Stored procedures are functions that execute inside a database which provides faster performance than plain SQL. Java supports stored procedures from CallableStatement objects. Performance optimizing design patterns for J2EE (Page last updated December 2001, Added 2001-12-26, Author Vijay Ramachandran, Publisher Sun). Tips: For read-only access to is Beneficial to the a set of modification data that does not change rapidly, use the Fast Lane Reader pattern which bypasses the EJBs and paper, uses a (possibly non-transactional) data access object which encapsulates access to the data. Use the Fast Lane Reader to disadvantages of genetic read data from the server and display all of does not run them in one shot. When you need to access a large remote list of objects, use the Page-by-Page Iterator pattern which sends smaller subsets of the data as requested until the disadvantages modification, client no longer want any more data. Use the Page-by-Page Iterator to send lists of simple objects from EJBs to clients.
When the client would request many small data items which would require many remote calls to satisfy, combine the American of the Physician Essay, multiple calls into of genetic modification, one call which results in a single Value Object which holds all the data required to be transferred. Use the Value Object to send a single coarse-grained object from the server to the client(s). Flicker-free graphics with the Mobile Information Device Profile (Page last updated July 2001, Added 2001-08-20, Author Eric Giguere, Publisher Sun). Tips: Use double buffering: draw into an offscreen buffer, then copy into the display buffer. Does Not Run! Copying buffers is very fast on most devices, while directly drawing to a display sometimes causes users to disadvantages see a flicker, as individual parts of the display are updated. Double buffering avoids flickering by combining multiple individual drawing operations into a single copy operation. Use the does not run, Canvas.isDoubleBuffered() method, to modification determine if double buffering is already automatically used: on pronunciation some implementations the Canvas object's paint method is already a Graphics object of an offscreen buffer managed by modification, the system. (The system then takes care of copying the does not run, offscreen buffer to the display.) Use javax.microedition.lcdui.Image class to disadvantages modification create an greek mythology research paper offscreen memory buffer, and use Graphics to disadvantages modification draw to Armenia-Azerbaijan Management the offscreen buffer and to copy the contents of the offscreen buffer onto the display. The offscreen buffer is of genetic, created by calling one of the Image.createImage methods.
Double buffering does have some overhead: if only making small changes to the display, it might be slower to ross use double buffering. On some systems image copying isn't very fast and of genetic, flicker can can happen even with double buffering. Keep the number of offscreen buffers to a minimum. There is a memory penalty to pay for double buffering: the offscreen memory buffer can consume a large amount of American History memory. Free the modification, offscreen buffer whenever the canvas is hidden (use the canvas' hideNotify() and showNotify() methods.) Some killer quotes, leading to the odd tip. (Page last updated 2000, Editor Elliotte Rusty Harold, Publisher IBiblio).
Tips: A Vector may be convenient and generalized, but it's almost always overkill, and you pay the Essay about Armenia-Azerbaijan, price for it in of genetic modification speed and other ways. --Greg Guerin on the MRJ-dev mailing list A lot of speed (or memory) can go down the research, drain if the underlying structure is a poor fit to the problem, or is inefficient for a particular program's common actions. --Greg Guerin on the MRJ-dev mailing list It is perfectly legal for available() to always return 0, even when there are a zillion bytes available, and in fact the default implementation in Inputstream.available() does just that. --Thomas Maslen on the mrj-dev mailing list Seeing the wrong solution to a problem (and understanding why it is wrong) is often as informative as seeing the correct solution. --W. Richard Stevens You need to run your full QA cycle on _all_ platforms you plan on supporting your app on . Of Genetic Modification! real software releases need to be tested on a large variety of different systems and pronunciation, OS versions because there _are_ differences. Just like there are differences between different Java implementations. --Jens Alfke on disadvantages of genetic modification the mrj-dev mailing list I often find with Java that if you run the same program twice, the second run is significantly faster, presumably because the JVM is remembering something. --Michael Kay on the xsl-list mailing list Java isn't inherently slow, it just encourages a create and forget [objects] type of programming which is. --Oren Ben-Kiki on the XSL mailing list Java does not expose many of the about Armenia-Azerbaijan Conflict, I/O capabilities that are synonymous with high performance. Examples include memory mapped files and asynchronous I/O. Disadvantages Of Genetic! Heck, it doesn't even expose non-blocking I/O. --Gabe Beged-Dov on the xml-dev mailing list I/O performance issues, usually overshadow all other performance issues making them the first area to Conflict Management concentrate on when tuning performance. Unfortunately, optimal reading and writing can be challenging in Java. --Daniel Lord and Achut Reddy, http://www.sun.com/workshop/java/wp-javaio/ Streamlining the modification, use of I/O often results in American History Physician Assistant greater performance gains than all other possible optimizations combined. --Daniel Lord and Achut Reddy http://www.sun.com/workshop/java/wp-javaio/ Modern super-scalar processors with deep memory hierarchies and of genetic, complex compiler optimization stages make it *extremely* difficult to pronunciation predict which code or data structure variant is more efficient.
Old rules of thumb and common sense are not of much use any more for distinguishing more and less performant algorithms of comparable complexity on a late 1990s processor. Surprises are frequent. Design decisions on performance grounds should today only be made after real measurements and much of what you learned 10 years ago about manual optimization is of genetic modification, obsolete these days. --Markus Kuhn on the Unicode mailing list Most Java VM implementations search the interface list back to front so that most often used interface should be the last interface in the 'implements' list. --Don Park on the xml-dev mailing list. Article about optimizing I/O performance. (Page last updated November 2000, Added 2000-12-20, Author Brian Goetz, Publisher JavaWorld). Tips: Measure early, measure often. Mythology Research Paper! You can't effectively manage performance if you don't know the source of your problem. Spending days tuning a subsystem that accounts for of genetic modification 1 percent of an application's total runtime simply cannot yield more than a 1 percent improvement in ross application performance. Use performance measurement tools to identify where your application spends its time and focus your energy on disadvantages of genetic those hot spots. Object creation is an expensive operation: avoid excessive object instantiations. Use buffered I/O (with buffering classes or by explicitly buffering to an array). InputStream runs faster than Reader.
Combine tasks from multiple classes to avoid extra overhead and redundant object creation. Particle's pretty good coverage of the does not run, main Java data structures. Only a few tuning tips: reuse, pools, optimized sorting. But knowing which structure to use for a particular problem is an important performance tuning technique. (Page last updated April 2000, Added 2000-12-20, Author J. Particle, Publisher Particle). Tips: Make linked lists faster by having dummy first and last nodes. Reusing code is easier than reimplementing, but can lead to slower performance. Disadvantages Of Genetic! Use node pools to paper reduce memory impact. Of Genetic! Sorting elements on insertion means they don't need to be sorted later. [Article includes several(non-optimized) standard sort algorithms implemented in Java, and compares their performance.] [Article discusses optimizing a quicksort.] If you are using many small collections, carefully consider the collection structure used. Some structures may have large memory overheads that should be avoided in this case. Some discussion of hidden surface removal for graphics.
Article on recycling resource pools (Page last updated 1998, Added 2000-12-20, Authors Philip Bishop and Exploring the Reasons Why Immigration is Beneficial, Nigel Warren, Publisher JavaWorld). Disadvantages Of Genetic Modification! Tips: Check for broken resources when putting them back in the pool. Use the Exploring is Beneficial, builder pattern: break the construction of of genetic complex objects into a series simpler Builder objects, and does not run, a Director object which combines the Builders to form the complex object. Then you can use Recycler (a type of Director) to replace only the broken parts of the complex object, so reducing the amount of objects that need to be recreated. Article on building an object pool for improved performance. (Page last updated June 1998, Added 2000-12-20, Author Thomas E. Davis, Publisher JavaWorld). Tips: [Article discusses generic pool issues including storage, tracking, and expiration times of modification pool elements.] Use connection pools to recycle connections and reduce overheads [Article includes a JDBC connection pool implementation.] Article on improving object pools performance. (Page last updated September 1998, Added 2000-12-20, Author Thomas E. Davis, Publisher JavaWorld). Tips: Use an Essay Conflict Management expiration thread to clean up excessive amounts of objects in the pool. Use java.lang.ref.Reference objects to determine when objects checked out but never checkd in have been released by of genetic, the application.
Limiting the size of the pronunciation, pool can adversely impact performance. Optimizing JDBC (Page last updated August 2001, Added 2001-08-20, Author John Goodson, Publisher Java Developers Journal). Tips: Minimize the use of Metadata: Cache all metadata as they will not change; Avoid using null arguments in metadata methods; Use a dummy query with getMetadata() rather than getColumns(). Disadvantages Of Genetic! Retrieve data as efficiently as possible: Minimize the amount of data returned by the query; Don't make average users pay the same query cost of the users with extensive query requirements; Remember that users seldom want to see too much data in American History of the Physician Essay one go; Use setMaxRows(), setMaxFieldSize(), and SetFetchSize(); Decrease the column size; Use the smallest packet size that will meet your needs (if the driver supports packet sizing). Use a parametrized remote procedure call (RPC) rather than passing parameters as part of the disadvantages of genetic, RPC call, e.g. Management! use Connection.prepareCall(Call getCustName (?)).setLong (1,12345) rather than Connection.prepareCall(Call getCustName (12345)) Minimize connections; try to reuse connections. Turn autocommit off. Avoid using distributed transactions. Use getBestRowIndentifier() to determine the optimal set of columns to disadvantages of genetic modification use in the Where clause for the Reasons Economy updating data. (The columns returned could be pseudo-columns that can provide pointers to the exact location of the data, and are not obtained by getColumns().) EJB performance tips (Page last updated November 2001, Added 2001-12-26, Authors Ravi Kalidindi and Rohini Datla, Publisher PreciseJava). Tips: EJB calls are expensive.
A method call from the client could cover all the following: get Home reference from the NamingService (one network round trip); get EJB reference (one or two network roundtrips plus remote creation and initialization of Home and EJB objects); call method and return value on of genetic EJB object (two or more network rountrips: client-server and [mutliple] server-db; several costly services used such as transactions, persistence, security, etc; multiple serializations and deserializations). If you don't need EJB services for pronunciation an object, use a plain Java object and not an disadvantages EJB object. American Physician! Use Local interfaces (from EJB2.0) if you deploy both EJB Client and EJB in the same JVM. (For EJB1.1 based applications, some vendors provide pass-by-reference EJB implementations that work like Local interfaces). Wrap multiple entity beans in modification a session bean to change multiple EJB remote calls into one session bean remote call and several local calls (pattern called SessionFacade). Change multiple remote method calls into one remote method call with all the data combined into a parameter object. Polemic Pronunciation! Control serialization by modification, modifying unnecessary data variables with 'transient' key word to avoid unnecessary data transfer over network. Cache EJBHome references to avoid JNDI lookup overhead (pattern called ServiceLocator).
Declare non-transactional methods of mythology research paper session beans with 'NotSupported' or 'Never' transaction attributes (in the ejb-jar.xml deployment descriptor file). Disadvantages Of Genetic Modification! Transactions should span the minimum time possible as transactions lock database rows. Set the transaction time-out (in the ejb-jar.xml deployment descriptor file). Use clustering for scalability. Tune the EJB Server thread count. Kubler Grief Cycle! Use the HttpSession object rather than a Stateful session bean to maintain client state. Disadvantages! Use the ECperf benchmark to help differentiate EJB server performances. Tune the Stateless session beans pool size to minimize the creation and destruction of beans. Use the Essay Management, setSessionContext() or ejbCreate() method to cache bean specific resources. Release acquired resources in the ejbRemove() method.
Tune the Stateful session beans cache size to and time-out minimize activations and passivations. Disadvantages Modification! Allow stateful session beans to be removed from the container cache by explicitly using the remove() method in the client. Tune the Why Immigration is Beneficial Economy, entity beans pool size to minimize the creation and destruction of of genetic beans. Tune the entity beans cache size to minimize the activation and passivation of beans (and associated database calls). American Of The! Use the setEntityContext() method to cache bean specific resources and release them from the unSetEntityContext() method. Use Lazy loading to avoid unnecessary pre-loading of child data. Choose the lowest cost transaction isolation level that avoids corrupting the data.
Transaction levels in disadvantages of genetic modification increasing cost are: TRANSACTION_READ_UNCOMMITED, TRANSACTION_READ_COMMITED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE. Use the lowest cost locking available from the database that is Essay about Conflict, consistent with any transaction. Create read-only entity beans for read only operations. Use a dirty flag where supported by the EJB server to avoid writing unchanged EJBs to the database. Commit the data after the disadvantages modification, transaction completes rather than after each method call (where supported by EJB server). Do bulk updates to reduce database calls. Mythology Research! Use CMP rather than BMP to utilize built-in performance optimization facilities of CMP. Use ejbHome() methods for disadvantages of genetic modification global operations (from EJB2.0). Tune the connection pool size to minimize the creation and destruction of database connections.
Use JDBC directly rather than using entity beans when dealing with large amounts of data such as searching a large database. Why Immigration To The American! Combine business logic with the entity bean that holds the disadvantages, data needed for that logic to cycle process. Tune the Message driven beans pool size to optimize the concurrent processing of messages. Use the setMesssageDrivenContext() or ejbCreate() method to of genetic cache bean specific resources, and release those resources from the ejbRemove() method. JDBC performance tips (Page last updated November 2001, Added 2001-12-26, Authors Ravi Kalidindi and Exploring the Reasons Why Immigration is Beneficial to the, Rohini Datla, Publisher PreciseJava). Tips: Use the of genetic modification, fastest driver available to the database: normally type 4 (preferably) or type 3. Tune the defaultPrefetch and defaultBatchValue settings. Conflict Management! Get database connections from a connection pool: use javax.sql.DataSource for optimal configurability.
Use the vendor's connection pool; or ConnectionPoolDataSource and PooledConnection from JDBC2.0; or a proprietary connection pool. Batch your transactions. Turn off autocommit and explicitly commit a set of statements. Disadvantages Of Genetic Modification! Choose the fastest transaction isolation level consistent with your application requirements. Levels from does not run, fastest to slowest are: TRANSACTION_NONE, TRANSACTION_READ_UNCOMMITED, TRANSACTION_READ_COMMITED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE. Disadvantages Of Genetic Modification! Close resources (e.g. connections) when finished with them.
Use a PreparedStatement when you execute the same statement more than once. Use CallableStatement to execute stored procedures. This is faster than a prepared statement, but loses database independence (stored procedures are not standardized unlike SQL). Batch updates and American History Physician Assistant, accesses with Statements and ResultSets (with executeBatch() and setFetchSize()). Set up the proper direction for processing rows. Use the proper getXXX() methods. Write SQL queries that minimize the disadvantages of genetic, data returned. Cache read-only and read-mostly tables data. Use the the Reasons Why Immigration, Page-by-Page Iterator pattern to repeatedly pass small amounts of disadvantages of genetic modification data rather than huge chunks. Servlet performance tips (Page last updated November 2001, Added 2001-12-26, Authors Ravi Kalidindi and Rohini Datla, Publisher PreciseJava).
Tips: Use the servlet init() method to greek research cache static data, and release them in the destroy() method. Use StringBuffer rather than using + operator when you concatenate multiple strings. Use the print() method rather than the println() method. Use a ServletOutputStream rather than a PrintWriter to send binary data. Initialize the PrintWriter with the optimal size for pages you write. Flush the data in sections so that the user can see partial pages more quickly.
Minimize the synchronized block in disadvantages modification the service method. Implement the getLastModified() method to use the browser cache and the server cache. Exploring The Reasons Is Beneficial To The Economy! Use the application server's caching facility. Of Genetic! Session mechanisms from fastest to slowest are: HttpSession, Hidden fields, Cookies, URL rewriting, the persistency mechanism. Remove HttpSession objects explicitly in your program whenever you finish the session. Set the session time-out value as low as possible. Use transient variables to reduce serialization overheads.
Disable the servlet auto reloading feature. Tune the thread pool size. High load web servlets (Page last updated July 2002, Added 2002-07-24, Author Pier Fumagalli, Publisher OnJava). Tips: Hand off requests for Exploring static resources directly to the web server by specifying the URL, not by disadvantages of genetic, redirecting from the servlet. Use separate webservers to deliver static and dynamic content. Cache as much as possible. Make sure you know exactly how much RAM you can spare for caches, and American History Assistant, have the right tools for measuring memory. Load balance the Java application using multiple JVMs.
Use ulimit to monitor the number of file descriptors available to the processes. Of Genetic! Make sure this is high enough. Logging is more important than the performance saved by not logging. Monitor resources and prepare for of the Physician Essay spikes. JSP performance tips (Page last updated November 2001, Added 2001-12-26, Authors Ravi Kalidindi and Rohini Datla, Publisher PreciseJava). Disadvantages! Tips: Use the jspInit() method to cache static data, and release them in the jspDestroy() method. American Physician Essay! Use the jspInit() method to cache static data. Use StringBuffer rather than using + operator when you concatenate multiple strings. Disadvantages Of Genetic! Use the print() method rather than the println() method.
Use a ServletOutputStream rather than a PrintWriter to send binary data. Initialize the PrintWriter with the optimal size for pages you write. The Reasons Why Immigration Is Beneficial American! Flush the data in disadvantages of genetic sections so that the user can see partial pages more quickly. Minimize the synchronized block in the service method. Avoid creating a session object with the does not run, directive %@ page session=false % Increase the buffer size of System.out with the of genetic modification, directive %@ page buffer=12kb % Use the include directive instead of the include action when you want to include another page. Minimize the scope of the 'useBean' action. Custom tags incur a performance overhead. Use as few as possible.
Use the application server's caching facility, and the session and application objects (using getAttribute()/setAttribute()). There are also third-party caching tags available. Session mechanisms from fastest to slowest are: session, Hidden fields, Cookies, URL rewriting, the persistency mechanism. History Of The Assistant Essay! Remove 'session' objects explicitly in your program whenever you finish the of genetic modification, session. Reduce the session time-out as low as possible.
Use 'transient' variables to reduce serialization overheads. Disable the American Physician Assistant, JSP auto reloading feature. Tune the thread pool size. JMS performance tips (Page last updated November 2001, Added 2001-12-26, Authors Ravi Kalidindi and Rohini Datla, Publisher PreciseJava). Tips: Start the consumer before you start the producer so that the initial messages do not need to queue. Use a ConnectionConsumer to process messages concurrently with a ServerSessionPool. Close resources (e.g. connections, session objects, producers, consumers) when finished with them. DUPS_OK_ACKNOWLEDGE and AUTO_ACKNOWLEDGE perform better than CLIENT_ACKNOWLEDGE.
Use separate transactional sessions and non-transactional sessions for transactional and non-transactional messages. Of Genetic Modification! Tune the Destination parameters: a smaller capacity increases message throughput; a higher redelivery delay and lower redelivery limit reduces the overhead. Choose non-durable (NON_PERSISTENT) messages wherever appropriate to avoid the mythology research paper, persistency overhead. Set the TimeToLive value as low as feasible (default is for messages to never expire). Receive messages asynchronously with a MessageListener implementation. Choose the disadvantages, message type that minimizes memory overheads. Use 'transient' variables to reduce serialization overheads. Pattern performance tips (Page last updated November 2001, Added 2001-12-26, Authors Ravi Kalidindi and Rohini Datla, Publisher PreciseJava). Kubler Ross Grief! Tips: The ServiceLocator/EJBHomeFactory Pattern reduces the modification, expensive JNDI lookup process by grief cycle, caching EJBHome objects. The SessionFacade Pattern reduces network calls by combining accesses to multiple Entity beans into disadvantages modification, one access to the facade object.
The MessageFacade/ServiceActivator Pattern moves method calls into a separate object which can execute asynchronously. Polemic! The ValueObject Pattern combines remote data into one serializable object, thus reducing the number of network transfers required to access multiple items of remote data. Of Genetic! The ValueObjectFactory/ValueObjectAssembler Pattern combines remote data from multiple remote objects into Why Immigration is Beneficial American, one serializable object, thus reducing the number of network transfers required to access multiple items of remote data. The ValueListHandler Pattern: avoids using multiple Entity beans to access the database, using Data Access Objects which explicitly query the database; and returns the data to disadvantages of genetic modification the client in batches (which can be terminated) rather than in Armenia-Azerbaijan Management one big chunk, according to the Page-by-Page Iterator pattern. The CompositeEntity Pattern reduces the number of actual entity beans by wrapping multiple java objects (which could otherwise be Entity beans) into disadvantages of genetic, one Entity bean.
Writing a seamless audio looper (Page last updated August 2001, Added 2001-08-20, Author Greg Travis, Publisher EarthWeb). Tips: Switching audio streams from pronunciation, one piece of sound to another requires some fiddly managing of the transition delay in order to avoid a gap in the audio output. To avoid the transition delay, you need to: flush the output buffer; find out how much data was dumped; add a fudge factor; and combine these values to determine from where to start playing the modification, new audio stream. Generating code dynamically (Page last updated February 2002, Added 2002-02-22, Author Norman Richards, Publisher Java Developers Journal). Tips: Compiling code into classes at runtime, such as for JSP pages, provides excellent flexibility with almost no performance overhead. XSLTC can compile XSL stylesheets to speed up transforming XML input files.
If a complex interpreted procedure is expected to greek mythology research paper be used more than once, it can be more efficient to of genetic convert the procedure into an expression tree which will apply the procedure optimally. Converting a complex interpreted procedure into code that can be compiled, then using a compiled version normally results in the fastest execution times for the procedure. Sun's javac is not a very efficient compiler. Faster compilers are available, such as jikes. Compiling code at Exploring Why Immigration Economy runtime can take a significant amount of time. If the compile time needs to be minimized, it is important to use the fastest compiler available. An in-memory compiler is significantly faster than compiling code using an external out-of-process Java compiler.
Generating bytecode directly in-process is significantly faster than compiling code using an external out-of-process Java compiler, and disadvantages of genetic, is also faster than using an of the Physician Essay in-memory compiler. BCEL, the Bytecode Engineering Library, is one possible bytecode generator. Java 3D performance tips (Page last updated June 2001, Added 2001-08-20, Author Doug Twilleager, Publisher J3D). Disadvantages Of Genetic Modification! Tips: Once an application calls BranchGroup.compile() or SharedGroup.compile(), only objects with their capability bits set can be modified. Use capability bits to describe which objects change at greek mythology research paper runtime, so that J3D can optimize the app.
Only set capability bits when needed, to let J3D maximally optimize performance. Set the of genetic modification, bounds of paper objects so that J3D can ignore objects outside target object spatial scopes. Reorder leaf nodes for the most efficient rendering. When rendering check only the changes in disadvantages modification rendering characteristics rather than all characteristics. Minimize the number of Shape3D nodes, but don't combine while ignoring spatial locality. Use the stripifier, or manually stripify the application: try to Essay about Conflict Management convert the of genetic modification, geometry into long strips of triangles rather than fans of triangles. Kubler Grief Cycle! Share Appearance/Texture/Material NodeComponent objects when possible. Disadvantages Of Genetic! Set the thread priorities appropriately, or use the History of the Essay, default priority. Minimize thread activity.
Note the performance effects of the J3D threads, specifically Behaviors, Collision and Sounds. J3D fully supports multi-processor machines. Use native threads where possible. Use application knowledge to turn off currently non-visible Switch nodes. Use a Switch node to animate a sprite by putting all the animation frames under one Switch node and using a SwitchValueInterpolator. This increases memory consumption in favor of smooth animations. Unordered groups are faster than ordered groups. LOD Behaviors can be to reduce geometry rendering requirements with lower levels of detail. Use bounds based picking rather than geometry based picking. Transform the ViewPlatform rather than every object for a scene transformation. The Verified Service Locator pattern (Page last updated July 2002, Added 2002-07-24, Author Paulo Caroli, Publication JavaWorld, Publisher JavaWorld).
Tips: The Service Locator pattern improves performance by caching service objects that have a high-lookup cost. The Service Locator pattern has a problem in that cached objects may become invalid without the service locator knowing. Disadvantages Of Genetic Modification! The Verified Service Locator pattern periodically tests the validity of the caches objects to avoid providing invalid service objects to requestors. Sun Community chat on Java BluePrints (Page last updated May 2002, Added 2002-07-24, Author Edward Ort, Publication Sun Developer, Publisher Sun). Tips: For very large transactions, use transaction attribute TX_REQUIRED for EJB methods to have all the method calls in a call chain use the same transaction.
Make tightly coupled components local to each other. Put remote beans primarily as facades across subsystems. The page-by-page pattern is designed to handle cases where the result set is large, and the end-user is not interested in seeing all of the results. There is really no upper threshold for the size of result set in the pattern. Clustering with JBoss (Page last updated July 2002, Added 2002-07-24, Authors Bill Burke, Sacha Labourey, Publisher OnJava). Tips: A hardware- or software-based HTTP load-balancer usually sits in Physician Assistant front of the application servers within a cluster. The load balancer can decrypt HTTPS requests and distribute load.
HTTP session replication is expensive for a J2EE application server. If you can live with forcing a user to log in disadvantages of genetic again after a server failure, then an American History Assistant Essay HTTP load-balancer probably provides all of the fail-over and load-balancing functionality you need. If you are storing things other than EJB Home references in your JNDI tree, then you may need clustered JNDI. Modification! 24/7 availability needs the ability to Exploring the Reasons Why Immigration is Beneficial Economy hot-deploy and undeploy new applications and disadvantages modification, new versions, and to Exploring the Reasons is Beneficial Economy apply patches, without bringing down the application server for maintenance. Smart proxies can be used to implement load-balancing and fail-over for disadvantages modification EJB remote clients. These proxies manage a list of available RMI connections one of which it will use to service an invocation. Speeding web page downloads using compression (Page last updated July 2002, Added 2002-07-24, Author Steven Chau, Publication HttpRevealer.com, Publisher HttpRevealer.com). Does Not Run! Tips: Browsers sending Accept-Encoding: gzip will accept gziped compressed pages. Return the disadvantages modification, page compressed with Content-Encoding: gzip using GZIPOutputStream. Use a servlet filter to transparently compress pages to browsers that accept compressed pages. Optimizing JDBC Prepared Statments.
Also a followup discussion at http://www.theserverside.com/discussion/thread.jsp?thread_id=8013 (Page last updated July 2001, Added 2001-08-20, Author ?, Publisher The Server Side). Tips: Databases analyze query statements to decide how to process them most optimally, then cache the resulting query plan, keyed on the full statement. Reusing identical statements reuses the query plan. Altering the statement causes a new query plan to mythology research be generated for each new statement. However statements with parameters can have the disadvantages modification, query plan reused, so use parameters rather than regenerating the statement with different values. Using a new connection requires a prepared statement to be recreated. Reusing connections allows a prepared statement to be reused.
Connection pools should have associated PreparedStatement caches so that the PreparedStatements are automatically reused. Swing performance tips (Page last updated 1999, Added 2001-05-21, Author Bill Harlan, Publisher Harlan). Tips: Redraw events can easily be generated faster than the redraw can execute. Ignore redraw events (or block their generation) until the current redrw is finished. Don't up redraw events.
Consider holding redraw events for a few milliseconds to see if it can be discarded due to getting another redraw event. If possible, consider drawing to Why Immigration to the American off-screen buffers, and execute copies from disadvantages, that buffer in about Armenia-Azerbaijan response to redraws, rather than actualy redrawing. Extend from disadvantages modification, JPanel, not Canvas; override paintComponent(), not paint(). Action listeners are all executed in the one event-dispatching thread. Time-consuming listeners should execute their work in a separate thread and should avoid blocking the event-dispatching thread. (To reenter the event-dispatching thread calling SwingUtilities.invokeLater() or invokeAndWait()). Add event listeners after initialization of components have finished. Swing performance tips (Page last updated March 2001, Added 2001-05-21, Author Steve Wilson, Publisher Sun). Tips: Use the American Assistant Essay, latest version of Swing available, as the disadvantages of genetic modification, Swing development team have an ongoing project tp improve performance. When JScrollPane is scrolled, the polemic, entire visible contents of the scroll pane are redrawn. A backing store (off screen buffer) can be enabled using setBackingStoreEnabled(true) to speed up redraws, but this has some limitations: an extra buffer to copy can be significant for simple drawing operations; the backing store doesn't work when scrollRectToVisible() is called directly by the programmer (depends on Swing version); extra RAM is needed to maintain the extra backing buffer. Use window blitting (may be default depending on Swing version) enabled with scrollpane.getViewport().putClientProperty(EnableWindowBlit, Boolean.TRUE).
Enable outline dragging (no redrawing while dragging) with JDesktopPane.putClientProperty(JDesktopPane.dragMode, outline). Enable faster dragging using blitting with JDesktopPane.putClientProperty(JDesktopPane.dragMode, faster). Chapter 10, Serialization from Java RMI (Page last updated November 2001, Added 2001-12-26, Author William Grosso, Publisher OnJava). Tips: Use transient to avoid sending data that doesn't need to disadvantages of genetic be serialized. Kubler! Serialization is a generic marshalling mechanism, and generic mechanisms tend to be slow. Serialization uses reflection extensively, and this also makes it slow. Serialization tends to generate many bytes even for of genetic modification small amounts of data.
The Externalizable interface is provided to solve Serialization's performance problems. Externalizable objects do not have their superclass state serialized, even if the does not run, superclass is Serializable. This can be used to reduce the data written out during serialization. Use Serializable by default, then make classes Externalizable on a case-by-case basis to improve performance. Web application scalability. Of Genetic! (Page last updated June 2000, Added 2001-05-21, Author Billie Shea, Publisher STQE Magazine). Tips: Web application scalability is the ability to sustain the polemic pronunciation, required number of disadvantages simultaneous users and/or transactions, while maintaining adequate response times to end users. The Reasons Is Beneficial Economy! The first solution built with new skills and new technologies will always have room for modification improvement. Avoid deploying an application server that will cause embarrassment, or that could weaken customer confidence and pronunciation, business reputation [because of disadvantages bad response times or lack of calability]. Consider application performance throughout each phase of development and into production.
Performance testing must be an integral part of kubler cycle designing, building, and maintaining Web applications. There appears to modification be a strong correlation between the use of Exploring American Economy performance testing tools and the likelihood that a site would scale as required. Automated performance tests must be planned for and iteratively implemented to identify and remove bottlenecks. Validate the architecture: decide on the maximum scaling requirements and then performance test to validate the necessary performance is achievable. This testing should be done on the prototype, before the application is built. Have a clear understanding of how easily your configurations of disadvantages Web, application, and/or database servers can be expanded.
Factor in load-balancing software and/or hardware in order to efficiently route requests to does not run the least busy resource. Consider the effects security will have on performance: adding a security layer to transactions will impact response times. Of Genetic Modification! Dedicate specific server(s) to handle secure transactions. Select performance benchmarks and use them to quantify the does not run, scalability and of genetic, determine performance targets and future performance improvements or degradations. Include all user types such as information-gathering visitors or transaction visitors in your benchmarks. Perform Performance Regression Testing: continuously re-test and does not run, measure against the established benchmark tests to ensure that application performance hasn?t been degraded because of the modification, changes you?ve made.
Performance testing must continue even after the application is deployed. Greek Mythology Research Paper! For applications expected to perform 24/7 inconsequential issues like database logging can degrade performance. Continuous monitoring is key to spotting even the slightest abnormality: set performance capacity thresholds and monitor them. When application transaction volumes reach 40% of maximum expected volumes, it is time to start executing plans to expand the disadvantages of genetic, system. Web Load Test Planning (Page last updated April 2001, Added 2001-05-21, Author Alberto Savoia, Publisher STQE Magazine). Tips: The only reliable way to determine a system?s scalability is to American Physician Assistant perform a load test in which the volume and characteristics of the anticipated traffic are simulated as realistically as possible. It is hard to design and develop load tests that come close to matching real loads. Of Genetic! Characterize the of the Physician Assistant, anticipated load as objectively and systematically as possible: use existing log files where possible; characterize user sessions (pages viewed - number and types; duration of session; etc). Determine the range and distribution of variations in sessions. Don't use averages, use representative profiles. Estimate target load and peak levels: estimate overall and peak loads for the server and expected growth rates.
Estimate how quickly target peaks levels will be reached, and for how long they will be sustained. Of Genetic! The duration of the peak is important and the server must be designed to handle it. American Physician Assistant Essay! The key elements of a load test design are: test objective (e.g. can the server handle N sessions/hr peak load level?); pass/fail criteria (e.g. pass if response times stay within define values); script description (e.g. user1: page1, page2, . ; user2: page1, page3, start transaction1, etc); scenario description (which scripts at which frequency, and disadvantages, how load increases). Performance chapter (chapter 20) from does not run, Professional JSP 2nd Edition (Page last updated August 2001, Added 2001-10-22, Author Simon Brown, Robert Burdick, Darko Cokor, Jayson Falkner, Ben Galbraith, RodJohnson, Larry Kim, Casey Kochmer, Thor Kristmundsson, Sing Li, Dan Malks, Mark Nelson, Grant Palmer, Bob Sullivan, Geoff Taylor, John Timney, Sameer Tyagi, Geert Van Damme, Steve Wilkinson, Publisher The Server Side). Disadvantages Of Genetic! Tips: The user's view of the response time for a page view in mythology research his browser depends on disadvantages download speed and on the complexity of the page. e.g. the American Physician Assistant, number of graphics. A poorly-designed highly graphical dynamic website could be seen as 'slow' even if the web downloads are individually quite fast. Disadvantages! No web application can handle an unlimited number of requests; the trick in optimization is to anticipate the likely user demand and ensure that the web site can gracefully scale up to the demand while maintaining acceptable levels of speed. Profile the server to does not run identify the bottlenecks. Note that profiling can be done by instrumenting the code with measurement calls if a profiler is unavailable. Disadvantages Of Genetic Modification! One stress test methodology is: determine the maximum acceptable response time for getting a page; estimate the maximum number of simultaneous users; simulate user requests, gradually adding simulated users until the web application response delay becomes greater than the acceptable response time; optimize until you reach the desired number of users. Pay special attention to refused connections during your stress test: these indicate the servlet is overwhelmed.
There is little performance penalty to using an MVC architecture. Use resource pools for expensive resources (like database connections). Static pages are much faster than dynamic pages, where the web server handles static pages separately. Servlet filtering has a performance cost. Polemic Pronunciation! Test to of genetic modification see if it is an acceptable cost.
Ensure that the webserver is configured to handle the expected number of user for greek research paper example: enough ready sockets; enough disk space; enough CPU. Disadvantages! Use the fastest JVM you have access to. Chapter 3 of High Performance Java Computing : Multi-Threaded and Networked Programming, Race Conditions and Mutual Exclusion (Page last updated January 2001, Added 2001-02-21, Authors George Thiruvathukal, Thomas Christopher, Publisher Sun). Tips: Execute I/O in blocks rather than one byte at a time. I/O reads are normally faster than writes. This means that I/O performance can be improved by ross grief, decoupling reading and writing to of genetic modification dedicated threads, rather than interleaving reads and writes.
NOTE THE TIP volatile primitive datatypes have atomic ++ operations HAS BEEN SHOWN TO BE INVALID [The chapter describes implementations for lock objects (wait until unlocked), counting semaphore objects (wait until positive), barrier sempahore objects (wait until last thread is finished), future objects (wait until a variable is first set). These do not directly improve performance, but provide useful techniques for synchronizing threads that assist a multi-threaded program in being efficient]. Use resource enumeration (acquire resources in does not run a set order) to avoid deadlocks. Chapter 4 of High Performance Java Computing : Multi-Threaded and of genetic modification, Networked Programming, Monitors (Page last updated January 2001, Added 2001-02-21, Authors George Thiruvathukal, Thomas Christopher, Publisher Sun). Tips: Java monitors are not necessarily the most efficient synchronization mechanism, especially if transferring the lock can lead to a race condition [chapter discusses a more complete Monitor class]. volatile fields can be slower than non- volatile fields, because the system is polemic, forced to store to modification memory rather than use registers. Polemic! But they may useful to avoid concurrency problems. [The chapter discusses various policies for synchronizing threads trying to disadvantages of genetic modification read from or write to shared resources, which provide different scheduling policies: one thread at a time; readers-preferred (readers have priority); writers-preferred (writers have priority); alternating readers-writers (alternates between a single writer and a batch of readers); take-a-number (first-come, first-served)]. Benchmarking JMS (Page last updated March 2001, Added 2001-03-21, Author Dave Chappell, Bill Wood, Publisher Java Developers Journal). Tips: Scaling middleware exposes a number of issues such as threading contention, network bottlenecks, message persistence issues, memory leaks, and overuse of object allocations. [Article dicusses questions to ask when setting up benchmarks for messaging middleware]. Greek Mythology Paper! Message traffic under high-volume conditions are unpredictable and bursty. Messages can be produced far faster than they can be consumed, causing congestion.
This condition requires the of genetic modification, message sends to polemic pronunciation be throttled with flow control (could be an exception, or an automatic resend). When testing performance, run overnight and over weekends to generate longer term trends. Some concerns are: testing without a real network connection can give false measures; low user simulation can be markedly different from high user simulations; network throughput may be large than the deployed environment; nonpersistent message performance is dependent on processor and disadvantages modification, memory; disk speed is crucial for grief cycle persistent messages. [Article provides a benchmark harness for testing JMS]. Designing Java Performance: reducing object creation (Page last updated March 2001, Added 2001-03-21, Author Brian Goetz, Publisher JavaWorld). Tips: Watch out for method interfaces which force unnecessary or inefficient object creation. Immutable objects are inefficient if you want to alter their structure, but efficient for sharing.
One way to avoid creating objects simply for information is to provide finer-grained methods which return information as primitives. This swaps object creation for of genetic modification increased method calls. A second technique to does not run avoid creating objects is to provide methods which accept dummy information objects that have their state overwritten to disadvantages pass the information. A third technique to avoid creating objects is to provide immutable classes with mutable subclasses, by having state defined as protected in the superclass, but with no public updators. The Reasons Is Beneficial American Economy! The subclass provides public updators, hence making it mutable. Of Genetic! Don't try to speed up the application if there is no performance problem. Some performance tips (Page last updated January 2001, Added 2001-01-19, Author Shyam Lingegowda, Publisher The Server Side). Grief! Tips: Use buffering for files stream i/o . Use byte streams (not char-streams) for ASCII characters. Disadvantages! Recycle objects wherever possible.
Factor out constant computations from loops. For Servlets, push one time computations into the init() method. Use StringBuffer when dealing with mutable strings. Initialize the StringBuffer with proper size. Let the compiler do compile time string concatenation.
Comparison of Exploring the Reasons is Beneficial Economy two string objects is faster if they differ in length. StringTokenizer is slow. minimize the number of objects you create. Avoid initializing twice. Order boolean expressions so that they execute as fast as possible. ArrayList is disadvantages of genetic modification, faster than Vector.
Minimize calls to Date and related classes. Expiring cached data (Page last updated January 2001, Added 2002-01-25, Author William Grosso, Publisher OnJava). Essay About Armenia-Azerbaijan Conflict Management! Tips: Caching data on the client can improve performance, reduce communication overheads and increase the scalability of an application. Be careful when caching information that the cache doesn't contain out-of-date or incorrect information. Disadvantages Modification! Servlet sessions expire after a settable timeout, but screens that automatically refresh can keep a session alive indefinitely, even when the pronunciation, screen is disadvantages, no longer in use.
Database connection pools can take one of two strategies: a limited size pool, where attempts to make connections beyond the pool size must wait for a connection to Exploring Why Immigration is Beneficial to the American Economy become idle; or a flexible sized pool with a preferred size which removes idle connections as soon as the preferred size is disadvantages, exceeded (i.e. temporarily able to exceed the preferred size). The fixed size pool is generally considered to be the better choice. A time-based expiration strategy is appropriate for most types of ross cache elements. The timestamp strategy is: Timestamp the objects; Update the time stamp when you use the objects or refresh the information; Throw away objects whose timestamps have expired. Only data that must be always totally up to date cannot effectively use a time-based expiration strategy. [Article discusses and implements a time-based expiration framework]. J2ME game building (Page last updated April 2002, Added 2002-05-19, Author Dale Crowley, Publisher DevX). Of Genetic Modification! Tips: J2ME device memory and speeds are very limited which affects everything from the data-loading speed to the frame/refresh rate, and Essay Management, seriously limits the ability to animate characters or otherwise rapidly change the screen. Smart graphics is disadvantages of genetic modification, important: you need to draw clear, concise images at extremely low resolutions and with very small palettes. Animated characters need dynamic, easily-read poses which avoid kicks looking like a dance steps, or punches looking like an arm waves.
Use public variables in your classes, rather than using accessors. This is technically bad programming practice but it saves bytecode space. Be extra careful to place things in memory only when they are in use. For example, discard an introduction splash screen after display. Try to reduce the greek, number of disadvantages classes used. Combine classes into one if they vary only slightly in behavior. Every class adds size overheads. Remember that loading and installing applications into J2ME phones is a relatively slow process. Sun community chat on Essay Armenia-Azerbaijan Management High Performance GUIs with the JFC/Swing, with Steve Wilson, Scott Violet, and Chet Haase (Page last updated April 2002, Added 2002-05-19, Author Edward Ort, Publisher Sun). Disadvantages Of Genetic! Tips: [Some discussion of performance improvents in 1.4] Multi-threading with swing must be done correctly, using invokeAndWait() and invokeLater().
Default models have performance limitations. Create dedicated models for high performance. Consider using a custom RepaintManager for very large tables. Don't use a MouseListener with a renderer BufferedImage is treated more optimally than MemoryImageSource Try using createImage(w,h), which returns an image in the same format as the greek, screen, which allows faster copies from that image to the screen (important for of genetic copying speed issues). LinkedHashMap and RandomAccess (Page last updated July 2002, Added 2002-07-24, Author Glen McCluskey, Publisher Sun). Tips: LinkedHashMap preserves various ordering information, optionally including access ordering which makes LinkedHashMap appropriate for a least recently used (LRU) cache. ArrayList has fast random access of Physician Assistant Essay elements, LinkedList has slow random access of elements.
List classes that implement the disadvantages of genetic modification, RandomAccess interface have fast random access and using get() to iterate their elements is efficient. If RandomAccess is research, not implemented, use an Iterator to disadvantages of genetic modification iterate the elements. Data expiration in caches (Page last updated January 2002, Added 2002-02-22, Author William Grosso, Publisher OnJava). Tips: [Article discusses and Essay, implements a framework for a cache with built in element expiration handling]. Emulating another system (a ZX Spectrum) (Page last updated July 2002, Added 2002-07-24, Author Razvan Surdulescu, Publisher Java Developers Journal).
Tips: Painting pixel by pixel by repeatedly calling fillRect() is disadvantages of genetic, slow. Instead create the pronunciation, offscreen image as a decorator for of genetic modification a java.awt.image.MemoryImageSource object containing a byte array in RGB format with the pixel data. The rendering code updates the byte array and then calls MemoryImage-Source.newPixels() to notify the object that the data has been updated. Pre-render common images or pixel combination, retain them as Image objects and use java.awt.Graphics.drawImage() (Java 1) or java.awt.image.BufferedImage.setRGB() (Java 2) to render the image to the graphics buffer. Report of kubler ross grief cycle how Ace's Hardware made their SPECmine tool blazingly fast (Page last updated December 2001, Added 2002-02-22, Author Chris Rijk, Publisher Ace's Hardware). Tips: Tranform your data to minimize the costs of of genetic searching it. If your dataset is small enough, read it all into grief cycle, memory or use an in-memory database (keeping the disadvantages modification, primary copy on disk for cycle recovery). An in-memory datavase avoids the following overheads: no need to modification pass data in from a separate process; less memory allocation by Why Immigration to the Economy, avoiding all the data copies as it's passed between processes and layers; no need for disadvantages of genetic modification data conversion; fine-tuned sorting and filtering possible; other optimizations become simpler. Pre-calculation makes some results faster by does not run, making the disadvantages of genetic modification, database data more efficient to access (by ordering it in advance for example), or by setting up extra data in advance, generated from the does not run, main data, to make calculating the results for a query simpler.
Pre-determine possible data values in queries, and of genetic modification, use boolean arrays to access the chosen values. Pre-calculate all formatting that is invariant for generated HTML pages. Cache all reused HTML fragments. American Of The Assistant Essay! Caching many strings may consume too much memory. Of Genetic! IF memory is limited, it may be more effective to generate strings as needed. Write out strings individually, rather than concatenating them and writing the kubler grief, result. Extract common strings into an identical string object.
Compress generated html pages to send to the user, if their browser supports compressed html. This is a heavier load on the server, but produces a significantly faster transfer for limited bandwidth clients. Some pages are temporarily static. Modification! Cache these pages, and only re-generate them when they change. Caching can significantly improve the American of the Assistant Essay, responsiveness of a website. Email summarizing best practices for Promoting Scalable Web Services (Page last updated January 2002, Added 2002-02-22, Author Roger L. Costello, Publisher Costello).
Tips: Web services best practices are mainly the same as guidelines for developing other distributed systems. Stay away from using XML messaging to do fine-grained RPC, e.g. a service that returns a single stock quote (amusingly this is the classic-cited example of a Web service). Modification! Do use course-grained RPC, that is, use Web services that do a lot of work, and return a lot of information. When the transport may be slow and/or unreliable, or the processing is Exploring Why Immigration is Beneficial American, complex and/or long-running, consider an asynchronous messaging model. Disadvantages! Always take the overall system performance into account. Don't optimize until you know where the bottlenecks are, i.e., don't assume that XML's bloat or HTTP's limitations are a problem until they are demonstrated in your application. Take the frequency of the messaging into polemic, account. Replicate data as necessary. For aggregation services, try to retrieve data during off-hours in large, course-grained transactions. Caching SOAP services (Page last updated March 2002, Added 2002-03-25, Author Ozakil Azim and Araf Karsh Hamid, Publisher JavaWorld). Tips: Repeated SOAP-client calls to access server state can choke a network and degrade the server performance.
Cache data on the client whenever possible to avoid requests to the server. Ensure the client data remains up to date by disadvantages modification, using a call to a server service which blocks until data is changed. String concatenation, and Why Immigration is Beneficial Economy, IO performance. (Page last updated March 2002, Added 2002-03-25, Author Glen McCluskey, Publisher Sun). Tips: String concatenation '+' is implemented by the Sun compiler using StringBuffer, but each concatenation creates a new StringBuffer so is inefficient for multiple concatenations. Immutable objects should cache their string value since it cannot change. Operating systems can keep files in their own file cache in memory, and accessing such a memory-cached file is of genetic modification, much faster than accessing from disk.
Be careful of this effect when making I/O measurements in does not run performance tests. Fragmented files have a higher disk access overhead because each disk seek to find another file fragment takes 10-15 milliseconds. Keep files open if they need to be repeatedly accessed, rather than repeatedly opening and closing them. Disadvantages Of Genetic Modification! Use buffering when accessing file contents. Explicit buffering (reading data into an array) gives you direct access to the array of History of the Assistant Essay data which lets you iterate over the elements more quickly than using a buffered wrapper class. Counting lines can be done faster using explicit buffering (rather than the readLine() method), but requires line-endings to disadvantages modification be explicitly identified rather than relying on the library method determining line-endings system independently. Sun community chat on EJBs with Pravin Tulachan (Page last updated March 2002, Added 2002-03-25, Author Edward Ort, Publisher Sun). Greek Paper! Tips: CMP (container managed persistence) is generally faster than BMP (bean managed persistence).
BMP can be faster with proprietary back-ends; with fine-grained transaction or security requirements; or to gain complete detailed persistency control. Scalability is of genetic, improved by passing primary keys rather than passing the entities across the network. EJB 2.0 CMP is far faster than EJB 1.1 CMP. EJB 1.1 CMP was not necessarily capable of scaling to high transaction volumes. If EJBs provide insufficient performance, session beans should be used in preference. Don't make fine-grained method calls across the network. Use value object and American History of the, session facade design patterns instead. Multithreading and read-write locks (Page last updated January 2002, Added 2002-01-25, Author Nasir Khan, Publisher EarthWeb).
Tips: When a thread passes through a synchronized block, all variables throughout the thread are synchronized with main memory, not just the set of variables in the current method. Multithreading and modification, read-write locks, part 2 (Page last updated January 2002, Added 2002-01-25, Author Nasir Khan, Publisher EarthWeb). The Reasons Why Immigration To The! Tips: Operations on primitive variables are atomic (except double and long), but a combination of two atomic operations is not atomic, and it is disadvantages, easy to make a mistake about this. Volatile variables are always synchronized with the main memory copy. Hotspot garbage collection in detail (Page last updated January 2002, Added 2002-01-25, Author Ken Gottry, Publisher JavaWorld). Tips: HotSpot garbage collection default parameters are effective for polemic most small applications, but can be tuned to improve throughput for modification large, server-side applications. The most straightforward garbage collection algorithms iterate over does not run, every reachable object: this takes an amount of time proportional to the number of living objects.
Throughput (the percentage of total time not spent in GC) is normally the relevant metric for a server process since GC pauses may be tolerable or simply obscured by network latency. Pauses (the times during GC when an modification application is unresponsive) is the does not run, more relevant metric for interactive graphical programs and disadvantages of genetic modification, other programs where short pauses may upset the user experience. On systems with limited physical memory, footprint (the working set of a process, usually measured in pages) may dictate scalability. [Article dicusses various parameters available to greek research tuning HotSpot heap space]. Use verbosegc to capture garbage collection statistics. Quality of service for web services (Page last updated January 2002, Added 2002-02-22, Author Anbazhagan Mani, Arun Nagarajan, Publisher IBM). Tips: Quality of service requirements for web services are: availability (is it running); accessiblity (can I run it now); integrity/reliability (will it crash while I run/how often); throughput (how many simultaneous requests can I run); latency (response time); regulatory (conformance to standards); security (confidentiality, authentication). HTTP is a best-effort delivery service. Disadvantages Of Genetic! This means any request could simply be dropped. Web services have to mythology research handle this and retry.
Web service latencies are measured in the tens to thousands of milliseconds. Asynchronous messaging can improve throughput, at the cost of latency. SOAP overheads include: extracting the SOAP envelope; parsing the contained XML information; XML data cannot be optimized very much; SOAP requires typing information in every SOAP message; binary data gets expanded (by an average of modification 5-fold) when included in XML, and Essay Conflict Management, also requires encoding/decoding. Most existing XML parsers support type checking and of genetic, conversion, wellformedness checking, or ambiguity resolution, making them slower than optimal. Consider using of stripped down XML parser which only does not run pe4rforms essential parsing. DOM based parsers are slower than SAX based ones. Compress the XML when the CPU overhead required for compression is less than the network latency.
Other factors affecting web service performance are: web server response time and disadvantages, availability; web application execution time (like EJB/Servlets in Web application server); back-end database or legacy system performance. Requests results should be cached where possible. Of The Physician Essay! Requests should be load balanced, prioritized according to the business value it represents. Carry out capacity planning to enable the performance to disadvantages of genetic be maintained in of the Physician Essay the future. Extreme care should be taken to make sure that resources are not locked for long periods of time, to avoid serious scalability problems. Measure the performance of your web services by disadvantages of genetic, adding code measuring elapsed time to ross cycle the generated service proxy (and recompiling). [Article gives an disadvantages of genetic modification example]. Object Resource Pooling (Page last updated March 2002, Added 2002-03-25, Author Paul King, Publisher OCI). Tips: If the overhead associated with creating a sharable resource is expensive, that resource is a good candidate for kubler grief pooling. Pooled objects create a resource in advance and disadvantages of genetic modification, store it away so it can be reused over-and-over. Essay Armenia-Azerbaijan Conflict! Pooling may be necessary if a limited number of shared resources are available. Pooling supports strategies such as load balancing, all-resources-busy situations, and other policies to optimize resource utilization. [Article discusses pooling characteristics].
Load balancing is possible by of genetic modification, varying how pooled objects are handed out. Pool size can be tuned using low-water and high-water marks. Waiting time when accessing empty pools can be tuned using a timeout parameter. Unusable pooled objects may be recovered when most efficient, not necessarily when the underlying resource fails. The Recycler pattern fixes only the about Armenia-Azerbaijan Conflict, broken parts of a failed object, to disadvantages of genetic modification minimize the replacement cost.
Using NIO (Page last updated March 2002, Added 2002-03-25, Author Aruna Kalagnanam and Balu G., Publisher IBM). Tips: A server that caters to hundreds of clients simultaneously must be able to use I/O services concurrently. Prior to 1.4, an almost one-to-one ratio of threads to polemic pronunciation clients made servers written in Java susceptible to enormous thread overhead, resulting in disadvantages modification both performance problems and lack of scalability. Does Not Run! The Reactor design pattern demultiplexes events and dispatches them to registered object handlers. (The Observer pattern is similar, but handles only disadvantages modification a single source of kubler ross events where the Reactor pattern handles multiple event sources). [Articles covers the changes needed to use java.nio to make a server efficiently muliplex non-blocking I/O from SDK 1.4]. J2EE best practices. Modification! (Page last updated February 2002, Added 2002-03-25, Author Chris Peltz, Publisher HP). Tips: Executing a search against the database calls one of the finder() methods. Polemic Pronunciation! finder() methods must return a collection of remote interfaces, not ValueObjects. Consequently the of genetic, client would need to make a separate remote call for each remote interface received, to acquire data. The SessionFacade pattern suggests using a session bean to polemic pronunciation encapsulate the query and return a collection of disadvantages modification ValueObjects, thus making the Essay about Armenia-Azerbaijan Conflict, request a single transfer each way.
The Value Object Assembler pattern uses a Session EJB to aggregate all required data as various types of disadvantages of genetic ValueObjects. This pattern is used to satisfy one or more queries a client might need to execute in greek mythology paper order to disadvantages of genetic display multiple data types. MIDP GUI programming (Page last updated March 2002, Added 2002-03-25, Author Qusay Mahmoud, Publisher OnJava). Tips: Applications with high screen performance needs, like games, need finer control over MIDP screens and should use the javax.microedition.lcdui package which provides the low-level API for handling such cases. Always check the drawing area dimensions using Canvas.getHeight() and Exploring Why Immigration to the American, Canvas.getWidth() [so that you don't draw unnecessarily off screen]. Disadvantages Of Genetic Modification! Not all devices support color. Use Display.isColor() and Display.numColors( ) to determine color support and avoid color mapping [overheads].
Double buffering is possible by Essay Conflict, using an offscreen Image the size of the screen. Creating the image: i = Image.createImage(width, height); Getting the disadvantages, Graphics context for drawing: i.getGraphics(); Copying to the screen g.drawImage(i, 0, 0, 0); Check with Canvas.isDoubleBuffered(), and don't double-buffer if the MIDP implementation already does it for you. To avoid deadlock paint() should not synchronize on kubler cycle any object already locked when serviceRepaints() is called. Disadvantages Of Genetic Modification! Entering alphanumeric data through a handheld device can be tedious. If possible, provide a list of choices from about Armenia-Azerbaijan Management, which the user can select. Article on disadvantages of genetic the cost of casts (Page last updated December 1999, Added 2000-12-20, Author Dennis M. Essay Armenia-Azerbaijan Conflict Management! Sosnoski, Publisher JavaWorld). Tips: Casting can be detrimental to performance. Improve performance by minimizing casting in heavily used code. Of Genetic! Some casts take nearly as long as a simple object allocation. [Article discusses various ways of avoiding casts, showing advantages and drawbacks.] Article on Java 2 collections (Page last updated , Added 2000-12-20, Author Dennis M. Sosnoski, Publisher JavaWorld). Tips: Convert collections into arrays for improved access speed.
The conversion can be made slightly faster by implementing it in a subclass so that collection element access can avoid access methods, accessing elements directly. Customized implementations of Hashtables can perform better. Use type specific implementations of collections for better performance (e.g. IntegerVector rather than Vector) [Article describes a type-generic base class for typed arrayed collections.] Scaling SOAP-based web services. (Page last updated November 2001, Added 2001-11-27, Author Frank Cohen, Publisher IBM). The Reasons Why Immigration Is Beneficial To The American Economy! Tips: Cache the web services description language (WSDL) in a centralized database and periodically check for newer versions. Disadvantages! Cache schema definitions for scalability. Use simple SOAP data types (String, Int, Float, NegativeInteger).
Each new data type introduces a serializer to convert from the XML value into a Java value and back again, which may cause performance problems. Greek Mythology Research Paper! SOAP messages move much more data than the average HTTP GET or POST call, adversely impacting network performance. Modification! Transactional SOAP calls need to kubler ross grief cache the state of sessions. [Article dicusses a free open-source utility called Load to stress test SOAP-based web services]. Rules and Patterns for Session Facades (Page last updated June 2001, Added 2001-07-20, Author Kyle Brown, Publisher IBM). Tips: Use the disadvantages of genetic modification, Facade pattern, and specifically Value objects, to transfer all the subset of research data needed from an entity bean in one transfer. EJBs are wonderful (Page last updated December 2001, Added 2001-12-26, Author Tyler Jewell, Publisher OnJava). Disadvantages Of Genetic Modification! Tips: The out-of-the-box configuration for Entity EJB engines, such as WebLogic, are designed to handle read-write transactional data with the best possible performance. There are studies that demonstrate entity EJBs with CMP have lackluster performance when compared with a stateless session bean (SLSB) with JDBC. [Author points out however that SLSB/JDBC combination is less robust, less configurable, and less maintainable]. Configure separate deployments for each entity bean for different usage patterns (e.g. typical 85% read-only, 10% read-write, 5% batch update), and partition the presentation layer to use the appropriate corresponding deployment (e.g. read requests use the read-only deployment).
EJB performance tips (Page last updated December 2001, Added 2001-12-26, Author Krishna Kothapalli and Raghava Kothapalli, Publisher JavaPro). Tips: Design coarse-grained EJB remote interfaces to reduce the number of network calls required. Combine remote method calls into one call, and combine the data required for the calls into one transfer. Reduce the number of Essay about Armenia-Azerbaijan Management JNDI lookups: cache the home handles. Disadvantages Of Genetic! Use session bean wrapper for returning multiple data rows from an entity bean, rather than returning one row at a time. Use session beans for database batch operations, entity beans typically operate only one row at a time. American Assistant! Use container-managed persistence (CMP) rather than bean-managed persistence (BMP). Use entity beans when only a few rows are required for the entity, and when rows need to be frequently updated. Use the lowest impact isolation (transaction) level consistent with maintaining data coherency. Highest impact down: TRANSACTION_SERIALIZABLE, TRANSACTION_REPEATABLE_READ, TRANSACTION_READ_COMMITED, TRANSACTION_READ_UNCOMMITED. Correctly simulate the production environment to of genetic tune the cycle, application, and use profiling and other monitroing tools to identify bottlenecks.
Tune the disadvantages, underlying system, e.g. TCP/IP parameters, file limits, connection pool parameters, EJB pools sizes, thread counts, number of JVMs, JVM heap size, shared pool sizes, buffer sizes, indexes, SQL queries, keep/alive parameters, connection backlogs. Use clustering to meet higher loads or consider upgrading the does not run, hardware. Both Java specific and disadvantages modification, Java on OS/390 tips. (Page last updated 2000, Added 2000-10-23, Author ?, Publisher IBM). Tips: Use the does not run, latest release of the disadvantages, SDK. Use zip and jar files.
Partition classes to different zip/jar files according to usage. Order the entries in CLASSPATH so that classes are found quickly (the default classloaders do a linear search in each entry's directory or zip/jar file). If using a large number of threads (thousands) tune the underlying OS to American Physician Assistant Essay support this. Vary the -ss parameter to optimize for threads. Threads generally don't need more than 256K stack size. Minimize the number of JNI calls Use primitive types for variables Avoid excessive writing to disadvantages of genetic the Java console Use synchronized methods only when necessary Cache/reuse frequently used objects when possible Declare methods as final [dubious tip].
Use static final when creating constants Use int instead of long. Use local variables in preference to class and instance variables. Does Not Run! Use arrays instead of of genetic modification vectors Consider when to does not run use a temporary variable to manipulate class and disadvantages of genetic modification, instance variables in loops (speed vs. memory) Add and delete items from the ross grief, end of a vector Avoid unnecessary cast and instanceof Avoid using String when doing a lot of character manipulation. Use StringBuffer instead. Disadvantages! Avoid using long divides. Javaworld tip article, detailing a buffered RandomAccessFile class. (Page last updated 1998?, Added 2000-10-23, Author Nick Zhang). Unfortunately the polemic, getNextLine() is too system specific - don't forget systems where lines are 'r' terminated. Tips: Use buffered i/o classes. Of Genetic Modification! Re-implement classes to avoid synchronization, where this is applicable. RMI performance tuning (Page last updated September 2001, Added 2001-10-22, Author Ashok Mathew and greek research paper, Mark Roulo, Publisher JavaWorld).
Tips: Use netperf to measure network bandwidth. Of Genetic Modification! Consider altering the TcpWindowSize parameter. Configure RMI garbage collection by setting the American of the Physician Assistant, properties sun.rmi.dgc.client.gcInterval and sun.rmi.dgc.server.gcInterval . Disadvantages Of Genetic! Send groups of Essay about Conflict Management objects together rather than one object at disadvantages modification a time. Mythology Research Paper! Implementing Externalize can speed up transfers. Pack data to reduce the number and amount of reads and writes, and the amount of data transferred. Have object directly serialize contained objects or tell those objects to serialize themselves using Externalize methods (i.e. chain Externalize methods for all contained objects). Use special codes to disadvantages handle special cases such as singleton or reusable objects. Don't introduce extra complications once performance targets have been met.
Local entity beans (Page last updated October 2001, Added 2001-10-22, Author Alex Pestrikov, Publisher Java Developers Journal). Tips: Local entity beans do not need to be marshalled, and greek mythology, do not incur any marshalling overhead for method calls either: parameters are passed by reference. Local entity beans are an optimization for beans which it is known will be on the same JVM with their callers. Facade objects (wrappers) allow local entity beans to be called remotely. Of Genetic Modification! This pattern incurs very little overhead for remote calls, while at the same time optimizing local calls between local beans which can use local calls. Nice article on the Reasons is Beneficial to the American understanding bytecodes by of genetic, Peter Haggar, Added 2000-10-23, Author of Practical Java. Explains why a synchronized method is faster than a functionally identical synchronized block. (Page last updated 2000, Added 2000-10-23, Author Peter Haggar, Publisher IBM).
Tips: Understanding bytecodes can help determine how to improve performance. It can also help you to create smaller sized class files. Does Not Run! Don't synchronize code unless synchronization is of genetic, required. Use synchronized methods rather than synchronized blocks where the code would be functionally identical. The -O option in ross SDK 1.2 does nothing. Disadvantages Of Genetic Modification! Use the -g:none option to make files class smaller [or use a better optimizing compiler] Move invariants out of loops. Apply simple optimizations like loop unrolling, algebraic simplification, and strength reduction by does not run, hand. Chapter 1 of Enterprise Java Performance, Performance in General. Modification! Includes the infamous sentences It is polemic, likely that the code will not meet the performance requirements the very first time it runs.
Even if it does, it may be worthwhile to look for disadvantages some ways to History Physician improve it. Modification! NO NO NO! If the code meets the performance requirements, DON'T CHANGE IT. Next time guys, ask me to review your book before you publish. Exploring The Reasons American Economy! (Page last updated 2000, Added 2000-10-23, Authors Steven Halter Steven Munroe, Publisher Sun). Tips: The simplest code usually performs best. Modification! Consider performance requirements before coding. Write reasonable code without worrying too much about performance until later. If the design identifies a critical section of code, spend time considering that code's performance before and while writing it. Define performance requirements explicitly. Redefine fuzzy requirements to be more explicit. The target machine affects performance requirements.
Use the simplest classes possible--but no simpler. [Don'cha just love it. And here I was using classes simpler than is possible. Gotta make 'em more complex now.] Don?t recalculate things that are constant in loops. Reuse objects where possible. Choose the correct collection for performance. Use the default Java data values where possible to avoid reassigning them. Use raw arrays in Exploring American Economy preference to collections. Performance fixing is iterative. Disadvantages Of Genetic! Fixing one bottleneck often reveals another previously hidden one.
Keep performance in mind during the design phase. Avoid monopolizing shared resources. Design is important for any distributed parts of a distributed application. The real performance limitations are physical limitations: bandwidth, communication distance, access speed, unavoidable overheads, resource limitations, etc. JNI calls are not necessarily faster than using pure Java because of JNI overheads.
Schema mapping is polemic pronunciation, complex. [Buy a product that does it for you.] Chapter 4 of Enterprise Java Performance, Local/Remote Issues. (Page last updated 2000, Added 2000-10-23, Authors Steven Halter Steven Munroe, Publisher Sun). Disadvantages! Tips: RMI over IIOP has a higher overhead than plain RMI. Objects that can be configured to Exploring American Economy be local or remote at any time, provides the flexibility to optimize performance. Large grained remote calls [i.e. batched calls] perform better than small grained remote calls [lots of little calls]. Disadvantages Of Genetic Modification! Persistency adds overheads that make persistent objects slower. Instead of serializing the transitive closure (recursive traversal of all objects referenced), break up objects into smaller chunks. Use stubs, proxies and handles [essentially objects that indirectly refer to other objects] to break up serialization into smaller chunks. Unless the does not run, application is put together with care, the disadvantages, remote method call costs may dominate. Group objects that interact strongly [a lot] in the same physical location.
The closer they are, the does not run, more efficient their interaction. Cache in the client any read-only objects, for the whole session. Replicate any data needed so that queries run locally in the client. Written objects can be held in the client and periodically written to the server, rather than updating the server object on each change. Good partitioning of objects in distributed applications limits interactions between objects in different partitions and takes advantage of local method access for objects within each partition.
Application partitioning is best addressed early in the design. How to use java.rmi.MarshalledObject (Page last updated March 2001, Added 2001-04-20, Author Stuart Halloway, Publisher Sun). Tips: MarshalledObject lets you postpone deserializing objects. This lets you pass an object through multiple serialization/deserialization layers (e.g. passing an object through many JVMs), without incurring the serialization/deserialization overheads until absolutely necessary. Doug Bell's article with various low-level techniques and benchmark applets. (Page last updated 1997, Added 2000-10-23, Author Doug Bell, Publisher JavaWorld). Of Genetic Modification! Tips: Don't optimize unless necessary. Optimizing can: introduce new bugs; make code harder to does not run understand and maintain; reduce the modification, extensibility of the code. Does Not Run! 90 percent of modification a program's excution time is spent executing 10 percent of the does not run, code. (Some people use the 80 percent/20 percent rule).
Optimizing the other 90 percent of the disadvantages of genetic modification, program (where 10 percent of the execution time was spent) has no noticeable effect on performance. General optimization techniques include: strength reduction; common sub expression elimination; code motion; unrolling loops. Use compiler features: constant folding; branch folding; dead code elimination. Pronunciation! Use the -O option (javac -O). Use a profiler to identify bottlenecks. Always time the code before and of genetic modification, after making changes to verify that, at least on the test platform, your changes improved the program.
Try to make each timing test under identical conditions. If possible, contrive a test that doesn't rely on greek paper any user input, as the variations in user response can cause the results to fluctuate. Tuning the IBM JVM and disadvantages modification, Linux (Page last updated May 2001, Added 2001-10-22, Authors Duc Vianney and James Phelan, Publisher IBM). Tips: [Article also has detailed coverage of tuning Linux]. Is Beneficial American! Use the -Xms and -Xmx parameters to set the heap size. Use -verbosegc to measure garbage collection statistics. Keep heap size smaller than physical memory. Keep heap size small enough that all other necessary processes also fit into disadvantages of genetic modification, physical memory. The IBM JVM has extra options to control JVM Focus initially on design, data structures, and algorithms. Do not rely on compile-time code optimization.
Understand runtime code optimization. Kubler Cycle! Use StringBuffer, rather than String, for concatenation. Minimize the cost of object creation. Guard against unused objects. Minimize synchronization.
Use stack variables whenever possible. Use static, final, and disadvantages modification, private methods to ross grief cycle allow inlining. Initialize instance variables only once. Use primitive types for faster and of genetic modification, smaller code. Do not use an does not run Enumeration or an modification Iterator to traverse a Vector. Mythology! Use System.arraycopy for copying arrays. Prefer an disadvantages of genetic modification array to does not run a Vector or ArrayList. Reuse objects whenever possible.
Use lazy evaluation. Optimize source code by hand. Compile to of genetic native code. Performance tuning embedded Java (Page last updated August 2001, Added 2001-08-20, Author Vincent Perrier, Publisher OnJava). Tips: All the following affect embedded Java performance: hardware processor selection; (real-time) operating system selection; supported Java APIs; application reliability and scalability; graphics support; and the ability to put the greek mythology paper, application code into ROM. Various approaches for boosting bytecode execution speed include: a JIT compiler (usually too big for embedded systems); an ahead-of-time compiler (requires more ROM, may disallow or slowdown dynamically loaded classes); a dynamic adaptive compiler (half-way house between last two options); putting the disadvantages modification, Java application code into ROM; rewriting the JVM interpretation loop in assembly; using a Java hardware accelerator. Use the polemic, lightweight graphical toolkit. To keep down the memory footprint, eliminate any classes that are not used (java -v lists all classes as they are loaded), and run in interpreted mode as much as possible. Benchmark results are not necessarily applicable to your application [article reviews the applicability of standard and proprietary benchmarks]. Caching (Page last updated July 2001, Added 2001-08-20, Author Jonathan Lurie, Publisher JavaWorld). Tips: Nice description of caching using a filing system analogy.
Nice introductory description of implementating caching, and of managing caching overheads and element expiration. J2EE challenges (Page last updated June 2001, Added 2001-07-20, Author Chris Kampmeier, Publisher Java Developers Journal). Tips: Thoroughly test any framework in a production-like environment to ensure that stability and performance requirements are met. Each component should be thoroughly reviewed and tested for its performance and disadvantages of genetic, security characteristics. Using the underlying EJB container to manage complex aspects such as transactions, security, and remote communication comes with the price of additional processing overhead. To ensure good performance use experienced J2EE builders and use proven design patterns.
Consider the impact of session size on Physician Assistant performance. Avoid the following common mistakes: Failure to close JDBC result sets, statements, and connections; Failure to remove unused stateful session beans; Failure to invalidate HttpSession. Of Genetic Modification! Performance test various options, for polemic example, test both Type 2 and Type 4 JDBC drivers; Use a load-generation tool to simulate moderate loads; monitor the disadvantages of genetic modification, server to identify resource utlization. Perform code analysis and profiling. Performance requirements include: the the Reasons Why Immigration is Beneficial, required response times for end users; the disadvantages modification, perceived steady state and peak user loads; the average and kubler, peak amount of data transferred per of genetic, Web request; the kubler ross cycle, expected growth in disadvantages modification user load over the next 12 months. Note that peak user loads are the number of concurrent sessions being managed by the application server, not the number of possible users using the American History of the Essay, system. Larger loads require greater amounts of hardware to satisfy that load. Applications that perform very little work can typically handle many users for disadvantages of genetic modification a given amount of hardware, but can scale poorly as they spend a large percentage of time waiting for shared resources. Applications that perform a great number of computations tend to require much more hardware per user, but can scale much better than those performing a small number of American History of the Physician Assistant computations.
Processor integer performance is usually the most important hardware factor, though a server can scale poorly if shared resources cause significant contention. Cache design and memory bandwidth play a big role in determining how much extra performance is achieved, as processors are added to disadvantages a server. American Assistant! Additional capacity should be designed into the system. Extrapolate from of genetic modification, known performance test results to predict the cycle, performance of the system when varying amount of resources are available. EJB Clustering (Page last updated February 2002, Added 2002-04-26, Author Tyler Jewell, Publisher BEA).
Tips: Four locations that can provide clustering logic for an EJB are: the JNDI naming server where the home stub is bound, the container, the home stub, and the remote stub. J2EE Application servers (Page last updated April 2001, Added 2001-04-20, Authors Christopher G. Chelliah and Sudhakar Ramakrishnan, Publisher Java Developers Journal). Tips: A scalable server application probably needs to be balanced across multiple JVMs (possibly pseudo-JVMs, i.e. Disadvantages Modification! multiple logical JVMs running in greek research paper the same process). Performance of an of genetic application server hinges on caching, load balancing, fault tolerance, and clustering. Kubler Cycle! Application server caching should include web-page caches and data access caches. Other caches include caching servers which guard the application server, intercepting requests and either returning those that do not need to go to the server, or rejecting or delaying those that may overload the of genetic modification, app server. Application servers should use connection pooling and database caching to does not run minimize connection overheads and disadvantages of genetic, round-trips. Load balancing mechanisms include: round-robin DNS (alternating different IP-addresses assigned to greek mythology paper a server name); and re-routing mechanisms to distribute requests across multiple servers. By maintaining multiple re-routing servers and a client connection mechanism that automatically checks for an available re-routing server, fault tolerance is added. Using one thread per user can become a bottleneck if there are a large number of concurrent users. Disadvantages Of Genetic Modification! Distributed components should consider the proximity of components to Exploring to the American Economy their data (i.e., avoid network round-trips) and how to distribute any resource bottlenecks (i.e., CPU, memory, I/O) across the different nodes.
Hans Bergsten's top ten JSP tips (Page last updated November 2000, Added 2001-01-19, Author Hans Bergsten, Publisher O'Reilly). Tips: The include directive (%@ include file=filename.inc %) is faster than the include action (jsp:include page=pagename.jsp flush=true/). Of Genetic Modification! redirect s are slower than forward s because the browser has to make a new request. Cycle! Database access is typically very expensive in modification terms of server resources. Pronunciation! Use a connection pool to share database connections efficiently between all requests, but don't use the JDBC ResultSet object itself as the cache object. The Optimistic Locking pattern (Page last updated July 2001, Added 2001-07-20, Author Yasmin Akbar-Husain and Eoin Lane, Publisher JavaWorld).
Tips: Pessimistic locking, where database data is locked when read, can lead to high lock contention. Optimistic locking only checks data integrity at disadvantages update time, so has no lock contention [but can have high rollback costs]. This is Optimistic Locking pattern is usually more scalable than pessimistic locking. Detection of does not run write-write conflicts with optimistic transactions can be done using timestamps or version counts or state comparisons. Reusing objects in embedded Java (Page last updated July 2001, Added 2001-07-20, Author Angus Muir and Roman Bialach, Publisher Micro Java). Tips: A lot of of genetic object creation and destruction can lead to of the Physician Assistant Essay a fragmented heap, which reduces the ability to create further objects.
Define the bulk of memory you need (buffers, etc.) up-front at initialization, and use object pooling to avoid further creation or destruction of objects. Disadvantages Modification! Throwing/catching exceptions are tremendously expensive. Pooling is not always faster than object creation. Object recycling part 2 (Page last updated February 2002, Added 2002-02-22, Author Angus Muir and Roman Bialach, Publisher Micro Java). Tips: The efficiency of pooling objects compared to does not run creating and disposing of disadvantages of genetic modification objects is highly dependent on kubler ross grief the size and complexity of the of genetic modification, objects. Object pools have deterministic access and reclamation costs for both CPU and memory, whereas object creation and garbage collection can be less deterministic. Chapter 2, Java: Fat and Slow?, of does not run Java 2 Micro Edition: Professional Developer's Guide referenced from http://www.microjava.com/articles/techtalk/giguere(Page last updated May 2001, Added 2001-07-20, Author Eric Giguere, Publisher Micro Java). Tips: Reduce compiled code size by using implicit instruction bytcodes wherever possible.
For example, limiting a method to four or fewer local variables (three on non-static methods as this takes the first slot), allows the compiler to use implicit forms of instructions (such as aload, iload, fload, astore, istore, fstore, and so on). Similarly numbers -1, 0, 1, 2, 3, 4 ,5 have special bytecodes Java class files are standalone - no data is shared between class files. In particular strings are repeated across different files (one reason why they compress so well when packaged together in JAR files). An empty class compiles to about 200 bytes, of which only 5 bytes are bytecode. There are no instructions for initializing complete arrays in modification the Java VM. Instead, compilers must generate a series of bytecodes that initialize the array element by element. This can make array initialization slow, and adds bytecode to the class. You can reduce bytecode bloat from array initialization by encoded values in greek paper strings and using those strings initialize the arrays.
Explicitly set references to null when they are no longer needed to ensure that the objects can be garbage collected. Allocate objects less often and modification, allocate smaller objects to reduce garbage collection frequency. Animation in java applets article. Old article, but basically sound (the basics haven't changed). (Page last updated March 1996, Added 2000-12-20, Authors Arthur van Hoff and Kathy Walrath, Publisher JavaWorld). Tips: Use a separate thread to draw the animation. Do not use the paint() method. Destroy the animation drawing thread when the user leaves the page (Applet.stop() is called) to avoid consuming CPU when nothing is being viewed. Keep the correct frame rate by calculating elapsed time and delaying for the remaining time, rather than always simply delaying for pronunciation a contant time period.
Override the update() method to avoid flashing (update() clears the frame each time it is painted). Use double buffering to eliminate further flashing and usually faster drawing: drawing offscreen is potentially faster, and mapping blocks of pixels oto the disadvantages of genetic, screen is normally very fast. Does Not Run! Use a media tracker class to avoid displaying images until they are fully loaded. [This still applies, but Java 2 has more interfaces to help you do this.] Use image strips to load multiple images in one action. Disadvantages Modification! Inter-frame compression can reduce the total size of multiple images of an animation, and so improve animation network/disk transfer rates. Another tutorial from Sun. This ones on animation (Page last updated ?, Added 2000-12-20, Author ?, Publisher Sun). Tips: Normal frame rates for animation: 8 frames per greek mythology research, second (fps) for poor quality animation; 12 fps for of genetic modification standard animation; 24 fps for short bursts of smooth, realistic motion. Animation loop (usually a separate thread) keeps track of frames and ross cycle, requests screen updates. Disadvantages Modification! Suspend the animation whenever it is not visible. Use the polemic, MediaTracker to disadvantages load all required images before drawing, using checkID(anInt, true)/checkAll(true) [asynchronously] or waitForID()/waitForAll() [synchronous]. [example code included in article] Combine images in a single file (e.g. Polemic! jar file, or single image strip) to improve image loading if transferring them over a network. Basic animation tutorial (Page last updated ?, Added 2000-12-20, Author Dave ?, Publisher ?).
Tips: Avoid flicker by overriding the update() method to avoid blanking the disadvantages of genetic modification, canvas. Use a separate thread to manage the calculations and polemic pronunciation, drawing. Use MediaTracker to load all required images before drawing. Use double buffering (draw image on offscreen buffer, then map onto screen buffer). Of Genetic! Use synchronization to does not run synchronize methods in the two threads. Moving from JSP to EJB (Page last updated June 2001, Added 2001-06-18, Author Patrick Sean Neville, Publisher Java Developers Journal). Tips: Entity EJBs should contain aggregate get/set methods that return chunks of data rather than fine-grained get/set methods for of genetic modification individual attributes, to History of the Assistant reduce unnecessary database, transactional, and of genetic, network communication overheads. Avoid stateful session beans as they are resource-heavy, since one instance is maintained for each client. Under heavy loads, entity beans should do more than merely represent a table in a database.
If you are merely retrieving and Essay Armenia-Azerbaijan Management, updating data values, consider using JDBC within session beans instead. If you have one large database host but only a small Web and middleware host, consider moving much of of genetic modification your logic into stored procedures and greek research paper, calling them via JDBC in session beans. If your database host is weak or unknown, or you require greater portability, keep the data calculations in entity beans. Consider using a single stateless session bean to provide access to other EJBs (this is disadvantages modification, a fa?ade pattern). This optimizes multiple EJB references and calls by keeping them in-process. Container Managed Persistence (CMP) typically provides better performance (due to pronunciation data caching) than Bean Managed Persistence (BMP). Judging various aspects of Java, including performance (Page last updated May 2001, Added 2001-06-18, Author Brian Maso, Publisher DevX). Tips: J2EE defines component models with high scalability potential.
Maximizing scalability requires sticking to stateless session beans and handling all database interactions programmatically (through pooled JDBC connections). EJBs are slower and modification, more complex than proprietary server implementations when high scalability is not needed. Greek! Java (to 1.3) does not have non-blocking I/O, which virtually guarantees Java server implementations bind one thread per client connection. Disadvantages Modification! This limits communication throughput. Some Java application servers provide proprietary non-blocking I/O to improve throughput. From the 1.4 SDK, Java includes non-blocking I/O. Using java.lang.reflect.Proxy (Page last updated July 2001, Added 2001-07-20, Author Tom Harpin, Publisher Sun). Tips: Interposing proxy objects is does not run, a useful approach to trace or profile method calls. The java.lang.reflect.Proxy class allows you to create a wrapper around any object which implements an of genetic interface. Appendix A (Garbage Collection) of research paper Java Platform Performance: Strategies and disadvantages of genetic, Tactics. Polemic! (Page last updated 2001, Added 2001-04-20, Authors Steve Wilson, Jeff Kesselman, Publisher Sun). Tips: Large RAM requirements can force the OS to disadvantages modification use virtual memory, which slows down the application.
Most JVM implementations will not dereference temporary objects until the method has gone out of scope, even if the object is created in an inner block which has gone out of Exploring Why Immigration scope. So you need to explicitly null the variable if you want it collectable earlier. Adding a finalizer method extends the life of the object, since it cannot be collected until the modification, finalize() method is run. Do not use finalizers to free resources in a timely manner. Various performance tips from a JavaOne 1998 presentation. Kubler Grief Cycle! (Page last updated September 1998, Added 2000-12-20, Author Tony Squier Steven Meloan, Publisher Sun). Tips: Minimize the number of times that an applet has to request data from the server. Package Applet images into a single class file.
Use Thread pools where these improve performance. Use BufferedIO streams to access URLConnection's Input/Output streams. Load Balancing Web Applications (Page last updated September 2001, Added 2001-10-22, Author Vivek Veek, Publisher OnJava). Tips: DNS round-robin sends each subsequent DNS lookup request to the next entry for disadvantages of genetic that server name. This provides a simple machine-level load-balancing mechanism, but is only appropriate for session independent or shared-session servers. DNS round-robin has no server load measuring mechanisms, so requests can still go to overloaded servers, i.e. the load balancing can be very unbalanced. Hardware load-balancers solve many of the problems of Exploring to the DNS round-robin, but introduce a single point of failure. Disadvantages Modification! A web server proxy can also provide load-balancing by redirecting requests to multiple backend webservers. Article on using CachedRowSet, a ResultSet that doesn't need continuous connection to the database (Page last updated February 2001, Added 2001-02-21, Author Taylor G. Does Not Run! Cowan, Publisher JavaWorld).
Tips: CachedRowSet provides cached result sets that do not require continuous connection to the database, allowing connections to be reused more efficiently. Using CachedRowSet lets you batch updates, and of genetic, execute them asynchronously. CachedRowSet also supports offline work which is later synchronized. CachedRowSet is probably not appropriate for Economy managing large datasets. JMS vs RMI (Page last updated February 2002, Added 2002-02-22, Author Kevin Jones, Publisher DevX). Tips: RMI calls marshall and demarshall parameters, adding major overhead.
Every network communication has several overheads: the distance between the of genetic, sender and the receiver adds a minimum latency (limited by the speed the signal can travel along the wire, about two-thirds of the speed of light: London to New York would take about 3 milliseconds); each network router and switch adds time to respond to data, on the order of 0.1 milliseconds per device per packet. Exploring The Reasons Why Immigration Is Beneficial Economy! Part of most network communications consists of disadvantages modification small control packets, adding significant overhead. One RMI call does not generally cause a noticeable delay, but even tens of RMI calls can be noticeable to the users. Does Not Run! Beans written with many getXXX() and setXXX() methods can incur an RMI round trip for every data attribute. Messaging is naturally asynchronous, and allows an of genetic modification application to Exploring is Beneficial to the American Economy decouple network communications from ongoing processing, potentially avoiding threads from being blocked on communications. Proxy code generation (Page last updated February 2002, Added 2002-02-22, Author Paul McLachlan, Publisher Java Developers Journal). Disadvantages Of Genetic! Tips: Generative programming is a class of techniques that allows for Essay Conflict more flexible designs without the performance overhead often encountered when following a more traditional programming style. JSP engines are one example. Disadvantages! java.lang.reflect.Proxy is mythology research paper, another. Of Genetic Modification! More advanced code obfuscations (such as control-flow obfuscation) can produce slower programs as the ross, obfuscated bytecode is more difficult to of genetic optimize by the JIT or HotSpot compiler. A reflective lookup [obtaining the greek, method reference from its name] is much slower than a reflective invoke [invoking the method from the reference] once you have a method reference. Modification! [Article provides an implementation of the JNI call using the JVM_OnLoad() function to trap class bytecodes as they are loaded].
A generated Proxy class uses the Reflection API to look up the interface methods once in pronunciation its static initializer, and generates wrappers and access methods to handle passing primitive data between methods. [This means that a generated Proxy class will have a certain amount of overhead compared to the equivalent coded file]. Finalizers (Page last updated March 2002, Added 2002-04-26, Author Phil Vickers, Publisher IBM). Tips: Adding finalizers to your code makes GC much more expensive and unpredictable. Finalizers are not executed at a predictable time. Sun community chat session: Tuning the Java Runtime for Big Iron (Page last updated March 2001, Added 2001-04-20, Author Edward Ort, Publisher Sun). Tips: Use the -server option. Use -XX:+UseLWPSynchronization (better threading) or on Solaris set LD_LIBRARY_PATH=/usr/lib/lwp:/usr/lib (even better threading). Set the young generation space to 1/4 to 1/3 of disadvantages of genetic modification heap space, e.g. -Xms1024m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m. To The American Economy! On Solaris use vmstat, pstat (utilities) and -verbose:gc (runtime option). GC is single-threaded (at least to 1.3.x), so cannot take advantage of multiple-CPUs (i.e. can end up with multi-processor mostly idle during GC phases if using a single JVM).
Too many threads can lead to thread starvation [presumably thrashing]. Use at least one thread per CPU, more if any threads will be i/o blocked. On Solaris use the mpstat utility to monitor CPU utlization. Disadvantages! 1.4 will include concurrent GC that should avoid large GC pauses. The biggest performance problem is bad design. Use: -XX:NewSize=value -XX:MaxNewSize=value rather than -XX:SurvivorRatio and -XX:NewRatio. Set initial heap size to does not run max heap size when you know what size heap you'll want and you want to of genetic modification avoid wasting time growing the Exploring the Reasons Why Immigration to the American, heap as you'll fill up space. If you're not sure how big you'll want your heap to disadvantages of genetic modification be you might want to set a smaller initial size and does not run, only grow to use the space if you need it. Low CPU utilization together with bad performance may indicate GC, synchronization, I/O or network inefficiencies. -XX:MaxPermSize affects Perm Space size (storage for HotSpot internal data structures), and modification, only needs altering if a really large number of Conflict Management classes are being loaded. [The session also discussed some Solaris OS parameters to of genetic modification tune]. For JDK 1.3, the heap is: TotalHeapSize = -Xmx setting + MaxPermSize; with -Xmx split into new and old spaces [i.e. Kubler Ross! total heap space is old space + new space + perm space, and settable heap using -Xmx defines the size of the old+new space. -XX:MaxNewSize defines how much of -Xmx heap space goes to new space].
Looks at Bluestone Total-e-server, Sybase Enterprise Application Server, SilverStream Application Server, and greek mythology research, WebLogic Application Server. (Page last updated February 2001, Added 2001-03-21, Author Abraham Kang, Publisher JavaWorld). Tips: A cluster in this context is disadvantages modification, a group of machines working together to transparently provide enterprise services. Of The Physician Assistant! A cluster can be implemented using a dispatcher which accepts requests and passes them on to other servers (either by of genetic, redirecting the client or directly). Clusters target to provide scalability and high-availability. J2EE application servers implement clustering around their implementation of JNDI.
Clustering should allow failover if a machine/process crashes. Does Not Run! For stateful sessions, this requires state replication. Of Genetic! Database and filesystem session persistence can limit scalability when storing large or numerous objects in the HttpSession. To scale the static portions of your Website, add Web servers; to scale the dynamic portions of your site, add application servers. Multicasting efficiency (Page last updated January 2002, Added 2002-02-22, Author Paul Timberlake, Publisher Message MQ).
Tips: When dealing with large numbers of active listeners, multicast publish/subscribe is more efficient than broadcast or multiple individual connections (unicast). When dealing with large numbers of Armenia-Azerbaijan Conflict Management listeners with only a few active, or if dealing with only a few listeners, multicasting is inefficient. This scenario is modification, common in enterprise application integration (EAI) systems. Inactive listeners require all missed messages to be resent to them in order when the listener becomes active. A unicast-based message transport, such as message queuing organized into a hub-and-spoke model, is more efficient than multicast for most application integration (EAI) scenarios. NIO (Page last updated Daniel F. Savarese, Added 2002-02-22, Author February 2002, Publisher JavaPro). Tips: GatheringByteChannel lets you to write a sequence of bytes from multiple buffers, and does not run, ScatteringByteChannel allows you to read a sequence of bytes into multiple buffers. Both let you minimize the number of disadvantages of genetic system calls meade by combining operations that might otherwise require multiple system calls.
Selector allows you to multiplex I/O channels, reducing the number of threads required for efficient concurrent I/O operations. FileChannels allow files to be memory mapped, rather than reading into a buffer. Does Not Run! This can be more efficient. [But note that both operations bring the disadvantages of genetic, file into memory in different ways, so which is faster will be system and data dependent]. Optimizing Searches via Rare Events (Page last updated April 2002, Added 2002-05-19, Authors ANDREA MONTANARI RICCARDO ZECCHINA, Publisher Nature). Tips: Re-starting a search algorithm at random times can improve the average time required to reach the solution. Compression in Java (Page last updated February 2002, Added 2002-02-22, Author Qusay H. Mahmoud and Konstantin Kladko, Publisher Sun). Tips: Compression techniques have efficiencies that vary depending on the data being compressed. Pronunciation! It's possible a proprietary compression technique could the most efficient for a particular application. Disadvantages Modification! For example, instead of transmitting a compressed picture, the component objects that describe how to cycle draw the picture may be a much smaller amount of data to transfer.
ZIPOutputStream and GZIPOutputStream use internal buffer sizes of disadvantages of genetic modification 512. Polemic Pronunciation! BufferedOutputStream is unnecessary unless the size of the buffer is significantly larger. GZIPOutputStream has a constructor which sets the disadvantages modification, internal buffer size. Zip entries are not cached when a file is read using ZipInputStream and FileInputStream, but using ZipFile does cache data, so creating more than one ZipFile object on the same file only opens the polemic pronunciation, file once. In UNIX, all zip files opened using ZipFile are memory mapped, and therefore the of genetic modification, performance of ZipFile is superior to ZipInputStream. If the contents of the same zip file, are frequently changed then using ZipInputStream is Armenia-Azerbaijan Conflict Management, more optimal. Compressing data on of genetic modification the fly only improves performance when the data being compressed are more than a couple of hundred bytes. Porting to KVM (Page last updated February 2002, Added 2002-02-22, Author Shiuh-Lin Lee, Publisher Micro Java). Tips: Minimize program runtime size. Avoid third-party class libraries if not necessary, for polemic example kAWT (a GUI toolkit library) and MathFP (Fixed point math).
Store big lookup tables in the user database rather than as part of the program. Call GC functions manually. Of Genetic! Dispose of pronunciation Objects; close the of genetic modification, database and the network connections as soon as they are no longer needed. Only load or transfer minimal required data structures and records into research paper, memory. Modification! Avoid float and double calculations. Avoid data conversions: store and use the Management, data in the final required format, or execute conversions on the server. Use client caching. Data compression has to be tuned to minimize both client CPU impact as well as transfer size. Use tabbed panels to hold different groups of information. Scrollable panel can have higher memory requirements than a tabbed panel. Of Genetic Modification! Avoid some KVM user components (like ScrollTextBox), because they are runtime memory hogs.
Use selection lists rather than manual entry to speed up user data entry. Tracking Memory leaks (Page last updated February 2001, Added 2001-03-21, Author Jim Patrick, Publisher IBM). Tips: An object is only counted as being unused when it is no longer referenced. If objects remain referenced unintentionally, this is a memory leak. If you get a java.lang.OutOfMemoryError after a while, memory leakage is a strong suspect. Does Not Run! If an disadvantages of genetic modification application is meant to run 24 hours a day, then memory leaks become highly significant.
Most JVMs grow towards the upper heap limit (-Xmx/-mx options) when more memory is required, and polemic pronunciation, do not return memory to the operating system, even if the memory is no longer needed, until the JVM process terminates. [Article provides an example of tracking memory leaks using JProbe]. BigDecimal and Enumerations (Page last updated August 2001, Added 2001-08-20, Author Glen McCluskey, Publisher Sun). Tips: BigDecimal provides arbitrary-precision floating point number arithmetic, at the cost of of genetic modification performance. Type-safe enumeration is safer than using ints for enum values, and American History Assistant Essay, you can still use comparison by identity for fast performance. But you lose the performance potential of using the enum values directly as array indices, switch constants and bitmasks. Article on connection pools (Page last updated September 1999, Added 2001-02-21, Author Hans Bergsten, Publisher Web Developers Journal). Tips: Reuse database connections using a connection pool.
Put helper classes (non-servlet classes used by servlets) in disadvantages modification the CLASSPATH of the servlet engine. Weblogic's RMI framework (Page last updated January 1999, Added 2001-03-21, Author , Publisher BEA). Tips: Use a single, multiplexed, asynchronous, bidirectional connection for RMI client-to-network traffic instead of the standard reference implementation using multiple sockets. Try to improve the serialization mechanism for faster RMI [Externalization is polemic, better]. Modification! Use local calls for objects located in the same JVM. Minimize distributed garbage collection. Use smart stubs which provide data caching and localized execution in the Reasons to the Economy addition to of genetic the normal remote execution and data fetching capabilities. Using VolatileImage (Page last updated May 2001, Added 2001-07-20, Author Someone@sun, Publisher Sun). Tips: Graphics performance in 1.2 is worse than 1.1. 1.3 is better, and 1.4 should be the polemic, fastest yet.
From 1.2 direct access to image pixels was available, but was too slow to disadvantages modification be usable because it involved copying many bits around in memory. Use BufferedImage to move offscreen images to system memory rather than copying pixels. For even faster image mapping, VolatileImage allows a hardware-accelerated offscreen image to of the Physician Essay be drawn directly on the video card. VolatileImage is volatile because the image can be lost at any time, from various causes: running another application in fullscreen mode; starting a screen saver; changing screen resolution; interrupting a task. Only constantly re-rendered images need to disadvantages modification be explicitly created as VolatileImage objects to paper be hardware accelerated. Such images include backbuffers (double buffering) and animated images. All other images, such as sprites, can be created with createImage, and Java 2D will attempt to accelerate them. Disadvantages Of Genetic! If an image, such as a sprite, is drawn once and copied from many times, Java 2D makes a copy of it in accelerated memory and future copies from the image can perform better. To render sprites to the screen, you should use double-buffering by: creating a backbuffer with createVolatileImage, copying the sprite to the backbuffer, and copying the backbuffer to the screen. If content loss occurs, Java 2D re-copies the sprite from software memory to accelerated memory.
Only some graphics operations (e.g. Polemic! curved shapes) are accelerated on some platforms. Use profiling to determine what works best for your situation. From 1.4 Swing uses VolatileImage for its double buffering. Disadvantages Of Genetic! VolatileImage.getCapabilities() provides an ImageCapabilities object which gives details of the details of the runtime VolatileImage. The ImageCapabilities allows the application to decide to use less images, images of lower resolution, different rendering algorithms, or various other means to attempt to about Armenia-Azerbaijan Conflict get better performance from the current situation and platform.
Sun community chat session on Optimizing Java Program Performance with Peter Haggar. (Page last updated January 2001, Added 2001-02-21, Author Edward Ort, Publisher Sun). Tips: Try faster JVMs if possible. Never tune code unless you have identified a performance problem with a profiling tool. Beware that tuning techniques may not work well on all platforms. Disadvantages Of Genetic Modification! Speed start-up time by: minimizing the .class sizes (use -g:none or a shrink tool e.g. DashO, JAX, JOpt); turn off the JIT Good design, data structures, and algorithms are the best things to research produce good performance. Check String manipulation code. It is much more efficient to read data from disk all at once rather than with multiple reads. Use the of genetic, buffered classes when doing i/o. import is a compile time function, so has no effect on runtime (i.e. import a.b.*; or import a.b.c; make no difference to runtime performance). Optimize conditionals to have the most likely true results first. Java transaction management (JTS) (Page last updated April 2002, Added 2002-04-26, Author Brian Goetz, Publisher IBM).
Tips: A container managing transactions can identify communications to pronunciation the same database, and modification, automatically convert a two-phase transaction into a more efficient single-phase commit. Article about Exploring the Reasons Why Immigration is Beneficial to the American frameworks and the effective memory management of disadvantages objects; avoiding memory leaks by design. (Page last updated January 2001, Added 2001-01-19, Author Leonard Slipp, Publisher Java Report). Tips: Define the kubler grief, life cycles of objects and the duration of object interrelationships. Then manage objects according to whether the framework retains exclusive control of them, or whether the object can be accessed from outside the framework. Minimize the disadvantages of genetic modification, number of objects that can be accessed from outside the does not run, framework. In general, the creator of an disadvantages modification object should be responsible for the objects' life cycle. Where this is not the does not run, case, the transfer of ownership of the object should be explicit and emphasized. Similarly object relationship management should be explicit and disadvantages of genetic, reversible: for every add() action, there must be a remove(); for about Conflict every register() action, there must be a deregister(). Various strategies for connecting to databases (Page last updated March 2001, Added 2001-04-20, Author Prakash Malani, Publisher Java Report). Tips: Use pooled connections to reduce connection churn overheads. javax.sql.DataSource provides a standard connection pooling mechanism [example included]. Obtain and release pooled conections within each method that requires the modification, resource if the greek research, connection is very short (termed Quick Catch-and-Release Strategy in modification the article).
However do not release the pronunciation, connection only to use it again almost immediately, instead hold the connection until it will not be immediately needed. The performance penalty of obtaining and modification, releasing connections too frequently is quite small in Armenia-Azerbaijan Conflict Management comparison to potential scalability problems or issues raised because EntityBeans are holding on to the connections for too long. The Quick Catch-and-Release Strategy is the best default strategy to ensure good performance and scalability. Basic article on performance tuning techniques. (Page last updated January 2001, Added 2000-12-14, Author Tarak Modi, Publisher Java Pro). Tips: [The compiler concatenates strings where they are fully resolvable, so don't move these concatenations to runtime with StringBuffer.] Where the compiler cannot resolve concatenated strings at compile time, the code should be converted to StringBuffer appends, and the StringBuffer should be appropriately sized rather than using the default size. Using the disadvantages, concatenation operator (+) in a loop is very inefficient, as it creates many intermediate temporary objects. Greek Research! Presizing collections (like Vector) to the expected size is disadvantages of genetic modification, more efficient than using the default size and letting the collection grow. Removing elements from a Vector will necessitate copying within the Vector if the element is removed from kubler, anywhere other than the end of the disadvantages, collection.
Cache the Why Immigration to the Economy, size of the collection in disadvantages a local variable to use in a loop instead of repeatedly calling collection.size(). Unsynchronized methods are faster than synchronized ones. [Article discusses applying these optimzations to a thread pool implementation.] Object creation tuning (Page last updated 2000, Added 2001-07-20, Author Daniel F. Savarese, Publisher Numega). Tips: Creating and dereferencing too many objects can adversely impact performance. Avoid holding on to objects for too long by explicit dereference (setting variables to null) and by using weak references. Use a profiler to kubler determine which objects may be created too often, or may not be being dereferenced. When looking for memory problems, look at methods that are called the disadvantages modification, most times or use the most memory.
Frequently called methods may unnecessarily allocate objects on each call. Methods that use a lot of memory may not need to does not run use as much memory or they may be a source of memory leaks. Disadvantages Of Genetic! Try to use mutable objects like StringBuffers or a char array instead of immutable objects like String. Don't restrict object state initialization to the arguments passed to a constructor. Mythology Research! Provide a zero-argument constructor that creates reasonable default values and of genetic, include setter methods or an init method to allow objects of that class to be reused. If you have to greek wrap primitive types, such as an int, define your own wrapper class which can be reused instead of using java.lang.Integer. If you need to create many instances of disadvantages a wrapper class like Integer, consider writing your algorithm to accept primitive types. Use a factory class instead of directly calling the Essay Conflict Management, new operator, to allow easier reuse of objects. Object pooling and database connection pooling are two techniques for of genetic reducing object creation overheads. Object pools can be sources or memory leaks and can themselves be inefficient. The java.nio packages (updated) (Page last updated December, 2001, Added 2001-10-22, Author John Zukowski, Publisher Sun).
Tips: Direct buffers have a higher creation cost than non-direct buffers because they use native system operations rather than JVM operations. Direct buffers optimize access operations by using the American of the Assistant Essay, system's native I/O operations. Reduce threads by multiplexing I/O using selectors: The new I/O capabilities, allow you to create a Web server that does not require one thread per connection. How to Climb a B-tree (Page last updated December 2001, Added 2001-12-26, Author Rick Grehan, Publisher JavaPro). Tips: A B-tree outperforms a binary tree when used for external sorting (for example, when the disadvantages of genetic, index is stored out on disk) because searching a binary tree cuts the number of keys that need searching in half for every node searched, whereas B-tree searching cuts the number of keys that have to be searched by approximately 1/n, where n is the number of Armenia-Azerbaijan Conflict Management keys on disadvantages a node. Exploring The Reasons Is Beneficial To The American! B-tree variants provide faster searching at disadvantages modification the cost of slower insertions and deletions. Two such variants are the B-tree with rotation (more densely packed nodes) and pronunciation, the B+tree (optimized for disadvantages of genetic sequential key traversing). [Article discusses building a B-tree class, and persisting it to provide a disk-based searchable index].
Database comparison (Page last updated February 2002, Added 2002-04-26, Author Timothy Dyck, Publisher E-Week). Tips: SQLServer has driver problems that slow access to it. Connection memory requirements vary dramatically between databases, and affect how much memory can be allocated to other resources. In-memory query result caches (such as with mySQL) improves performance significantly. (Works by retrieving cached results of polemic byte-for-byte identical queries, with no query compilation required). Of Genetic! Add extra indexes. Arrange the stored order of rows to American of the Essay best satisfy the queries. Some drivers store the entire result set in modification memory when using bidirectional cursors - which does not scale. File Channels, StackTraceElements, (Page last updated May 2002, Added 2002-05-19, Author Glen McCluskey, Publisher Sun). Tips: File Channels (from the 1.4+ nio package) provide optimized mapping and of the Physician Assistant, a transferTo() method which is the fastest way to copy files. StackTraceElement provides access to the stack from excception objects, useful for disadvantages modification analyzing stack elements.
Article about garbage collection and finalization. History Of The Essay! (Page last updated December 2001, Added 2001-12-26, Author Jeff Friesen, Publisher JavaWorld). Tips: [No specific performance tips, but its always helpful to know about GC]. Java Transaction Service (Page last updated March 2002, Added 2002-03-25, Author Brian Goetz, Publisher IBM). Tips: Writing every data block to disk when any part of it changes would be bad for system performance. Deferring disk writes to a more opportune time can greatly improve application throughput.
Transactional systems achieve durability with acceptable performance by summarizing the results of multiple transactions in a single transaction log. The transaction log is stored as a sequential disk file and will generally only be written to, not read from, except in disadvantages of genetic modification the case of Essay Armenia-Azerbaijan rollback or recovery. Writing an update record to of genetic a transaction log requires less total data to be written to disk (only the data that has changed needs to be written) and fewer disk seeks. Exploring Is Beneficial Economy! Changes associated with multiple concurrent transactions can be combined into a single write to disadvantages of genetic the transaction log, so multiple transactions per does not run, disk write can be processed, instead of disadvantages requiring several disk writes per does not run, transaction. HTTP sessions vs. stateful EJB (Page last updated July 2002, Added 2002-07-24, Author Peter Zadrozny, Publisher Weblogic Developers Journal). Tips: The comparative costs of storing data in an HTTP session object are roughly the same as storing the of genetic modification, same data in a stateful session bean. Failure to remove an EJB that should have been removed (from the HTTP session) carries a very high performance price: the greek mythology research paper, EJB will be passivated which is a very expensive operation. Chapter 1, What Is Performance? of Java Platform Performance. (Page last updated 2000, Added 2001-11-27, Author Steve Wilson and Jeff Kesselman, Publisher Sun). Tips: Design your software with the target configuration (e.g. RAM) in mind. If your program consumes all of your user's memory resources, they probably won't be happy.
Measure performance under loads comparable to expected deployed loads. Perceived performance is a highly important aspect of performance. How fast a program feels is more important than how fast it really is. Chapter 2, The Performance Process of Java Platform Performance. (Page last updated 2000, Added 2001-11-27, Author Steve Wilson and Jeff Kesselman, Publisher Sun). Tips: It's nearly impossible to achieve good performance through optimizations alone, without considering performance in analysis and design stages. Creating clear system and performance requirements is the key to evaluating the success of your project.
Use cases provide excellent specifications for disadvantages of genetic modification building benchmarks. Specify the limitations of the application: well-defined boundaries on the application scope can provide big optimization opportunities. Specifications should include system and performance requirements, including all supported hardware configurations (RAM/CPU/Disk/Network) and other software that normally executes concurrently. You should specify quantifiable performance requirements, for example a response time of two seconds or less. Polemic Pronunciation! Scalability is more dependent on modification good design decisions than optimal coding techniques. Encapsulation leads to slowdowns from increased levels of indirection, but is pronunciation, essential in large, scalable, high-performance systems. For example, using a java.util.List object may be slower than using a raw array, but allows you to of genetic change very easily from ArrayList to LinkedList when that is faster. Meeting or exceeding your performance requirements should be part of the shipping criteria for of the Physician your product.
Once you've determined that a performance problem exists, you need to begin profiling. Profilers are most useful for identifying computational performance and RAM footprint issues. Performance tuning is an disadvantages iterative process. Exploring The Reasons Is Beneficial Economy! Data gathered during profiling needs to be fed back into the development process. Chapter 3, Measurement Is Everything of Java Platform Performance. (Page last updated 2000, Added 2001-11-27, Author Steve Wilson and Jeff Kesselman, Publisher Sun). Tips: Benchmarks are typically time-related, but can also measure quantities such as how much memory is used. Modification! A stopwatch is a versatile benchmarking tool. History Physician Assistant! System.currentTimeMillis() provides millisecond timing for benchmarking [A Stopwatch class based on using System.currentTimeMillis() is presented]. Use benchmarks to: Compare the performance of alternative solutions; Profile performance; Track performance changes. Micro-benchmarks (repeatable sections of code) can be useful but may not represent real-world behavior.
Factors that can skew micro-benchmark performance include Java virtual machine warm-up time, and global code interactions. Macro-benchmarks (repeatable test sequences from the user point of view) test your system as actual end users will see it. Extract minima, maxima and averages from repeated benchmark data for analysis. Use these to compare progress of benchmarks during tuning. [I like to add the 90th-centile value too]. Profilers help you find bottlenecks in applications, and should show: the methods called most often; the methods using the largest percentage of time; the methods calling the most-used methods; and the methods allocating a lot of memory. The Sun JVM comes with the disadvantages, hprof profiler. Bottlenecks can be tuned by cycle, making often-used methods faster; and by calling slow methods less often.
Backtrace methods to understand the context of the bottleneck. For example, caching a value may be a better optimization than speeding up the repeated calculation of that value. Memory usage is often of critical importance to the overall application performance. Excessive memory allocation is often one of the first things that an experienced developer looks for when tuning a Java program. Examine bottlenecks for memory allocation. For example you may be able to replace a repeated object allocation in a loop with a reusable object allocated once outside the loop.
Memory leaks (not releasing objects for the garbage collector to of genetic reclaim) can lead to a large memory footprint. You identify memory leaks by: determining that there is a leak; then identifying the ross grief, objects that are not being garbage colleted; then tracing the disadvantages of genetic modification, references to Exploring the Reasons to the American Economy those leaking objects to determine what is holding them in of genetic memory. If your program continues to use more and more memory then it has a memory leak. This determination should happen after all initializations have completed. Identify memory leak objects by marking/listing the objects in some known state, then cycling through other states and back to does not run that known state and disadvantages modification, seeing which extra objects are now present. When there are obvious bottlenecks, the method profile should show these. A flat method profile is one where there are no obvious bottlenecks, no methods taking vastly more time than others. In this case you should look at cumulative method profiles, which show the relative times taken by Essay Armenia-Azerbaijan Conflict, a method and all the disadvantages, methods it calls (the call tree ). Essay About Management! This should identify methods which are worthwhile targets for optimization. Chapter 4, I/O Performance of Java Platform Performance: Strategies and Tactics. (Page last updated 2000, Added 2001-12-27, Author Steve Wilson and Jeff Kesselman, Publisher Sun).
Tips: Buffer i/o operations. Custom buffering (using your own array of bytes/chars) is quicker than using a Buffered class. Of Genetic! Application specific i/o can be tuned, e.g. caching in memory frequently served pages of a HTTP server. Is Beneficial To The! Default Serialization is slow. Use the transient keyword to define fields to avoid having those fields serialized. Examine serialized objects to determine which fields do not need to be serialized for the application to work. Chapter 5, RAM Footprint of Java Platform Performance: Strategies and Tactics. (Page last updated 2000, Added 2001-12-27, Author Steve Wilson and of genetic, Jeff Kesselman, Publisher Sun). Tips: Virtual memory is many times slower than RAM: try to kubler ross cycle fit the application into available RAM on the target platform.
Runtime.totalMemory() and Runtime.freeMemory() measure available heap memory, but not the RAM footprint of the application. Use operating system monitoring tools to determine the RAM footprint of the application: e.g. task manager on Windows NT, pmap -x and ps on Solaris. Small GUI apps need several hundred classes to be loaded just to start the app. Small GUI apps need to reduce the number of classes loaded to improve startup time. You can approximate sizes of objects based on the number of fields and their types: byte-1 byte; char-2 bytes; short-2 bytes; int-4 bytes; float-4 bytes; long-8 bytes; double-8 bytes; references-4 bytes. JVMs will impose additional overheads. You can determine actual object sizes for of genetic a particular JVM by measuring the heap space taken by multiple instances of Essay about a class. Use profiling to determine the overal size cost of a class of of genetic objects, to determine whether it is does not run, worth reducing the size cost of the modification, class.
Some JVM/OS combinations can impose a significant memory overhead on each thread. Use 'java -verbose MyMainClass' to identify all classes that are loaded. Chapter 6, Controlling Class Loading of American Assistant Essay Java Platform Performance: Strategies and Tactics. (Page last updated 2000, Added 2001-12-27, Author Steve Wilson and Jeff Kesselman, Publisher Sun). Of Genetic! Tips: To avoid loading unnecessary classes (e.g. when the polemic, JIT compiles methods which refer to of genetic modification unused classes), use Class.forName() instead of pronunciation directly naming the class in disadvantages of genetic source. This tactic is useful if large classes or a large number of classes are being loaded when you don't think they need to be. Ross Grief Cycle! Combine listener functionality into one class to avoid an of genetic modification explosion of generated inner classes. This technique increases maintenance costs.
Use a Generic ActionListener which maps instances to method calls to avoid any extra listener classes. This has the about Management, drawback of losing compile-time checks. java.lang.reflect.Proxy objects can be used to generalize this technique to disadvantages of genetic multiple interfaces. Run multiple applications in the same JVM. [Chapter discusses how to do this, but see Multiprocess JVMs and the Reasons Why Immigration to the American, Echidna for disadvantages more comprehensive solutions]. Chapter 7, Object Mutability: Strings and other things of Java Platform Performance: Strategies and Tactics. Kubler Grief! (Page last updated 2000, Added 2002-02-22, Author Steve Wilson and Jeff Kesselman, Publisher Sun). Tips: The allocation, initialization, and collection of many short-lived useless objects can cause major inefficiencies in your software, even when running on disadvantages of genetic modification an advanced runtime such as the HotSpot VM. Armenia-Azerbaijan! Be cautious when the number of objects you're allocating becomes very high-for example, when allocating objects inside loops.
For heavy-duty text processing, however, some uses of the of genetic, String class can become major performance bottlenecks. Polemic! StringBuffer can be used to improve the performance of common text processing operations. Avoid creating new strings in compute intensive parts of code. Be careful of the concatenation operators '+' and '+=' when used with strings. Modification! To avoid spurious object creation, create methods which return primitive data for multiple data items, rather than one method returning an object holding multiple data items.
Use immutable objects to prevent the need to copy objects to pass information between methods. Object pooling small objects is often counterproductive. The overhead of managing the object pool is often greater than the greek mythology research, small object penalty. Pooling can also increase a program's memory footprint. Pooling large objects (e.g. large bitmaps or arrays) or objects that work with native resources (e.g. Modification! Threads or Graphics) can be efficient.
Chapter 8, Algorithms and data structures of ross Java Platform Performance: Strategies and Tactics. (Page last updated 2000, Added 2002-02-22, Author Steve Wilson and disadvantages of genetic, Jeff Kesselman, Publisher Sun). Tips: Choosing the History of the Physician, best algorithm or data structure for disadvantages of genetic a particular task is the Reasons American Economy, one of the keys to writing high-performance software. Disadvantages Modification! The optimal algorithm for a task is highly dependent on the data and data size. Special-purpose algorithms usually run faster than general-purpose algorithms. Testing for easy-to-solve subcases, and using a faster algorithm for those cases, is a mainstay of high-performance programming. Collection features such as ordering and duplicate elimination have a performance cost, so you should select the collection type with the fewest features that still meets your needs.
Most of the time ArrayList is the best List choice, but for some tasks LinkedList is more efficient. HashSet is about Conflict Management, much faster than TreeSet. Choosing a capacity for HashSet that's too high can waste space as well as time. Set the initial capacity to about twice the size that you expect the Set to grow to. The default hash load factor (.75) offers a good trade-off between time and space costs. Higher values decrease the space overhead, but increase the time it takes to disadvantages of genetic look up an mythology entry. Of Genetic! (When the number of entries exceeds the product of the load factor and does not run, the current capacity, the disadvantages modification, capacity is doubled). Programs pay the Armenia-Azerbaijan Conflict, costs associated with thread synchronization even when they're used in a single-threaded environment. The Collections.sort() method uses a merge sort that provides good performance across a wide variety of situations. When dealing with collections of primitives, the disadvantages of genetic modification, overhead of allocating a wrapper for each primitive and then extracting the primitive value from the pronunciation, wrapper each time it's used is quite high.
In performance-critical situations, a better solution is to work with plain array structures when you're dealing with collections of primitive types. Disadvantages Of Genetic Modification! Random number generation can take time. If possible you can pre-generate the random number sequence into an array, and use the elements when required. Chapter 10 (Swing models and renderers) of Java Platform Performance: Strategies and Tactics. (Page last updated 2000, Added 2000-10-23, Authors Steve Wilson, Jeff Kesselman, Publisher Sun). Tips: Swing?s model-view architecture is critical for building scalable programs. Pronunciation! When changing data stored in of genetic models, perform the ross grief, operations in bulk whenever possible. Disadvantages Modification! E.g. use the interface that adds an array of elements rather than one element at a time. Use custom models to handle large datasets.
The default models provided with Swing are generic and designed for light-duty use [i.e. are slow]. Custom renderers can sometimes be used to improve performance. But watch out as it is easy to Essay Armenia-Azerbaijan Management badly construct a custom renderer, making performance worse. Of Genetic! A custom model and a custom renderer can be used together in Exploring the Reasons is Beneficial to the Economy the same Component. When initializing or totally replacing the contents of a model, consider constructing a new one instead of of genetic modification reusing the existing one, as this avoid posting notifications to any listeners. [Or reuse the object but deregister the listeners first]. Improving socket transfer rates (Page last updated May 2001, Added 2001-05-21, Author Rama Roberts, Publisher Sun). Polemic! Tips: The usual StringBuffer better than String tip applies to socket communications too. PrintWriters are not suitable for socket communications because they flush at disadvantages each newline. Socket.setTcpNoDelay(true) may help speed if you have many small packets sent frequently across the connection. Server performance testing (Page last updated 2000, Added 2001-05-21, Author Floyd Marinescu, Publisher The Server Side). Tips: Test response times against average current data/user volumes, then repeat the does not run, same test against disadvantages of genetic, four times as much volume as you expect in Essay about Management 3 years time.
This defines your long term target - getting the response times the disadvantages, same for that latter test. Pronunciation! Response time increasing too much when database is over populated probably indicates lack of or inappropriate indexing on disadvantages of genetic modification the database. Response time increasing exponentially as load increases, you need to paper improve scalability by of genetic modification, optimizing the application or adding resources. Use SQL clause with EXPLAIN or similar (e.g. Physician Essay! Explain select * from table where tablefield = somevalue) to disadvantages of genetic modification ensure that the database is greek mythology paper, doing an indexed search rather than a linear searches of large datasets. Use a profiler to determine object usage, garbage collection behaviour and method bottlenecks in disadvantages of genetic modification the application. Minimize network calls, especially database calls: make one large database call rather than many small ones; make sure ejbStore isn?t storing anything for read only Exploring the Reasons Why Immigration Economy operations; use Details Objects to modification get entity bean state rather than making many trips for each aspect of state. Use caching where possible. Use session beans as a fa?ade to your entity beans to encapsulate the workflow of greek mythology research paper one entire usecase in one network call to one method on a session bean (and one transaction). Optimizing entity beans (Page last updated May 2001, Added 2001-05-21, Author Akara Sucharitakul, Publisher Sun). Tips: Use container-managed persistence when you can.
An efficient container can avoid database writes when no state has changed, and reduce reads by retrieving records at the same time as find() is called. Minimize database access in ejbStores. Use a dirty flag to avoid writing tee bean unless it has been changed. Always cache references obtained from lookups and find calls. Always define these references as instance variables and look them up in disadvantages of genetic the setEntityContext (method setSessionContext for session beans). Always prepare your SQL statements. Close all database access/update statements properly. Avoid deadlocks.
Note that the pronunciation, sequence of ejbStore calls is not defined, so the disadvantages modification, developer has no control over the access/locking sequence to database records. EJB best practices (Page last updated April 2001, Added 2001-05-21, Author Sandra L. Emerson, Michael Girdley, Rob Woollen, Publisher Java Developers Journal). Kubler Grief Cycle! Tips: To avoid resources being held unnecessarily for disadvantages modification long periods, a transaction should never encompass user input or user think time. Container managed transactions are preferred for consistency, and should provide extra optimization options. Don't model a shared cache or any shared resource as a stateful session bean. Stateless session beans are easier to scale than stateful session beans. Greek! With stateful session beans, every client will need its own session bean instance, reducing scalability. Always call remove after finishing with a stateful session bean instance, otherwise the disadvantages modification, EJB container will eventually passivate the bean, incurring extra unnecessary disk writes. J2EE clustering (Page last updated August 2001, Added 2001-08-20, Author Abraham Kang, Publisher JavaWorld). Tips: Consider cluster-related and load balancing programming issues from the beginning of the development process. Load balancing has two non-application options: DNS (Domain Name Service) round robin or hardware load balancers. [Article discusses the American History of the Assistant Essay, pros and cons].
To support distributed sessions, make sure: all session referenced objects are serializable; store session state changes in disadvantages a central repository. Try to keep multiple copies of objects to kubler ross grief cycle a minimum. SoftReference-based HashMap (Page last updated August 2001, Added 2001-08-20, Author Heinz Kabutz, Publisher Kabutz). Of Genetic! Tips: WeakHashMaps are not ideal if you want the values to be weakly referenced rather than the keys. SoftReferences may be better for memory sensitive caches since they are supposed to be collected in polemic pronunciation the reverse order to which they were last referenced. Adding the capability to strongly reference some of the values ensures those objects will be retained through a garbage collection. Avoiding memory leaks in EJBs (Page last updated April 2001, Added 2001-05-21, Author Govind Seshadri, Publisher IT World). Tips: Make sure that any beans which have session scope implement the HttpSessionBindingListener interface Explicitly release any resources that may be used within the modification, bean by the Reasons to the, implementing the valueUnbound() callback. Explicitly release the user's session by invoking invalidate() when they log out.
Try setting the session invalidation interval to a smaller value than the default 30 minutes. Make sure that you are not placing any large grained objects into the servlet context (application scope) as that can also prove problematic sometimes. Parallel clustering of machines using Java (Page last updated April 2001, Added 2001-04-20, Author Aashish N. Of Genetic! Patil, Publisher IBM). Tips: [Article describes an implemented architecture for distributing Runnable threads across multiple computer nodes]. The Javap disassembler (Page last updated August 2000, Added 2001-04-20, Author Stuart Halloway, Publisher Sun). Tips: [Article describes using the javap disassembler, useful for research paper identifying exactly what the code has been compiled into]. Use the disadvantages of genetic modification, javap disassembler to determine the kubler ross cycle, efficiency of generated bytecodes. Of Genetic! javap is not sufficient to determine code efficiency, because JIT compilers can apply additional optimizations. Speeding up file searching in JFileChooser (Page last updated February 2001, Added 2001-03-21, Author Slav Boleslawski, Publisher JavaWorld).
Tips: [Article discusses JFileChooser's operation in Armenia-Azerbaijan Management detail, including multi-threading, filename caching and disadvantages of genetic, batched delivery. Article discusses how to add type-ahead lookup functionality to choosing files]. Various tips. (Page last updated 1999?, Added 2000-10-23, Author Nate Sammons, Publisher Sammons). Tips: Use StringBuffer for String concatenations, rather than the '+' operator. Exploring Why Immigration To The American! Use static strings, String.intern() or a static Hashtable to reduce the number of occurrances of identical string objects. Modify java.lang.String to cache the disadvantages modification, hashCode if you are using many string keys in hash tables [note Sun added this optimization to the String class in Essay about Armenia-Azerbaijan Conflict SDK 1.3] String.getBytes() is disadvantages modification, very inefficient with a method call for every character.
Use getBytes(int, int, byte int) instead, or some other mecahnism. Use non-synchronized Vector, Hashtable, etc. where possible. Size Vector, Hashtable, etc. appropriately. Greek Mythology Research! Object creation is expensive. Of Genetic! Pool your objects where possible. Inner class object creation is even more expensive than normal. Use non-public concrete support classes instead. Method call times: static 220ns; final 300ns; instance 550ns; interface methods 750ns; synchronized methods 1,500ns. Armenia-Azerbaijan! [But times vary enormously depending on disadvantages the VM and greek research, context]. Use static final methods where possible. [And do functional programming too ;-)] Rewrite loops so that the disadvantages modification, termination test compares against 0. Use exception terminated infinite loops for long loops. Use System.arraycopy() to copy arrays. Use temporary local variables to manipulate instance variables.
EJB2 clustering with application servers (Page last updated December 2000, Added 2001-01-19, Author Tyler Jewell, Publisher OnJava). Tips: [Article discusses multiple independent ways to load balance EJBs] Sun community chat session with Steve Wilson and Jeff Kesselman on Essay Armenia-Azerbaijan Conflict Management Java Performance (Page last updated August 2000, Added 2001-01-19, Author Edward Ort, Publisher Sun). Tips: HotSpot JVMs can return heap memory to the OS while running. HotSpot Client VM (JVM 1.3) is optimized for quick startup time and low-memory footprint. The server VM (HotSpot 1.0/2.0) is designed for disadvantages of genetic modification peak performance (may take a little longer to get up-to-speed but it will go faster in the end). Always use System.arraycopy to copy arrays.
Sticky applets available with the 1.3 plugin speeds startup (persistently caches classes on clients). Also put resources together into kubler ross cycle, jar file to reduce download requests. SwingSet2 (demo in SDK distribution) provides a good example of large numbers of Swing components in of genetic modification a window, created asynchronously. Kubler Ross! Don't use use finalizers for disadvantages of genetic anything that must be done in a timely manner. Use primitives and transients to speed up serialization. Use a concentrator object to polemic limit the repaint events to once every 100 milliseconds in disadvantages of genetic heavily loaded systems and in Exploring the Reasons Why Immigration is Beneficial Economy multi-threaded swing environments. There is some overhead for modification context switching (using invokeLater) into Exploring the Reasons to the American Economy, the AWT-event thread, which you want to minimize. The key to high performance code is organization and process.
Write clean, well encapsulated code, then use a Profiler to find your true bottlenecks and tune those. Experiences building a servlet (Page last updated June 2001, Added 2001-06-18, Author Asif Habibullah, Jimmy Xu, Publisher Java Pro). Tips: Keep the size of the client tier small so that downloads are fast. Use the disadvantages, servlet init() and destroy() methods to start and stop limited and expensive resources, such as database connections. Make the servlets thread-safe and use connection pooling. Use PreparedStatements rather than plain Statement objects. Use database stored procedures.
Typesafe Enumeration gotchas (Page last updated January 2002, Added 2002-01-25, Author Vladimir Roubtsov, Publisher JavaWorld). Tips: Implement readResolve() for polemic Serializable Enumeration classes to maintain object identity. Disadvantages Modification! Ensure that the same Classloader always loads the Physician Essay, Enumeration class to maintain object identity. Reference objects (Page last updated January 2002, Added 2002-01-25, Author Jeff Friesen, Publisher JavaWorld). Disadvantages Of Genetic Modification! Tips: Cache objects such as images in memory for quicker presentation after the first display request. Use Reference objects to hold cached objects so that the garbage collector can free space when required. [Article discusses in detail the various Reference object types]. Optimizing Java for intensive numeric calculations (Page last updated January 2002, Added 2002-02-22, Author James W. Cooper, Publisher DevX). Tips: Allocating on the heap (as with object creation) is much slower than allocating on the stack.
Making numbers into first-class objects imposes a significant overhead on calculations. Hand applied optimizations may be superceded by future compiler optimizations. Use specialized subtypes to to the American reduce dynamic dispatching. Replace objects with their data held and passed as local variables. OS Signal handling in modification Java (Page last updated January 2002, Added 2002-02-22, Author Chris White, Publisher IBM). Tips: [Article describes how to handle operating system signals from within Java. Grief! Useful if you want your application to be able to respond to the full gamut of system and user actions].
Natively compiled code from Java source (Page last updated January 2002, Added 2002-02-22, Author Martyn Honeyford, Publisher IBM). Tips: Natively compiled code generated from Java source might be faster and disadvantages of genetic, might require less memory and disk resources. [But this articles show some JVMs can be faster]. When you include the disk size of the JVM libraries, a natively compiled Java application is significantly smaller in disk size. When considering compiling Java applications to native code determine exactly what problem (or problems) you are hoping to solve with native compilation, and try all the available native compilers. RMI arguments (Page last updated December 2001, Added 2002-02-22, Author Scott Oaks, Publisher Java Report). Tips: Some application servers can automatically pass parameters by pronunciation, reference if the communicating EJBs are in the same JVM.
To ensure that this does not break the application, write EJB methods so that they don't modify the parameters passed to them. Choosing an application server (Page last updated January 2002, Added 2002-02-22, Author Sue Spielman, Publisher JavaPro). Tips: A large-scale server with lots of disadvantages of genetic modification traffic should make performance its top priority. Performance factors to consider include: connection pooling; types of JDBC drivers; caching features, and their configurability; CMP support. Inability to scale with reliable performance means lost customers. Scaling features to consider include failover support, clustering capabilities, and load balancing. Notated keys to access elements of nested Maps. (Page last updated January 2002, Added 2002-02-22, Author Matt Liotta, Publisher DevX). Tips: Use dot separated, concatenated strings to optimize access to elements of the Reasons Economy nested Maps by caching elements in modification the top level Map. The Garbage Collector (Page last updated January 2002, Added 2002-01-25, Author Phil Vickers, Publisher IBM).
Tips: In most current JVMs (prior to cycle 1.4) GC starts off by locking out all other threads in the JVM. GC is disadvantages modification, a stop-the-world, synchronous operation. Non-generationl GC requires scanning the stacks of every thread and the entire Java heap. Calling System.gc() explicitly is Essay about Armenia-Azerbaijan Conflict Management, not good for performance, as it can be called when GC is not necessary, but will still result in a long pause of all JVM operations. Object management (Page last updated January 2002, Added 2002-01-25, Author Mark Bluemel, Publisher IBM). Tips: Avoid retaining objects accidentally, by holding references beyond an appropriate time for their release.
Use profiling tools to identify unintentionally retained objects. Disadvantages Of Genetic! Garbage collection is not free; other processing will be paused during GC. Try to reuse objects in does not run preference to discarding and re-creating them. JViewport scrolling performance (Page last updated January 2002, Added 2002-01-25, Author Heather Brailsford, Publisher IBM). Disadvantages Of Genetic! Tips: JViewport.BLIT_SCROLL_MODE is the default scrolling mode for American History of the Assistant Essay JViewport in modification SDK 1.3 (available since 1.2.2). This mode paints directly to the screen instead of being buffered offscreen. Pronunciation! This normally provides optimal performance and minimum memory requirements. However complex images may display some intermediate paint operations if the painting is of genetic, not fast enough, giving jerky or flashing images. If this is Exploring the Reasons Why Immigration is Beneficial, unacceptable, try the alternate modes: setScrollMode(BACKINGSTORE_SCROLL_MODE) (intermediate performance, higher memory requirements); or setScrollMode(JViewport.SIMPLE_SCROLL_MODE) (slowest). Using JNI Get* calls (Page last updated January 2002, Added 2002-01-25, Author Mark Bluemel, Publisher IBM).
Tips: If you use JNI Get* calls (for example, GetStringCritical), you must always use the corresponding Release* call (for example, ReleaseStringCritical) when you have finished with the disadvantages of genetic modification, data, even if the about Armenia-Azerbaijan, isCopy parameter indicates that no copy was taken. Servlet 2.3 events (Page last updated January 2002, Added 2002-01-25, Author Budi Kurniawan, Publisher DevX). Tips: The Servlet 2.3 specification adds application and session events. [Event driven applications can often be scaled more easily than process driven applications]. Sun presentation on J2SE performance strategies (originally accessed from disadvantages, Reginald Hutcherson's page) (Page last updated May 2001, Added 2001-06-18, Author Reginald Hutcherson, Publisher Sun). Kubler Grief! Tips: The Sun 1.3 JVM has a significantly faster startup time compared to any earlier Sun release. Improve bytecode (method) execution by: using JITs; reducing (byte-)code size; profiling code to eliminate bottlenecks. Reduce garbage collection overheads by: reducing the number of objects generated; reusing objects; caching objects. Disadvantages Modification! Reduce multithreading overheads by targeting the Armenia-Azerbaijan Conflict Management, granularity of locks, and managing synchronization correctly.
Other operations which improve performance include: using JAR files; using arrays rather than collections; using primitive types rather than objects. Disadvantages! If the mythology research paper, CPU is the bottleneck, target: code; method profiler identified bottlenecks; algorithms; and object creation. If system memory is the bottleneck, try to avoid paging by targeting: large objects; arrays; the application design. Disadvantages Of Genetic Modification! If disk I/O is the bottleneck, identify the problem and is Beneficial American, eliminate it. Ensure that you have benchmarks and targets, and run reproducible benchmark tests. Target the easiest of the top 5 methods, or the top method, identified by method profiling. Repeat profile, fix, benchmark iterative process. Avoid runtime String concatenation. Use StringBuffer instead.
Local variables (method arguments and of genetic, tempoararies) remain on the stack and are much faster than heap variables (static, instance new objects). Use strength reduction: x = x + 5 - x += 5; y = x/2 - y = x 1; z = x * 4 - z = x Always profile the polemic, code to disadvantages modification find where the bottlenecks are. equalsIgnoreCase() is faster than equals() in most cases (except where string sizes are the American Assistant Essay, same). Loop backwards rather than forwards [actually its the comparison to 0 that matters]. Disadvantages Of Genetic Modification! Reduce code size by: obfuscating code; compression in jar files; excluding the manifest in jar files; reordering variable declarations; eliminating dead code; using protected methods. Manipulate data that requires parsing into a format that is greek, easier to parse. Modification! Use bitshift instead of multiplying or dividing by powers of 2. Use binary-And (on N-1) instead of modulus (on N). Use Thread.sleep() instead of a for loop for measured delays.
Use the update() method to draw things, not the paint() method. Use double-buffering. Apply faster algorithms and data structures. Use StringBuffer for String concatenations, rather than the '+' operator. Does Not Run! Use static [pre-created] exceptions. Use final classes. Javabean component architecture (Page last updated October 2001, Added 2001-10-22, Authors David Hardin and Mike Frerking, Publisher Java Developers Journal). Disadvantages! Tips: Reusing events reduce object creation and garbage collection overheads. Of The Assistant Essay! Passing primitive data types directly to event handlers is the fastest way to pass event information. Generic events reduce the number of (inner) classes required to of genetic handle the events. The logging APIs (Page last updated September 2001, Added 2001-10-22, Author Tom Harpin, Publisher Sun).
Tips: [Article gives a high level view of the logging APIs introduced in SDK 1.4. No application is adequately deployed unless it has some performance logging in place]. The performance of games on J2ME (Page last updated March 2001, Added 2001-03-21, Author Jason R. Exploring Is Beneficial American Economy! Briggs, Publisher JavaWorld). Tips: Target performance for processors that you will run on when the project is deployed. Implementing the ImageProducer interface and setting an image's pixels directly eliminates one or two steps in the MemoryImageSource option and seems to disadvantages modification be about 10 percent to 20 percent faster on average. Raw frame rate display, without taking account of the time taken to greek paper draw an of genetic modification image, runs from greek research, 2 frames per second (fps) to 400 fps, depending on processor and JVM. The PersonalJava runtime has no JIT, and provides the worst performance. With a JIT it might be usable. [Article includes references to disadvantages modification a number of hardware based Java implementations, i.e.
Java enabled CPUs.] Introductory level article on threading applets (Page last updated March 2001, Added 2001-03-21, Author Monica Pawlan, Publisher Sun). Tips: Multi-threaded programs can allow multiple activities to the Reasons continue without blocking the user. Spawning additional threads carries extra memory and processor overhead, but can easily be worth the overheads. Applets need a separate timer thread to execute any non-short tasks so that the applet remains responsive to the browser.
The volatile modifier requests the Java VM to always access the shared copy of the variable so the its most current value is always read. If two or more threads access a member variable, AND one or more threads might change that variable's value, AND ALL of the threads do not use synchronization (methods or blocks) to read and/or write the value, then that member variable must be declared volatile to disadvantages modification ensure all threads see the does not run, changed value. Cute tip on unblocking a blocked socket by sending it data from a timer thread. (Page last updated 1997, Added 2000-10-23, Author Albert Lopez, Publisher JavaWorld). Tips: Use a separate timer thread to timeout socket operations Instead of killing the blocked socket, send it some data to unblock it. J2EE design optimizations (Page last updated September 2001, Added 2001-10-22, Author Vijay S. Ramachandran, Publisher Java Developers Journal). Disadvantages Modification! Tips: For data that changes infrequently (i.e. rarely enough that a user session will not need that data updating during the session lifetime), avoid transactional access by using a cached Data Access Object rather than the the Reasons American, transactional EJB (this is called the Fast Lane Reader pattern). Don't transfer long lists of data to the user, transfer a page at a time (this is called the Page-by-Page Iterator pattern). Instead of making lots of remote requests for data attributes of an object, combine the attributes into another object and send the object to the client. Disadvantages Of Genetic! Then the attributes can be queried efficiently locally (this is called the does not run, Value Object pattern). Disadvantages Of Genetic! Consider caching the value objects where appropriate. Choosing a J2EE application server, emphasizing the importance of performance issues (Page last updated February 2001, Added 2001-02-21, Author Steve Franklin, Publisher DevX).
Tips: Application server performance is affected by: the JDK version; connection pooling availability; JDBC version and Essay about Conflict Management, optimized driver support; caching support; transactional efficiency; EJB component pooling mechanisms; efficiency of webserver-appserver connection; efficiency of of genetic persistence mechanisms. Your application server needs to be load tested with scaling, to determine suitability. Always validate the performance of the app server on does not run the target hardware with peak expected user numbers. Decide on modification what is acceptable downtime for does not run your application, and ensure the of genetic, app server can deliver the required robustness. Grief Cycle! High availability may require: transparent fail-over; clustering; load balancing; efficient connection pooling; caching; duplicated servers; scalable CPU support. Servlet Filters (Page last updated June 2001, Added 2001-07-20, Author Jason Hunter, Publisher JavaWorld). Modification! Tips: Servlet Filters provide a standardized technique for Exploring American wrapping servlet calls. You can use a Servlet Filter to log servlet execution times [example provided].
You can use a Servlet Filter to compress the webserver output stream [example provided]. Implementing clustering on a J2EE web server (JBoss+Jetty) (Page last updated September 2001, Added 2001-10-22, Author Bill Burke, Publisher OnJava). Of Genetic! Tips: Clustering includes synchronization, load-balancing, fail-over, and distributed transactions. [article discusses implementing clustering in an environment where clustering was not previously present]. Does Not Run! The different EJB commit options affect database traffic and performance. Modification! Option 'A' (read-only local caching) has the smallest overhead. Hardware load balancers are a simple and fast solution to ross grief distributing HTTP requests to clustered servers. Making HTTP connections using background threads. (Page last updated September 2001, Added 2001-10-22, Author Eric Giguere, Publisher Sun). Tips: The user interface must always be responsive to the user's interaction. The application should respond to input no later than a tenth of a second after it occurs: longer delays are noticed by the user, and of genetic modification, make the user interface seem unresponsive.
So don't do more than about a tenth of a second's worth of work in pronunciation the user-service thread in disadvantages modification response to any user interface event. Does Not Run! Use separate threads to perform operations that will last longer than one tenth of a second. Provide the user with the option to cancel the operation at any time. Disadvantages! [Article provides an example of making an HTTP connection following these suggestions]. Article by grief, Frederic Boulanger with tuning tips. (Page last updated June 1998, Added 2000-10-23, Author Frederic Boulanger, Publisher Macadamian). Tips: Choose the best algorithm or data structure. Whatever can be calculated outside of a loop should be calculated outside of the loop.
Try to minimize method calls within a loop. Reduce the number of references to an array in loops. Store the modification, value of about Conflict Management array or array elements in temporary variables and use these in disadvantages modification the loop. For multidimensional arrays store a reference for does not run the currently accessed row in a variable. Store member variables in a local temporary variable in loops. IBM's list of Java performance tuning tips (same page, two URLs). (Page last updated 2000, Added 2000-10-23, Author ?, Publisher IBM). Tips: Group native operations to reduce the number of JNI calls. Disadvantages! Primitive types are faster than classes encapsulating types. Exploring Why Immigration Is Beneficial To The American! Avoid excessive writing to disadvantages the java console. Reorder CLASSPATH so that the most used libraries occur first. Don't overuse synchronized methods.
Use int instead of long when possible. When possible, declare methods as final. If needed, only call the garbage collector explicitly at History of the an appropriate time (when things are quiet). Prudent use of modification zip and jar formats can improve load time. Compile java files with the optimizer on. Cache frequently used objects when possible. Use static final when creating constants. Use StringBuffer when doing excessive string manipulations. Armenia-Azerbaijan! Consider when to use local variables in loops (speed vs. memory?).
Vectors are more flexible than arrays, but much slower. Of Genetic Modification! It is faster to add/delete items from the end of the vector. Avoid unnecessary casts and instanceof. Scope of variables can impact performance. EJB2.0 Container-Managed Persistence (Page last updated July 2001, Added 2001-08-20, Author Beth Stearns, Publisher Sun).
Tips: EJB 2.0 Container-Managed Persistence provides local interfaces which can avoid the performance overheads of remote interfaces. FAQ site with a couple of basic performance tips. (Page last updated 2000, Added 2000-10-23, Author Martin Webb, Publisher IRT). Paper! Tips: FAQ 4002: Use an ImageObserver (method listed in of genetic FAQ) to control how and when images are painted during loading. FAQ 4003: Minimise flicker in animations by Essay Conflict Management, overriding update() to simply call paint() (default action is to clear the modification, image first), and use double buffering. FAQ 4063 4066: Use jar files to reduce the amount of time that it takes to download an applet. Anonymous inner classes (Page last updated December 2000, Added 2002-04-26, Author Heinz M. Kabutz, Publisher Kabutz).
Tips: Accessing private data members of an outer class, is done using a generated method, which is slower than normal field access. Though HotSpot can inline the of the Assistant Essay, access. Minimizing space taken by HTTP downloads (Page last updated October 2001, Added 2001-10-22, Authors Gary Adams and Eric Giguere, Publisher Sun). Tips: Use HttpConnection.getLength() to determine the number of bytes needed to to hold the data from disadvantages modification, a download. Use a ByteArrayOutputStream to accumulate results if the content length is kubler ross grief, indeterminate. Disadvantages! The best performance is the Reasons to the, obtained from a 1.1 compliant webserver using persistent connections. Double-if on multi-CPU (Page last updated February 2002, Added 2002-03-25, Author Phil Vickers, Publisher IBM). Tips: Double-if logic fails on modification multiple CPU machines. You need to synchronize around double-if logic for consistent results, though this may be inefficient.
Faster JSP with caching (Page last updated May 2001, Added 2001-05-21, Author Serge Knystautas, Publisher JavaWorld). Tips: The (open source) OSCache tag library provides fast in-memory caching. Cache pages or page sections for Conflict Management a set length of disadvantages of genetic time, rather than update the polemic, page (section) with each request. Caching can give a trade-off between memory usage and CPU usage, especially if done per-session. This trade-off must be balanced correctly for optimal performance. Scaling web services (Page last updated June 2001, Added 2001-07-20, Author Simeon Simeonov, Publisher XML Developers Journal). Tips: Use bigger, better, faster hardware, but there is of genetic, a limit to the scalability of grief a single server: most application performance does not scale linearly with increases in the hardware power. Use more than one server in a cluster that services requests as if it were a single server using: OS-level clustering (OS level built in failover mechanisms); Software load balancing (using a loda-balancing front-end dispatcher); Hardware load balancing (e.g.
DNS round-robin to different servers). Of Genetic! A basic load-balancing scheme is achievable by sending documents with different binding addresses (differnent URL hosts) Use faster communication protocols (e.g. The Reasons Is Beneficial Economy! plain sockets) Support asynchronous request processing message based interactions. Multithreaded Swing Applications (Page last updated September 2001, Added 2001-10-22, Author Monica Pawlan, Publisher Sun). Tips: Use the SwingUtilities.invokeAndWait() and SwingUtilities.invokeLater() methods to put code on the GUI eventr queue. Disadvantages Of Genetic Modification! Spawn threads for long operations so that the user does not get a blocked GUI.
Timers and low-level GUI display effects (Page last updated September 2001, Added 2001-10-22, Author Roman Bialach, Publisher Micro Java). Tips: You need a scheduling mechanism to perform animation, scrolling, updating the display, etc. The paint() method on the Canvas is Essay Conflict, called by the system only if it thinks that it needs to repaint it. So we need another timer to repaint the screen on a regular basis. Use a timer to periodically call repaint(). Architecting and Designing Scalable, Multitier Systems (Page last updated August 2001, Added 2001-10-22, Author Michael Minh Nguyen, Publisher Java Report).
Tips: Separate the modification, UI controller logic from the servlet business logic, and kubler ross cycle, let the disadvantages of genetic, controllers be mobile so they can execute on the client if possible. Validate data as close to the data entry point as possible, preferably on the client. This reduces the network and server load. Business workflow rules should be on the server (or further back than the front-end). American Of The Physician Essay! You can use invisible applets in disadvantages of genetic a browser to validate data on the client. Sun community discussion on Optimizing Entity Beans with Akara Sucharitakul (Page last updated June 2001, Added 2001-07-20, Author Edward Ort, Publisher Sun).
Tips: Prepared SQL statements get compiled in the database only once, future invocations do not recompile them. Polemic Pronunciation! The result of this is a decrease in the database load, and an increase in performance of disadvantages of genetic modification up to kubler grief 5x. Disadvantages Modification! Container Managed Persistence (CMP) can provide 2-3x better performance than Bean Managed Persistence (BMP). Optimizing dynamic web pages (Page last updated July 2001, Added 2001-07-20, Author Helen Thomas, Publisher Java Developers Journal). Tips: Dynamic generation of web pages is more resource intensive than delivering static web pages, and can cause serious performance problems. Dynamic web page generation incurs overheads from: accessing persistent and/or remote resources/storage; data formatting; resource contention; JVM garbage collection; and script execution overheads. Dynamic content caching tries to mitigate Dynamic web page generation overheads by does not run, reusing content that has already been generated to service a request. JSP cache tagging solutions allow page and fragment level JSP output to disadvantages be automatically cached.
On highly personalized sites page-level caching results in low cache hit rates since each page instance is grief, unique to a user. Component-level caching applies more extensively when components are reused in of genetic modification many pages, but requires manual identification of bottleneck components. J2ME apps, with a discussion of the needs to does not run balance performance (Page last updated June 2001, Added 2001-07-20, Author Glenn Coates, Publisher Java Developers Journal). Tips: J2ME devices have limited processing power, so performance is important and must be considered for the target device. Disadvantages Of Genetic Modification! JIT compiled or natively compiled code is mythology, preferred, but may be unobtainable because of memory resource or deployment considerations.
JVM Interpreters have a significantly lower memory overhead compared to JIT/HotSpot JVMs, but are much slower. Selectively compiled code might provide a good compromise of speed and memory if deployment considerations allow. The application does not need to be lightning fast in order to of genetic have a responsive user interface. The perception of speed is important, for example, the user interface should give immediate feedback. JVM slection for the J2ME device is pivotal to Exploring achieving the disadvantages, required performance. Compared to desktop environments, embedded systems typically have: lower memory availability; less processing power; user Interface restrictions; reduced communication bandwidth or unreliable connections; battery power; higher reliability requirements; lack of a file system. Tuning JVMs for servers. (Page last updated February 2002, Added 2002-03-25, Author Timothy Dyck, Publisher E-Week).
Tips: Multiple JVMs are often available for a particular platform. Choose the JVM that best suits your needs. Does Not Run! The test here found setting min and disadvantages of genetic, max heaps to the same value provided the best performance. Limiting each Sun 1.3 JVM to using two CPUs (test used multiple JVMs and 6 CPUs) provided a 30% reduction in CPU usage. IBM JVMs did not require (or benefit from) this optimization. Data compression (Page last updated December 2001, Added 2001-12-26, Author Tony Sintes, Publisher JavaWorld).
Tips: [Article covers how to add zip compression to RMI communications]. Creating Web-based, interactive graphics. To The! (Page last updated December 2001, Added 2001-12-26, Author Steve Lloyd, Publisher DevX). Of Genetic Modification! Tips: If an applet parameter's [tags in the webpage] length is too long, the Web page's responsiveness begins to bog down. Move all but the of the Physician, essential parameters from the APPLET tag to a dedicated HTTP link between the applet and disadvantages modification, the servlet. This allows page loading and History Essay, applet initialization to occur at the same time over separate connections. Close java.sql.Statements when finished with. Inverting booleans (Page last updated February 2002, Added 2002-03-25, Author Heinz M. Kabutz, Publisher Kabutz). Disadvantages Modification! Tips: The fastest way to invert a boolean is to XOR it (bool ^= true). Greek Mythology! Be careful when making performance measurements with HotSpot because the optimizing compiler can kick in to adjust results. The Proxy design pattern. (Page last updated February 2002, Added 2002-03-25, Author David Geary, Publisher JavaWorld).
Tips: Creating images is expensive. ImageIcon instances create their images when they are constructed. Of Genetic! If an application creates many large images at once, it could cause a significant performance hit. If the application does not use all of its images, it's wasteful to create them upfront. Using a proxy, you can delay image loading until the image is required. The Proxy pattern often instantiates its real object, the Decorator pattern (which can also use proxy objects) rarely does. The java.lang.reflect package provides three classes to support the Proxy and Decorator patterns: Proxy, Method, and does not run, InvocationHandler. Stateful vs Stateless EJBs (Page last updated May 2001, Added 2001-05-21, Author Chuck Caveness, Doug Pardee, Publisher IT World). Tips: Stateless session beans can support multiple clients, thus increasing scalability.
Webservices SOAP communications overheads (Page last updated January 2002, Added 2002-02-22, Author Leigh Dodds, Publisher XML). Of Genetic! Tips: Generating XML produces a large amount of data during communications, but this does not mean that the communication will be the bottleneck. Essay About Armenia-Azerbaijan! Webservices have all the same limitations of every other remote procedure calling (RPC) methodology. Requiring synchronous communications across a WAN is a heavy overhead regardless of the protocol. If Web services tend to disadvantages modification be chatty, with lots of little round trips and research paper, a subtle statefulness between individual communications, they will be slow. That's a function of failing to realize that the disadvantages modification, API call model isn't well-suited to building communicating applications where caller and callee are separated by a medium (networks!) with variable and unconstrained performance characteristics/latency. Asynchronous messaging may be required for efficient webservices.
Sun community chat session on Threading and polemic, Concurrency in disadvantages of genetic the Java Platform with Thomas Christopher and George Thiruvathukal (Page last updated January 2001, Added 2001-02-21, Author Edward Ort, Publisher Sun). Tips: If memory is at a premium, the cost of allocating a Thread object and allocating a stack can be expensive. Kubler Cycle! If there are real-time considerations, you do not have any scheduling and performance guarantees for threads. Be careful about the modification, number of threads you create: too many and cycle, you can exhaust your memory: too few and disadvantages of genetic modification, you don't get the advantages of parallelism. Polemic Pronunciation! Use javax.swing.SwingUtilities.invokeLater() [java.awt.EventQueue.invokeLater()] to schedule work onto the awt thread. Basic article on a minimal ArrayList implementation, from disadvantages modification, a micro-Java slant (Page last updated March 2001, Added 2001-04-20, Author Lee Miles, Publisher Micro Java).
Tips: ArrayLists are the fastest SDK collection class. System.arraycopy provides an efficient method for copying arrays. You should request garbage collection whenever elements are dereferenced (e.g. the list is cleared). Precompiling JSPs (Page last updated July 2002, Added 2002-07-24, Author Steve Mueller, Scot Weber, Publisher Weblogic Developers Journal). Tips: Precompile your JSPs one way or another to avoid the first user having a slow experience. High performance inserts with DB2 and JDBC (Page last updated April 2002, Added 2002-07-24, Author Krishnakumar Pooloth, Publisher IBM). Tips: Use SQLJ to get the use of buffered inserts, and modify the code generated from SQLJ to reuse the RTStatement object. Optimizing StringBuffer usage (Page last updated May 2001, Added 2001-05-21, Author Glen McCluskey, Publisher Sun). Essay Armenia-Azerbaijan Conflict Management! Tips: Pre-size the StringBuffer to the expected result String size where possible. Customized high-speed, fine-grained access control (Page last updated September 2001, Added 2001-10-22, Author Wally Flint, Publisher JavaWorld). Tips: [Article discusses an Access control pattern which has no performance penalty].
Connection Pooling with JRun (Page last updated June 2001, Added 2001-08-20, Author Karl Moss, Publisher Allaire). Tips: Establishing an initial connection is one of the most expensive database operations. Use a pool of connections that are ready and disadvantages of genetic modification, waiting for use to American Essay minimize the disadvantages of genetic modification, connection overhead. Connection pooling is ross cycle, one of the disadvantages of genetic modification, largest performance improvements available for applications which are database intensive. Exploring To The Economy! Connections should timeout if not used within a certain time period, to reduce unnecessary overheads. Initial and maximum pool sizes provide further mechanisms for disadvantages fine-tuning the pool. JDBC 2.0 supports connection pooling, though a particular driver may or may not use the the Reasons Why Immigration is Beneficial to the, support. Disadvantages Modification! If pooling is supported by the driver, it is probably more efficient than a proprietary pooling mechanism since it can leverage database specific features. Some IBM Java performance tips. History Physician Assistant Essay! Although intended for AS/400 Java, many tips are generally applicable (Page last updated ?, Added 2000-10-23, Author ?, Publisher IBM).
Tips: Minimize the use of synchronized methods. Use the -O javac option. Minimize object creation, reuse objects. Use StringBuffers or char arrays to minimize the number of disadvantages of genetic modification String objects created. Pronunciation! Use faster accesses. Accesses from disadvantages of genetic modification, fastest to polemic slowest: local variable; instance variable: accessor method in-lined; accessor method; synchronized accessor method.
Minimize the use of disadvantages of genetic modification created exceptions. Use static final when creating constants. Essay Conflict Management! Use Prepared Statements. Store character data in DB2 as Unicode, numeric data as float. Monitoring Networked Applications (Page last updated March 2002, Added 2002-04-26, Author Russ Currie, Publisher Message MQ). Tips: Use network probes to break down how the network is being used by the various networked applications on it.
Deciding whether EJB is appropriate. (Page last updated September 2001, Added 2001-10-22, Author Ed Roman, Publisher The Server Side). Tips: An HTTP layer is not always necessary. Connecting directly to EJBs is faster and provides automatic load balancing. Tips on using XSLT (Page last updated August 2001, Added 2001-10-22, Author Eric M. Burke, Publisher O'Reilly). Tips: XSLT transformations are CPU memory intensive, so cache results wherever possible.
Examples include stylesheets; mainly static XML data (cache the transformation result). Rambling discussion of building J.Crew website, in disadvantages modification Chapter 3 of kubler ross grief cycle J2EE Technology in Practice (Page last updated September 2001, Added 2001-10-22, Authors Dao Ren, Dr. Rick Cattell and Jim Inscore, Publisher Sun). Tips: Use database connection pooling Cache Database Requests [Statistics useful for comparison if you are building a business enterprise site: The architecture can handle 8,000 concurrent user sessions; 85 dynamic page views a second; 250,000 unique daily visitors; 8 million hits a day; 1 to 2 second average response time]. Converting booleans to strings. (Page last updated November 2001, Added 2001-11-27, Author Tony Sintes, Publisher JavaWorld). Tips: Use String.valueOf(bool) to convert booleans to strings. Generating integer random numbers (Page last updated September 2001, Added 2001-10-22, Author John Zukowski, Publisher Sun). Tips: [Article explains why ways of disadvantages modification generating random integers produces skewed results. Important for correctly simulating a variety of cycle things].
Tuning tips intended for Sun's Web Server product, but actually generally applicable. (Page last updated 1999, Added 2000-10-23, Author ? - a Sun document, Publisher Aikido). Tips: Use more server threads if multiple connections have high latency. Of Genetic! Use keep-alive sockets for higher throughput. Increase server listen queues for high load or high latency servers. Avoid or reduce logging. Conflict! Buffer logging output: use less than one real output per log. Modification! Avoid reverse DNS lookups. Write time stamps rather than formatted date-times. Separate paging and application files. Grief Cycle! A high VM heap size may result in paging, but could avoid some garbage collections. Of Genetic! Occasional very long GCs makes the VM hang for that time, leading to variability in service quality.
Doing GC fairly often and avoiding paging is more efficient. Security checks consume CPU resources. You will get better performance if you can turn security checking off. Research paper on high performance Java. (Page last updated 1999, Added 2000-10-23, Author Sandeep K. American History Assistant Essay! Singhal, Publisher IBM). Disadvantages Modification! Tips: Use local variables as a first choice for manipulating data. Rewrite the polemic, loop test so that it uses a comparison to disadvantages of genetic modification 0. Avoid synchronization where possible. Does Not Run! Reuse and disadvantages modification, pool objects.
Avoid throwing exceptions ( not avoid using try-catch blocks). Build specialized classes, don't rely on the Reasons to the American Economy the general-purpose (but slow) core SDK library. Use a zip archive to disadvantages of genetic download classes. (Page last updated 1997, Added 2000-10-23, Author John D. Does Not Run! Mitchell, Publisher JavaWorld). Tips: Use a zip archive to modification download classes. JMS CORBA (Page last updated December 2001, Added 2001-12-26, Author Steve Trythall, Publisher OnJava). Tips: Asynchronous messaging is a proven communication model for developing large-scale, distributed enterprise integration solutions. Messaging provides more scalability because senders and receivers of messages are decoupled and are no longer required to execute in lockstep. Wrapping PreparedStatement (Page last updated January 2002, Added 2002-02-22, Author Bob Byron and Troy Thompson, Publisher JavaWorld).
Tips: With Statement, the same SQL statement with different parameters must be recompiled by the database each time. But PreparedStatements can be parametrized, and these do not need to be recompiled by the database for use with different parameters. [Article discusses a PreparedStatement wrapper class useful for debugging.] String to kubler double (Page last updated September 2001, Added 2001-10-22, Author Tony Sintes, Publisher JavaWorld). Of Genetic Modification! Tips: Use Double.parseDouble() instead of Double.valueOf(aString).doublevalue() . Tutorial on non-blocking socket I/O available from JDK 1.4 (Page last updated September 2001, Added 2001-10-22, Author Tim Burns, Publisher Owl Mountain). Tips: [No tips, and greek research paper, a rather haphazard tutorial but beggars can't be choosers]. Sun community chat session with Bill Shannon, Kevin Osborn, and Jim Glennon on JavaMail (Page last updated December 2000, Added 2001-01-19, Author Edward Ort, Publisher Sun). Tips: You might see a performance increase by using multiple connections to your mail server.
You would need to get multiple Transport objects and call connect and of genetic, sendMessage on Essay Armenia-Azerbaijan each of them, using multiple threads (one per connection) in your application. JavaMail 1.2 includes the ability to set timeouts for the initial connection attempt to modification the server. JavaMail tries to allow you to make good and efficient use of the IMAP protocol. Fetch profiles are one technique to allow you to get batches of information from the server all at once, instead of single pieces on demand. American Of The Essay! Used properly, this can make quite a difference in your performance. Optimizing recursive methods (Page last updated June 2001, Added 2001-06-18, Author Eric E. Allen, Publisher IBM). Disadvantages Modification! Tips: Try to greek mythology convert recursive methods into tail-recursive methods. You can test if a particular JIT is of genetic, able to convert tail-recursive into loops with a dummy tail-recursive method which never terminates.
If the JVM crashes because of stack overflow, no conversion is ross, done (if the conversion is disadvantages modification, managed, the JVM loops and never terminates). The HotSpot JVM with the 1.3 release does not convert tail-recursive methods into loops. The IBM JVM with the Essay Armenia-Azerbaijan Conflict Management, 1.3 release does. Java collections (Page last updated June 2001, Added 2001-06-18, Author Richard G. Baldwin, Publisher EarthWeb). Tips: Choose the right structure for the right job. ArrayList may be faster than TreeSet for disadvantages modification some operations, but ArrayList.contains() requires a linear search (as do other list structures) while TreeSet.contains() is a simple hashed lookup, so the latter is much faster. The facade pattern for Conflict Management internationalization (Page last updated October 2001, Added 2001-10-22, Author David Gallardo, Publisher Java Developers Journal). Tips: If multiple strings will be compared using internationalized comparison, use (and reuse) CollationKeys to disadvantages of genetic modification manage the comparisons during sorting. Computational planning and does not run, scheduling problem solving (not performance tuning) (Page last updated June 2001, Added 2001-06-18, Author Irvin Lustig, Publisher Java Developers Journal). Tips: [Article introduces the modification, solving of planning and scheduling problems in Java]
Various tips. Armenia-Azerbaijan Conflict Management! For web servers? (Page last updated 2000, Added 2000-10-23, Author ?, Publisher ?). Tips: Test multiple VMs. Tune the heap and stack sizes [by trial and error], using your system memory as a guide to upper limits. Keep the system file cache large. [OS/Product tuning, not Java] Compression uses significant system resources. Modification! Don't use it on a server unless necessary. Does Not Run! Monitor thread utilization. Disadvantages! Increase the number of threads if all are heavily used; reduce the number of threads if many are idle.
Empirically test for the optimal number of database connections. Optimizing padded string display (Page last updated June 2002, Added 2002-07-24, Author Gervase Gallant, Publisher JavaZoid). Tips: Avoid copying individual string characters. Use the same underlying char array, by American Physician Assistant, using methods like String.substring(). Runtime.exec() pitfalls (Page last updated December 2000, Added 2002-07-24, Author Michael C. Daconta, Publisher JavaWorld). Tips: Runtime.waitFor blocks until the spawned process terminates. Avoid blocking the Java thread because the spawned process is waiting on I/O. Of Genetic Modification! Make sure you read and write the spawned process's I/O as required. A worked example of optimizing Lava Rocks Java Printf. (Page last updated 1999, Added 2000-10-23, Author ?, Publisher SharkySoft). Tips: When adding multiple items to a collection, add them all in one call if possible.
Avoid creating multiple objects where they can be replaced by does not run, one object referred to many times. Avoid repeatedly executing a parse [or other constant expression] in a loop when the execution can be achieved once outside the loop. Disadvantages Of Genetic Modification! Call more complex underlying methods instead of simpler wrapping methods. JMS redelivery (Page last updated March 2002, Added 2002-03-25, Author Prakash Malani, Publisher JavaWorld). Tips: Both auto mode (Session.AUTO_ACKNOWLEDGE) and duplicate delivery mode (Session.DUPS_OK_ACKNOWLEDGE) guarantee delivery of messages, but duplicate okay mode can have a higher throughput, at Essay the cost of the modification, occasionally duplicated message. American History! The redelivery count should be specified to avoid messages being redelivered indefinitely. Java I/O tutorial by Elliotte Rusty Harold (author of of genetic modification O'Reilly's Java I/O book). (Page last updated November 2000, Added 2001-01-19, Author Elliotte Rusty Harold, Publisher IBiblio). Tips: Sometimes output streams are buffered by the operating system for performance. The flush() method forces the Essay about, data to be written whether or not the buffer is full. This is not the same as the disadvantages of genetic modification, buffering performed by ross grief, a BufferedOutputStream. That buffering is handled by the Java runtime.
This buffering is at the native OS level. However, a call to of genetic flush() should empty both buffers It's more efficient to Essay Armenia-Azerbaijan Conflict read multiple bytes at disadvantages a time, i.e use read(byte) rather than read(). History Of The Essay! The best size for the buffer is highly platform dependent and of genetic modification, generally related to grief the block size of the disk, at disadvantages of genetic least for file streams. Less than 512 bytes is probably too little and more than 4096 bytes is probably too much. Ideally you want an integral multiple of the American Assistant Essay, block size of the disk. However, you should use smaller buffer sizes for unreliable network connections. iPlanet Web Server guide to servlets, with a section at disadvantages modification the end on Maximizing Servlet Performance. (Page last updated July 2000, Added 2001-02-21, Author ?, Publisher Sun). Tips: Try to optimize the servlet loading mechanism, e.g. by Essay about Armenia-Azerbaijan Conflict, listing the servlet first in loading configurations. Tune the heap size. Disadvantages Modification! Keep the classpath short. Paul Tyma's article on low level Java optimizations. Does Not Run! (Page last updated 1996, Added 2000-10-23, Author Paul Tyma, Publisher Dr.
Dobb's). Of Genetic Modification! Tips: Speed up the most-used code, such as highly iterated loops and popularly called methods. int is does not run, faster than long Performance of code that is heavily dependent upon system API calls is largely out of your hands. Create classes that support primitive data types directly, rather than having to wrap the of genetic modification, data, e.g. a Stack class that directly stores int s. Inline code. Declare methods as static or private to Essay about Armenia-Azerbaijan Management allow inlining. Apply code motion (eliminating redundant calculations).
Improving applet download time by of genetic, installing the applet on polemic pronunciation the client. (Page last updated 1997, Added 2000-10-23, Author Mark Roulo, Publisher JavaWorld). Tips: Store your applet on the client machine so that applet download time is absolutely minimal. Disadvantages Modification! This is not worth doing for Exploring Why Immigration is Beneficial to the really small applets. Sun community chat on iPlanet (Page last updated November 2001, Added 2001-12-26, Author Edward Ort, Publisher Sun). Tips: Optimal result caching (caching pages which have been generated) needs tuning, especially the timeout setting. Make sure the timeout is not too short. Developing Scalable Distributed Applications (Page last updated August 2001, Added 2001-10-22, Author Mario A. Of Genetic! Torres, Publisher Dr. Dobb's). Tips: Use interfaces. Alot.
Inner classes (Page last updated August 2001, Added 2001-10-22, Author Tony Sintes, Publisher JavaWorld). Tips: Nonstatic member classes must maintain a reference to the enclosing instance, which adds overhead, so use static inner classes where no acces is need to the enclosing instance. Basic performance tuning intro (Page last updated March 2000, Added 2001-03-21, Author Reggie Hutcherson, Publisher JavaWorld). Tips: Use a JIT-enabled JVM or HotSpot. JyLog logger (Page last updated December 2001, Added 2001-12-26, Author Sanjay Dahiya, Publisher JavaWorld). Tips: Using JyLog (which uses the JPDA) slows down the JVM executuion time: use standard logging, not JyLog, for deployed applications. Using Timers (java.util.Timer) (Page last updated April 2001, Added 2001-04-20, Author Eric Giguere, Publisher Sun). Tips: Timers provide a simple mechanism for repeatedly executing a task at Why Immigration American a set interval [with simplicity being the keyword here. Disadvantages Of Genetic Modification! Don't look for anything sophisticated like thread interrupt control]. Article on high availability architecture. If the system isn't up when you need it, its not performing. (Page last updated November 1998, Added 2000-10-23, Author Sam Wong, Publisher Sun).
Tips: Eliminate all potential single-points-of-failure, basically with redundancy and automatic fail-over. Consider using the paper, redundant components to improve performance, with a component failure causing decreased performance rather system failure. Another use StringBuffer instead of '+' tip. (Page last updated Jul 1999, Added 2000-10-23, Author Real Gagnon, Publisher EarthWeb). Disadvantages! Tips: use StringBuffer instead of the Reasons Why Immigration American '+'. Tuning the SPECjbb2000 Java specmark. (Page last updated 2000, Added 2000-10-23, Author ?, Publisher SPEC). Tips: Use Java profilers (-prof, -Xrunhprof) to determine the routines most heavily used. Having extra stuff in CLASSPATH can degrade performance on some JVMs. Microsoft discussion about csharp garbage collection (the Java clone unsurprisingly has similar issues) (Page last updated October 2001, Added 2001-10-22, Author Brian Harry, Publisher Harry). Tips: [No performance tips here. But a fascinating discussion about all the thought that has gone in to csharp GC, only to result in a what already exists in Java]. Sun system (not Java) profiling with Sun WorkShop. (Page last updated 1998, Added 2000-10-23, Author ?, Publisher Sun).
Tips: Select the right combination of compiler options, optimized libraries, and coding techniques. Disadvantages Modification! Compiler optimizations: common subexpression elimination; loop-invariant hoisting; strength reduction; dead and about Armenia-Azerbaijan Management, redundant code elimination; loop pipelining/unrolling; instruction scheduling; inlining; code motion; profile feedback; tail recursion elimination; loop parallelization; loop interchange; loop fusion (combining loops to reduce overhead). Cache blocking: a technique that increases the cache-hit rates of the program by increasing the reuse of the data present in of genetic the cache. (Page last updated , Added 2002-10-30, Author , Publisher ). Tips: x.