13 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			13 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								title: Java Virtual Machine
							 | 
						||
| 
								 | 
							
								localeTitle: Java Virtual Machine
							 | 
						||
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								# آلة جافا الافتراضية (JVM)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								تنتمي Java إلى عائلة من اللغات تسمى اللغات [**المجمّعة**](https://en.wikipedia.org/wiki/Compiled_language) ( [**Compiled Languages)**](https://en.wikipedia.org/wiki/Compiled_language) . يجب تحويل أي كود مكتوب بهذه اللغة (مترجم) إلى نموذج وسيط يمكن فهمه من قبل النظام الأساسي المضيف (نظام التشغيل / النظام الأساسي الذي يتم تشغيل الكود فيه).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								بالنسبة إلى Java ، يسمى هذا النموذج الوسيط **Bytecode** الذي يتم تفسيره بعد ذلك **بوقت** تشغيل يسمى Java Virtual Machine (JVM). فكر في [**JVM**](https://docs.oracle.com/javase/specs/jvms/se7/html/) كقطعة من البرامج تقوم بالعمل الشاق لتشغيل شفرة Java. فإنه يأخذ عناية من تخصيص الذاكرة ، وإدارة الخيط ، وجمع القمامة وأكثر من ذلك بكثير. وبصرف النظر عن جافا ، فإنه يدعم أيضا (قراءة: قادرة على تشغيل) رمز مكتوب بلغات مثل Groovy ، سكالا الخ
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								في Java ، يتم كتابة الكود وحفظه كملفات `.java` . يعمل المحول البرمجي (javac) على ملفات java ويقوم بإنشاء ملفات Bytecode ( `.class` ) المكافئة. سيكون الأمر `java` الآن قادراً على تنفيذ Bytecode المخزنة في ملفات `.class` . المزيد عن هذا لاحقا.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								تصف الأقسام التالية بعض اللبنات الأساسية للتشفير في Java.
							 |