needed occupying space withoutusability. Gettingdeeper a little bit about what I just said, look at this code downhere and imagine how simple and how many objects are created. Stringvar1= newString("Let'sSurf"); Stringvar2= "In Rio";//attributingvalueinRio tovar2 System.out.println(var2);//print:In Rio var2= var1+var2;//attributingvalueof var1+var2tovar2 again System.out.println(var2);//Let'sSurf In Rio var2.concat("Baby!");//changevalue without giving its reference System.out.println(var2);//printvalue:Let's Surf In Rio var2= var2.concat("!");//oknow with its reference System.out.println(var2.toUpperCase());//upppercase without reference var2.toUpperCase(); System.out.println(var2);//asthe reference hadn't been done nothing happened Console:InRioLet'sSurf In RioLet'sSurf In RioLET'SSURF IN RIO!Let'sSurf In Rio! Wouldyou know how many objects we created up here? Takea deep breath, and let's understand what happened with that code wejust saw. At the beginning we can see a traditional instantiation ofa string object and its reference's to a variable var1, thesame thing is done on the second line but now with var2. Afterprinting var2 value in the third line, a new string object iscreated with the concatenation of two variables var1 and var2,after creating an object a reference to the variable var2 isdone, and its old object containing the In Rio value becamelost on our heap. We can verify that on the next line when we printthe var2 object reference's and see that its value has beenchanged. On the next line another string object is created nowincreasing the text with the word Baby!, but as this objectisn't referencing to any variable, this object will be lost on theheap with the others string objects. Different to what happen when wecompare with the next lines where we add an exclamation mark at theend of the text but give reference to the var2 variable. Onthe three ending lines where we can ratify what we have seen here is,that on using the toUpperCase() method anew string is created, but asyou already know, withoutgiving its reference thestring won't be able to be used again onces the variable won't bepointing to its variable. Lookthe graphics bellow and see if you understand them. Thefirst graphics represents the first and second line and the secondgraphic represents the fourth where the concatenation happened tocreate another string object. Theobject with the string Let's Surf in Rio Baby didn'treceived any reference as itwas created as you can see onthe next figure. Aswe already explained inthisgraphic the concatenation with the exclamation mark andthe last lines where the text is redone in a upper case character by using the method toUpperCase. Understandingeverything to here, you will have learned most part of what you willneed about strings. But let's continue... Isalways good to know when you are or not creating a new string object,so once you already learned when a string object is created, we willsee when it is not created. A String object is not created when: Is referenced to another object; Its variable is started with a hard-code and its value is already in our pool. Thefirst item should not be surprise for you, if we point a object toanother object the same values and memory they will share. This don'thappen only when using strings but any kind of java object. String var3 = "um";String var4 = var3;// reference to same object Oursecond item is a