لقد أوصيت بقراءة لغة جافا لك من قبل. ما يلي هو تعريفك بالجوانب التي تبدأ منها تعلم لغة جافا. المحتوى المحدد كما يلي
1. أساسيات لغة جافا
عندما يتعلق الأمر بالكتب حول تعلم لغة Java الأساسية ، فإن الجميع سيوصي بالتأكيد بروس إيكل "التفكير في جافا". إنه كتاب تقني عميق للغاية ، ولا يمكن لأي كتاب آخر أن يتجاوزه في أساسيات لغة جافا. يُعرف مؤلف الكتاب ، بروس إيكل ، باسم مضارب عبقري على الإنترنت. فاز مؤلف "التفكير في C ++" بجائزة تطوير البرمجيات لأفضل كتاب في عام 1995. "التفكير في Java" حصل على اسم "كتاب ترحيب القراء المفضل" من قبل Java World في عام 1999 وفاز بجائزة الكتاب المفضل للمحرر. منذ عام 1986 ، نشر المؤلف أكثر من 150 مقالة في تكنولوجيا الكمبيوتر ، ونشرت 6 كتب (4 منها تدور حول C ++) ، وقد ألقيت مئات الخطب في جميع أنحاء العالم. وهو مؤلف عن التفكير في Java ، والتفكير في C ++ ، و C ++ من الداخل والخارج ، وذلك باستخدام C ++ والتفكير في الأنماط ، وهو أيضًا محرر مجموعة Black Belt C ++. يسمى كتابه "أفضل كتاب مرجعي Java ... مثير للصدمة" من قبل القراء ؛ "أذكى خيار لشراء كتاب مرجع Java" ؛ "أفضل دليل برمجة رأيته على الإطلاق". إن الموهبة غير العادية للمؤلف وقدرة اللغة المتعالية للغاية تجعل المؤلف مختارًا كواحدة من الشخصيات العشرة التي لها أقرب علاقة مع Java في السنوات العشر الماضية من تطوير Java.
"التفكير في جافا" يروي جميع جوانب لغة جافا ، وعلق العديد من قدامى المحاربين في لغة جافا أن "هذا كتاب يتحدث لغة جافا قبيحة للغاية." يتحدث الكتاب عن العديد من تفاصيل لغة جافا ، وكل جانب عميق للغاية. من خلال هذا الكتاب ، يمكنك رؤية لغة جافا "القبيحة".
هناك العديد من مقاطع الفيديو على الإنترنت حول تفسيرات لغة Java ، من بينها The Unsomon هو القمامة. "لغة Weng Kai-Java" قد يكون خيارك الوحيد لتعلم أساسيات لغة Java. تم شرح المحاضرة بشكل أساسي في كتاب "التفكير في جافا" ، والذي يتضمن العديد من النكات المثيرة للاهتمام من المعلم وينج. كنت محظوظًا للتعلم من هذا الفيديو. يتضمن المحتوى 30 محاضرة ، وشاهدته 3 مرات في المجموع.
ومع ذلك ، بالنسبة للمبتدئين ، لا أوصي باستخدام التفكير في Java. أوصي بـ "Core Java 2" من Prentice Hall PTR في الصين يسمى "Java 2 Core Technology" ، والتي تعد حاليًا الإصدار السابع. يمكن للجميع تنزيل النسخة الإلكترونية على الإنترنت. يعد "Java in a Notshell" من Oreilly خيارًا جيدًا أيضًا. بعد قراءة كتابين أعلاه ، يمكنك مشاهدة فيديو المعلم Weng Kai ، ثم دراسة "التفكير في Java".
2. بنية بيانات جافا
هناك عدد قليل جدًا من الكتب حول هياكل بيانات Java في السوق. هناك "مجموعات Java" الخاصة بـ Apress ، و "هياكل البيانات" من Apress ، و "هياكل البيانات" في Java "، و" هياكل البيانات الموجهة للكائنات باستخدام Java "، و" هياكل البيانات والخوارزميات مع أنماط التصميم الكائنات في Java ". لحسن الحظ ، كان أول كتابي باللغة الإنجليزية هو "مجموعات Java" من Apress (قد لا يحتوي هذا الكتاب على نسخة صينية على الإطلاق في الصين ، ولكن يمكنه فقط تنزيل النسخة الإنجليزية). إنه جيد جدًا ، وهو منتظم للغاية وبسيط. إنه كتاب يقدم واجهة برمجة تطبيقات مجموعات Java ، بما في ذلك الأمثلة الأكثر شمولاً لتوسيع واجهات برمجة التطبيقات. هذا هو الكتاب الجيد الوحيد الذي أوصيك به لتعلم هياكل بيانات Java. يبدو أن هناك نسخة صينية من الكتابين الآخرين من قبل جونز وبارتليت في الصين. إذا كنت تريد قراءتها ، فيمكنك أيضًا قراءتها.
بعد تعلم واجهة برمجة التطبيقات ، يمكنك إلقاء نظرة على الفصول المقابلة في حزمة Java.Util. ومع ذلك ، فقط بعد تعلم نمط التصميم ، يمكنك فهم إطار مجموعات Java بالكامل بالكامل. يستخدم Framework Java Collections العديد من أنماط التصميم الشهيرة مثل وضع Iterator ، ووضع طريقة المصنع ، ووضع الديكور ، ووضع المحول ، وما إلى ذلك من خلال دراسة الكود المصدري لهياكل البيانات في حزمة Java.Util ، يمكنك معرفة تصميم فئة الخصائص السيئة ، وقد يكون لديها القدرة على تصميم هياكل البيانات البسيطة بشكل أساسي.
ما يسمى التعلم لا نهاية لها. بعد أن توفر Sun إطار عمل Java Collections بعد التعلم ، يمكنك دراسة إطار عمل Java آخر من Apche ، وهو أمر مثير للاهتمام للغاية. اثنين من الأطر التي تكمل بعضها البعض.
قبل أن تتعلم ودراسة مجموعات Java ، أود أن أذكرك بأن مجموعات Java تتضمن بشكل أساسي الأجزاء الثلاثة التالية: الواجهة والتنفيذ والخوارزمية.
1. الواجهات الرئيسية هي قائمة ، تعيين ، قائمة الانتظار والخريطة. القائمة ، SE T و Queue هي الفواصل الفرعية لواجهة التجميع.
2. التنفيذ ينفذ بشكل أساسي فئات محددة تنفذ هذه الواجهات. مثل ArrayList و LinkedList و Stack و Vector تطبيق قائمة قائمة ؛ Hashset و Treeset و LinkedHashset تطبيق مجموعة مجموعة ؛ Priorityqueue ، متزامن ، إلخ. تنفيذ واجهة قائمة الانتظار ؛ HashMap ، Treemap ، hashtable ، الخصائص ، الضعف ، إلخ. تنفيذ واجهة الخريطة.
3. يتم توفير الخوارزمية بشكل أساسي من قبل فئة المصفوفات وفئة المجموعات. إنه جوهر خوارزمية مجموعة Java Collection بأكملها. يدعم العمليات الشائعة مثل الفرز والبحث عن أنواع مختلفة.
تحتوي مجموعات Java على نسختين من هياكل البيانات ، وخاصة بنية البيانات الأصلية التي تدعم التزامن وهيكل البيانات الذي لا يدعم المزامنة لاحقًا.
يدعم إطار مجموعة Java الفرز باستخدام واجهات المقارنة والواجهات المماثلة. يتم تزويد Iterator و Enumeraton على حد سواء إصدارات جديدة وقديمة ، وكذلك كيفية تحويلها ، إلخ.
فئات الواجهة والمراقب المرصعة في حزمة Java.Util هي جوهر نمط الفاحص.
...
3. جافا IO
لا يوجد سوى كتابين على IO في السوق ، وكلاهما من أعمال Elliotte Rusty Harold. أنماط الكتابين متماثلان في الأساس. القراءة الموصى بها هي الطبعة الأولى من "Jvava I/O". إنه موجز ، المحتوى مركّز نسبيًا ، وهناك العديد من الأمثلة. تم نشر الطبعة الثانية في الخارج في مايو من هذا العام. أنا محظوظ جدًا لتنزيل الإصدار الثاني على الإنترنت. كانت مفصلة للغاية و 726 صفحة من الرجل الكبير (كنت أستخدمها لمدة أسبوعين). هذه المرة ، قمت بدمج NIO و IO معًا ، بما في ذلك جزء J2ME. ومع ذلك ، يبدو أن أجزاء الاتصال التسلسلية والمتوازية لا تعتبر دعمًا كافيًا لمكتبة الفصل ولا يمكنها تشغيلها بنفسي.
Oreilly ، إلى جانب الإصدار الأول من "Jvava I/O" ، يحتوي أيضًا على "Jvava Nio" ، وهو أمر جيد جدًا أيضًا.
بعد قراءة "Jvava I/O" و "Jvava Nio" بدوره ، يمكنك دراسة الكود المصدري في حزمة Java.io. قبل أن تدرس الكود المصدري ، سأقدم لك بعض النصائح:
تشمل حزم IO Java بشكل أساسي:
1. تياران: تدفقات البايت وتيارات الأحرف. هذان الجداول لا يملكان ما يسمى "من يحل محل من هو أفضل من من هو أفضل من من هو. إنهما يكملان بعضهما البعض ، لكن التركيز مختلف.
2. نوعان من التماثل: 1. تناظر تيارات البايت وتيارات الأحرف ؛ 2. تناظر المدخلات والمخرجات.
3. جسر: InputStreamReader و OutputStreamWriter الذي يحول تدفقات البايت إلى تدفقات الأحرف.
من بينهم ، يجب أن تنتبه إلى:
1. PipedInputStream و PipedOutputStrem هما فئتان أكثر إثارة للاهتمام.
2. التدفقات التي تدعم المخزن المؤقت هي فصول نستخدمها في كثير من الأحيان.
3. التطبيق الأكثر شهرة لنمط الديكور في جافا هو تصميم IO. ادرس بعناية العلاقة بين كل تيار مرشح وتدفقات محددة ، وقراءة المزيد من الكتب حول أنماط التصميم. أعتقد أنك ستحصل على شيء.
4. تعلم حزم IO الجيدة هو أساس دراسة الحزم الصافية ، حزم RMI ...!
4. قاعدة بيانات جافا
هناك الكثير من الكتب في قاعدة البيانات ، وهي أيضًا سيئة للغاية! لقد درست هذا النوع من الكتب بشكل أساسي. إذا أوصيت بذلك ، فيمكنك الاطلاع على "وصفات JDBC" من نهج حل المشكلات "وهو أمر جيد جدًا. تم نشره في الخارج في نهاية عام 2005 (يبدو أنه لا توجد نسخة صينية في الصين ، لكن لا يستحق الأمر بالضرورة القراءة عندما يتم إصدارها في الصين. غالبًا ما تترجم الصين الكتب الأجنبية بطريقة قبيحة) لكننا محظوظون حقًا بوجود إصدارات إلكترونية على الإنترنت. يستحق نظرة. أوصي بالكتاب الأول "Java Database Bible" الذي نشرته Wiley التي أنا راضٍ عنها ، والتي تم كتابتها جيدًا! يعد "JDBC API Tutorial and Identnece" المقدمة من شركة Sun الخاصة حول JDBC API جيدًا أيضًا. كتابي الثاني JDBC هو API الذي درسته.
ومع ذلك ، فإن هذه الكتب هي حاليًا بعض تطبيقات API سطحية نسبيًا. إذا كانت لديك الفرصة ، فسوف أحضر لك كتابًا يقدم JDBC API والتفاصيل الداخلية لتنفيذ JDBC! سأعمل بجد في أقرب وقت ممكن وآمل أن أحصل على دعم الجميع!
بالمناسبة ، أود أن أقدم بعض النصائح للأصدقاء الذين يدرسون JDBC:
يعتمد تعلم واستخدام JDBC بشكل أساسي على مجموعة واجهات برمجة التطبيقات هذه ، وعملية الاستخدام بسيطة للغاية أيضًا. فيما يلي العملية العامة لاستخدام JDBC:
1. تحميل برنامج التشغيل (فئة برنامج التشغيل) لقاعدة بيانات ، عادةً باستخدام class.forname ("اسم فئة السائق") ؛
2. الاتصال بقاعدة البيانات
Connection con = drivermanager.getConnection (url ، اسم المستخدم ، كلمة المرور) ؛
3. الحصول على بيان الجلسة stmt = con.createstatement () ؛
4. تنفيذ نتيجة التشغيل rs = stmt.executequery ("بيان استعلام SQL") ؛
5. نتائج المعالجة
بينما (rs.next ()) {
سلسلة col1 = rs.getString (1) ؛
...
}
الأمر بسيط! ما يمكن تغييره في JDBC بأكمله هو بشكل عام:
1. يمكن إنشاء البيان ، الجهاز الجدد و clobablestatement من كائن الاتصال.
2. يمكنك إنشاء أنواع متعددة من النتائج: دعم الحركة أحادية الاتجاه وحركة الحرية ؛ محدث وغير محدث. دعم معاملات المستويات المختلفة ...
3. معالجة الدُفعات لإدخال البيانات.
4. عمليات الأعمدة مع أنواع خاصة (blob ، clob ، arrary ، ref ، struct) في مجموعة النتائج.
5. هذه الأنواع الخاصة من قواعد بيانات الدخول.
6. تشغيل مجموعات النتائج الخاصة (CacheDrowset ، JDBCrowset ، Webrowset) في حزمة javax.sql.
7. الآخر هو مصدر بيانات ، وهو أيضًا بسيط للغاية! كائن مُدار في J2EE
الأمر بسيط! أعتقد أن الجميع سوف يغزو JDBC قريبًا.
5. برمجة شبكة جافا
برمجة الشبكة هي اتجاه غامض وصعب. ومع ذلك ، قبل الحديث عن برمجة شبكة Java ، نشكر أولاً مطوري Sun ، لأن أفكارهم العبقرية والهندسة المعمارية الذكية تجعل الأمر بسيطًا للغاية لمبرمجي Java لتعلم برمجة شبكة Java.
بالنسبة لكتب برمجة شبكة Java ، أوصي بـ O'Reilly "برمجة شبكة Java". لقد كانت الإصدار الثالث ، ويجب أن يكون الإصدار السابق متاحًا في السوق! هناك نسخة إلكترونية ثالثة على الإنترنت ، تم نشرها في الخارج في عام 2004 ، 706 صفحة! إنه شامل للغاية ومتعمق. إذا كان الأمر متعمقًا للغاية ، فقد يكون ذلك لأن بعض الأشياء في الشمس لم يتم الكشف عنها بالكامل ، لذلك من الصعب التحدث عنها. إذا كنت مهتمًا ، فيمكنك تنزيل وإلقاء نظرة! الكتاب الثاني هو "الحوسبة الموزعة Java" التي نشرتها O'Reilly في عام 1998. الجزء الأساسي مكتوب بمزيد من التفاصيل ، وما زالت الأمثلة اللاحقة تستحق الدراسة.
قبل أن تقرأ هذه الكتب ، أود أن أقدم لك بعض النصائح:
برمجة شبكة Java بسيطة نسبيًا ، كما أنها سريعة جدًا للبدء. تتضمن برمجة شبكة Java أساسًا جزأين: 1.Socket ؛ 2. جزء. ومع ذلك ، فإن الجزء الثاني يعتمد تمامًا على الجزء الأول.
1.socket يتضمن مقبس العميل و Server Serversocket. هناك أيضًا DataGramSocket و Datagrampacket ، والتي تتوافق مع بروتوكول اتصال UDP. باختصار ، جزء المقبس هو الأساس لإنشاء بروتوكولات أخرى عالية المستوى.
2. فئة عنوان URL هي موقع موارد الشبكة ، والذي يرتبط عادةً ببروتوكولات شبكة محددة مثل HTTP و FTP و Telnet ... يمكن لهذه الفئة توصيل الموارد على الشبكة ، ويمكن لـ OpenStream قراءة موارد الشبكة في شكل دفق (inputStream) في حزمة IO ؛ من خلال طريقة OpenConnection الخاصة بها ، يمكن فتح اتصال ، ولا يمكن إكمال عملية القراءة فحسب ، بل يمكن إكمال عملية الكتابة أيضًا.
تتضمن برمجة شبكة Java عمومًا الجزأين أعلاه. برمجة الشبكة قريبة جدًا من أجزاء IO و Multi-Thorreading. قبل تعلم هذا الجزء ، يجب أن يكون لديك فهم شامل لهذين الجزأين.
بعد تعلم القسم أعلاه ، يمكنك دراسة الكود المصدري المتعلق بهذا في حزمة Java.net! من السابق لأوانه دراسة كل رمز المصدر. تتضمن الحزمة الصافية بأكملها: ContentHandlerFactory و URLStreamHandlerFactory و urlstreamhandler و urlclassloader وغيرها من الفئات الإضافية. أنها تشكل إطار برمجة شبكة java.net. من خلال دراسة الكود المصدري الخاص بها ، لا يمكنك فقط فهم حزمة Java.net ، ولكن أيضًا وضع الأساس لتوسيع الحزمة في المستقبل ، وحتى تطبيق طريقة التفكير هذه على مشاريعك الخاصة.
حتى الآن ، يجب أن تعرف فقط 60 ٪ من حزمة Java.net. هناك أيضًا جزء يمكنك استخدام برنامج Decompiler مثل JDecompiler لفتح RT.JAR في دليل/jdkxxx/jre/lib في دليل تثبيت JDK الخاص بك ، واستخدام برنامج مثل WinRar لفتح حزمة Sun.Net ، وإلغاء توحيد جميع الملفات. إنها تفاصيل عمل فئة URL. بعد دراسة حزمة Sun.Net ، ستكون على دراية ببرمجة الشبكة بأكملها.
يبدو أن كل شيء على ما يرام في برمجة الشبكة. في الواقع ، ليس الأمر كذلك. إنها مجرد البداية. إذا كنت تريد أن تعمق ، يرجى المتابعة! يمكن للعديد من مكتبات برمجة الشبكات الممتازة وحتى البرامج على الإنترنت "إضافة مهارات" لنا. على سبيل المثال ، HTTPCORE من Apache و HTTPCONNECTION هما مكتبان مرتبطان ببروتوكول HTTP ؛ JGroups هي مكتبة لا بد من قراءة لدراسة الاتصالات الموزعة والاتصال الجماعي ؛ ثم يمكننا دراسة حزم برامج P2P ، مثل Sun's JXTA ، والتي قد تكون المعيار المستقبلي للاتصال من نقطة إلى نقطة على منصة Java! ثم يمكنك البحث واستخدام برنامج P2P الناضج للغاية Azureus! www.sourceforge.net يمكن تنزيله!
تبدأ رحلة ألف ميل بخطوة واحدة! افعل ذلك! (في الوقت الحاضر ، لقد درست فقط الحزمة الصافية ، وسيستمر الآخرون في التعمق في المستقبل القريب. لم تكشف Sun عن تفاصيل التنفيذ الأخرى لـ Net لسبب ما. عندما تسمح بدراسة رمز المصدر في شكل نص ، وتسمح لكتابة تنفيذها غير المنشورة في الكتاب ، آمل حقًا أن أنشر كتابًا حول برمجة شبكة Java لجذب القراء !!)
6. servlet و JSP
كتب Servlet و JSP هي أيضا في كل مكان! لا يوجد سوى كتابين أو ثلاثة كتب يستحق التوصية. أوصي بالفعل بصفحات Addison Wiley "Servlets and Javaserver: The J2EE Technology Web Tier" ، وهو كتاب آخر سميك للغاية! تم نشره في الخارج في عام 2003 ، 784 صفحة ، يتم شرحه بطريقة شاملة نسبيًا ولديه العديد من الأمثلة ، وخاصة تصفية الفصل 8 ، والتي تعطي بعض الأمثلة الجيدة. جميع الكتب الأخرى التي رأيتها حول Servlets و JSP ليست متعمقة! (قد يكون أنني لم أره). من السهل نسبيًا فهمها "Java Servlet Programming" و "Java Server Pages" ، يمكنك قراءتها!
قبل أن تتعلم Servlet و JSP ، ما زلت أريد أن أذكرك:
في جوهرها ، Servlet هو مجرد برنامج ينفذ واجهة Servlet ويتم نشره على جانب الخادم! يمكن كتابتها مثل كتابة أي تطبيق Java آخر. يمكنه تشغيل قواعد البيانات ، وتشغيل الملفات المحلية ، والاتصال بـ EJBs المحلية ... العملية العامة لكتابة برامج Servlet هي:
1. ورث فئة httpservlet ؛
2. الكتابة فوق أساليب دوغ ودوبوست ؛
3. يتم إجراء معلمات طريقة التشغيل الداخلية httpservletrequest و httpservletresponse على طريقة التجاوز.
4. استخدم httpservletrequest لقراءة الطلب. باستخدام httpservletrequest ، يمكنك تشغيل رأس البروتوكول لبروتوكول HTTP ، والحصول على طريقة تشغيل الطلب ، والحصول على مسار الطلب ، والحصول على سلسلة الطلب ، والمعلومات المتعلقة بالعميل طلب. الأهم من ذلك ، يمكنك الحصول على الكائنين: ملفات تعريف الارتباط و httpsession.
5. باستخدام ملفات تعريف الارتباط ، يمكنك تشغيل كائن "الحبيب" أو كتابته إلى httpservletresponse.
6. يمكنك استخدام httpservletresponse لإخراج المعلومات للعملاء. استخدم httpservletresponse لكتابة أنواع مختلفة من رؤوس البروتوكول ، وإضافة ملفات تعريف الارتباط ، وإعادة توجيه عناوين URL الأخرى ، وإرسال رمز الحالة لبروتوكول HTTP للعملاء.
7. استخدم HTTPSESSINT لإكمال أي وظيفة تريد تنفيذها في الجلسة.
في الوقت نفسه ، يوفر Servlet أيضًا بعض مستمعي الأحداث والحدث (فقط وضع مراقب بسيط). هناك أيضًا استخدام بسيط للدفق وموضع الديكور للمرشحات (المرشحات) والمغلفات (ServletRequestWrapper ، servletResponseWrapper).
يجب نشر Sevlets و JSPs على الخادم ، فقط تذكر خطوات ومعلمات نشر الملف المعتاد وكيفية استخدامها في البرنامج.
بعد فهم Servlet بالكامل ، من السهل نسبيًا تعلم JSP! يعتمد JSP بالكامل على Servlets ، وهو مجرد تلبية للمبرمجين الذين يرغبون في تضمين البرامج النصية في مستندات HTML (مثل لغات برمجة الويب مثل PHP)! من السهل جدًا التعلم!
كل شيء يبدو هادئًا وسهل التعلم! هناك آليات معقدة وراء المظاهر البسيطة. لدراسة Servlets و JSP بدقة ، يجب عليك دراسة التنفيذ المحدد للبرامج المفتوحة المصدر مثل Tomcat. إنه ليس أكثر من خادم. بعد أن يستخدم العميل صفحة الويب لإرسال طلب إلى الخادم من خلال بروتوكول HTTP ، يقوم الخادم بتحويل طلب HTTP إلى كائن httpservletrequest المقابل ويقوم باستدعاء Servlet الذي كتبته. في Servlet ، يجب أن تكون قد قمت بتشغيل HttpservletRequest ، وفي نفس الوقت ، قامت بتشغيل httpservletresponse. سيستخدم الخادم بروتوكول HTTP لإرسال هذا httpservletresponse إلى متصفحك وفقًا لمتطلبات بروتوكول HTTP! بعد طلب العميل صفحة الويب JSP على الخادم ، ستستخدم TomCat برنامج التجميع لتجميع ملف JSP هذا باستخدام القالب في حزمة javax.servlet.jsp ، وبعد التجميع سيكون servlet! العمليات المستقبلية هي بالضبط نفس عمليات Servlets!
استنادًا إلى Servlets و JSP ، فإن ما يسمى التقنيات المتقدمة: JSTL ، الدعامات ... ليست أكثر من استخدام بعض العلامات وأنماط MVC.
استمر في المضي قدمًا! النصر في المستقبل! !
7. متعدد الخيوط
اتجاه يبدو غامضًا ولكن يسهل البدء ويصعب إتقانه!
أوصي كتابين أشعر أنني بحالة جيدة. بادئ ذي بدء ، كنت أول كتاب يمكنني قراءته في هذا المجال. "برمجة خيوط Java" التي نشرتها SAMS في عام 1998. إنه مكتوب جيدًا وسهل الفهم. كثيرا ما أقرأ الملاحظات من ذلك الوقت عندما يكون لدي الوقت! يجب أن تعرف كيف تفعل ذلك بنفسك! يعد الكتاب الثاني "Java Threads" الذي تم نشره ثلاث مرات بواسطة Oreilly هو أحدث إصدار في عام 2004. يبدو أن هناك نسخة صينية في الصين. أوصيك بقراءة النسخة الإنجليزية! يتحدث الكتاب عن اتجاهات n المتعلقة بالترابطات المتعددة ، مثل IO ، Swing ، Collection ، إلخ.
دعني أعطيك بعض النصائح! لا توجد العديد من الفئات المتعلقة بالترابطات المتعددة في مكتبة فئة Java ، بشكل رئيسي: مؤشر الترابط ، مجموعة الخيوط ، Threadlocal و HeritableThreadlocal وواجهة واحدة يمكن تشغيلها ؛ تزامن الكلمات الرئيسية والمتقلب. وانتظر ، إخطار ، إخطار أساليب الكائنات!
1 الخيط هو فئة أساسية من الخيوط المتعددة ، مما يوفر سلسلة من الطرق لإنشاء وتشغيل الخيوط المتعددة.
2 ThreadGroup هي فئة أدوات لإدارة الخيط.
3 Threadlocal و erranitablethreadlocal يوفر مؤشر ترابط الفئة التي تخزن كائنات مؤشر الترابط مماثلة للوظائف الآمنة!
4 Runnable لا داعي للقول!
5 التزامن هو جوهر طرق التزامن وكتل المزامنة! عندما تستدعي مؤشرات ترابط متعددة هذه الطريقة ، يمكن لخيط واحد فقط استخدام هذه الطريقة ، وينتقل طرق أخرى ، وبالتالي ضمان سلامة الحالة الداخلية للكائن الذي يتم تشغيله. عندما يتصل مؤشر ترابط بطريقة أو كتلة باستخدام المزامنة ، فإنه سيحصل على قفل كائن الكائن. بعد الانتهاء من العملية في الكتلة ، سيتم إصدار قفل الكائن ، بحيث يمكن أن تستمر الكائنات الأخرى في العمل.
6 انتظر ، إعلام ، يخبر الإخطار آلية انتظار/إعلام فعالة. كل كائن بلغة جافا لديه صالة. أي مؤشر ترابط يستقر في صالة الكائن عندما لا تكون حالة الكائن التي يعملها راضية وإطلاق قفل الكائن ؛ عندما تقوم مؤشرات الترابط الأخرى بتشغيل الكائن ، فإنها تستيقظ الخيوط الموجودة في الصالة ، ثم تحقق من الشروط ، وتنفيذ العملية المقابلة عند استيفاء الشروط.
هناك الكثير من الأساسيات في متعدد الخيوط! هل هو بسيط! هذا لا ينبغي أن يكون كافيا لمبرمج حقيقي. يجب أن يكون لديك بعض المعرفة بمتعدد الخيوط. يرجى دراسة حزمة java.util.concurrent! كان عمل Master Doug Lea في الأصل مكتبة برمجة متسقة مفتوحة المصدر ، ولكن تم دمجها لاحقًا في مكتبة Java Class by Sun. هناك نسخة أخرى من هذه المكتبة على موقع المؤلف! أشياء جيدة تستحق الدراسة! استخدم البرامج المفتوحة المصدر مثل الإسبات و OpenJMS هذه الحزمة!
8. نمط التصميم
عندما يتعلق الأمر بأنماط التصميم ، سيوصي الكثير من الناس بكتاب GOF. هذا الكتاب هو كتاب موصى به من فئة الخمس نجوم على أمازون. ومع ذلك ، بالنسبة لأولئك الذين لم يتعلموا جافا لفترة طويلة ، وخاصة أولئك الذين هم مبتدئون في جافا ، لا أوصي بهذا الكتاب. السبب الرئيسي هو أن الأمثلة في هذا الكتاب هي أساسا في C ++ ، والعديد من التفاصيل لا يتم شرحها بوضوح بما فيه الكفاية.
أول كتاب أوصي به هو الدكتور يان هونغ "جافا والأنماط". هذا هو أول كتاب عن أنماط التصميم التي كتبها الصينيون. إنه أمر مثير للاهتمام ويدمج العديد من ثقافات ومفاهيم الأمة الصينية. هناك العديد من الأمثلة والصور ، وهي بسيطة نسبيًا! كتب تمهيدية جيدة جدا ورجل كبير!
ثانياً ، أوصي ثلاث مجموعات من "Pattern in Java" التي نشرتها Wiley Publishing House. أنا فقط قرأت الأولى. يبدو أن الثانية ليست جيدة جدًا ، والثالثة ليست جيدة!
الكتاب الثالث هو النسخة الترجمة الصينية من "Java Multi-Throwded Design Pattern" التي نشرتها China Railway Publishing دار في عام 2003. وهذا ما يفسر النموذج متعدد الخيوط بإيجاز شديد ، مع عدد كبير من الأساطير ، كل فصل له تمارين ، وأخيراً لديه إجابة! لقد بدأت معها عندما درست وضع الترابطات المتعددة!
الكتاب الرابع ، السلسلة الأولى من "Head First Design Pattern" الذي تم نشره هذا العام ، يلتزم بمزايا السلسلة الأولى من الكتب الرئيسية ، مع عدد كبير من الرسوم البيانية الفئة ، والأمثلة الغنية ، والشروح المثيرة للاهتمام ، والتي تستحق الشراء!
ثانياً ، في اتجاه J2EE ، يمكنك دراسة وقراءة "أنماط بنية تطبيق المؤسسة" التي نشرتها Addison Wesley في عام 2002. لها العديد من الأعمال بأسماء كبيرة ، والتي تتحدث عن تكامل معلومات المؤسسة! "أنماط J2EE SL500" المقدمة من Sun هي أيضًا جيدة جدًا! أوصي بـ 4 نجوم ونصف "Holub on Patterns" من Amazon ، وهو عمل رئيسي ، ويوفر أمثلة تستحق الدراسة. ومع ذلك ، القراء الذين ليسوا على دراية بالكتب الأربعة أعلاه ، من الأفضل عدم قراءتها! قد يجعلك أكثر متعبًا!
مررت بمسار شاق للغاية لتعلم أنماط التصميم ، وقرأت حوالي 20 كتابًا. قرأت الدكتور يان هونغ "جافا والأنماط" 4 مرات ، واستبعد أنني لم أفهم في الأساس المرة الأولى! أتذكر أن المعلم علمنا كتاب GOF خلال السنة الأولى من الكلية. كدورة اختيارية ، كنت مع طلاب الماجستير والدكتوراه في قسم الكمبيوتر. في الفصل الأخير ، كان 40-50 شخصًا ، لا يزيد عددهم عن 3 أشخاص ، ولم أفهم أي شيء (لا أعرف أي شيء عن لغة C ++ إذا كانت الأساس سيئة). مع شخصيتي بعدم الخسارة ، اعتقدت أن فهمي للغة جافا كان على ما يرام ، لذلك استعارت "جافا وأنماط" ، لكنني ما زلت في الأساس لم أفهمها. لحسن الحظ ، عندما كنت في سنتي الثالثة من مدرسة الدراسات العليا ، استمعت إلى محاضرة عن لغة جافا أوب من قبل السيد راو رونان من جامعة شنغهاي جياوتونج. بعد أن فهمت أنماط التصميم الثلاثة ، مثل نموذج الكتب المركب ، أصبحت مهتمًا بنماذج أخرى ولدي الرغبة في التغلب عليها! أول كتاب اشتريته بعد العمل كان "جافا والأنماط". قضيت شهرين في دراسة هذا الرجل الكبير مع أكثر من 1000 صفحة في المرة الأولى. في وقت لاحق ، كان بإمكاني إنهاءها بعد حوالي 15 يومًا من المرة الثالثة ، وأخذت الكثير من دفاتر الملاحظات! منذ ذلك الحين ، كان خارج نطاق السيطرة.
اختر الكتاب الصحيح والتركيز على البحث. أعتقد أنني سأبدأ قريبًا!
تعلم لغة Java 8 الأجزاء البسيطة هو مجرد بداية بحثنا حول لغة Java! كل هذا مفهومة في أحسن الأحوال ، مبرمج Java ، والطريق إلى الأمام طويل جدًا! يمكننا الاستمرار في دراسة الكود المصدري لتنفيذ قاعدة البيانات ، رمز المصدر لخادم Servlet ، RMI ، EJB ، JNDI ، البرمجة الموجهة نحو الجانب ، إعادة البناء ، أدوات ANT ، أدوات Eclipse ، أدوات الربيع ، JBoss ، Jonas ، Apache Geronimo خوادم J2EE! بعد البحث عن هذه ، قد تكون بنية J2EE ممتازة! يمكنك الاستمرار في البحث عن المحللين ، والمترجمين ، و jnode (نظام التشغيل الذي كتبه Java) ...
لمزيد من قوائم الكتب المثيرة ، يرجى النقر على قائمة الكتب الأساسية للبرمجة
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.