Thanks for your reply henry.i will be thankful if u can reply to below
question.

@Henry.@Sang Shin
It could be easier to understand the below concept with a simple working
java example.

One major advantage of immutable classes is that they are thread safe.
Could be shared between multiple threads. ----can you explain this point
with a simple java example ??

Regards,
Deepak
On Jul 5, 2015 9:31 PM, "henry joe" <[email protected]> wrote:

> Hi,
>
>
> Another Clarification
>
> *One major advantage of immutable classes is that they are thread safe.
> Could be shared between multiple threads. ----can you explain this point
> with a java example ??*
>
> I can't just come up with an example but here is a further explanation.
> Another way to think of an immutable classes is that they are read-only .
> That is you can only read them but can't modify them. That was the purpose
> of making them immutable in the first place. In multithreaded application,
> the situation arise that there is a race condition when two threads try to
> access a common shared resources at the same. Supposing thread A has to
> check the value of the valueCounter and based on the value do something.
> So, let's say :
>
> if(valueCounter==0) //add 1 valueCounter+=valueCounter;
>
> Now, since the thread scheduling algorithm can swap between threads at any
> time. Thread B could be given the opportunity by the scheduling algorithm
> to access that mutable variable valueCounter and change the value. So,
> imagine this scenario:
>
> thread A is scheduled, checked that the value of valueCounter  is 0 but
> just as it was about to add 1 to it, thread B is suddenly given the spot by
> the thread scheduler, which just increments the value of valueCounter to 1.
> Now, thread A is given the spot again but this time, the valueCounter is no
> more 0 but 1. So, instead of return 1, it returned 2. which is a wrong
> result for the user.  Ok, this is just an example off my head but you get
> the idea. Now, the reason for this is because that variable valueCounter is
> not read-only. If it were read-only, then A will only read it but won't
> update it, B will also read it and won't update it because you can't update
> it. Hope this clarifies it further.
>
>
> *In Question. 2 how do i instantiate MyOwnImmutableClass. how do i run
> this program. ??*
>
> Just as you would instantiate a non immutable class.
>
> public static  void main(String[] args){
>
> final MyOwnImmutableClass myOwnImmutableClass = new MyOwnImmutableClass();
>
>
> *}*
>
>
> Regards,
> Deepak
>
> On Sun, Jul 5, 2015 at 12:33 PM, Deepak A L <[email protected]>
> wrote:
>
>> Another Clarification
>>
>> One major advantage of immutable classes is that they are thread safe.
>> Could be shared between multiple threads. ----can you explain this point
>> with a java example ??
>>
>> In Question. 2 how do i instantiate MyOwnImmutableClass. how do i run
>> this program. ??
>>
>> Regards,
>> Deepak
>> On Jul 5, 2015 2:55 PM, "Deepak A L" <[email protected]> wrote:
>>
>>> In Question. 2 how do i instantiate MyOwnImmutableClass. how do i run
>>> the program ??
>>>
>>> Regards,
>>> Deepak
>>> On Jul 5, 2015 2:38 AM, "henry joe" <[email protected]> wrote:
>>>
>>>> *1. What is Java Immutable class.?*
>>>>
>>>> An immutable class is one whose object of that class is created, it
>>>> cannot be modified
>>>>
>>>>
>>>> *2. Write a java Immutable class.*
>>>>
>>>> public final class MyOwnImmutableClass{
>>>>
>>>> private final name;
>>>>
>>>> public String getName(){return name;}
>>>>
>>>> }
>>>>
>>>> That is it! To make a class immutable, ensure the class is final, hence
>>>> cannot be extended, the fields are final hence cannot be modified and no
>>>> setter method should be provided to such class.
>>>>
>>>>
>>>>
>>>> *3. Advantages of java Immutable class.*
>>>>
>>>> One major advantage of immutable classes is that they are thread safe.
>>>> Could be shared between  multiple threads
>>>>
>>>>
>>>> *4. Disadvantages of java Immutable class. *
>>>>
>>>> In extreme cases, they could slow down . Read this stack overflow for
>>>> more on this ==>
>>>> http://stackoverflow.com/questions/752280/downsides-to-immutable-objects-in-java
>>>>
>>>>
>>>> *5. Any impact of Java Immutable class on Performance ? *
>>>>
>>>> Well, both the advantageous and disadvantageous characteristics impact
>>>> your class performance.
>>>>
>>>>
>>>>
>>>> *6.If you have any other points on Java Immutable class.please advise.*
>>>>
>>>> My advice, might not worth it, I haven't seen this used in most of my
>>>> coding. So, I can't advice you much on it. Perhaps, other more experienced
>>>> developers could shed more light on practical application of immutable
>>>> classes. I only use the String and wrapper classes in Java for my needs.
>>>> Never bothered to write mine in real applications.
>>>>
>>>>
>>>> On Fri, Jul 3, 2015 at 6:48 PM, Deepak A L <[email protected]>
>>>> wrote:
>>>>
>>>>> hi pple
>>>>> i have below queries
>>>>>
>>>>> 1. What is Java Immutable class.?
>>>>> 2. Write a java Immutable class.
>>>>> 3. Advantages of java Immutable class.
>>>>> 4. Disadvantages of java Immutable class.
>>>>> 5. Any impact of Java Immutable class on Performance ?
>>>>> 6.If you have any other points on Java Immutable class.please advise.
>>>>>
>>>>> Regards,
>>>>> Deepak
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "JPassion.com: Java Programming" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> Visit this group at http://groups.google.com/group/jpassion_java.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"JPassion.com: Java Programming" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at http://groups.google.com/group/jpassion_java.
For more options, visit https://groups.google.com/d/optout.

Reply via email to