Wednesday, January 19, 2011

Why String is Immutable?

After hearing a lot of discussions regarding immutability of String class, I have decided to write this post. This is a common question asked in interviews.

Before talking about immutability of string, I would like to discuss generically about immutable objects.

Immutable Objects are those objects whose state can not be changed after construction.

Properties of immutable objects are as follows:Class should be final (to ensure it can't be overridden)
  • Data members (fields) should be private and final
  • Class should not provide any mutator method which can change the state of any data member

Advantages:
  • Thread safety (we need not to take care of synchronization issues)
  • Need not to provide copy constructor, clone method
  • Need not to be defensively copied as you can not change state after construction
  • Good to be used as keys for Map or Set as you can not change the state

Looking into string Class
String is final, doesn't provide any mutator and data members are private and final thus it is immutable.

Philosophy behind making could be:
  • String is extensively used in any java application and passed across methods, you need not to worry if some one can change your object,
  • In multi-threaded application you need not to worry about synchronization
  • String is heavily used as key to maps and sets you will get same hash code as its state can not be changed
  • Apart from this the immutable String class ensures that
    security-sensitive APIs only have to check the file name or host name
    once, and can then rely on it to stay the same as you can not change the same object.
Apart from String, other immutable classes are Integer, Float etc. all Wrapper classes.

Friday, February 27, 2009

मधुमेह, डायबिटीस कारण और निवारण

Diabetese (मधुमेह) उपापचय metabolic व्यतिक्रम के कारण होता है । मधुमेह में शरीर द्वारा insulin नाम का हार्मोन बनाना या तो कम हो जाता है या बंद हो जाता है । Insulin का काम शरीर में शर्करा (sugar), स्टार्च और अन्य भोज्य पदार्थों को उर्जा में बदलना है। इसके बनने में व्यतिक्रम होने से शर्करा, स्टार्च इत्यादी ऊर्जा में नहीं बदल पाते जिससे शरीर में कमजोरी और शर्करा की मात्र में अधिकता हो जाती है।
मधुमेह मुख्य रूप से तीन प्रकार की होती है:
१। टाइप १ - डायबिटीस
२। टाइप २ - डायबिटीस
जेस्तेशनल डायबिटीस

टाइप १ - डायबिटीस और टाइप २ - डायबिटीस
अव्यवस्थित दिनचर्या के कारन होता है जबकि जेस्तेशनल का कारन अन्य परिस्थितियाँ होती हैं मुख्य रूप से गर्भावस्था के समय स्त्रियों में ये देखि गयी है ।
मधुमेह का संपूर्ण रूप से ठीक होना कठिन है किंतु असंभव नहीं है प्राकृतिक चिकित्सा, व्यायाम और उचित आहार संयम से इस पर विजय पाई जा सकती है

कारण: तनाव, अव्यवस्थित दिनचर्या अव्यवस्थित भोजन, मोटापा, इस रोग के मुख्य कारण हैं ।

लक्षण:
मधुमेह के लक्षण इस प्रकार हैं :
१। वजन में उतार चढाव
२। थकान, कमजोरी
३। प्यास का अधिक लगना
४। बार बार पेशाब आना
५। नेत्र द्रष्टि कमजोर होना
६। चोट घाव का देर से ठीक होना
७। चिडचिडापन होना

मधुमेह का सही समय में इलाज न करने से बहुत सी अन्य बीमारियाँ होने की सम्भावना होती है :
१। किडनी में खराबी
२| नेत्र द्रष्टि दोष
३| ह्रदय रोग
४| कमजोरी

निवारण: मधुमेह के निवारण के लिए अन्य औषधियों के साथ प्राकृतिक चकित्सा लेनी चाहिए ।
और जैसे - जैसे शर्करा स्तर नियंत्रित होने लगे पुरी तरह प्राकृतिक चिकित्सा, भोजन संयम और हलके व्यायाम व प्राणायाम को नियमित रूप से करने से मधुमेह नियंत्रण में रहती है।
आहार संयम: मधुमेह के रोगियों को अपने आहार में निम्न चीजों का प्रयोग करना चाहिए:
फल: संतरे, सेब(कम मात्रा में), बादाम, पपीता, तरबूज, बेर, अमरुद। केले, अंगूर, आम, चीकू बहुत कम मात्रा में खाना चाहिए
दूध: पतला क्रीम निकला हुआ दूध
सब्जियां: सभी सब्जियां वसा रहित या कम वसा वाली होती हैं । इनको अधिक मात्रा में बिना तले, उबली हुई या हलके सा छौंकी हुई प्रयोग में लेनी चाहिए ।
साथ में अंकुरित दालें प्रयोग करना चाहिए । मीठे, वसायुक्त चिकने घी, तेल में तले पदार्थों का सेवन नहीं करना चाहिए ।
परहेज : मधुमेह रोगियों को निम्न चीजों को प्रयोग में नहीं लेनी चाहिए:
१। सभी प्रकार से मिठाइयां, चॉकलेट आइसक्रीम
२। शहद किसी भी प्रकार से
३। कोल्ड ड्रिंक, मीठे पेय
४। क्रीम युक्त दूध, मक्खन
५। वसा तेल युक्त तली भुनी चीजें
६। बहुत अधिक शर्करा युक्ता फल और उनके रस
७। आलू, कार्बोहाइड्रेट की अधिकता वाली चीजें जैसे चावल

भोजन के नियम: मधुमेह के रोगियों को भोजन के नियम पालन करने चाहिए:
१। नियमित समय पर भोजन लेना चाहिए
२। भूख से थोड़ा कम भोजन लेना चाहिए
३। ३ बार अधिक मात्रा में खाने की जगह ५-६ बार थोड़ा थोड़ा खाना चाहिए
४| खाली पेट नहीं रहेना चाहिए
५| अधिक मात्रा में पानी का सेवन करना चाहिए
६। भोजन में नमक की कम मात्रा पूरी करना के लिए दाल चीनी, जीरा, पुदीना, धनिया, लहसुन का प्रयोग करना चाहिए।
७। अगर उच्च रक्तचाप के कारण sodium का परहेज हो तो पालक, मटर और गाजर का सेवन नहीं करना चाहिए।

प्राकृतिक चिकित्सा:
मधुमेह के नियंत्रण में बहुत सी प्राकृतिक फल, सब्जियां गुणकारी होती हैं । कुछ अनुभूत प्रयोग निम्न प्रकार हैं:
करेला:
१। करेले (Bitter Gourd) का सेवन मधुमेह रोगियों के लिए बहुत हितकारी होता है ।
२। करेले के सेवन से शर्करा के स्तर में कमी आती है ।
३। करेले के सेवन से रक्त शुद्ध होता है, संक्रमण से रक्षा होती है, त्वचा रोग दूर होती है

मेथी:
१। मेथी शर्करा के स्तर को नियंत्रित करने में बहुत लाभकारी होती है ।
२। मेथी की २.५ से ३ ग्राम मात्रा दो बार सेवन करने से तीन महीने में अच्छे परिणाम मिलते हैं ।

भिन्डी: भिन्डी का मधुमेह के लिए बहुत अनुभूत प्रयोग है जिससे बहुत लोगों को लाभ हुआ है:
चार भिन्डी ले कर उसके दोनों सिरे काट दे ।
फिर उन्हें बीच से ऐसा चीरा लगायें की उसके तो तुकडे न होने पायें
अब इनको एक ग्लास पानी में डूबा दे
शाम को दुबयें और शुबह इस पानी को भिन्डी निकाल के पी ले । तीन दिन तक कर के फिर सातवें दिन ब्लड टेस्ट कराएँ । अगर नोर्मल न हो तो फिर ३ दिन करे ।
यह बहुत अनभूत प्रयोग है ।

Friday, January 23, 2009

Secrets of Brain

I have recently read a good article on explanation of functioning of Brain and Alzheimer's. Notes from that article are as follows:

Brain is the king of all organs in human body. I weighs about 3 pounds with texture like jelly.

Structure of Brain: Brain consists of mainly 3 parts
  1. Cerebrum: involved in thinking, remembering, problem solving and controlling movements. (So if some one feels problem in above mentioned functions there is some irregularity in Cerebrum)
  2. Cerebellum: Sits back of head (Above your ear) it controls and co-ordinates balance.
  3. Brain Stem: It resides in-front of Cerebellum. It connects your brain to the spinal cord and controls automatic functions, such as breathing, digestion, heart rate and blood pressure. (Now I understand why it is prescribed to give massage areas adjacent to your ears when blood pressure is high)
Brained id fueled by blood and oxygene through network of blood vessels, with each heart beat arteries carry about 20 - 25% of blood to the brain and 20% of oxygen and fuel is utilized by billions of cells. This explains:
- Why peoples faint when blood pressure is low, reason is supply of blood is reduced.
- Why Pranayam makes your brain due to that your whole body energetic and active, reason is supply and consumption of fuel and oxygen in blood increases.

Utilization of fuel and oxygen increases to 50% while thinking hard or studying.

Cerebrum's outer layer (wrinkled surface) is called Cortex. Cortex is divided into various regions on the basis of their functions (Now I understand what Scientist do for brain mapping, narco analysis)
Regions of Cortex are as follows:

- Regions for sensations (sights, sounds, smells)
- Regions for thoughts, problem solving and planning
- Regions for forming and storing memories
- Regions for controlling voluntarily movements

Brain is divided into two halves (left and right) till now distinction made between these two is:
- Left half controls movement of right side of body
- Right half controls movement of left side of body
- The language area resides on left half

Now the real work of brain is done by individual cells calles neuron or nerve cells (an adult brain consists of more than 100 billion neurons) these neurons are connected with each other at more than 100 trilion points. This structure is known as neuron forest. Now signals are transmitted to these neurons which forms sensations, feeling, memories, thought etc.
Damage of neurons may cause paralysis, alzheimier etc.

Signal Transmission:
- Signals(sensations, thoughts, memories) move from neuron as "tiny charge particle"
- Neurons are connected with each other, connection point is known as synapse
- When a charge reaches synapse it triggers release of tiny burst of chemical called neurottransmitter .
- The neurotransmitters travels across the synapse, carrying signals to other neuron.

- So brain consists of more than 100 billions of neurons more than 100 trillions of connectors i.e Synapses and dozens of neuro-transmitters.
- Over the time experiences creates pattern in signal type and strength (self learning) .
- These patterns of activity explains how brain encodes our thoughts, memories, skills and sense of ourselves. These pattern changes with new learning and experiences
- These activities are studied by the scientists using Positron emission tomography (
PET)


Neural Network and Artificial intelligence are the branches of studies where scientists are trying to get the function of brain artificially
Scientists are also working on connecting artificial limbs to the brain with the help of Digital Signal Processing and some Hardware chip. If any how scientists can decode the signaling mechanism of brain it is doable.

Sunday, September 21, 2008

Knowledge Sharing at the age of Internet

Internet has added JET's to the knowledge sharing. Information about any thing is just few clicks away. You just need to throw your query to any of the search engines most probably Google.

You will get a huge number of links to enhance your knowledge. Days have gone when for a small information you need to search for books journals in a college/university library.

This is the most fruitful advantage of internet, Knowledge Sharing. Now Blogging sites are adding new horizons to this knowledge sharing. You can get expert advice related to any thing in very small time with the help of forums by experts.

Most of the software development these days is backed by Forums, online tutorials and blogs.