תוכנית הטיפול הראשונית שמציעה החברה כוללת חמישה מפגשים בשבוע במשך 4–6 שבועות רצופים, עשרים דקות לכל טיפול. ממחקרים עלה שמי שקיבל המשך טיפול של פעמיים בשבוע במשך חצי שנה לאחר תוכנית הטיפול הראשונית, הצליח לשמור על התוצאות שהושגו ולשמר את איכות חייו. תופעות הלוואי הנפוצות הן כאבי ראש קלים שחולפים אחרי הטיפול הראשון או השני. לעיתים נדירות (2 ל-10,000 מטופלים בלבד) יכול להיווצר פרכוס אפילפטי רגעי שעובר עצמאית אחרי מספר שניות.
מנכ"ל ונשיא החברה הוא דר' קריס וון ז'קו, יו"ר הדירקטוריון הוא ד"ר דוד זכות. מנהל החברה בישראל וסמנכ"ל גלובאלי הוא עמית ג'ינו. החברה נסחרת בבורסה לניירות ערך בתל אביב מאז 2007 ובנאסד"ק מאז 2019.
Java (פלטפורמת תוכנה)
פלטפורמת התוכנה ג'אווה (באנגלית: Java software platform) היא מכלול מוצרי תוכנה ומפרטים של חברת סאן מיקרוסיסטמס (כיום חברת בת של חברת אורקל), אשר ביחד מרכיבים מערכת לפיתוח יישומים ולפריסתם על גבי פלטפורמות שונות (cross-platform). ג'אווה נמצאת בשימוש במגוון רחב של פלטפורמות מחשוב, החל במערכות משובצות מחשב וטלפונים סלולריים וכלה בשרתים ומחשבי-על.
כתיבה בשפת התכנות Java היא הדרך העיקרית ליצירת קוד שיעבור הידור ל-Java bytecode, שפת ביניים הניתנת להרצה על גבי כל פלטפורמה שקיים עבורה מימוש של המכונה הווירטואלית של ג'אווה - JVM. קיימים גם מהדרי bytecode עבור שפות אחרות, כגון Ada, JavaScript, Python ו-Ruby. כמו כן פותחו גם כמה שפות חדשות המיועדות לרוץ על גבי ה-Java Virtual Machine, כגון: Scala, Clojure ו-Groovy.
התחביר של שפת Java הושפע רבות מהשפות C ו-++C, אבל עקרונות התכנות מונחה-עצמים ב-Java מבוססים על השפות Smalltalk ו-Objective-C. בג'אווה לא נעשה שימוש במבנים ברמה הנמוכה (low-level) כגון מצביעים, ויש לה מודל זיכרון פשוט מאוד שבו כל אובייקט מוקצה על גבי ה-Heap, וכל המשתנים של טיפוסים מורכבים הם references. ניהול הזיכרון מבוצע באמצעות איסוף זבל אוטומטי על ידי ה-JVM.
בשנת 2006 הפכה סאן מיקרוסיסטמס את מרבית המימוש של ג'אווה לזמין תחת הרישיון הציבורי הכללי של גנו, אם כי ישנם עדיין חלקים המופצים כקבצים בינאריים שהודרו מראש בעקבות בעיות זכויות יוצרים.
הפלטפורמה.
הפלטפורמה של ג'אווה אינה ספציפית לסוג מעבד או מערכת הפעלה מסוימים. הפלטפורמה מורכבת ממנוע להרצת תוכניות (אשר נקרא מכונה וירטואלית), מהדר, וקבוצה של ספריות תוכנה הממומשות עבור מגוון סוגי חומרה ומערכות הפעלה שונות, כך שתוכניות ג'אווה תוכלנה לרוץ באופן זהה בכל סביבה (ראו: תוכנה חוצת פלטפורמות).
הפלטפורמה מורכבת מכמה תוכנות, שכל אחת מהן מספקת חלק מהיכולות הכוללות של הפלטפורמה. לדוגמה, המהדר של ג'אווה, אשר ממיר קוד מקור של ג'אווה ל-Java bytecode (שפת ביניים עבור המכונה הווירטואלית של ג'אווה - JVM), מסופק כחלק מה-Java Development Kit. סביבת ההרצה של ג'אווה (Java Runtime Environment) משלימה את ה-JVM עם מהדר ה-just-in-time שממיר בזמן ריצה (on the fly) את קוד הביניים bytecode לשפת מכונה (native code). כמו כן מסופקות ספריות נרחבות שמכילות רכיבים נוספים, חלקם זמינים רק עבור מהדורות מסוימות.
הרכיבים החיוניים בפלטפורמה הם: המהדר לשפת Java, הספריות, וסביבת ההרצה (JRE) שבה קוד הביניים Java bytecod "רץ" בהתאם לכללים המוכתבים על ידי המפרט של המכונה הווירטואלית.
נכון לחודש ספטמבר 2020, הגרסה העדכנית של פלטפורמת ג'אווה היא 15.0.0 או 15 (שני המספרים מציינים את אותה הגרסה). גרסה 15 היא גרסת המוצר ו-15.0.0 היא גרסת הפיתוח.
המכונה הווירטואלית של ג'אווה – (Java Virtual Machine (JVM.
לבהּ של הפלטפורמה של ג'אווה היא "מכונה וירטואלית" אשר מריצה תוכניות Java bytecode. ה-bytecode זהה לכל סוגי החומרה ומערכות ההפעלה שהוא רץ תחתן. במכונה הווירטואלית של ג'אווה (JVM) ישנו מהדר (JIT (just-in-time אשר מתרגם בזמן ריצה את ה-Java bytecode להוראות מעבד בשפת מכונה (native code), ושומר את ה-native code בזיכרון המטמון (cache) למשך זמן הריצה של התוכנית.
השימוש ב-bytecode כשפת ביניים מאפשר לתוכניות לרוץ על גבי כל פלטפורמה שקיים עבורה מימוש של המכונה הווירטואלית. בזכות השימוש במהדר JIT, לאחר עיכוב קצר לצורך טעינה של התוכניות, וכשהן "מתחממות" לאחר שכל הקוד שלהן או רובו עבר הידור JIT, תוכניות Java נוטות לרוץ בערך באותה המהירות כמו תוכניות native שעברו הידור מקדים לשפת מכונה. מאז גרסה 1.2 של ה-JRE, מימוש ה-JVM של סאן כולל מהדר just-in-time במקום מפרש.
הקוד של ה-JVM שמריצה את התוכניות הללו תלוי בפלטפורמה - קיים מימוש שונה של ה-JVM עבור כל מערכת הפעלה שתומכת בג'אווה.
ספריות ג'אווה – Java class libraries.
מרבית מערכות ההפעלה המודרניות מספקות גופי קוד גדולים הניתנים לשימוש חוזר, על מנת להקל על עבודת המתכנת. בדרך כלל הקוד הזה מסופק בצורה של ספריות הניתנות לטעינה דינאמית, שיישומים יכולים לקרוא להן בזמן ריצה. כיוון שהפלטפורמה של ג'אווה אינה תלויה במערכת הפעלה מסוימת, יישומי ג'אווה אינם יכולים להסתמך על שום ספרייה של מערכת ההפעלה שנכתבה מראש. במקום זאת, הפלטפורמה של ג'אווה מספקת קבוצה מקיפה של ספריות סטנדרטיות משלה, שנקראות class libraries, אשר מכילות את רוב הפונקציות הניתנות לשימוש חוזר, שבדרך כלל ניתן למצוא במערכות הפעלה מודרניות. מרבית הספריות של ג'אווה ממומשות בשפת ג'אווה גם כן. לדוגמה, הספרייה Swing מציירת את ממשק המשתמש ומטפלת באירועים בעצמה, ובכך מבטלת הרבה מההבדלים הקטנים הקיימים בדרך שבה פלטפורמות שונות מטפלות אפילו ברכיבים דומים.
ה-class libraries משרתות שלוש מטרות בפלטפורמה של ג'אווה. הראשונה, כמו במקרה של ספריות קוד סטנדרטיות אחרות - הספריות של ג'אווה מספקות למתכנת קבוצת פונקציות מוכרות היטב, לצורך ביצוע של משימות נפוצות, כגון תחזוקה של רשימות פריטים או ביצוע ניתוח מחרוזות (parsing) מורכב. המטרה השנייה של ספריות ג'אווה היא לספק ממשק אבסטרקטי עבור משימות שבדרך כלל תלויות מאוד בחומרה ובמערכת ההפעלה. משימות כגון גישה לרשת וגישה לקבצים בדרך כלל "מסובכות" עם המימושים הייחודיים של כל פלטפורמה. הספריות codice_1 ו-codice_2 מממשות שכבת אבסטרקציה בקוד native למערכת ההפעלה, ולאחר מכן מספקות ממשק סטנדרטי עבור יישומי ג'אווה, לצורך ביצוען של המשימות הללו. ולבסוף, כאשר פלטפורמת בסיס מסוימת אינה תומכת בכל התכונות שיישום ג'אווה מצפה להן, הספריות של ג'אווה פועלות כדי לכסות בצורה אלגנטית על הרכיבים החסרים, באמצעות אמולציה על מנת לספק תחליף, או לפחות על ידי מתן דרך עקבית לבדוק האם תכונה מסוימת קיימת או לא.
מהדורות ג'אווה - Java Editions.
מהדורה (edition) של Java platform היא חבילת תוכנות מקושרות של סאן, המאפשרות פיתוח והרצה של תוכניות שנכתבות בשפת התכנות Java.
שפות תכנות.
המילה Java לבדה בדרך כלל מתייחסת לשפת התכנות Java אשר תוכננה לשימוש עם הפלטפורמה של Java. בדרך כלל שפות תכנות אינן נכללות בתחום המושג "פלטפורמה", אבל שפת התכנות Java נחשבת לאחד מרכיבי הליבה בפלטפורמת Java. לפיכך, השפה וסביבת ההרצה (runtime) בדרך כלל נחשבות ליחידה אחת.
עם זאת, קיימים גם מהדרים ומפרשים עבור ה-JVM, אשר פותחו על ידי חברות צד שלישי. חלקם מיועדים עבור שפות קיימות, בעוד שאחרים הם עבור הרחבות לשפת Java. בהם נכללים:
ערכת הפיתוח של ג'אווה – Java Development Kit.
ערכת הפיתוח של ג'אווה (JDK) היא מוצר של סאן המיועד עבור מפתחי ג'אווה. מאז הופעתה של ג'אווה, ה-JDK הייתה ערכת פיתוח התוכנה (Software Development Kit, SDK) הנפוצה ביותר עבור ג'אווה. ה-JDK כוללת מהדר לשפת Java, עותק מלא של סביבת ההרצה של ג'אווה (JRE), והרבה כלי פיתוח חשובים נוספים.
היסטוריה.
הפלטפורמה של ג'אווה ושפת ג'אווה החלו את דרכן כמיזם פנימי בחברת סאן מיקרוסיסטמס בדצמבר 1990, במטרה ליצור אלטרנטיבה לשפות התכנות C ו-++C. המהנדס פטריק נוטון היה מתוסכל ממצבם של ממשקי תכנות היישומים של סאן בשפות C ו-++C. בזמן ששקל לעזוב לחברת NeXT, נוטון קיבל הזדמנות לעבוד על יצירת טכנולוגיה חדשה, וכך החל ה"פרויקט החשאי" (Stealth Project).
זמן קצר לאחר מכן, שמו של "הפרויקט החשאי" שונה ל"הפרויקט הירוק" (Green Project), עם ג'יימס גוסלינג ומייק שרידן שהצטרפו אל נוטון. ביחד עם מהנדסים נוספים, הם החלו את עבודתם בעיר מנלו פארק שבקליפורניה. הם ניסו לפתח טכנולוגיה חדשה לתכנות הדור הבא של מכשירים חכמים (smart appliances), שסאן ציפתה שיפתחו עבורה הזדמנויות חדשות.
בהתחלה, הצוות שקל להשתמש ב-++C, אבל הרעיון נדחה ממספר סיבות. כיוון שהם פיתחו מערכות משובצות מחשב בעלות משאבים מצומצמים, הם החליטו ש-++C תדרוש יותר מדי זיכרון ושהמורכבות שלה תוביל לשגיאות פיתוח. מכיוון שב-++C אין איסוף זבל, על המתכנת לדאוג לנהל את זיכרון המערכת בעצמו, וזוהי משימה לא פשוטה שלעיתים קרובות גוררת שגיאות. לצוות הפיתוח הפריע גם שב-++C חסרות יכולות כגון אלמנטים ניידים (portable facilities) לצורכי אבטחה, תכנות מבוזר ושימוש בתהליכונים. ולבסוף, הם רצו פלטפורמה שניתן יהיה להעביר אותה בין כל סוגי המכשירים.