'\" t .\" Copyright (c) 1994, 2014, Oracle and/or its affiliates. All rights reserved. .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. .\" .\" This code is free software; you can redistribute it and/or modify it .\" under the terms of the GNU General Public License version 2 only, as .\" published by the Free Software Foundation. .\" .\" This code is distributed in the hope that it will be useful, but WITHOUT .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License .\" version 2 for more details (a copy is included in the LICENSE file that .\" accompanied this code). .\" .\" You should have received a copy of the GNU General Public License version .\" 2 along with this work; if not, write to the Free Software Foundation, .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. .\" .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA .\" or visit www.oracle.com if you need additional information or have any .\" questions. .\" .\" Title: javap .\" Language: Persian .\" Date: 8 August 2014 .\" SectDesc: Basic Tools .\" Software: JDK 8 .\" Arch: generic .\" Part Number: E38207-03 .\" .if n .pl 99999 .TH "javap" "1" "8 August 2014" "JDK 8" "Basic Tools" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" javap \- دیس‌اسمبل کردن یک یا چند فایل class\&. .SH "خلاصه دستور (SYNOPSIS)" .sp .if n \{\ .RS 4 .\} .nf \fBjavap\fR [\fIoptions\fR] \fIclassfile\fR\&.\&.\&. .fi .if n \{\ .RE .\} .PP \fIoptions\fR .RS 4 گزینه‌های خط فرمان\&. بخش گزینه‌ها را ببینید\&. .RE .PP \fIclassfile\fR .RS 4 یک یا چند کلاس جدا شده با فاصله برای پردازش حاشیه‌نویسی‌ها (annotations)، مانند DocFooter\&.class\&. می‌توانید کلاسی را مشخص کنید که در class path یافت می‌شود، از طریق نام فایل آن یا با یک URL مانند \fBfile:///home/user/myproject/src/DocFooter\&.class\fR\&. .RE .SH "توضیحات (DESCRIPTION)" .PP دستور \fBjavap\fR یک یا چند فایل class را دیس‌اسمبل می‌کند\&. خروجی به گزینه‌های استفاده‌شده بستگی دارد\&. هنگامی که از هیچ گزینه‌ای استفاده نشود، دستور \fBjavap\fR فیلدها و متدهای عمومی (public)، محافظت‌شده (protected) و بسته‌ای (package) کلاس‌های ارائه‌شده به آن را چاپ می‌کند\&. دستور \fBjavap\fR خروجی خود را در \fBstdout\fR چاپ می‌کند\&..SH "گزینه‌ها (OPTIONS)" .PP \-help .br \-\-help .br \-? .RS 4 پیام راهنما برای دستور \fBjavap\fR را چاپ می‌کند\&. .RE .PP \-version .RS 4 اطلاعات نسخه را چاپ می‌کند\&. .RE .PP \-l .RS 4 جدول‌های شماره خط و متغیرهای محلی را چاپ می‌کند\&. .RE .PP \-public .RS 4 فقط کلاس‌ها و اعضای عمومی را نشان می‌دهد\&. .RE .PP \-protected .RS 4 فقط کلاس‌ها و اعضای محافظت‌شده و عمومی را نشان می‌دهد\&. .RE .PP \-private .br \-p .RS 4 همه کلاس‌ها و اعضا را نشان می‌دهد\&. .RE .PP \-J\fIoption\fR .RS 4 گزینهٔ مشخص‌شده را به JVM ارسال می‌کند\&. برای مثال: .sp .if n \{\ .RS 4 .\} .nf \fBjavap \-J\-version\fR \fBjavap \-J\-Djava\&.security\&.manager \-J\-Djava\&.security\&.policy=MyPolicy MyClassName\fR .fi .if n \{\ .RE .\} برای اطلاعات بیشتر درباره گزینه‌های JVM، به مستندات دستور مراجعه کنید\&. .RE .PP \-s .RS 4 امضاهای نوع داخلی را چاپ می‌کند\&. .RE .PP \-sysinfo .RS 4 اطلاعات سیستم (مسیر، اندازه، تاریخ، هش MD5) کلاس در حال پردازش را نشان می‌دهد\&. .RE .PP \-constants .RS 4 ثابت‌های \fBstatic final\fR را نشان می‌دهد\&. .RE .PP \-c .RS 4 کد دی‌اسمبل‌شده، برای نمونه دستورالعمل‌هایی که بایت‌کدهای جاوا را تشکیل می‌دهند، برای هر یک از متدهای کلاس چاپ می‌کند\&. .RE .PP \-verbose .RS 4 اندازه پشته، تعداد متغیرهای محلی و آرگومان‌های متدها را چاپ می‌کند\&. .RE .PP \-classpath \fIpath\fR .RS 4 مسیری را مشخص می‌کند که دستور \fBjavap\fR برای جستجوی کلاس‌ها از آن استفاده می‌کند\&. در صورت تعیین، مقدار پیش‌فرض یا متغیر محیطی \fBCLASSPATH\fR را بازنویسی می‌کند\&. .RE .PP \-bootclasspath \fIpath\fR .RS 4 مسیری را که کلاس‌های راه‌انداز (bootstrap) از آن بارگذاری می‌شوند مشخص می‌کند\&. به‌طور پیش‌فرض، کلاس‌های راه‌انداز کلاس‌هایی هستند که پلتفرم اصلی جاوا را پیاده‌سازی کرده و در \fBjre/lib/rt\&.jar\fR و چندین فایل JAR دیگر قرار دارند\&. .RE .PP \-extdir \fIdirs\fR .RS 4 مکانی را که افزونه‌های نصب‌شده در آن جستجو می‌شوند بازنویسی می‌کند\&. مکان پیش‌فرض برای افزونه‌ها مقدار \fBjava\&.ext\&.dirs\fR است\&. .RE.SH "مثال‌ها (EXAMPLES)" .PP کلاس \fBDocFooter\fR زیر را کامپایل کنید: .sp .if n \{\ .RS 4 .\} .nf \fBimport java\&.awt\&.*;\fR \fBimport java\&.applet\&.*;\fR \fB \fR \fBpublic class DocFooter extends Applet {\fR \fB String date;\fR \fB String email;\fR \fB \fR \fB public void init() {\fR \fB resize(500,100);\fR \fB date = getParameter("LAST_UPDATED");\fR \fB email = getParameter("EMAIL");\fR \fB }\fR \fB \fR \fB public void paint(Graphics g) {\fR \fB g\&.drawString(date + " by ",100, 15);\fR \fB g\&.drawString(email,290,15);\fR \fB }\fR \fB}\fR .fi .if n \{\ .RE .\} .PP خروجی حاصل از دستور \fBjavap DocFooter\&.class\fR به صورت زیر خواهد بود: .sp .if n \{\ .RS 4 .\} .nf \fBCompiled from "DocFooter\&.java"\fR \fBpublic class DocFooter extends java\&.applet\&.Applet {\fR \fB java\&.lang\&.String date;\fR \fB java\&.lang\&.String email;\fR \fB public DocFooter();\fR \fB public void init();\fR \fB public void paint(java\&.awt\&.Graphics);\fR \fB}\fR .fi .if n \{\ .RE .\} .PP خروجی حاصل از دستور \fBjavap \-c DocFooter\&.class\fR به صورت زیر خواهد بود: .sp .if n \{\ .RS 4 .\} .nf \fBCompiled from "DocFooter\&.java"\fR \fBpublic class DocFooter extends java\&.applet\&.Applet {\fR \fB java\&.lang\&.String date;\fR \fB java\&.lang\&.String email;\fR \fB public DocFooter();\fR \fB Code:\fR \fB 0: aload_0 \fR \fB 1: invokespecial #1 // Method\fR \fBjava/applet/Applet\&."":()V\fR \fB 4: return \fR \fB public void init();\fR \fB Code:\fR \fB 0: aload_0 \fR \fB 1: sipush 500\fR \fB 4: bipush 100\fR \fB 6: invokevirtual #2 // Method resize:(II)V\fR \fB 9: aload_0 \fR \fB 10: aload_0 \fR \fB 11: ldc #3 // String LAST_UPDATED\fR \fB 13: invokevirtual #4 // Method\fR \fB getParameter:(Ljava/lang/String;)Ljava/lang/String;\fR \fB 16: putfield #5 // Field date:Ljava/lang/String;\fR \fB 19: aload_0 \fR \fB 20: aload_0 \fR \fB 21: ldc #6 // String EMAIL\fR \fB 23: invokevirtual #4 // Method\fR \fB getParameter:(Ljava/lang/String;)Ljava/lang/String;\fR \fB 26: putfield #7 // Field email:Ljava/lang/String;\fR \fB 29: return \fR \fB public void paint(java\&.awt\&.Graphics);\fR \fB Code:\fR \fB 0: aload_1 \fR \fB 1: new #8 // class java/lang/StringBuilder\fR \fB 4: dup \fR \fB 5: invokespecial #9 // Method\fR \fB java/lang/StringBuilder\&."":()V\fR \fB 8: aload_0 \fR \fB 9: getfield #5 // Field date:Ljava/lang/String;\fR \fB 12: invokevirtual #10 // Method\fR \fB java/lang/StringBuilder\&.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\fR \fB 15: ldc #11 // String by \fR \fB 17: invokevirtual #10 // Method\fR \fB java/lang/StringBuilder\&.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\fR \fB 20: invokevirtual #12 // Method\fR \fB java/lang/StringBuilder\&.toString:()Ljava/lang/String;\fR \fB 23: bipush 100\fR \fB 25: bipush 15\fR \fB 27: invokevirtual #13 // Method\fR \fB java/awt/Graphics\&.drawString:(Ljava/lang/String;II)V\fR \fB 30: aload_1 \fR \fB 31: aload_0 \fR \fB 32: getfield #7 // Field email:Ljava/lang/String;\fR \fB 35: sipush 290\fR \fB 38: bipush 15\fR \fB 40: invokevirtual #13 // Method\fR \fBjava/awt/Graphics\&.drawString:(Ljava/lang/String;II)V\fR \fB 43: return \fR \fB}\fR .fi .if n \{\ .RE .\}.SH "همچنین ببینید (SEE ALSO)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} java(1) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} javac(1) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} javadoc(1) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} javah(1) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} jdb(1) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} jdeps(1) .RE .br 'pl 8.5i 'bp