- 所有类 (Java 2 Platform SE 5.0)
- 已过时的 API
- 此 API 文档的组织方式
- 概述 (Java 2 Platform SE 5.0)
- Java 2 Platform 软件包
- 所有软件包的分层结构
- java.awt 接口 ActiveEvent
- java.awt 接口 Adjustable
- java.awt 类 AlphaComposite
- java.awt 类 AWTError
- java.awt 类 AWTEvent
- java.awt 类 AWTEventMulticaster
- java.awt 类 AWTException
- java.awt 类 AWTKeyStroke
- java.awt 类 AWTPermission
- java.awt 类 BasicStroke
- java.awt 类 BorderLayout
- java.awt 类 BufferCapabilities.FlipContents
- java.awt 类 BufferCapabilities
- java.awt 类 Button
- java.awt 类 Canvas
- java.awt 类 CardLayout
- java.awt 类 Checkbox
- java.awt 类 CheckboxGroup
- java.awt 类 CheckboxMenuItem
- java.awt 类 Choice
- java.awt 类 Color
- java.awt 类 Component
- java.awt 类 ComponentOrientation
- java.awt 接口 Composite
- java.awt 接口 CompositeContext
- java.awt 类 Container
- java.awt 类 ContainerOrderFocusTraversalPolicy
- java.awt 类 Cursor
- java.awt 类 DefaultFocusTraversalPolicy
- java.awt 类 DefaultKeyboardFocusManager
- java.awt 类 Dialog
- java.awt 类 Dimension
- java.awt 类 DisplayMode
- java.awt 类 Event
- java.awt 类 EventQueue
- java.awt 类 FileDialog
- java.awt 类 FlowLayout
- java.awt 类 FocusTraversalPolicy
- java.awt 类 Font
- java.awt 类 FontFormatException
- java.awt 类 FontMetrics
- java.awt 类 Frame
- java.awt 类 GradientPaint
- java.awt 类 Graphics
- java.awt 类 Graphics2D
- java.awt 类 GraphicsConfigTemplate
- java.awt 类 GraphicsConfiguration
- java.awt 类 GraphicsDevice
- java.awt 类 GraphicsEnvironment
- java.awt 类 GridBagConstraints
- java.awt 类 GridBagLayout
- java.awt 类 GridLayout
- java.awt 类 HeadlessException
- java.awt 类 IllegalComponentStateException
- java.awt 类 Image
- java.awt 类 ImageCapabilities
- java.awt 类 Insets
- java.awt 接口 ItemSelectable
- java.awt 类 JobAttributes.DefaultSelectionType
- java.awt 类 JobAttributes.DestinationType
- java.awt 类 JobAttributes.DialogType
- java.awt 类 JobAttributes
- java.awt 类 JobAttributes.MultipleDocumentHandlingType
- java.awt 类 JobAttributes.SidesType
- java.awt 类 KeyboardFocusManager
- java.awt 接口 KeyEventDispatcher
- java.awt 接口 KeyEventPostProcessor
- java.awt 类 Label
- java.awt 接口 LayoutManager
- java.awt 接口 LayoutManager2
- java.awt 类 List
- java.awt 类 MediaTracker
- java.awt 类 Menu
- java.awt 类 MenuBar
- java.awt 类 MenuComponent
- java.awt 接口 MenuContainer
- java.awt 类 MenuItem
- java.awt 类 MenuShortcut
- java.awt 类 MouseInfo
- java.awt (Java 2 Platform SE 5.0)
- 软件包 java.awt
- java.awt 类 PageAttributes.ColorType
- java.awt 类 PageAttributes
- java.awt 类 PageAttributes.MediaType
- java.awt 类 PageAttributes.OrientationRequestedType
- java.awt 类 PageAttributes.OriginType
- java.awt 类 PageAttributes.PrintQualityType
- java.awt 接口 Paint
- java.awt 接口 PaintContext
- java.awt 类 Panel
- java.awt 类 Point
- java.awt 类 PointerInfo
- java.awt 类 Polygon
- java.awt 类 PopupMenu
- java.awt 接口 PrintGraphics
- java.awt 类 PrintJob
- java.awt 类 Rectangle
- java.awt 类 RenderingHints
- java.awt 类 RenderingHints.Key
- java.awt 类 Robot
- java.awt 类 Scrollbar
- java.awt 类 ScrollPane
- java.awt 类 ScrollPaneAdjustable
- java.awt 接口 Shape
- java.awt 接口 Stroke
- java.awt 类 SystemColor
- java.awt 类 TextArea
- java.awt 类 TextComponent
- java.awt 类 TextField
- java.awt 类 TexturePaint
- java.awt 类 Toolkit
- java.awt 接口 Transparency
- java.awt 类 Window
- java.awt.color 类 CMMException
- java.awt.color 类 ColorSpace
- java.awt.color 类 ICC_ColorSpace
- java.awt.color 类 ICC_Profile
- java.awt.color 类 ICC_ProfileGray
- java.awt.color 类 ICC_ProfileRGB
- java.awt.color (Java 2 Platform SE 5.0)
- 软件包 java.awt.color
- java.awt.color 类 ProfileDataException
- java.awt.datatransfer 类 Clipboard
- java.awt.datatransfer 接口 ClipboardOwner
- java.awt.datatransfer 类 DataFlavor
- java.awt.datatransfer 类 FlavorEvent
- java.awt.datatransfer 接口 FlavorListener
- java.awt.datatransfer 接口 FlavorMap
- java.awt.datatransfer 接口 FlavorTable
- java.awt.datatransfer 类 MimeTypeParseException
- java.awt.datatransfer (Java 2 Platform SE 5.0)
- 软件包 java.awt.datatransfer
- java.awt.datatransfer 类 StringSelection
- java.awt.datatransfer 类 SystemFlavorMap
- java.awt.datatransfer 接口 Transferable
- java.awt.datatransfer 类 UnsupportedFlavorException
- java.awt.dnd 接口 Autoscroll
- java.awt.dnd 类 DnDConstants
- java.awt.dnd 类 DragGestureEvent
- java.awt.dnd 接口 DragGestureListener
- java.awt.dnd 类 DragGestureRecognizer
- java.awt.dnd 类 DragSource
- java.awt.dnd 类 DragSourceAdapter
- java.awt.dnd 类 DragSourceContext
- java.awt.dnd 类 DragSourceDragEvent
- java.awt.dnd 类 DragSourceDropEvent
- java.awt.dnd 类 DragSourceEvent
- java.awt.dnd 接口 DragSourceListener
- java.awt.dnd 接口 DragSourceMotionListener
- java.awt.dnd 类 DropTarget.DropTargetAutoScroller
- java.awt.dnd 类 DropTarget
- java.awt.dnd 类 DropTargetAdapter
- java.awt.dnd 类 DropTargetContext
- java.awt.dnd 类 DropTargetDragEvent
- java.awt.dnd 类 DropTargetDropEvent
- java.awt.dnd 类 DropTargetEvent
- java.awt.dnd 接口 DropTargetListener
- java.awt.dnd 类 InvalidDnDOperationException
- java.awt.dnd 类 MouseDragGestureRecognizer
- java.awt.dnd (Java 2 Platform SE 5.0)
- 软件包 java.awt.dnd
- java.awt.event 类 ActionEvent
- java.awt.event 接口 ActionListener
- java.awt.event 类 AdjustmentEvent
- java.awt.event 接口 AdjustmentListener
- java.awt.event 接口 AWTEventListener
- java.awt.event 类 AWTEventListenerProxy
- java.awt.event 类 ComponentAdapter
- java.awt.event 类 ComponentEvent
- java.awt.event 接口 ComponentListener
- java.awt.event 类 ContainerAdapter
- java.awt.event 类 ContainerEvent
- java.awt.event 接口 ContainerListener
- java.awt.event 类 FocusAdapter
- java.awt.event 类 FocusEvent
- java.awt.event 接口 FocusListener
- java.awt.event 类 HierarchyBoundsAdapter
- java.awt.event 接口 HierarchyBoundsListener
- java.awt.event 类 HierarchyEvent
- java.awt.event 接口 HierarchyListener
- java.awt.event 类 InputEvent
- java.awt.event 类 InputMethodEvent
- java.awt.event 接口 InputMethodListener
- java.awt.event 类 InvocationEvent
- java.awt.event 类 ItemEvent
- java.awt.event 接口 ItemListener
- java.awt.event 类 KeyAdapter
- java.awt.event 类 KeyEvent
- java.awt.event 接口 KeyListener
- java.awt.event 类 MouseAdapter
- java.awt.event 类 MouseEvent
- java.awt.event 接口 MouseListener
- java.awt.event 类 MouseMotionAdapter
- java.awt.event 接口 MouseMotionListener
- java.awt.event 类 MouseWheelEvent
- java.awt.event 接口 MouseWheelListener
- java.awt.event (Java 2 Platform SE 5.0)
- 软件包 java.awt.event
- java.awt.event 类 PaintEvent
- java.awt.event 类 TextEvent
- java.awt.event 接口 TextListener
- java.awt.event 类 WindowAdapter
- java.awt.event 类 WindowEvent
- java.awt.event 接口 WindowFocusListener
- java.awt.event 接口 WindowListener
- java.awt.event 接口 WindowStateListener
- java.awt.font 类 FontRenderContext
- java.awt.font 类 GlyphJustificationInfo
- java.awt.font 类 GlyphMetrics
- java.awt.font 类 GlyphVector
- java.awt.font 类 GraphicAttribute
- java.awt.font 类 ImageGraphicAttribute
- java.awt.font 类 LineBreakMeasurer
- java.awt.font 类 LineMetrics
- java.awt.font 接口 MultipleMaster
- java.awt.font 类 NumericShaper
- java.awt.font 接口 OpenType
- java.awt.font (Java 2 Platform SE 5.0)
- 软件包 java.awt.font
- java.awt.font 类 ShapeGraphicAttribute
- java.awt.font 类 TextAttribute
- java.awt.font 类 TextHitInfo
- java.awt.font 类 TextLayout.CaretPolicy
- java.awt.font 类 TextLayout
- java.awt.font 类 TextMeasurer
- java.awt.font 类 TransformAttribute
- java.awt.geom 类 AffineTransform
- java.awt.geom 类 Arc2D.Double
- java.awt.geom 类 Arc2D.Float
- java.awt.geom 类 Arc2D
- java.awt.geom 类 Area
- java.awt.geom 类 CubicCurve2D.Double
- java.awt.geom 类 CubicCurve2D.Float
- java.awt.geom 类 CubicCurve2D
- java.awt.geom 类 Dimension2D
- java.awt.geom 类 Ellipse2D.Double
- java.awt.geom 类 Ellipse2D.Float
- java.awt.geom 类 Ellipse2D
- java.awt.geom 类 FlatteningPathIterator
- java.awt.geom 类 GeneralPath
- java.awt.geom 类 IllegalPathStateException
- java.awt.geom 类 Line2D.Double
- java.awt.geom 类 Line2D.Float
- java.awt.geom 类 Line2D
- java.awt.geom 类 NoninvertibleTransformException
- java.awt.geom (Java 2 Platform SE 5.0)
- 软件包 java.awt.geom
- java.awt.geom 接口 PathIterator
- java.awt.geom 类 Point2D.Double
- java.awt.geom 类 Point2D.Float
- java.awt.geom 类 Point2D
- java.awt.geom 类 QuadCurve2D.Double
- java.awt.geom 类 QuadCurve2D.Float
- java.awt.geom 类 QuadCurve2D
- java.awt.geom 类 Rectangle2D.Double
- java.awt.geom 类 Rectangle2D.Float
- java.awt.geom 类 Rectangle2D
- java.awt.geom 类 RectangularShape
- java.awt.geom 类 RoundRectangle2D.Double
- java.awt.geom 类 RoundRectangle2D.Float
- java.awt.geom 类 RoundRectangle2D
- java.awt.im 类 InputContext
- java.awt.im 类 InputMethodHighlight
- java.awt.im 接口 InputMethodRequests
- java.awt.im 类 InputSubset
- java.awt.im (Java 2 Platform SE 5.0)
- 软件包 java.awt.im
- java.awt.im.spi 接口 InputMethod
- java.awt.im.spi 接口 InputMethodContext
- java.awt.im.spi 接口 InputMethodDescriptor
- java.awt.im.spi (Java 2 Platform SE 5.0)
- 软件包 java.awt.im.spi
- java.awt.image 类 AffineTransformOp
- java.awt.image 类 AreaAveragingScaleFilter
- java.awt.image 类 BandCombineOp
- java.awt.image 类 BandedSampleModel
- java.awt.image 类 BufferedImage
- java.awt.image 类 BufferedImageFilter
- java.awt.image 接口 BufferedImageOp
- java.awt.image 类 BufferStrategy
- java.awt.image 类 ByteLookupTable
- java.awt.image 类 ColorConvertOp
- java.awt.image 类 ColorModel
- java.awt.image 类 ComponentColorModel
- java.awt.image 类 ComponentSampleModel
- java.awt.image 类 ConvolveOp
- java.awt.image 类 CropImageFilter
- java.awt.image 类 DataBuffer
- java.awt.image 类 DataBufferByte
- java.awt.image 类 DataBufferDouble
- java.awt.image 类 DataBufferFloat
- java.awt.image 类 DataBufferInt
- java.awt.image 类 DataBufferShort
- java.awt.image 类 DataBufferUShort
- java.awt.image 类 DirectColorModel
- java.awt.image 类 FilteredImageSource
- java.awt.image 接口 ImageConsumer
- java.awt.image 类 ImageFilter
- java.awt.image 接口 ImageObserver
- java.awt.image 接口 ImageProducer
- java.awt.image 类 ImagingOpException
- java.awt.image 类 IndexColorModel
- java.awt.image 类 Kernel
- java.awt.image 类 LookupOp
- java.awt.image 类 LookupTable
- java.awt.image 类 MemoryImageSource
- java.awt.image 类 MultiPixelPackedSampleModel
- java.awt.image (Java 2 Platform SE 5.0)
- 软件包 java.awt.image
- java.awt.image 类 PackedColorModel
- java.awt.image 类 PixelGrabber
- java.awt.image 类 PixelInterleavedSampleModel
- java.awt.image 类 Raster
- java.awt.image 类 RasterFormatException
- java.awt.image 接口 RasterOp
- java.awt.image 接口 RenderedImage
- java.awt.image 类 ReplicateScaleFilter
- java.awt.image 类 RescaleOp
- java.awt.image 类 RGBImageFilter
- java.awt.image 类 SampleModel
- java.awt.image 类 ShortLookupTable
- java.awt.image 类 SinglePixelPackedSampleModel
- java.awt.image 接口 TileObserver
- java.awt.image 类 VolatileImage
- java.awt.image 类 WritableRaster
- java.awt.image 接口 WritableRenderedImage
- java.awt.image.renderable 接口 ContextualRenderedImageFactory
- java.awt.image.renderable (Java 2 Platform SE 5.0)
- 软件包 java.awt.image.renderable
- java.awt.image.renderable 类 ParameterBlock
- java.awt.image.renderable 接口 RenderableImage
- java.awt.image.renderable 类 RenderableImageOp
- java.awt.image.renderable 类 RenderableImageProducer
- java.awt.image.renderable 类 RenderContext
- java.awt.image.renderable 接口 RenderedImageFactory
- java.awt.print 类 Book
- java.awt.print (Java 2 Platform SE 5.0)
- 软件包 java.awt.print
- java.awt.print 接口 Pageable
- java.awt.print 类 PageFormat
- java.awt.print 类 Paper
- java.awt.print 接口 Printable
- java.awt.print 类 PrinterAbortException
- java.awt.print 类 PrinterException
- java.awt.print 接口 PrinterGraphics
- java.awt.print 类 PrinterIOException
- java.awt.print 类 PrinterJob
- java.io 类 BufferedInputStream
- java.io 类 BufferedOutputStream
- java.io 类 BufferedReader
- java.io 类 BufferedWriter
- java.io 类 ByteArrayInputStream
- java.io 类 ByteArrayOutputStream
- java.io 类 CharArrayReader
- java.io 类 CharArrayWriter
- java.io 类 CharConversionException
- java.io 接口 Closeable
- java.io 接口 DataInput
- java.io 类 DataInputStream
- java.io 接口 DataOutput
- java.io 类 DataOutputStream
- java.io 类 EOFException
- java.io 接口 Externalizable
- java.io 类 File
- java.io 类 FileDescriptor
- java.io 接口 FileFilter
- java.io 类 FileInputStream
- java.io 接口 FilenameFilter
- java.io 类 FileNotFoundException
- java.io 类 FileOutputStream
- java.io 类 FilePermission
- java.io 类 FileReader
- java.io 类 FileWriter
- java.io 类 FilterInputStream
- java.io 类 FilterOutputStream
- java.io 类 FilterReader
- java.io 类 FilterWriter
- java.io 接口 Flushable
- java.io 类 InputStream
- java.io 类 InputStreamReader
- java.io 类 InterruptedIOException
- java.io 类 InvalidClassException
- java.io 类 InvalidObjectException
- java.io 类 IOException
- java.io 类 LineNumberInputStream
- java.io 类 LineNumberReader
- java.io 类 NotActiveException
- java.io 类 NotSerializableException
- java.io 接口 ObjectInput
- java.io 类 ObjectInputStream.GetField
- java.io 类 ObjectInputStream
- java.io 接口 ObjectInputValidation
- java.io 接口 ObjectOutput
- java.io 类 ObjectOutputStream
- java.io 类 ObjectOutputStream.PutField
- java.io 类 ObjectStreamClass
- java.io 接口 ObjectStreamConstants
- java.io 类 ObjectStreamException
- java.io 类 ObjectStreamField
- java.io 类 OptionalDataException
- java.io 类 OutputStream
- java.io 类 OutputStreamWriter
- java.io (Java 2 Platform SE 5.0)
- 软件包 java.io
- java.io 类 PipedInputStream
- java.io 类 PipedOutputStream
- java.io 类 PipedReader
- java.io 类 PipedWriter
- java.io 类 PrintStream
- java.io 类 PrintWriter
- java.io 类 PushbackInputStream
- java.io 类 PushbackReader
- java.io 类 RandomAccessFile
- java.io 类 Reader
- java.io 类 SequenceInputStream
- java.io 接口 Serializable
- java.io 类 SerializablePermission
- java.io 类 StreamCorruptedException
- java.io 类 StreamTokenizer
- java.io 类 StringBufferInputStream
- java.io 类 StringReader
- java.io 类 StringWriter
- java.io 类 SyncFailedException
- java.io 类 UnsupportedEncodingException
- java.io 类 UTFDataFormatException
- java.io 类 WriteAbortedException
- java.io 类 Writer
- java.lang 类 AbstractMethodError
- java.lang 接口 Appendable
- java.lang 类 ArithmeticException
- java.lang 类 ArrayIndexOutOfBoundsException
- java.lang 类 ArrayStoreException
- java.lang 类 AssertionError
- java.lang 类 Boolean
- java.lang 类 Byte
- java.lang 类 Character
- java.lang 类 Character.Subset
- java.lang 类 Character.UnicodeBlock
- java.lang 接口 CharSequence
- java.lang 类 Class<T>
- java.lang 类 ClassCastException
- java.lang 类 ClassCircularityError
- java.lang 类 ClassFormatError
- java.lang 类 ClassLoader
- java.lang 类 ClassNotFoundException
- java.lang 接口 Cloneable
- java.lang 类 CloneNotSupportedException
- java.lang 接口 Comparable<T>
- java.lang 类 Compiler
- java.lang 注释类型 Deprecated
- java.lang 类 Double
- java.lang 类 Enum<E extends Enum<E>>
- java.lang 类 EnumConstantNotPresentException
- java.lang 类 Error
- java.lang 类 Exception
- java.lang 类 ExceptionInInitializerError
- java.lang 类 Float
- java.lang 类 IllegalAccessError
- java.lang 类 IllegalAccessException
- java.lang 类 IllegalArgumentException
- java.lang 类 IllegalMonitorStateException
- java.lang 类 IllegalStateException
- java.lang 类 IllegalThreadStateException
- java.lang 类 IncompatibleClassChangeError
- java.lang 类 IndexOutOfBoundsException
- java.lang 类 InheritableThreadLocal<T>
- java.lang 类 InstantiationError
- java.lang 类 InstantiationException
- java.lang 类 Integer
- java.lang 类 InternalError
- java.lang 类 InterruptedException
- java.lang 接口 Iterable<T>
- java.lang 类 LinkageError
- java.lang 类 Long
- java.lang 类 Math
- java.lang 类 NegativeArraySizeException
- java.lang 类 NoClassDefFoundError
- java.lang 类 NoSuchFieldError
- java.lang 类 NoSuchFieldException
- java.lang 类 NoSuchMethodError
- java.lang 类 NoSuchMethodException
- java.lang 类 NullPointerException
- java.lang 类 Number
- java.lang 类 NumberFormatException
- java.lang 类 Object
- java.lang 类 OutOfMemoryError
- java.lang 注释类型 Override
- java.lang (Java 2 Platform SE 5.0)
- 软件包 java.lang
- java.lang 类 Package
- java.lang 类 Process
- java.lang 类 ProcessBuilder
- java.lang 接口 Readable
- java.lang 接口 Runnable
- java.lang 类 Runtime
- java.lang 类 RuntimeException
- java.lang 类 RuntimePermission
- java.lang 类 SecurityException
- java.lang 类 SecurityManager
- java.lang 类 Short
- java.lang 类 StackOverflowError
- java.lang 类 StackTraceElement
- java.lang 类 StrictMath
- java.lang 类 String
- java.lang 类 StringBuffer
- java.lang 类 StringBuilder
- java.lang 类 StringIndexOutOfBoundsException
- java.lang 注释类型 SuppressWarnings
- java.lang 类 System
- java.lang 类 Thread
- java.lang 枚举 Thread.State
- java.lang 接口 Thread.UncaughtExceptionHandler
- java.lang 类 ThreadDeath
- java.lang 类 ThreadGroup
- java.lang 类 ThreadLocal<T>
- java.lang 类 Throwable
- java.lang 类 TypeNotPresentException
- java.lang 类 UnknownError
- java.lang 类 UnsatisfiedLinkError
- java.lang 类 UnsupportedClassVersionError
- java.lang 类 UnsupportedOperationException
- java.lang 类 VerifyError
- java.lang 类 VirtualMachineError
- java.lang 类 Void
- java.lang.annotation 接口 Annotation
- java.lang.annotation 类 AnnotationFormatError
- java.lang.annotation 类 AnnotationTypeMismatchException
- java.lang.annotation 注释类型 Documented
- java.lang.annotation 枚举 ElementType
- java.lang.annotation 类 IncompleteAnnotationException
- java.lang.annotation 注释类型 Inherited
- java.lang.annotation (Java 2 Platform SE 5.0)
- 软件包 java.lang.annotation
- java.lang.annotation 注释类型 Retention
- java.lang.annotation 枚举 RetentionPolicy
- java.lang.annotation 注释类型 Target
- java.lang.instrument 类 ClassDefinition
- java.lang.instrument 接口 ClassFileTransformer
- java.lang.instrument 类 IllegalClassFormatException
- java.lang.instrument 接口 Instrumentation
- java.lang.instrument (Java 2 Platform SE 5.0)
- 软件包 java.lang.instrument
- java.lang.instrument 类 UnmodifiableClassException
- java.lang.management 接口 ClassLoadingMXBean
- java.lang.management 接口 CompilationMXBean
- java.lang.management 接口 GarbageCollectorMXBean
- java.lang.management 类 ManagementFactory
- java.lang.management 类 ManagementPermission
- java.lang.management 接口 MemoryManagerMXBean
- java.lang.management 接口 MemoryMXBean
- java.lang.management 类 MemoryNotificationInfo
- java.lang.management 接口 MemoryPoolMXBean
- java.lang.management 枚举 MemoryType
- java.lang.management 类 MemoryUsage
- java.lang.management 接口 OperatingSystemMXBean
- java.lang.management (Java 2 Platform SE 5.0)
- 软件包 java.lang.management
- java.lang.management 接口 RuntimeMXBean
- java.lang.management 类 ThreadInfo
- java.lang.management 接口 ThreadMXBean
- java.lang.ref (Java 2 Platform SE 5.0)
- 软件包 java.lang.ref
- java.lang.ref 类 PhantomReference<T>
- java.lang.ref 类 Reference<T>
- java.lang.ref 类 ReferenceQueue<T>
- java.lang.ref 类 SoftReference<T>
- java.lang.ref 类 WeakReference<T>
- java.lang.reflect 类 AccessibleObject
- java.lang.reflect 接口 AnnotatedElement
- java.lang.reflect 类 Array
- java.lang.reflect 类 Constructor<T>
- java.lang.reflect 类 Field
- java.lang.reflect 接口 GenericArrayType
- java.lang.reflect 接口 GenericDeclaration
- java.lang.reflect 类 GenericSignatureFormatError
- java.lang.reflect 接口 InvocationHandler
- java.lang.reflect 类 InvocationTargetException
- java.lang.reflect 类 MalformedParameterizedTypeException
- java.lang.reflect 接口 Member
- java.lang.reflect 类 Method
- java.lang.reflect 类 Modifier
- java.lang.reflect (Java 2 Platform SE 5.0)
- 软件包 java.lang.reflect
- java.lang.reflect 接口 ParameterizedType
- java.lang.reflect 类 Proxy
- java.lang.reflect 类 ReflectPermission
- java.lang.reflect 接口 Type
- java.lang.reflect 接口 TypeVariable<D extends GenericDeclaration>
- java.lang.reflect 类 UndeclaredThrowableException
- java.lang.reflect 接口 WildcardType
- java.text 类 Annotation
- java.text 类 AttributedCharacterIterator.Attribute
- java.text 接口 AttributedCharacterIterator
- java.text 类 AttributedString
- java.text 类 Bidi
- java.text 类 BreakIterator
- java.text 接口 CharacterIterator
- java.text 类 ChoiceFormat
- java.text 类 CollationElementIterator
- java.text 类 CollationKey
- java.text 类 Collator
- java.text 类 DateFormat.Field
- java.text 类 DateFormat
- java.text 类 DateFormatSymbols
- java.text 类 DecimalFormat
- java.text 类 DecimalFormatSymbols
- java.text 类 FieldPosition
- java.text 类 Format.Field
- java.text 类 Format
- java.text 类 MessageFormat.Field
- java.text 类 MessageFormat
- java.text 类 NumberFormat.Field
- java.text 类 NumberFormat
- java.text (Java 2 Platform SE 5.0)
- 软件包 java.text
- java.text 类 ParseException
- java.text 类 ParsePosition
- java.text 类 RuleBasedCollator
- java.text 类 SimpleDateFormat
- java.text 类 StringCharacterIterator
- java.util 类 AbstractCollection<E>
- java.util 类 AbstractList<E>
- java.util 类 AbstractMap<K,V>
- java.util 类 AbstractQueue<E>
- java.util 类 AbstractSequentialList<E>
- java.util 类 AbstractSet<E>
- java.util 类 ArrayList<E>
- java.util 类 Arrays
- java.util 类 BitSet
- java.util 类 Calendar
- java.util 接口 Collection<E>
- java.util 类 Collections
- java.util 接口 Comparator<T>
- java.util 类 ConcurrentModificationException
- java.util 类 Currency
- java.util 类 Date
- java.util 类 Dictionary<K,V>
- java.util 类 DuplicateFormatFlagsException
- java.util 类 EmptyStackException
- java.util 接口 Enumeration<E>
- java.util 类 EnumMap<K extends Enum<K>,V>
- java.util 类 EnumSet<E extends Enum<E>>
- java.util 接口 EventListener
- java.util 类 EventListenerProxy
- java.util 类 EventObject
- java.util 类 FormatFlagsConversionMismatchException
- java.util 接口 Formattable
- java.util 类 FormattableFlags
- java.util 枚举 Formatter.BigDecimalLayoutForm
- java.util 类 Formatter
- java.util 类 FormatterClosedException
- java.util 类 GregorianCalendar
- java.util 类 HashMap<K,V>
- java.util 类 HashSet<E>
- java.util 类 Hashtable<K,V>
- java.util 类 IdentityHashMap<K,V>
- java.util 类 IllegalFormatCodePointException
- java.util 类 IllegalFormatConversionException
- java.util 类 IllegalFormatException
- java.util 类 IllegalFormatFlagsException
- java.util 类 IllegalFormatPrecisionException
- java.util 类 IllegalFormatWidthException
- java.util 类 InputMismatchException
- java.util 类 InvalidPropertiesFormatException
- java.util 接口 Iterator<E>
- java.util 类 LinkedHashMap<K,V>
- java.util 类 LinkedHashSet<E>
- java.util 类 LinkedList<E>
- java.util 接口 List<E>
- java.util 接口 ListIterator<E>
- java.util 类 ListResourceBundle
- java.util 类 Locale
- java.util 接口 Map.Entry<K,V>
- java.util 接口 Map<K,V>
- java.util 类 MissingFormatArgumentException
- java.util 类 MissingFormatWidthException
- java.util 类 MissingResourceException
- java.util 类 NoSuchElementException
- java.util 类 Observable
- java.util 接口 Observer
- java.util (Java 2 Platform SE 5.0)
- 软件包 java.util
- java.util 类 PriorityQueue<E>
- java.util 类 Properties
- java.util 类 PropertyPermission
- java.util 类 PropertyResourceBundle
- java.util 接口 Queue<E>
- java.util 类 Random
- java.util 接口 RandomAccess
- java.util 类 ResourceBundle
- java.util 类 Scanner
- java.util 接口 Set<E>
- java.util 类 SimpleTimeZone
- java.util 接口 SortedMap<K,V>
- java.util 接口 SortedSet<E>
- java.util 类 Stack<E>
- java.util 类 StringTokenizer
- java.util 类 Timer
- java.util 类 TimerTask
- java.util 类 TimeZone
- java.util 类 TooManyListenersException
- java.util 类 TreeMap<K,V>
- java.util 类 TreeSet<E>
- java.util 类 UnknownFormatConversionException
- java.util 类 UnknownFormatFlagsException
- java.util 类 UUID
- java.util 类 Vector<E>
- java.util 类 WeakHashMap<K,V>
- java.util.concurrent 类 AbstractExecutorService
- java.util.concurrent 类 ArrayBlockingQueue<E>
- java.util.concurrent 接口 BlockingQueue<E>
- java.util.concurrent 类 BrokenBarrierException
- java.util.concurrent 接口 Callable<V>
- java.util.concurrent 类 CancellationException
- java.util.concurrent 接口 CompletionService<V>
- java.util.concurrent 类 ConcurrentHashMap<K,V>
- java.util.concurrent 类 ConcurrentLinkedQueue<E>
- java.util.concurrent 接口 ConcurrentMap<K,V>
- java.util.concurrent 类 CopyOnWriteArrayList<E>
- java.util.concurrent 类 CopyOnWriteArraySet<E>
- java.util.concurrent 类 CountDownLatch
- java.util.concurrent 类 CyclicBarrier
- java.util.concurrent 接口 Delayed
- java.util.concurrent 类 DelayQueue<E extends Delayed>
- java.util.concurrent 类 Exchanger<V>
- java.util.concurrent 类 ExecutionException
- java.util.concurrent 接口 Executor
- java.util.concurrent 类 ExecutorCompletionService<V>
- java.util.concurrent 类 Executors
- java.util.concurrent 接口 ExecutorService
- java.util.concurrent 接口 Future<V>
- java.util.concurrent 类 FutureTask<V>
- java.util.concurrent 类 LinkedBlockingQueue<E>
- java.util.concurrent (Java 2 Platform SE 5.0)
- 软件包 java.util.concurrent
- java.util.concurrent 类 PriorityBlockingQueue<E>
- java.util.concurrent 类 RejectedExecutionException
- java.util.concurrent 接口 RejectedExecutionHandler
- java.util.concurrent 接口 ScheduledExecutorService
- java.util.concurrent 接口 ScheduledFuture<V>
- java.util.concurrent 类 ScheduledThreadPoolExecutor
- java.util.concurrent 类 Semaphore
- java.util.concurrent 类 SynchronousQueue<E>
- java.util.concurrent 接口 ThreadFactory
- java.util.concurrent 类 ThreadPoolExecutor.AbortPolicy
- java.util.concurrent 类 ThreadPoolExecutor.CallerRunsPolicy
- java.util.concurrent 类 ThreadPoolExecutor.DiscardOldestPolicy
- java.util.concurrent 类 ThreadPoolExecutor.DiscardPolicy
- java.util.concurrent 类 ThreadPoolExecutor
- java.util.concurrent 类 TimeoutException
- java.util.concurrent 枚举 TimeUnit
- java.util.concurrent.atomic 类 AtomicBoolean
- java.util.concurrent.atomic 类 AtomicInteger
- java.util.concurrent.atomic 类 AtomicIntegerArray
- java.util.concurrent.atomic 类 AtomicIntegerFieldUpdater<T>
- java.util.concurrent.atomic 类 AtomicLong
- java.util.concurrent.atomic 类 AtomicLongArray
- java.util.concurrent.atomic 类 AtomicLongFieldUpdater<T>
- java.util.concurrent.atomic 类 AtomicMarkableReference<V>
- java.util.concurrent.atomic 类 AtomicReference<V>
- java.util.concurrent.atomic 类 AtomicReferenceArray<E>
- java.util.concurrent.atomic 类 AtomicReferenceFieldUpdater<T,V>
- java.util.concurrent.atomic 类 AtomicStampedReference<V>
- java.util.concurrent.atomic (Java 2 Platform SE 5.0)
- 软件包 java.util.concurrent.atomic
- java.util.concurrent.locks 类 AbstractQueuedSynchronizer
- java.util.concurrent.locks 接口 Condition
- java.util.concurrent.locks 接口 Lock
- java.util.concurrent.locks 类 LockSupport
- java.util.concurrent.locks (Java 2 Platform SE 5.0)
- 软件包 java.util.concurrent.locks
- java.util.concurrent.locks 接口 ReadWriteLock
- java.util.concurrent.locks 类 ReentrantLock
- java.util.concurrent.locks 类 ReentrantReadWriteLock
- java.util.concurrent.locks 类 ReentrantReadWriteLock.ReadLock
- java.util.concurrent.locks 类 ReentrantReadWriteLock.WriteLock
- java.util.jar 类 Attributes
- java.util.jar 类 Attributes.Name
- java.util.jar 类 JarEntry
- java.util.jar 类 JarException
- java.util.jar 类 JarFile
- java.util.jar 类 JarInputStream
- java.util.jar 类 JarOutputStream
- java.util.jar 类 Manifest
- java.util.jar 类 Pack200
- java.util.jar 接口 Pack200.Packer
- java.util.jar 接口 Pack200.Unpacker
- java.util.jar (Java 2 Platform SE 5.0)
- 软件包 java.util.jar
- java.util.logging 类 ConsoleHandler
- java.util.logging 类 ErrorManager
- java.util.logging 类 FileHandler
- java.util.logging 接口 Filter
- java.util.logging 类 Formatter
- java.util.logging 类 Handler
- java.util.logging 类 Level
- java.util.logging 类 Logger
- java.util.logging 接口 LoggingMXBean
- java.util.logging 类 LoggingPermission
- java.util.logging 类 LogManager
- java.util.logging 类 LogRecord
- java.util.logging 类 MemoryHandler
- java.util.logging (Java 2 Platform SE 5.0)
- 软件包 java.util.logging
- java.util.logging 类 SimpleFormatter
- java.util.logging 类 SocketHandler
- java.util.logging 类 StreamHandler
- java.util.logging 类 XMLFormatter
- java.util.prefs 类 AbstractPreferences
- java.util.prefs 类 BackingStoreException
- java.util.prefs 类 InvalidPreferencesFormatException
- java.util.prefs 类 NodeChangeEvent
- java.util.prefs 接口 NodeChangeListener
- java.util.prefs (Java 2 Platform SE 5.0)
- 软件包 java.util.prefs
- java.util.prefs 类 PreferenceChangeEvent
- java.util.prefs 接口 PreferenceChangeListener
- java.util.prefs 类 Preferences
- java.util.prefs 接口 PreferencesFactory
- java.util.regex 类 Matcher
- java.util.regex 接口 MatchResult
- java.util.regex (Java 2 Platform SE 5.0)
- 软件包 java.util.regex
- java.util.regex 类 Pattern
- java.util.regex 类 PatternSyntaxException
- java.util.zip 类 Adler32
- java.util.zip 类 CheckedInputStream
- java.util.zip 类 CheckedOutputStream
- java.util.zip 接口 Checksum
- java.util.zip 类 CRC32
- java.util.zip 类 DataFormatException
- java.util.zip 类 Deflater
- java.util.zip 类 DeflaterOutputStream
- java.util.zip 类 GZIPInputStream
- java.util.zip 类 GZIPOutputStream
- java.util.zip 类 Inflater
- java.util.zip 类 InflaterInputStream
- java.util.zip (Java 2 Platform SE 5.0)
- 软件包 java.util.zip
- java.util.zip 类 ZipEntry
- java.util.zip 类 ZipException
- java.util.zip 类 ZipFile
- java.util.zip 类 ZipInputStream
- java.util.zip 类 ZipOutputStream
java.lang 类 SecurityManager
java.lang.Object └java.lang.SecurityManager
public class SecurityManager
- extends Object
安全管理器是一个允许应用程序实现安全策略的类。它允许应用程序在执行一个可能不安全或敏感的操作前确定该操作是什么,以及是否是在允许执行该操作的安全上下文中执行它。应用程序可以允许或不允许该操作。
SecurityManager
包含了很多名称以 check
开头的方法。Java 库中的各种方法在执行某些潜在的敏感操作前可以调用这些方法。对 check
方法的典型调用如下:
SecurityManager security = System.getSecurityManager(); if (security != null) { security.checkXXX(argument, ...); }
因此,安全管理器通过抛出异常来提供阻止操作完成的机会。如果允许执行该操作,则安全管理器例程只是简单地返回,但如果不允许执行该操作,则抛出一个 SecurityException
。该约定的惟一例外是 checkTopLevelWindow
,它返回 boolean
值。
当前的安全管理器由 System
类中的 setSecurityManager
方法设置。当前的安全管理器由 getSecurityManager
方法获取。
特殊方法 checkPermission(java.security.Permission)
负责确定是应该允许还是拒绝由指定权限所指示的访问请求。默认的实现调用
AccessController.checkPermission(perm);
如果允许访问请求,则返回 checkPermission
。如果拒绝访问请求,则抛出 SecurityException
。
从 Java 2 SDK v1.2 开始, SecurityManager
中其他所有 check
方法的默认实现都是调用 SecurityManager checkPermission
方法来确定调用线程是否具有执行所请求操作的权限。
注意,只带有单个权限参数的 checkPermission
方法总是在当前执行的线程上下文中执行安全检查。有时,应该在给定上下文中进行的安全检查实际上需要在不同 的上下文(例如,在一个辅助线程中)中进行。Java 为这种情况提供了包含有上下文参数的 getSecurityContext
方法和 checkPermission
方法。 getSecurityContext
方法返回当前调用上下文的一个“快照”(默认的实现返回一个 AccessControlContext 对象)。下面是一个示例调用:
Object context = null; SecurityManager sm = System.getSecurityManager(); if (sm != null) context = sm.getSecurityContext();
checkPermission
方法使用一个上下文对象,以及根据该上下文而不是当前执行线程的上下文作出访问决策的权限。因此另一个上下文中的代码可以调用此方法,传递权限和以前保存的上下文对象。下面是一个示例调用,它使用了以前示例中获得的 SecurityManager sm
:
if (sm != null) sm.checkPermission(permission, context);
权限分为以下类别:文件、套接字、网络、安全性、运行时、属性、AWT、反射和可序列化。管理各种权限类别的类是 java.io.FilePermission
、 java.net.SocketPermission
、 java.net.NetPermission
、 java.security.SecurityPermission
、 java.lang.RuntimePermission
、 java.util.PropertyPermission
、 java.awt.AWTPermission
、 java.lang.reflect.ReflectPermission
和 java.io.SerializablePermission
。
除前两个(FilePermission 和 SocketPermission)类以外的所有类都是 java.security.BasicPermission
的子类,而 java.security.BasicPermission
类又是顶级权限类 java.security.Permission
的抽象子类。BasicPermission 定义了所有权限所需的功能,这些功能的名称遵从分层属性命名惯例(例如“exitVM”、“setFactory”、“queuePrintJob”等等)。在名称的末尾可能出现一个星号,前面是“.”或星号,这表示通配符匹配。例如:“a.*”、“*”是有效的,而“*a”或“a*b”是无效的。
FilePermission 和 SocketPermission 是顶级权限类 ( java.security.Permission
) 的子类。像这些命名语法比 BasicPermission 所用的语法更为复杂的类都直接是 Permission 的子类,而不是 BasicPermission 的子类。例如,对于 java.io.FilePermission
对象而言,权限名就是文件(或目录)的路径名。
某些权限类具有一个“操作”列表,告知允许对象所执行的操作。例如,对于 java.io.FilePermission
对象,操作列表(如“读、写”)指定了允许对指定文件(或指定目录中的文件)执行哪些操作。
其他权限类是“命名”权限 - 有名称但没有操作列表的类;您也许有命名的权限,也许没有。
注:还有一个暗指所有权限的 java.security.AllPermission
权限。该权限是为了简化系统管理员的工作而存在的,因为管理员可能需要执行很多需要所有(或许多)权限的任务。
有关权限相关的信息,请参阅《Permissions in the JDK》。例如,本文档包括一个列出各种 SecurityManager 的 check
方法和每个方法的默认实现所需的权限表。它还包含了版本 1.2 方法所需权限和每个方法需要哪些权限的表。
有关 JDK 中对 SecurityManager
所作更改的更多信息和关于 1.1 风格安全管理器移植的建议,请参阅《security documentation》。
- 从以下版本开始:
- JDK1.0
- 另请参见:
ClassLoader
,SecurityException
,checkTopLevelWindow
,getSecurityManager
,setSecurityManager
,AccessController
,AccessControlContext
,AccessControlException
,Permission
,BasicPermission
,FilePermission
,SocketPermission
,PropertyPermission
,RuntimePermission
,AWTPermission
,Policy
,SecurityPermission
,ProtectionDomain
字段摘要 | |
---|---|
protected boolean | inCheck 已过时。建议不使用该类安全检查。建议使用 |
构造方法摘要 | |
---|---|
SecurityManager() 构造一个新的 |
方法摘要 | |
---|---|
void | checkAccept(Stringhost, intport) 如果不允许调用线程从指定的主机和端口号接受套接字连接,则抛出 |
void | checkAccess(Threadt) 如果不允许调用线程修改 thread 参数,则抛出 |
void | checkAccess(ThreadGroupg) 如果不允许调用线程修改线程组参数,则抛出 |
void | checkAwtEventQueueAccess() 如果不允许调用线程访问 AWT 事件队列,则抛出 |
void | checkConnect(Stringhost, intport) 如果不允许调用线程打开到指定主机和端口号的套接字连接,则抛出 |
void | checkConnect(Stringhost, intport, Objectcontext) 如果不允许指定的安全上下文打开与指定主机和端口号的套接字连接,则抛出 |
void | checkCreateClassLoader() 如果不允许调用线程创建新的类加载器,则抛出 |
void | checkDelete(Stringfile) 如果不允许调用线程删除指定的文件,则抛出 |
void | checkExec(Stringcmd) 如果不允许调用线程创建一个子进程,则抛出 |
void | checkExit(intstatus) 如果不允许调用线程使用特定的状态码暂停 Java 虚拟机,则抛出 |
void | checkLink(Stringlib) 如果不允许调用线程动态链接由字符串参数文件指定的库代码,则抛出 |
void | checkListen(intport) 如果不允许调用线程等待与指定本地端口号进行连接的请求,则抛出 |
void | checkMemberAccess(Class<?>clazz, intwhich) 如果不允许调用线程访问程序,则抛出 |
void | checkMulticast(java.net.InetAddressmaddr) 如果不允许调用线程使用(加入/离开/发送/接收)IP 多路广播,则抛出 |
void | checkMulticast(java.net.InetAddressmaddr, bytettl) 已过时。由 #checkPermission(java.security.Permission) 取代 |
void | checkPackageAccess(Stringpkg) 如果不允许调用线程访问由参数指定的包,则抛出 |
void | checkPackageDefinition(Stringpkg) 如果不允许调用线程在参数指定的包中定义类,则抛出 |
void | checkPermission(java.security.Permissionperm) 如果基于当前有效的安全策略,不允许执行根据给定权限所指定的请求访问,则抛出 |
void | checkPermission(java.security.Permissionperm, Objectcontext) 如果拒绝指定的安全上下文访问由给定权限所指定的资源,则抛出 |
void | checkPrintJobAccess() 如果不允许调用线程发起一个打印作业请求,则抛出 |
void | checkPropertiesAccess() 如果不允许调用线程访问或修改系统属性,则抛出 |
void | checkPropertyAccess(Stringkey) 如果不允许调用线程访问具有指定的 |
void | checkRead(FileDescriptorfd) 如果不允许调用线程从指定的文件描述符进行读取,则抛出 |
void | checkRead(Stringfile) 如果不允许调用线程读取由字符串参数指定的文件,则抛出 |
void | checkRead(Stringfile, Objectcontext) 如果不允许指定的安全上下文读取由字符串参数所指定的文件,则抛出 |
void | checkSecurityAccess(Stringtarget) 确定是应该允许还是拒绝具有指定权限目标名的权限。 |
void | checkSetFactory() 如果不允许调用线程设置由 |
void | checkSystemClipboardAccess() 如果不允许调用线程访问系统剪贴板,则抛出 |
boolean | checkTopLevelWindow(Objectwindow) 如果不受信任的调用线程调出由 |
void | checkWrite(FileDescriptorfd) 如果不允许调用线程写入指定的文件描述符,则抛出 |
void | checkWrite(Stringfile) 如果不允许调用线程写由字符串参数指定的文件,则抛出 |
protected int | classDepth(Stringname) 已过时。建议不使用该类安全检查。建议使用 |
protected int | classLoaderDepth() 已过时。建议不使用该类安全检查。建议使用 |
protected ClassLoader | currentClassLoader() 已过时。建议不使用该类安全检查。建议使用 |
protected Class<?> | currentLoadedClass() 已过时。建议不使用该类安全检查。建议使用 |
protected Class[] | getClassContext() 以类数组的形式返回当前执行堆栈。 |
boolean | getInCheck() 已过时。建议不使用该类安全检查。建议使用 |
Object | getSecurityContext() 创建一个封装当前执行环境的对象。 |
ThreadGroup | getThreadGroup() 调用此方法时,返回所有新创建的线程实例化后所在的线程组。 |
protected boolean | inClass(Stringname) 已过时。建议不使用该类安全检查。建议使用 |
protected boolean | inClassLoader() 已过时。建议不使用该类安全检查。建议使用 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息
inCheck
@Deprecated protected boolean inCheck
- 已过时。建议不使用该类安全检查。建议使用
checkPermission
调用。 - 如果安全检查正在进行,则该字段为
true
;否则为false
。
构造方法详细信息
SecurityManager
public SecurityManager()
- 构造一个新的
SecurityManager
。如果已经安装了一个安全管理器,则此方法首先用
RuntimePermission("createSecurityManager")
权限调用此安全管理器的checkPermission
方法,确保调用线程具有创建新安全管理器的权限。这可能导致抛出SecurityException
。- 抛出:
SecurityException
- 如果安全管理器已存在,并且其checkPermission
方法不允许创建新安全管理器。- 另请参见:
System.getSecurityManager()
,checkPermission
,RuntimePermission
方法详细信息
getInCheck
@Deprecated public boolean getInCheck()
- 已过时。建议不使用该类安全检查。建议使用
checkPermission
调用。 - 测试安全检查是否正在进行。
- 返回:
inCheck
字段的值。如果安全检查正在进行,则该字段应该为true
,否则应该为false
。- 另请参见:
inCheck
getClassContext
protected Class[] getClassContext()
- 以类数组的形式返回当前执行堆栈。
数组的长度是执行堆栈中的方法数。索引
0
指定的元素是当前执行方法的类,索引1
指定的元素是该方法调用方的类,依此类推。 - 返回:
- 执行堆栈。
currentClassLoader
@Deprecated protected ClassLoader currentClassLoader()
- 已过时。建议不使用该类安全检查。建议使用
checkPermission
调用。 - 返回最近执行的、使用非系统类加载器定义的类方法的类加载器。非系统类加载器被定义为一种不同于系统类加载器(由
ClassLoader.getSystemClassLoader()
返回)或其祖先之一的类加载器。在以下三种情况中,此方法将返回
null
:- 执行堆栈中的所有方法都来自于使用系统类加载器或其祖先之一所定义的类。
- 在执行堆栈中,直到第一个“特权”调用方(参见
AccessController.doPrivileged(java.security.PrivilegedAction)
)为止的所有方法都来自于使用系统类加载器或其祖先之一所定义的类。 - 使用
java.security.AllPermission
调用checkPermission
不会导致 SecurityException。
- 返回:
- 最近执行的、使用非系统类加载器定义的类方法堆栈中的类加载器。
- 另请参见:
getSystemClassLoader
,checkPermission
currentLoadedClass
@Deprecated protected Class<?> currentLoadedClass()
- 已过时。建议不使用该类安全检查。建议使用
checkPermission
调用。 - 返回最近执行的、使用非系统类加载器定义的类方法的类。非系统类加载器被定义为一种不同于系统类加载器(由
ClassLoader.getSystemClassLoader()
返回)或其祖先之一的类加载器。在以下三种情况中,此方法将返回
null
:- 执行堆栈中的所有方法都来自于使用系统类加载器或其祖先之一所定义的类。
- 在执行堆栈中,直到第一个“特权”调用方(参见
AccessController.doPrivileged(java.security.PrivilegedAction)
)为止的所有方法都来自于使用系统类加载器或其祖先之一所定义的类。 - 使用
java.security.AllPermission
调用checkPermission
不会导致 SecurityException。
- 返回:
- 最近出现的、使用非系统类加载器定义的类方法堆栈中的类。
- 另请参见:
getSystemClassLoader
,checkPermission
classDepth
@Deprecated protected int classDepth(Stringname)
- 已过时。建议不使用该类安全检查。建议使用
checkPermission
调用。 - 返回指定类的堆栈深度。
- 参数:
name
- 要查找的类的完全限定名。- 返回:
- 在指定名称的类中第一个方法出现的堆栈帧深度;如未找到这样的帧,则返回
-1
。
classLoaderDepth
@Deprecated protected int classLoaderDepth()
- 已过时。建议不使用该类安全检查。建议使用
checkPermission
调用。 - 返回最近执行的、使用非系统类加载器定义的类方法的堆栈深度。非系统类加载器被定义为一种不同于系统类加载器(由
ClassLoader.getSystemClassLoader()
返回)或其祖先之一的类加载器。在以下三种情况中,此方法将返回 -1:
- 执行堆栈中的所有方法都来自于使用系统类加载器或其祖先之一所定义的类。
- 在执行堆栈中,直到第一个“特权”调用方(参见
AccessController.doPrivileged(java.security.PrivilegedAction)
)为止的所有方法都来自于使用系统类加载器或其祖先之一所定义的类。 - 使用
java.security.AllPermission
调用checkPermission
不会导致 SecurityException。
- 返回:
- 最近出现的、使用非系统类加载器定义的类方法的堆栈帧深度。
- 另请参见:
getSystemClassLoader
,checkPermission
inClass
@Deprecated protected boolean inClass(Stringname)
- 已过时。建议不使用该类安全检查。建议使用
checkPermission
调用。 - 测试具有指定名称的类方法是否处于执行堆栈中。
- 参数:
name
- 该类的完全限定名。- 返回:
- 如果具有指定名称的类方法处于执行堆栈中,则返回
true
;否则返回false
。
inClassLoader
@Deprecated protected boolean inClassLoader()
- 已过时。建议不使用该类安全检查。建议使用
checkPermission
调用。 - 主要是测试某个使用类加载器定义的类方法是否处于执行堆栈中。
- 返回:
- 如果调用
currentClassLoader
具有非 null 的返回值,则返回true
。 - 另请参见:
currentClassLoader
getSecurityContext
public Object getSecurityContext()
- 创建一个封装当前执行环境的对象。例如,此方法的结果由带有三参数的
checkConnect
方法和带有两参数的checkRead
方法使用。这些方法是必需的,因为一个受信任的方法可能代表另一方法被调用,以读取一个文件或打开一个套接字。受信任的方法需要确定是否允许另一个方法(可能不受信任)独自执行该操作。此方法的默认实现是返回
AccessControlContext
对象。 - 返回:
- 一个取决于实现的对象,该对象封装了有关当前执行环境的足够信息,这些信息用于稍后执行某些安全检查。
- 另请参见:
checkConnect
,checkRead
,AccessControlContext
checkPermission
public void checkPermission(java.security.Permissionperm)
- 如果基于当前有效的安全策略,不允许执行根据给定权限所指定的请求访问,则抛出
SecurityException
。此方法使用给定的权限调用
AccessController.checkPermission
。 - 参数:
perm
- 请求的权限。- 抛出:
SecurityException
- 如果根据当前的安全策略不允许进行访问。NullPointerException
- 如果 permission 参数为null
。- 从以下版本开始:
- 1.2
checkPermission
public void checkPermission(java.security.Permissionperm, Objectcontext)
- 如果拒绝指定的安全上下文访问由给定权限所指定的资源,则抛出
SecurityException
。该上下文必须是一个通过以前调用getSecurityContext
所返回的安全上下文,并且应该根据为该安全上下文所配置的安全策略来作出访问控制决策。如果
context
是AccessControlContext
的一个实例,则用指定的权限调用AccessControlContext.checkPermission
方法。如果
context
不是AccessControlContext
的一个实例,则抛出SecurityException
。 - 参数:
perm
- 指定的权限。context
- 一个取决于系统的安全上下文。- 抛出:
SecurityException
- 如果指定的安全上下文不是AccessControlContext
的一个实例(如为null
),或者访问由给定权限所指定的资源时被拒绝。NullPointerException
- 如果权限参数为null
。- 从以下版本开始:
- 1.2
- 另请参见:
getSecurityContext()
,AccessControlContext.checkPermission(java.security.Permission)
checkCreateClassLoader
public void checkCreateClassLoader()
- 如果不允许调用线程创建新的类加载器,则抛出
SecurityException
。此方法用
RuntimePermission("createClassLoader")
权限调用checkPermission
。如果重写此方法,那么应该在已重写方法通常将要抛出异常时调用
super.checkCreateClassLoader
。 - 抛出:
SecurityException
- 如果调用线程没有创建新类加载器的权限。- 另请参见:
ClassLoader.ClassLoader()
,checkPermission
checkAccess
public void checkAccess(Threadt)
- 如果不允许调用线程修改 thread 参数,则抛出
SecurityException
。由
Thread
类的stop
、suspend
、resume
、setPriority
、setName
和setDaemon
方法为当前的安全管理器调用此方法。如果 thread 参数是一个系统线程(属于具有一个
null
父线程的线程组),那么此方法使用RuntimePermission("modifyThread")
权限调用checkPermission
。如果 thread 参数不 是一个系统线程,则此方法不执行任何操作。希望具有更为严格策略的应用程序应该重写此方法。如果重写此方法,那么重写它的方法应该进行额外的检查,查看调用线程是否具有
RuntimePermission("modifyThread")
权限,如果是,则此方法不执行任何操作。这样做是为了确保允许那些被授予该权限的代码(如 JDK 本身)能够操作所有线程。如果重写此方法,那么应该由已重写方法中的第一条语句调用
super.checkAccess
,或者应该在已重写方法中放入等效的安全检查代码。 - 参数:
t
- 要检查的线程。- 抛出:
SecurityException
- 如果调用线程没有修改线程的权限。NullPointerException
- 如果线程参数为null
。- 另请参见:
resume
,setDaemon
,setName
,setPriority
,stop
,suspend
,checkPermission
checkAccess
public void checkAccess(ThreadGroupg)
- 如果不允许调用线程修改线程组参数,则抛出
SecurityException
。当创建新的子线程或子线程组时,由
ThreadGroup
类的setDaemon
、setMaxPriority
、stop
、suspend
、resume
和destroy
方法为当前的安全管理器调用此方法。如果该线程组是一个系统线程组(具有
null
父线程),那么此方法使用RuntimePermission("modifyThreadGroup")
权限调用checkPermission
。如果该线程组不 是一个系统线程组,则此方法不执行任何操作。希望具有更为严格策略的应用程序应该重写此方法。如果重写此方法,那么重写它的方法应该进行额外的检查,查看调用线程是否具有
RuntimePermission("modifyThreadGroup")
权限,如果是,则此方法不执行任何操作。这样做是为了确保允许那些被授予该权限的代码(如 JDK 本身)能够操作所有线程。如果重写此方法,那么应该由已重写方法中的第一条语句调用
super.checkAccess
,或者应该在已重写方法中放入等效的安全检查。 - 参数:
g
- 要检查的线程组。- 抛出:
SecurityException
- 如果调用线程没有修改线程组的权限。NullPointerException
- 如果线程组参数为null
。- 另请参见:
destroy
,resume
,setDaemon
,setMaxPriority
,stop
,suspend
,checkPermission
checkExit
public void checkExit(intstatus)
- 如果不允许调用线程使用特定的状态码暂停 Java 虚拟机,则抛出
SecurityException
。由
Runtime
类的exit
方法为当前的安全管理器调用此方法。状态0
表示成功,其他值则表示各种错误。此方法用
RuntimePermission("exitVM")
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkExit
。 - 参数:
status
- 退出状态。- 抛出:
SecurityException
- 如果调用线程没有用指定的状态暂停 Java 虚拟机的权限。- 另请参见:
exit
,checkPermission
checkExec
public void checkExec(Stringcmd)
- 如果不允许调用线程创建一个子进程,则抛出
SecurityException
。由
Runtime
类的exec
方法为当前的安全管理器调用此方法。如果 cmd 是绝对路径,那么此方法使用
FilePermission(cmd,"execute")
权限调用checkPermission
,否则用FilePermission("<<ALL FILES>>","execute")
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkExec
。 - 参数:
cmd
- 指定的系统命令。- 抛出:
SecurityException
- 如果调用线程没有创建子进程的权限。NullPointerException
- 如果cmd
参数为null
。- 另请参见:
Runtime.exec(java.lang.String)
,Runtime.exec(java.lang.String, java.lang.String[])
,Runtime.exec(java.lang.String[])
,Runtime.exec(java.lang.String[], java.lang.String[])
,checkPermission
checkLink
public void checkLink(Stringlib)
- 如果不允许调用线程动态链接由字符串参数文件指定的库代码,则抛出
SecurityException
。此方法中的参数可以是一个简单的库名,或者是一个完整的文件名。由
Runtime
类的load
和loadLibrary
方法为当前的安全管理器调用此方法。此方法用
RuntimePermission("loadLibrary."+lib)
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkLink
。 - 参数:
lib
- 库名。- 抛出:
SecurityException
- 如果调用线程没有动态地链接该库的权限。NullPointerException
- 如果lib
参数为null
。- 另请参见:
Runtime.load(java.lang.String)
,Runtime.loadLibrary(java.lang.String)
,checkPermission
checkRead
public void checkRead(FileDescriptorfd)
- 如果不允许调用线程从指定的文件描述符进行读取,则抛出
SecurityException
。此方法用
RuntimePermission("readFileDescriptor")
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkRead
。 - 参数:
fd
- 取决于系统的文件描述符。- 抛出:
SecurityException
- 如果调用线程没有访问指定文件描述符的权限。NullPointerException
- 如果文件描述符参数为null
。- 另请参见:
FileDescriptor
,checkPermission
checkRead
public void checkRead(Stringfile)
- 如果不允许调用线程读取由字符串参数指定的文件,则抛出
SecurityException
。此方法用
FilePermission(file,"read")
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkRead
。 - 参数:
file
- 取决于系统的文件名。- 抛出:
SecurityException
- 如果调用线程没有访问指定文件的权限。NullPointerException
- 如果file
参数为null
。- 另请参见:
checkPermission
checkRead
public void checkRead(Stringfile, Objectcontext)
- 如果不允许指定的安全上下文读取由字符串参数所指定的文件,则抛出
SecurityException
。该上下文必须是以前调用getSecurityContext
所返回的安全上下文。如果
context
是AccessControlContext
的一个实例,则用FilePermission(file,"read")
权限调用AccessControlContext.checkPermission
方法。如果
context
不是AccessControlContext
的一个实例,则抛出SecurityException
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkRead
。 - 参数:
file
- 取决于系统的文件名。context
- 取决于系统的安全上下文。- 抛出:
SecurityException
- 如果指定的安全上下文不是AccessControlContext
的一个实例(如为null
),或者没有读取指定文件的权限。NullPointerException
- 如果file
参数为null
。- 另请参见:
getSecurityContext()
,AccessControlContext.checkPermission(java.security.Permission)
checkWrite
public void checkWrite(FileDescriptorfd)
- 如果不允许调用线程写入指定的文件描述符,则抛出
SecurityException
。此方法用
RuntimePermission("writeFileDescriptor")
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkWrite
。 - 参数:
fd
- 取决于系统的文件描述符。- 抛出:
SecurityException
- 如果调用的方法没有访问指定文件描述符的权限。NullPointerException
- 如果文件描述符参数为null
。- 另请参见:
FileDescriptor
,checkPermission
checkWrite
public void checkWrite(Stringfile)
- 如果不允许调用线程写由字符串参数指定的文件,则抛出
SecurityException
。此方法用
FilePermission(file,"write")
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkWrite
。 - 参数:
file
- 取决于系统的文件名。- 抛出:
SecurityException
- 如果调用线程没有访问指定文件的权限。NullPointerException
- 如果file
参数为null
。- 另请参见:
checkPermission
checkDelete
public void checkDelete(Stringfile)
- 如果不允许调用线程删除指定的文件,则抛出
SecurityException
。由
File
类的delete
方法为当前的安全管理器调用此方法。此方法用
FilePermission(file,"delete")
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkDelete
。 - 参数:
file
- 取决于系统的文件名。- 抛出:
SecurityException
- 如果调用线程没有删除文件的权限。NullPointerException
- 如果file
参数为null
。- 另请参见:
File.delete()
,checkPermission
checkConnect
public void checkConnect(Stringhost, intport)
- 如果不允许调用线程打开到指定主机和端口号的套接字连接,则抛出
SecurityException
。端口号
-1
表示调用的方法正在试图确定指定主机名的 IP 地址。如果端口号不等于 -1,则此方法用
SocketPermission(host+":"+port,"connect")
权限调用checkPermission
。如果端口号等于 -1,则用SocketPermission(host,"resolve")
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkConnect
。 - 参数:
host
- 要连接的主机名端口。port
- 要连接的协议端口。- 抛出:
SecurityException
- 如果不允许调用线程打开与指定host
和port
的套接字连接。NullPointerException
- 如果host
参数为null
。- 另请参见:
checkPermission
checkConnect
public void checkConnect(Stringhost, intport, Objectcontext)
- 如果不允许指定的安全上下文打开与指定主机和端口号的套接字连接,则抛出
SecurityException
。端口号
-1
表示调用的方法正试图确定指定主机名的 IP 地址。如果
context
不是AccessControlContext
的一个实例,则抛出SecurityException
。否则就检查端口号。如果端口号不等于 -1,则用
SocketPermission(host+":"+port,"connect")
权限调用context
的checkPermission
方法。如果端口号等于 -1,则用SocketPermission(host,"resolve")
权限调用context
的checkPermission
方法。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkConnect
。 - 参数:
host
- 要连接的主机名端口。port
- 要连接的协议端口。context
- 取决于系统的安全上下文。- 抛出:
SecurityException
- 如果指定的安全上下文不是AccessControlContext
的一个实例(如为null
),或者不允许打开与指定host
和port
套接字连接。NullPointerException
- 如果host
参数为null
。- 另请参见:
getSecurityContext()
,AccessControlContext.checkPermission(java.security.Permission)
checkListen
public void checkListen(intport)
- 如果不允许调用线程等待与指定本地端口号进行连接的请求,则抛出
SecurityException
。如果端口号不是 0,则此方法用
SocketPermission("localhost:"+port,"listen")
调用checkPermission
。如果端口号是 0,则此方法用SocketPermission("localhost:1024-","listen")
调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkListen
。 - 参数:
port
- 本地端口。- 抛出:
SecurityException
- 如果调用的方法没有侦听指定端口的权限。- 另请参见:
checkPermission
checkAccept
public void checkAccept(Stringhost, intport)
- 如果不允许调用线程从指定的主机和端口号接受套接字连接,则抛出
SecurityException
。由
ServerSocket
类的accept
方法为当前的安全管理器调用此方法。此方法用
SocketPermission(host+":"+port,"accept")
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkAccept
。 - 参数:
host
- 套接字连接的主机名。port
- 套接字连接的端口号。- 抛出:
SecurityException
- 如果调用线程没有接受连接的权限。NullPointerException
- 如果host
参数为null
。- 另请参见:
ServerSocket.accept()
,checkPermission
checkMulticast
public void checkMulticast(java.net.InetAddressmaddr)
- 如果不允许调用线程使用(加入/离开/发送/接收)IP 多路广播,则抛出
SecurityException
。此方法使用
java.net.SocketPermission(maddr.getHostAddress(), "accept,connect")
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkMulticast
。 - 参数:
maddr
- 要使用的 Internet 组地址。- 抛出:
SecurityException
- 如果不允许调用线程使用(加入/离开/发送/接收)IP 多路广播。NullPointerException
- 如果地址参数为null
。- 从以下版本开始:
- JDK1.1
- 另请参见:
checkPermission
checkMulticast
@Deprecated public void checkMulticast(java.net.InetAddressmaddr, bytettl)
- 已过时。由 #checkPermission(java.security.Permission) 取代
- 如果不允许调用线程使用(加入/离开/发送/接收)IP 多路广播,则抛出
SecurityException
。此方法用
java.net.SocketPermission(maddr.getHostAddress(), "accept,connect")
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkMulticast
。 - 参数:
maddr
- 要使用的 Internet 组地址。ttl
- 正在使用的值,如果是用多路广播发送的话。注:此特定实现不使用 ttl 参数。- 抛出:
SecurityException
- 如果不允许调用线程使用(加入/离开/发送/接收)IP 多路广播。NullPointerException
- 如果地址参数为null
。- 从以下版本开始:
- JDK1.1
- 另请参见:
checkPermission
checkPropertiesAccess
public void checkPropertiesAccess()
- 如果不允许调用线程访问或修改系统属性,则抛出
SecurityException
。由
System
类的getProperties
和setProperties
方法使用此方法。此方法用
PropertyPermission("*", "read,write")
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkPropertiesAccess
。 - 抛出:
SecurityException
- 如果调用线程没有访问或修改系统属性的权限。- 另请参见:
System.getProperties()
,System.setProperties(java.util.Properties)
,checkPermission
checkPropertyAccess
public void checkPropertyAccess(Stringkey)
- 如果不允许调用线程访问具有指定的
key
名的系统属性,则抛出SecurityException
。由
System
类的getProperty
方法使用此方法。此方法用
PropertyPermission(key, "read")
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkPropertyAccess
。 - 参数:
key
- key 系统属性。- 抛出:
SecurityException
- 如果调用线程没有访问指定系统属性的权限。NullPointerException
- 如果key
参数为null
。IllegalArgumentException
- 如果key
为空。- 另请参见:
System.getProperty(java.lang.String)
,checkPermission
checkTopLevelWindow
public boolean checkTopLevelWindow(Objectwindow)
- 如果不受信任的调用线程调出由
window
参数指出的顶层窗口,则返回false
。在这种情况下,调用方仍然可以决定显示窗口,但窗口应包括某些可视的警告。如果此方法返回true
,则窗口的显示没有任何特殊的限制。有关受信任和不受信任窗口的更多信息,请参见
Window
类。此方法用
AWTPermission("showWindowWithoutWarningBanner")
权限调用checkPermission
,并且如果未抛出 SecurityException,则返回true
,否则返回false
。如果重写此方法,那么通常应该在已重写方法将要返回
false
时调用super.checkTopLevelWindow
,并且应该返回super.checkTopLevelWindow
值。 - 参数:
window
- 所创建的新窗口。- 返回:
- 如果信任的调用线程弹出顶层窗口,则返回
true
,否则返回false
。 - 抛出:
NullPointerException
- 如果window
参数为null
。- 另请参见:
Window
,checkPermission
checkPrintJobAccess
public void checkPrintJobAccess()
- 如果不允许调用线程发起一个打印作业请求,则抛出
SecurityException
。此方法用
RuntimePermission("queuePrintJob")
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkPrintJobAccess
。 - 抛出:
SecurityException
- 如果调用线程没有发起打印作业请求的权限。- 从以下版本开始:
- JDK1.1
- 另请参见:
checkPermission
checkSystemClipboardAccess
public void checkSystemClipboardAccess()
- 如果不允许调用线程访问系统剪贴板,则抛出
SecurityException
。此方法用
AWTPermission("accessClipboard")
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkSystemClipboardAccess
。 - 抛出:
SecurityException
- 如果调用线程没有访问系统剪贴板的权限。- 从以下版本开始:
- JDK1.1
- 另请参见:
checkPermission
checkAwtEventQueueAccess
public void checkAwtEventQueueAccess()
- 如果不允许调用线程访问 AWT 事件队列,则抛出
SecurityException
。此方法用
AWTPermission("accessEventQueue")
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkAwtEventQueueAccess
。 - 抛出:
SecurityException
- 如果调用线程没有访问 AWT 事件队列的权限。- 从以下版本开始:
- JDK1.1
- 另请参见:
checkPermission
checkPackageAccess
public void checkPackageAccess(Stringpkg)
- 如果不允许调用线程访问由参数指定的包,则抛出
SecurityException
。由类加载器的
loadClass
方法使用此方法。此方法首先获得受限制包的列表,方法是从对
java.security.Security.getProperty("package.access")
的调用中获取一个逗号分隔的列表,并查看受限制包是否以pkg
开头或等于该字符。如果是,则用RuntimePermission("accessClassInPackage."+pkg)
权限调用checkPermission
。如果重写了此方法,则应在已重写方法的首行调用
super.checkPackageAccess
。 - 参数:
pkg
- 包名。- 抛出:
SecurityException
- 如果调用线程没有访问指定包的权限。NullPointerException
- 如果包名参数为null
。- 另请参见:
loadClass
,getProperty
,checkPermission
checkPackageDefinition
public void checkPackageDefinition(Stringpkg)
- 如果不允许调用线程在参数指定的包中定义类,则抛出
SecurityException
。由类加载器的
loadClass
方法使用此方法。此方法首先获得受限制包的列表,方法是从对
java.security.Security.getProperty("package.definition")
的调用中获取一个逗号分隔的列表,并查看受限制包是否以pkg
开头或等于该字符。如果是,则用RuntimePermission("defineClassInPackage."+pkg)
权限调用checkPermission
。如果重写了此方法,则应在已重写方法的首行调用
super.checkPackageDefinition
。 - 参数:
pkg
- 包名。- 抛出:
SecurityException
- 如果调用线程没有在指定包中定义类的权限。- 另请参见:
ClassLoader.loadClass(java.lang.String, boolean)
,getProperty
,checkPermission
checkSetFactory
public void checkSetFactory()
- 如果不允许调用线程设置由
ServerSocket
或Socket
使用的套接字工厂,或者由URL
使用的流处理程序工厂,则抛出SecurityException
。此方法用
RuntimePermission("setFactory")
权限调用checkPermission
。如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkSetFactory
。 - 抛出:
SecurityException
- 如果调用线程没有指定套接字工厂或流处理程序工厂的权限。- 另请参见:
setSocketFactory
,setSocketImplFactory
,setURLStreamHandlerFactory
,checkPermission
checkMemberAccess
public void checkMemberAccess(Class<?>clazz, intwhich)
- 如果不允许调用线程访问程序,则抛出
SecurityException
。默认的策略是允许访问 PUBLIC 成员,以及访问具有与调用方相同类加载器的类。在所有其他情况下,此方法用
RuntimePermission("accessDeclaredMembers")
权限调用checkPermission
。如果重写此方法,则不能调用
super.checkMemberAccess
,因为checkMemberAccess
的默认实现依赖于堆栈深度为 4 时检查的代码。 - 参数:
clazz
- 要执行反射的类。which
- 访问类型,PUBLIC 或 DECLARED。- 抛出:
SecurityException
- 如果调用方没有访问成员的权限。NullPointerException
- 如果clazz
参数为null
。- 从以下版本开始:
- JDK1.1
- 另请参见:
Member
,checkPermission
checkSecurityAccess
public void checkSecurityAccess(Stringtarget)
- 确定是应该允许还是拒绝具有指定权限目标名的权限。
如果允许请求的权限,则此方法不执行任何操作。如果拒绝,则引发 SecurityException。
此方法为给定权限的目标名创建一个
SecurityPermission
对象并用该对象调用checkPermission
。有关可用权限目标名的列表,请参阅
的文档。SecurityPermission
如果重写此方法,那么通常应该在已重写方法将要抛出异常时调用
super.checkSecurityAccess
。 - 参数:
target
-SecurityPermission
的目标名。- 抛出:
SecurityException
- 如果调用线程没有所请求访问的权限。NullPointerException
- 如果target
为 null。IllegalArgumentException
- 如果target
为空。- 从以下版本开始:
- JDK1.1
- 另请参见:
checkPermission
getThreadGroup
public ThreadGroup getThreadGroup()
- 调用此方法时,返回所有新创建的线程实例化后所在的线程组。默认情况下,返回当前线程所在的线程组。应该由指定的安全管理器重写此方法,以返回适当的线程组。
- 返回:
- ThreadGroup 新线程被实例化后所在的线程组
- 从以下版本开始:
- JDK1.1
- 另请参见:
ThreadGroup
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论