Merge
This commit is contained in:
commit
04bb1f355b
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 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
|
||||
@ -407,19 +407,10 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
|
||||
return pkg;
|
||||
}
|
||||
|
||||
/*
|
||||
* Defines a Class using the class bytes obtained from the specified
|
||||
* Resource. The resulting Class must be resolved before it can be
|
||||
* used.
|
||||
*/
|
||||
private Class<?> defineClass(String name, Resource res) throws IOException {
|
||||
long t0 = System.nanoTime();
|
||||
int i = name.lastIndexOf('.');
|
||||
URL url = res.getCodeSourceURL();
|
||||
if (i != -1) {
|
||||
String pkgname = name.substring(0, i);
|
||||
// Check if package already loaded.
|
||||
Manifest man = res.getManifest();
|
||||
// Also called by VM to define Package for classes loaded from the CDS
|
||||
// archive
|
||||
private void definePackageInternal(String pkgname, Manifest man, URL url)
|
||||
{
|
||||
if (getAndVerifyPackage(pkgname, man, url) == null) {
|
||||
try {
|
||||
if (man != null) {
|
||||
@ -438,6 +429,22 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Defines a Class using the class bytes obtained from the specified
|
||||
* Resource. The resulting Class must be resolved before it can be
|
||||
* used.
|
||||
*/
|
||||
private Class<?> defineClass(String name, Resource res) throws IOException {
|
||||
long t0 = System.nanoTime();
|
||||
int i = name.lastIndexOf('.');
|
||||
URL url = res.getCodeSourceURL();
|
||||
if (i != -1) {
|
||||
String pkgname = name.substring(0, i);
|
||||
// Check if package already loaded.
|
||||
Manifest man = res.getManifest();
|
||||
definePackageInternal(pkgname, man, url);
|
||||
}
|
||||
// Now read the class bytes and define the class
|
||||
java.nio.ByteBuffer bb = res.getByteBuffer();
|
||||
if (bb != null) {
|
||||
|
Loading…
Reference in New Issue
Block a user