mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
improve mysql sql parser formance
This commit is contained in:
@@ -46,7 +46,15 @@ public class SQLInsertStatement extends SQLInsertInto implements SQLStatement {
|
||||
public static class ValuesClause extends SQLObjectImpl {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
private final List<SQLExpr> values = new ArrayList<SQLExpr>();
|
||||
private final List<SQLExpr> values;
|
||||
|
||||
public ValuesClause(){
|
||||
this(new ArrayList<SQLExpr>());
|
||||
}
|
||||
|
||||
public ValuesClause(List<SQLExpr> values){
|
||||
this.values = values;
|
||||
}
|
||||
|
||||
public List<SQLExpr> getValues() {
|
||||
return values;
|
||||
|
||||
@@ -204,7 +204,7 @@ public class MySqlLexer extends Lexer {
|
||||
}
|
||||
}
|
||||
|
||||
protected void scanString() {
|
||||
protected final void scanString() {
|
||||
mark = pos;
|
||||
boolean hasSpecial = false;
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.alibaba.druid.sql.dialect.mysql.parser;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.alibaba.druid.sql.ast.SQLCommentHint;
|
||||
@@ -23,6 +24,7 @@ import com.alibaba.druid.sql.ast.SQLName;
|
||||
import com.alibaba.druid.sql.ast.SQLOrderBy;
|
||||
import com.alibaba.druid.sql.ast.SQLStatement;
|
||||
import com.alibaba.druid.sql.ast.expr.SQLCharExpr;
|
||||
import com.alibaba.druid.sql.ast.expr.SQLIntegerExpr;
|
||||
import com.alibaba.druid.sql.ast.expr.SQLListExpr;
|
||||
import com.alibaba.druid.sql.ast.expr.SQLLiteralExpr;
|
||||
import com.alibaba.druid.sql.ast.expr.SQLQueryExpr;
|
||||
@@ -127,6 +129,7 @@ import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlUnlockTablesStatem
|
||||
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlUpdateStatement;
|
||||
import com.alibaba.druid.sql.parser.Lexer;
|
||||
import com.alibaba.druid.sql.parser.ParserException;
|
||||
import com.alibaba.druid.sql.parser.SQLParseException;
|
||||
import com.alibaba.druid.sql.parser.SQLSelectParser;
|
||||
import com.alibaba.druid.sql.parser.SQLStatementParser;
|
||||
import com.alibaba.druid.sql.parser.Token;
|
||||
@@ -1762,6 +1765,7 @@ public class MySqlStatementParser extends SQLStatementParser {
|
||||
|
||||
}
|
||||
|
||||
int columnSize = 0;
|
||||
if (lexer.token() == (Token.LPAREN)) {
|
||||
lexer.nextToken();
|
||||
if (lexer.token() == (Token.SELECT)) {
|
||||
@@ -1770,22 +1774,73 @@ public class MySqlStatementParser extends SQLStatementParser {
|
||||
insertStatement.setQuery(select);
|
||||
} else {
|
||||
this.exprParser.exprList(insertStatement.getColumns());
|
||||
columnSize = insertStatement.getColumns().size();
|
||||
}
|
||||
accept(Token.RPAREN);
|
||||
}
|
||||
|
||||
if (lexer.token() == Token.VALUES || identifierEquals("VALUE")) {
|
||||
lexer.nextToken();
|
||||
lexer.nextTokenLParen();
|
||||
|
||||
for (;;) {
|
||||
accept(Token.LPAREN);
|
||||
SQLInsertStatement.ValuesClause values = new SQLInsertStatement.ValuesClause();
|
||||
this.exprParser.exprList(values.getValues());
|
||||
insertStatement.getValuesList().add(values);
|
||||
accept(Token.RPAREN);
|
||||
|
||||
if (lexer.token() != Token.RPAREN) {
|
||||
List<SQLExpr> valueExprList;
|
||||
if (columnSize > 0) {
|
||||
valueExprList = new ArrayList<SQLExpr>(columnSize);
|
||||
} else {
|
||||
valueExprList = new ArrayList<SQLExpr>();
|
||||
}
|
||||
|
||||
for (;;) {
|
||||
SQLExpr expr;
|
||||
if (lexer.token() == Token.LITERAL_INT) {
|
||||
expr = new SQLIntegerExpr(lexer.integerValue());
|
||||
lexer.nextTokenComma();
|
||||
} else if (lexer.token() == Token.LITERAL_CHARS) {
|
||||
expr = new SQLCharExpr(lexer.stringVal());
|
||||
lexer.nextTokenComma();
|
||||
} else if (lexer.token() == Token.LITERAL_CHARS) {
|
||||
expr = new SQLCharExpr(lexer.stringVal());
|
||||
lexer.nextTokenComma();
|
||||
} else {
|
||||
expr = exprParser.expr();
|
||||
}
|
||||
|
||||
if (lexer.token() == Token.COMMA) {
|
||||
valueExprList.add(expr);
|
||||
lexer.nextToken();
|
||||
continue;
|
||||
} else if (lexer.token() == Token.RPAREN) {
|
||||
valueExprList.add(expr);
|
||||
break;
|
||||
} else {
|
||||
expr = this.exprParser.primaryRest(expr);
|
||||
valueExprList.add(expr);
|
||||
if (lexer.token() == Token.COMMA) {
|
||||
lexer.nextToken();
|
||||
continue;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SQLInsertStatement.ValuesClause values = new SQLInsertStatement.ValuesClause(valueExprList);
|
||||
insertStatement.getValuesList().add(values);
|
||||
} else {
|
||||
SQLInsertStatement.ValuesClause values = new SQLInsertStatement.ValuesClause(new ArrayList<SQLExpr>(0));
|
||||
insertStatement.getValuesList().add(values);
|
||||
}
|
||||
|
||||
if (lexer.token() != Token.RPAREN) {
|
||||
throw new SQLParseException("syntax error");
|
||||
}
|
||||
|
||||
lexer.nextTokenComma();
|
||||
if (lexer.token() == Token.COMMA) {
|
||||
lexer.nextToken();
|
||||
lexer.nextTokenLParen();
|
||||
continue;
|
||||
} else {
|
||||
break;
|
||||
@@ -2114,11 +2169,11 @@ public class MySqlStatementParser extends SQLStatementParser {
|
||||
stmt.getItems().add(item);
|
||||
} else if (lexer.token() == Token.UNIQUE) {
|
||||
lexer.nextToken();
|
||||
|
||||
|
||||
if (lexer.token() == Token.INDEX) {
|
||||
lexer.nextToken();
|
||||
}
|
||||
|
||||
|
||||
MySqlAlterTableAddUnique item = new MySqlAlterTableAddUnique();
|
||||
|
||||
if (lexer.token() == Token.LPAREN) {
|
||||
@@ -2342,7 +2397,7 @@ public class MySqlStatementParser extends SQLStatementParser {
|
||||
|
||||
return stmt;
|
||||
}
|
||||
|
||||
|
||||
protected void parseUpdateSet(SQLUpdateStatement update) {
|
||||
accept(Token.SET);
|
||||
|
||||
|
||||
@@ -187,7 +187,40 @@ public class Lexer {
|
||||
public String info() {
|
||||
return this.token + " " + this.stringVal();
|
||||
}
|
||||
|
||||
|
||||
public final void nextTokenComma() {
|
||||
if (ch == ' ') {
|
||||
scanChar();
|
||||
}
|
||||
|
||||
if (ch == ',') {
|
||||
scanChar();
|
||||
token = COMMA;
|
||||
return;
|
||||
}
|
||||
|
||||
if (ch == ')') {
|
||||
scanChar();
|
||||
token = RPAREN;
|
||||
return;
|
||||
}
|
||||
|
||||
nextToken();
|
||||
}
|
||||
|
||||
public final void nextTokenLParen() {
|
||||
if (ch == ' ') {
|
||||
scanChar();
|
||||
}
|
||||
|
||||
if (ch == '(') {
|
||||
scanChar();
|
||||
token = LPAREN;
|
||||
return;
|
||||
}
|
||||
nextToken();
|
||||
}
|
||||
|
||||
public final void nextToken() {
|
||||
bufPos = 0;
|
||||
|
||||
|
||||
@@ -223,7 +223,7 @@ public class SQLStatementParser extends SQLParser {
|
||||
continue;
|
||||
}
|
||||
|
||||
throw new ParserException("TODO " + lexer.token() + " " + lexer.stringVal());
|
||||
throw new ParserException("TODO " + lexer.token() + " " + lexer.stringVal() + ", pos " + lexer.pos());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
* Copyright 1999-2011 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.alibaba.druid.benckmark.sql;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.alibaba.druid.sql.ast.SQLStatement;
|
||||
import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser;
|
||||
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor;
|
||||
import com.alibaba.druid.sql.test.TestUtils;
|
||||
import com.alibaba.druid.util.IOUtils;
|
||||
|
||||
public class MySqlPerfMain {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
String sql = IOUtils.readFromResource("benchmark/sql/ob_sql.txt");
|
||||
|
||||
for (int i = 0; i < 10; ++i) {
|
||||
perfMySql(sql);
|
||||
}
|
||||
}
|
||||
|
||||
static long perfMySql(String sql) {
|
||||
long startYGC = TestUtils.getYoungGC();
|
||||
long startYGCTime = TestUtils.getYoungGCTime();
|
||||
long startFGC = TestUtils.getFullGC();
|
||||
|
||||
long startMillis = System.currentTimeMillis();
|
||||
for (int i = 0; i < 1000 * 1; ++i) {
|
||||
execMySql(sql);
|
||||
}
|
||||
long millis = System.currentTimeMillis() - startMillis;
|
||||
|
||||
long ygc = TestUtils.getYoungGC() - startYGC;
|
||||
long ygct = TestUtils.getYoungGCTime() - startYGCTime;
|
||||
long fgc = TestUtils.getFullGC() - startFGC;
|
||||
|
||||
System.out.println("MySql\t" + millis + ", ygc " + ygc + ", ygct " + ygct + ", fgc " + fgc);
|
||||
return millis;
|
||||
}
|
||||
|
||||
static String execMySql(String sql) {
|
||||
StringBuilder out = new StringBuilder();
|
||||
MySqlOutputVisitor visitor = new MySqlOutputVisitor(out);
|
||||
MySqlStatementParser parser = new MySqlStatementParser(sql);
|
||||
List<SQLStatement> statementList = parser.parseStatementList();
|
||||
// for (SQLStatement statement : statementList) {
|
||||
// statement.accept(visitor);
|
||||
// visitor.println();
|
||||
// }
|
||||
return out.toString();
|
||||
}
|
||||
}
|
||||
@@ -22,40 +22,54 @@ import junit.framework.TestCase;
|
||||
import com.alibaba.druid.sql.ast.SQLStatement;
|
||||
import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser;
|
||||
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor;
|
||||
import com.alibaba.druid.sql.test.TestUtils;
|
||||
import com.alibaba.druid.util.IOUtils;
|
||||
|
||||
public class MySqlPerfTest extends TestCase {
|
||||
private String sql;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
sql = "SELECT * FROM T";
|
||||
sql = "SELECT ID, NAME, AGE FROM USER WHERE ID = ?";
|
||||
}
|
||||
private String sql;
|
||||
|
||||
public void test_pert() throws Exception {
|
||||
for (int i = 0; i < 10; ++i) {
|
||||
perfMySql(sql);
|
||||
}
|
||||
}
|
||||
protected void setUp() throws Exception {
|
||||
sql = "SELECT * FROM T";
|
||||
sql = "SELECT ID, NAME, AGE FROM USER WHERE ID = ?";
|
||||
|
||||
long perfMySql(String sql) {
|
||||
long startMillis = System.currentTimeMillis();
|
||||
for (int i = 0; i < 1000 * 1000; ++i) {
|
||||
execMySql(sql);
|
||||
}
|
||||
long millis = System.currentTimeMillis() - startMillis;
|
||||
System.out.println("MySql\t" + millis);
|
||||
return millis;
|
||||
}
|
||||
sql = IOUtils.readFromResource("benchmark/sql/ob_sql.txt");
|
||||
}
|
||||
|
||||
private String execMySql(String sql) {
|
||||
StringBuilder out = new StringBuilder();
|
||||
MySqlOutputVisitor visitor = new MySqlOutputVisitor(out);
|
||||
MySqlStatementParser parser = new MySqlStatementParser(sql);
|
||||
List<SQLStatement> statementList = parser.parseStatementList();
|
||||
for (SQLStatement statement : statementList) {
|
||||
statement.accept(visitor);
|
||||
visitor.println();
|
||||
}
|
||||
return out.toString();
|
||||
}
|
||||
public void test_pert() throws Exception {
|
||||
for (int i = 0; i < 10; ++i) {
|
||||
perfMySql(sql);
|
||||
}
|
||||
}
|
||||
|
||||
long perfMySql(String sql) {
|
||||
long startYGC = TestUtils.getYoungGC();
|
||||
long startYGCTime = TestUtils.getYoungGCTime();
|
||||
long startFGC = TestUtils.getFullGC();
|
||||
|
||||
long startMillis = System.currentTimeMillis();
|
||||
for (int i = 0; i < 1000 * 1; ++i) {
|
||||
execMySql(sql);
|
||||
}
|
||||
long millis = System.currentTimeMillis() - startMillis;
|
||||
|
||||
long ygc = TestUtils.getYoungGC() - startYGC;
|
||||
long ygct = TestUtils.getYoungGCTime() - startYGCTime;
|
||||
long fgc = TestUtils.getFullGC() - startFGC;
|
||||
|
||||
System.out.println("MySql\t" + millis + ", ygc " + ygc + ", ygct " + ygct + ", fgc " + fgc);
|
||||
return millis;
|
||||
}
|
||||
|
||||
private String execMySql(String sql) {
|
||||
StringBuilder out = new StringBuilder();
|
||||
MySqlOutputVisitor visitor = new MySqlOutputVisitor(out);
|
||||
MySqlStatementParser parser = new MySqlStatementParser(sql);
|
||||
List<SQLStatement> statementList = parser.parseStatementList();
|
||||
// for (SQLStatement statement : statementList) {
|
||||
// statement.accept(visitor);
|
||||
// visitor.println();
|
||||
// }
|
||||
return out.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ public class MySqlParserResourceTest extends TestCase {
|
||||
System.out.println();
|
||||
|
||||
expect = expect.replaceAll("\\r\\n", "\n");
|
||||
Assert.assertEquals(expect, text.trim());
|
||||
Assert.assertEquals("errror resource " + resource, expect, text.trim());
|
||||
|
||||
String mergeExpect = null;
|
||||
if (items.length == 3) {
|
||||
|
||||
@@ -15,9 +15,13 @@
|
||||
*/
|
||||
package com.alibaba.druid.sql.test;
|
||||
|
||||
import java.lang.management.ManagementFactory;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import javax.management.MBeanServer;
|
||||
import javax.management.ObjectName;
|
||||
|
||||
import com.alibaba.druid.sql.ast.SQLStatement;
|
||||
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleOutputVisitor;
|
||||
import com.alibaba.druid.sql.dialect.sqlserver.visitor.SQLServerOutputVisitor;
|
||||
@@ -69,4 +73,67 @@ public class TestUtils {
|
||||
|
||||
return out.toString();
|
||||
}
|
||||
|
||||
public static long getYoungGC() {
|
||||
try {
|
||||
// java.lang:type=GarbageCollector,name=G1 Young Generation
|
||||
// java.lang:type=GarbageCollector,name=G1 Old Generation
|
||||
MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
|
||||
ObjectName objectName;
|
||||
if (mbeanServer.isRegistered(new ObjectName("java.lang:type=GarbageCollector,name=ParNew"))) {
|
||||
objectName = new ObjectName("java.lang:type=GarbageCollector,name=ParNew");
|
||||
} else if (mbeanServer.isRegistered(new ObjectName("java.lang:type=GarbageCollector,name=Copy"))) {
|
||||
objectName = new ObjectName("java.lang:type=GarbageCollector,name=Copy");
|
||||
} else if (mbeanServer.isRegistered(new ObjectName("java.lang:type=GarbageCollector,name=G1 Young Generation"))) {
|
||||
objectName = new ObjectName("java.lang:type=GarbageCollector,name=G1 Young Generation");
|
||||
} else {
|
||||
objectName = new ObjectName("java.lang:type=GarbageCollector,name=PS Scavenge");
|
||||
}
|
||||
|
||||
return (Long) mbeanServer.getAttribute(objectName, "CollectionCount");
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("error");
|
||||
}
|
||||
}
|
||||
|
||||
public static long getYoungGCTime() {
|
||||
try {
|
||||
MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
|
||||
ObjectName objectName;
|
||||
if (mbeanServer.isRegistered(new ObjectName("java.lang:type=GarbageCollector,name=ParNew"))) {
|
||||
objectName = new ObjectName("java.lang:type=GarbageCollector,name=ParNew");
|
||||
} else if (mbeanServer.isRegistered(new ObjectName("java.lang:type=GarbageCollector,name=Copy"))) {
|
||||
objectName = new ObjectName("java.lang:type=GarbageCollector,name=Copy");
|
||||
} else if (mbeanServer.isRegistered(new ObjectName("java.lang:type=GarbageCollector,name=G1 Young Generation"))) {
|
||||
objectName = new ObjectName("java.lang:type=GarbageCollector,name=G1 Young Generation");
|
||||
} else {
|
||||
objectName = new ObjectName("java.lang:type=GarbageCollector,name=PS Scavenge");
|
||||
}
|
||||
|
||||
return (Long) mbeanServer.getAttribute(objectName, "CollectionTime");
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("error", e);
|
||||
}
|
||||
}
|
||||
|
||||
public static long getFullGC() {
|
||||
try {
|
||||
MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
|
||||
ObjectName objectName;
|
||||
|
||||
if (mbeanServer.isRegistered(new ObjectName("java.lang:type=GarbageCollector,name=ConcurrentMarkSweep"))) {
|
||||
objectName = new ObjectName("java.lang:type=GarbageCollector,name=ConcurrentMarkSweep");
|
||||
} else if (mbeanServer.isRegistered(new ObjectName("java.lang:type=GarbageCollector,name=MarkSweepCompact"))) {
|
||||
objectName = new ObjectName("java.lang:type=GarbageCollector,name=MarkSweepCompact");
|
||||
} else if (mbeanServer.isRegistered(new ObjectName("java.lang:type=GarbageCollector,name=G1 Old Generation"))) {
|
||||
objectName = new ObjectName("java.lang:type=GarbageCollector,name=G1 Old Generation");
|
||||
} else {
|
||||
objectName = new ObjectName("java.lang:type=GarbageCollector,name=PS MarkSweep");
|
||||
}
|
||||
|
||||
return (Long) mbeanServer.getAttribute(objectName, "CollectionCount");
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("error");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,497 @@
|
||||
|
||||
num #instances #bytes class name
|
||||
----------------------------------------------
|
||||
1: 1658 9172640 [I
|
||||
2: 14792 7582496 [C
|
||||
3: 4308 2630640 [B
|
||||
4: 11195 1528856 <methodKlass>
|
||||
5: 11195 1443640 <constMethodKlass>
|
||||
6: 30773 984736 java.lang.String
|
||||
7: 836 939240 <constantPoolKlass>
|
||||
8: 17480 849376 <symbolKlass>
|
||||
9: 836 630248 <instanceKlassKlass>
|
||||
10: 749 622536 <constantPoolCacheKlass>
|
||||
11: 12056 592440 [Ljava.lang.Object;
|
||||
12: 20002 480048 com.alibaba.druid.sql.ast.expr.SQLCharExpr
|
||||
13: 20002 480048 com.alibaba.druid.sql.ast.expr.SQLIntegerExpr
|
||||
14: 10236 245664 java.util.ArrayList
|
||||
15: 10001 240024 com.alibaba.druid.sql.ast.statement.SQLInsertStatement$ValuesClause
|
||||
16: 10273 164368 java.lang.Integer
|
||||
17: 1697 116384 [S
|
||||
18: 1190 103072 [Ljava.util.HashMap$Entry;
|
||||
19: 952 99008 java.lang.Class
|
||||
20: 102 85448 <methodDataKlass>
|
||||
21: 1392 78984 [[I
|
||||
22: 768 67584 java.lang.reflect.Method
|
||||
23: 1331 63888 java.nio.HeapCharBuffer
|
||||
24: 877 56128 java.net.URL
|
||||
25: 1152 55296 java.nio.HeapByteBuffer
|
||||
26: 1118 53664 java.util.HashMap
|
||||
27: 87 50808 <objArrayKlassKlass>
|
||||
28: 1936 46464 java.lang.StringBuilder
|
||||
29: 1301 41632 java.util.HashMap$Entry
|
||||
30: 976 39040 java.util.TreeMap$Entry
|
||||
31: 1150 27600 java.util.LinkedList$Entry
|
||||
32: 1272 24696 [Ljava.lang.Class;
|
||||
33: 263 21096 [Ljava.lang.reflect.Method;
|
||||
34: 436 20928 java.util.TreeMap
|
||||
35: 739 20696 [Ljava.lang.String;
|
||||
36: 775 18600 java.io.File
|
||||
37: 918 14688 java.util.HashSet
|
||||
38: 166 11952 java.lang.reflect.Field
|
||||
39: 135 10800 java.util.jar.JarFile$JarFileEntry
|
||||
40: 236 9440 java.lang.ref.SoftReference
|
||||
41: 392 9408 java.util.LinkedList
|
||||
42: 377 9048 java.lang.StringBuffer
|
||||
43: 218 8720 java.lang.ref.Finalizer
|
||||
44: 135 8640 java.util.zip.ZipEntry
|
||||
45: 214 8560 java.util.LinkedHashMap$Entry
|
||||
46: 249 7968 java.util.Hashtable$Entry
|
||||
47: 232 7424 java.lang.ref.WeakReference
|
||||
48: 132 7392 java.util.zip.ZipFile$1
|
||||
49: 300 7200 java.net.URLClassLoader$1
|
||||
50: 203 6496 java.security.PrivilegedActionException
|
||||
51: 133 6384 java.util.zip.ZipFile$ZipFileInputStream
|
||||
52: 195 6240 java.util.TreeMap$ValueIterator
|
||||
53: 189 6048 java.util.TreeMap$KeyIterator
|
||||
54: 180 5760 java.util.TreeMap$EntryIterator
|
||||
55: 167 5344 java.lang.ClassNotFoundException
|
||||
56: 51 4960 [Ljava.util.Hashtable$Entry;
|
||||
57: 203 4960 [Ljavax.management.Descriptor;
|
||||
58: 8 4672 <typeArrayKlassKlass>
|
||||
59: 189 4536 com.alibaba.druid.sql.parser.Token
|
||||
60: 189 4536 javax.management.ImmutableDescriptor
|
||||
61: 108 4320 java.util.WeakHashMap$Entry
|
||||
62: 133 4256 java.security.CodeSource
|
||||
63: 173 4152 java.net.Parts
|
||||
64: 93 3720 sun.misc.URLClassPath$JarLoader
|
||||
65: 66 3696 java.util.jar.JarFile
|
||||
66: 112 3584 com.sun.jmx.mbeanserver.ConvertingMethod
|
||||
67: 61 3416 java.beans.MethodDescriptor
|
||||
68: 195 3120 java.util.TreeMap$Values
|
||||
69: 68 3104 [Ljavax.management.MBeanAttributeInfo;
|
||||
70: 89 3088 [Ljavax.management.ObjectName$Property;
|
||||
71: 189 3024 java.util.TreeMap$KeySet
|
||||
72: 91 2912 java.util.Vector
|
||||
73: 180 2880 java.util.TreeMap$EntrySet
|
||||
74: 88 2816 java.util.AbstractList$Itr
|
||||
75: 113 2712 java.util.jar.Attributes$Name
|
||||
76: 67 2680 java.util.HashMap$KeyIterator
|
||||
77: 37 2664 java.beans.PropertyDescriptor
|
||||
78: 24 2624 [Ljava.util.WeakHashMap$Entry;
|
||||
79: 82 2624 java.io.FileInputStream
|
||||
80: 109 2528 [Ljavax.management.MBeanParameterInfo;
|
||||
81: 77 2464 sun.misc.URLClassPath$FileLoader$1
|
||||
82: 3 2328 [Lcom.alibaba.druid.sql.parser.Token;
|
||||
83: 12 2304 <klassKlass>
|
||||
84: 119 2280 [Lcom.sun.jmx.mbeanserver.OpenConverter;
|
||||
85: 95 2280 sun.misc.URLClassPath$3
|
||||
86: 92 2208 java.io.ExpiringCache$Entry
|
||||
87: 135 2160 java.lang.Object
|
||||
88: 88 2112 java.lang.Class$MethodArray
|
||||
89: 130 2080 sun.reflect.ConstantPool
|
||||
90: 65 2080 java.util.zip.Inflater
|
||||
91: 32 2048 javax.management.openmbean.OpenMBeanAttributeInfoSupport
|
||||
92: 84 2016 sun.misc.FileURLMapper
|
||||
93: 84 2016 java.io.FileDescriptor
|
||||
94: 124 1984 java.util.Collections$EmptySet$1
|
||||
95: 82 1968 com.sun.jmx.mbeanserver.MBeanAnalyzer$AttrMethods
|
||||
96: 61 1952 java.io.DataInputStream
|
||||
97: 48 1920 java.util.concurrent.ConcurrentHashMap$Segment
|
||||
98: 40 1920 javax.management.MBeanInfo
|
||||
99: 59 1888 sun.misc.URLClassPath$JarLoader$2
|
||||
100: 57 1824 javax.management.MBeanAttributeInfo
|
||||
101: 55 1760 java.util.LinkedHashMap$EntryIterator
|
||||
102: 23 1656 java.lang.reflect.Constructor
|
||||
103: 66 1584 sun.reflect.generics.tree.SimpleClassTypeSignature
|
||||
104: 49 1568 java.util.concurrent.locks.ReentrantLock$NonfairSync
|
||||
105: 49 1568 com.sun.jmx.mbeanserver.WeakIdentityHashMap$IdentityWeakReference
|
||||
106: 65 1560 java.util.zip.ZStreamRef
|
||||
107: 85 1360 java.util.concurrent.atomic.AtomicInteger
|
||||
108: 84 1344 sun.misc.URLClassPath$JarLoader$1
|
||||
109: 27 1296 java.util.Hashtable
|
||||
110: 48 1288 [Ljavax.management.MBeanOperationInfo;
|
||||
111: 76 1272 [Lsun.reflect.generics.tree.TypeArgument;
|
||||
112: 51 1264 [Ljava.util.concurrent.ConcurrentHashMap$HashEntry;
|
||||
113: 22 1232 java.util.LinkedHashMap
|
||||
114: 30 1200 javax.management.ObjectName
|
||||
115: 49 1176 javax.management.ObjectName$Property
|
||||
116: 29 1160 java.io.ObjectStreamField
|
||||
117: 6 1144 [Z
|
||||
118: 45 1080 org.apache.log4j.CategoryKey
|
||||
119: 19 1064 java.lang.Package
|
||||
120: 1 1040 [Ljava.lang.Integer;
|
||||
121: 21 1008 java.util.StringTokenizer
|
||||
122: 9 1008 java.lang.Thread
|
||||
123: 17 952 javax.management.MBeanServerNotification
|
||||
124: 59 944 sun.net.www.ParseUtil
|
||||
125: 20 944 [Ljava.lang.reflect.Field;
|
||||
126: 34 936 [Ljavax.management.openmbean.OpenType;
|
||||
127: 18 864 java.util.WeakHashMap
|
||||
128: 27 864 java.lang.ref.ReferenceQueue
|
||||
129: 15 840 javax.management.openmbean.ArrayType
|
||||
130: 20 800 javax.management.MBeanOperationInfo
|
||||
131: 16 768 sun.nio.cs.StreamDecoder
|
||||
132: 32 768 com.sun.jmx.mbeanserver.OpenConverter$IdentityConverter
|
||||
133: 23 736 java.util.concurrent.ConcurrentHashMap$HashEntry
|
||||
134: 15 720 java.io.BufferedReader
|
||||
135: 17 680 sun.nio.cs.UTF_8$Decoder
|
||||
136: 17 680 org.apache.log4j.Logger
|
||||
137: 17 680 java.util.HashMap$EntryIterator
|
||||
138: 6 672 [Ljava.beans.MethodDescriptor;
|
||||
139: 29 648 [Lsun.reflect.generics.tree.FieldTypeSignature;
|
||||
140: 16 640 com.sun.jmx.mbeanserver.MXBeanSupport
|
||||
141: 39 624 java.util.HashMap$EntrySet
|
||||
142: 6 624 sun.net.www.protocol.file.FileURLConnection
|
||||
143: 19 608 java.util.Locale
|
||||
144: 31 592 [Ljava.lang.reflect.Constructor;
|
||||
145: 18 576 java.io.FileNotFoundException
|
||||
146: 24 576 java.util.Arrays$ArrayList
|
||||
147: 18 576 javax.management.MBeanParameterInfo
|
||||
148: 14 560 javax.management.openmbean.SimpleType
|
||||
149: 23 552 com.sun.jmx.mbeanserver.PerInterface$MethodAndSig
|
||||
150: 23 552 sun.security.action.GetPropertyAction
|
||||
151: 24 536 [[Ljava.lang.annotation.Annotation;
|
||||
152: 11 528 java.util.logging.LogManager$LoggerWeakRef
|
||||
153: 32 512 java.util.HashMap$KeySet
|
||||
154: 16 512 sun.management.ManagementFactory$1
|
||||
155: 9 504 javax.management.openmbean.CompositeType
|
||||
156: 10 480 java.util.Hashtable$Enumerator
|
||||
157: 12 480 java.util.HashMap$ValueIterator
|
||||
158: 5 464 [Ljava.net.URL;
|
||||
159: 29 464 java.lang.ref.ReferenceQueue$Lock
|
||||
160: 28 448 [Ljava.lang.annotation.Annotation;
|
||||
161: 8 448 javax.management.openmbean.OpenMBeanParameterInfoSupport
|
||||
162: 14 448 java.security.AccessControlContext
|
||||
163: 11 440 com.sun.jmx.mbeanserver.PerInterface
|
||||
164: 21 440 [Ljava.lang.reflect.Type;
|
||||
165: 18 432 java.util.Date
|
||||
166: 17 408 javax.management.ObjectInstance
|
||||
167: 17 408 com.sun.jmx.mbeanserver.NamedObject
|
||||
168: 17 408 java.util.concurrent.CopyOnWriteArrayList$COWIterator
|
||||
169: 16 384 java.util.Collections$SingletonList
|
||||
170: 6 384 java.beans.Introspector
|
||||
171: 4 376 [Ljava.io.File;
|
||||
172: 15 360 javax.management.StandardMBean
|
||||
173: 21 336 java.lang.Boolean
|
||||
174: 21 336 sun.reflect.generics.tree.ClassTypeSignature
|
||||
175: 7 336 java.util.Properties
|
||||
176: 21 336 java.util.jar.Attributes
|
||||
177: 14 336 java.io.InputStreamReader
|
||||
178: 12 328 [Ljava.io.ObjectStreamField;
|
||||
179: 5 320 java.util.logging.Logger
|
||||
180: 13 312 org.apache.log4j.Level
|
||||
181: 13 312 sun.misc.JarIndex
|
||||
182: 6 288 java.beans.BeanDescriptor
|
||||
183: 9 288 sun.reflect.UnsafeQualifiedStaticObjectFieldAccessorImpl
|
||||
184: 7 280 com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter
|
||||
185: 5 280 java.util.ResourceBundle$CacheKey
|
||||
186: 5 280 sun.management.MemoryPoolImpl
|
||||
187: 3 264 java.util.jar.JarVerifier
|
||||
188: 11 264 com.sun.jmx.mbeanserver.MBeanAnalyzer
|
||||
189: 11 264 com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMaker
|
||||
190: 6 264 [Ljava.beans.PropertyDescriptor;
|
||||
191: 11 264 sun.misc.MetaIndex
|
||||
192: 8 256 java.lang.OutOfMemoryError
|
||||
193: 8 256 org.apache.log4j.ProvisionNode
|
||||
194: 8 256 java.lang.ArrayIndexOutOfBoundsException
|
||||
195: 3 240 [Ljava.util.concurrent.ConcurrentHashMap$Segment;
|
||||
196: 10 240 java.net.URLClassLoader$2
|
||||
197: 6 240 java.beans.GenericBeanInfo
|
||||
198: 6 240 sun.reflect.generics.repository.MethodRepository
|
||||
199: 3 232 [J
|
||||
200: 13 224 [Ljavax.management.MBeanConstructorInfo;
|
||||
201: 9 216 java.util.logging.LogManager$LogNode
|
||||
202: 9 216 sun.reflect.NativeConstructorAccessorImpl
|
||||
203: 9 216 java.util.logging.Level
|
||||
204: 9 216 sun.reflect.generics.visitor.Reifier
|
||||
205: 5 200 java.io.BufferedInputStream
|
||||
206: 5 200 sun.management.MemoryPoolImpl$PoolSensor
|
||||
207: 5 200 sun.management.MemoryPoolImpl$CollectionSensor
|
||||
208: 8 192 [Ljava.lang.reflect.TypeVariable;
|
||||
209: 8 192 java.lang.Class$1
|
||||
210: 8 192 sun.reflect.generics.parser.SignatureParser
|
||||
211: 4 192 sun.nio.cs.UTF_8$Encoder
|
||||
212: 6 192 sun.reflect.generics.tree.MethodTypeSignature
|
||||
213: 12 192 java.util.HashMap$Values
|
||||
214: 8 192 sun.reflect.generics.factory.CoreReflectionFactory
|
||||
215: 6 192 org.apache.log4j.helpers.PatternParser$LiteralPatternConverter
|
||||
216: 6 192 java.util.logging.LogManager$3
|
||||
217: 11 176 com.sun.jmx.mbeanserver.PerInterface$InitMaps
|
||||
218: 3 168 sun.util.calendar.ZoneInfo
|
||||
219: 3 168 sun.nio.cs.StreamEncoder
|
||||
220: 3 168 javax.management.openmbean.OpenMBeanOperationInfoSupport
|
||||
221: 5 160 java.util.ResourceBundle$LoaderReference
|
||||
222: 5 160 java.io.FilePermission
|
||||
223: 6 144 java.util.Collections$UnmodifiableRandomAccessList
|
||||
224: 6 144 sun.reflect.NativeMethodAccessorImpl
|
||||
225: 3 144 java.util.concurrent.ConcurrentHashMap
|
||||
226: 9 144 sun.reflect.DelegatingConstructorAccessorImpl
|
||||
227: 8 144 [Lsun.reflect.generics.tree.FormalTypeParameter;
|
||||
228: 6 144 sun.reflect.generics.scope.MethodScope
|
||||
229: 6 144 sun.net.www.MessageHeader
|
||||
230: 3 144 java.util.Properties$LineReader
|
||||
231: 6 144 sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl
|
||||
232: 4 128 com.sun.jmx.mbeanserver.OpenConverter$ArrayConverter
|
||||
233: 4 128 java.util.Stack
|
||||
234: 4 128 org.apache.log4j.helpers.PatternParser$BasicPatternConverter
|
||||
235: 6 128 [Ljavax.management.MBeanNotificationInfo;
|
||||
236: 4 128 java.security.Permissions
|
||||
237: 1 120 java.util.logging.LogManager$Cleaner
|
||||
238: 5 120 java.lang.RuntimePermission
|
||||
239: 5 120 com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr
|
||||
240: 3 120 java.util.IdentityHashMap
|
||||
241: 3 120 java.security.ProtectionDomain
|
||||
242: 2 112 java.io.ExpiringCache$1
|
||||
243: 1 112 java.util.GregorianCalendar
|
||||
244: 1 112 java.lang.ref.Reference$ReferenceHandler
|
||||
245: 1 112 java.lang.ref.Finalizer$FinalizerThread
|
||||
246: 5 104 [Lcom.sun.jmx.mbeanserver.ClassLoaderRepositorySupport$LoaderEntry;
|
||||
247: 2 96 java.lang.ThreadGroup
|
||||
248: 6 96 sun.reflect.DelegatingMethodAccessorImpl
|
||||
249: 3 96 java.security.BasicPermissionCollection
|
||||
250: 2 96 java.io.BufferedWriter
|
||||
251: 3 96 sun.misc.URLClassPath
|
||||
252: 3 96 sun.reflect.generics.reflectiveObjects.TypeVariableImpl
|
||||
253: 1 96 sun.util.calendar.Gregorian$Date
|
||||
254: 6 96 [Lsun.reflect.generics.tree.TypeSignature;
|
||||
255: 3 96 com.sun.jmx.mbeanserver.OpenConverter$EnumConverter
|
||||
256: 2 96 javax.management.openmbean.TabularType
|
||||
257: 6 96 [Ljava.beans.BeanInfo;
|
||||
258: 3 96 java.io.ByteArrayInputStream
|
||||
259: 2 96 org.apache.log4j.helpers.PatternParser
|
||||
260: 3 96 java.util.jar.Manifest$FastInputStream
|
||||
261: 3 96 java.lang.NoSuchMethodError
|
||||
262: 2 96 java.util.ResourceBundle$BundleReference
|
||||
263: 3 96 java.io.OutputStreamWriter
|
||||
264: 3 88 [[Ljava.lang.Object;
|
||||
265: 2 80 java.io.ExpiringCache
|
||||
266: 1 80 sun.misc.Launcher$ExtClassLoader
|
||||
267: 2 80 com.sun.jmx.mbeanserver.OpenConverter$TabularConverter
|
||||
268: 5 80 java.lang.ThreadLocal
|
||||
269: 1 80 [Ljava.lang.ThreadLocal$ThreadLocalMap$Entry;
|
||||
270: 5 80 java.io.FilePermission$1
|
||||
271: 3 72 sun.reflect.generics.tree.FormalTypeParameter
|
||||
272: 3 72 sun.misc.Signal
|
||||
273: 3 72 java.util.jar.Manifest
|
||||
274: 1 72 [Ljavax.management.openmbean.SimpleType;
|
||||
275: 3 72 java.lang.Long
|
||||
276: 3 72 java.io.ByteArrayOutputStream
|
||||
277: 1 72 java.util.logging.LogManager$RootLogger
|
||||
278: 3 72 [Ljavax.management.openmbean.OpenMBeanParameterInfo;
|
||||
279: 1 72 sun.misc.Launcher$AppClassLoader
|
||||
280: 3 72 java.io.FilePermissionCollection
|
||||
281: 2 64 sun.reflect.generics.repository.ClassRepository
|
||||
282: 2 64 java.io.FileOutputStream
|
||||
283: 2 64 sun.misc.URLClassPath$1
|
||||
284: 1 64 org.apache.log4j.ConsoleAppender
|
||||
285: 2 64 sun.management.GarbageCollectorImpl
|
||||
286: 2 64 com.sun.jmx.mbeanserver.OpenConverter$CollectionConverter
|
||||
287: 2 64 java.util.Collections$SynchronizedMap
|
||||
288: 4 64 sun.reflect.ReflectionFactory$GetReflectionFactoryAction
|
||||
289: 4 64 com.sun.jmx.mbeanserver.GetPropertyAction
|
||||
290: 2 64 java.lang.ClassLoader$NativeLibrary
|
||||
291: 4 64 java.lang.Class$3
|
||||
292: 2 64 java.lang.ThreadLocal$ThreadLocalMap$Entry
|
||||
293: 2 64 java.lang.ref.ReferenceQueue$Null
|
||||
294: 2 64 java.io.PrintStream
|
||||
295: 2 64 javax.management.MBeanNotificationInfo
|
||||
296: 2 64 [Ljava.lang.Thread;
|
||||
297: 1 56 java.util.ResourceBundle$RBClassLoader
|
||||
298: 1 56 com.alibaba.druid.sql.dialect.mysql.parser.MySqlLexer
|
||||
299: 1 56 sun.awt.AppContext
|
||||
300: 1 56 [Ljava.lang.Runnable;
|
||||
301: 2 48 [Ljava.util.Enumeration;
|
||||
302: 2 48 org.apache.log4j.config.PropertySetter
|
||||
303: 1 48 com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap
|
||||
304: 2 48 sun.reflect.generics.tree.ClassSignature
|
||||
305: 1 48 org.apache.log4j.Hierarchy
|
||||
306: 3 48 java.nio.charset.CodingErrorAction
|
||||
307: 1 48 com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap
|
||||
308: 2 48 java.net.URLClassLoader$3
|
||||
309: 2 48 com.sun.jmx.mbeanserver.ClassLoaderRepositorySupport$LoaderEntry
|
||||
310: 2 48 sun.misc.CompoundEnumeration
|
||||
311: 1 48 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor
|
||||
312: 3 48 java.net.URLClassLoader$3$1
|
||||
313: 3 48 java.security.ProtectionDomain$Key
|
||||
314: 3 48 [Ljava.security.Principal;
|
||||
315: 3 48 [Ljava.security.CodeSigner;
|
||||
316: 3 48 java.util.jar.JarVerifier$3
|
||||
317: 1 48 sun.security.util.ManifestEntryVerifier
|
||||
318: 2 48 sun.misc.NativeSignalHandler
|
||||
319: 1 48 com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlInsertStatement
|
||||
320: 2 48 sun.misc.URLClassPath$FileLoader
|
||||
321: 2 48 java.nio.charset.CoderResult
|
||||
322: 2 48 java.lang.management.ManagementPermission
|
||||
323: 3 48 sun.net.www.protocol.jar.Handler
|
||||
324: 2 48 com.sun.jmx.mbeanserver.WeakIdentityHashMap
|
||||
325: 2 48 java.io.BufferedOutputStream
|
||||
326: 1 48 java.util.logging.LogManager
|
||||
327: 2 48 org.apache.log4j.helpers.FormattingInfo
|
||||
328: 2 48 sun.awt.MostRecentKeyValue
|
||||
329: 2 48 java.io.FileReader
|
||||
330: 1 48 com.sun.jmx.mbeanserver.OpenConverter$ConverterMap
|
||||
331: 2 48 sun.reflect.generics.scope.ClassScope
|
||||
332: 2 40 [D
|
||||
333: 2 40 [Lsun.reflect.generics.tree.ClassTypeSignature;
|
||||
334: 1 40 com.sun.jmx.mbeanserver.JmxMBeanServer
|
||||
335: 1 40 sun.nio.cs.StandardCharsets$Aliases
|
||||
336: 1 40 java.util.ResourceBundle$1
|
||||
337: 1 40 sun.nio.cs.StandardCharsets$Classes
|
||||
338: 1 40 sun.nio.cs.StandardCharsets$Cache
|
||||
339: 1 40 [Ljava.lang.management.MemoryPoolMXBean;
|
||||
340: 1 40 com.sun.jmx.mbeanserver.MBeanServerDelegateImpl
|
||||
341: 1 40 org.apache.log4j.helpers.PatternParser$DatePatternConverter
|
||||
342: 1 40 org.apache.log4j.helpers.PatternParser$LocationPatternConverter
|
||||
343: 1 40 org.apache.log4j.helpers.PatternParser$CategoryPatternConverter
|
||||
344: 1 40 org.apache.log4j.spi.RootLogger
|
||||
345: 1 40 sun.util.resources.CalendarData
|
||||
346: 1 40 sun.util.resources.CalendarData_en
|
||||
347: 2 32 sun.management.VMManagementImpl$1
|
||||
348: 1 32 sun.misc.URLClassPath$2
|
||||
349: 1 32 sun.management.MemoryImpl
|
||||
350: 1 32 java.beans.PropertyChangeSupport
|
||||
351: 1 32 [Ljava.lang.management.MemoryManagerMXBean;
|
||||
352: 1 32 java.lang.VirtualMachineError
|
||||
353: 1 32 java.lang.NoSuchFieldException
|
||||
354: 1 32 javax.management.StandardEmitterMBean
|
||||
355: 1 32 [Ljava.lang.ThreadGroup;
|
||||
356: 1 32 sun.management.VMManagementImpl
|
||||
357: 2 32 sun.reflect.ReflectionFactory$1
|
||||
358: 1 32 java.lang.ref.Reference
|
||||
359: 2 32 java.nio.ByteOrder
|
||||
360: 1 32 org.apache.log4j.helpers.QuietWriter
|
||||
361: 1 32 javax.management.MBeanConstructorInfo
|
||||
362: 2 32 java.lang.Shutdown$Lock
|
||||
363: 1 32 com.alibaba.druid.support.logging.Log4jImpl
|
||||
364: 1 32 java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl
|
||||
365: 2 32 org.apache.log4j.DefaultCategoryFactory
|
||||
366: 2 32 [Ljava.util.logging.Handler;
|
||||
367: 1 32 java.io.StringWriter
|
||||
368: 2 32 java.lang.ClassLoader$3
|
||||
369: 1 32 org.apache.log4j.PatternLayout
|
||||
370: 1 32 sun.misc.SoftCache
|
||||
371: 1 32 java.lang.NullPointerException
|
||||
372: 1 32 com.alibaba.druid.sql.ast.statement.SQLExprTableSource
|
||||
373: 1 32 java.lang.ArithmeticException
|
||||
374: 1 32 sun.nio.cs.StandardCharsets
|
||||
375: 1 32 [Ljava.lang.OutOfMemoryError;
|
||||
376: 1 32 java.beans.PropertyChangeEvent
|
||||
377: 1 32 com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor
|
||||
378: 2 32 com.alibaba.druid.sql.parser.Keywords
|
||||
379: 1 32 java.io.UnixFileSystem
|
||||
380: 1 24 sun.management.CompilationImpl
|
||||
381: 1 24 java.util.concurrent.CopyOnWriteArrayList
|
||||
382: 1 24 sun.nio.cs.UTF_8
|
||||
383: 1 24 com.sun.jmx.mbeanserver.ClassLoaderRepositorySupport
|
||||
384: 1 24 sun.management.MemoryManagerImpl
|
||||
385: 1 24 java.util.logging.LoggingPermission
|
||||
386: 1 24 java.util.Collections$EmptyMap
|
||||
387: 1 24 org.apache.log4j.helpers.ISO8601DateFormat
|
||||
388: 1 24 java.lang.StringCoding$StringEncoder
|
||||
389: 1 24 com.sun.management.UnixOperatingSystem
|
||||
390: 1 24 java.lang.reflect.ReflectPermission
|
||||
391: 1 24 java.util.Collections$SynchronizedSet
|
||||
392: 1 24 sun.management.RuntimeImpl
|
||||
393: 1 24 java.util.zip.ZipFile$2
|
||||
394: 1 24 org.apache.log4j.helpers.OnlyOnceErrorHandler
|
||||
395: 1 24 java.util.jar.JarFile$1
|
||||
396: 1 24 org.apache.log4j.PropertyConfigurator
|
||||
397: 1 24 com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser
|
||||
398: 1 24 sun.util.resources.LocaleData$1
|
||||
399: 1 24 com.sun.jmx.mbeanserver.Repository
|
||||
400: 1 24 com.alibaba.druid.sql.dialect.mysql.parser.MySqlExprParser
|
||||
401: 1 24 java.lang.ThreadLocal$ThreadLocalMap
|
||||
402: 1 24 java.security.Policy$UnsupportedEmptyCollection
|
||||
403: 1 24 com.sun.jmx.mbeanserver.MXBeanLookup
|
||||
404: 1 24 javax.management.NotificationBroadcasterSupport
|
||||
405: 1 24 java.lang.StringCoding$StringDecoder
|
||||
406: 1 24 java.security.Policy$PolicyInfo
|
||||
407: 1 24 java.util.BitSet
|
||||
408: 1 24 java.util.Vector$1
|
||||
409: 1 24 sun.management.ThreadImpl
|
||||
410: 1 24 sun.misc.Launcher$AppClassLoader$1
|
||||
411: 1 24 sun.net.ProgressMonitor
|
||||
412: 1 24 com.sun.jmx.remote.util.ClassLogger
|
||||
413: 1 24 javax.management.MBeanInfo$ArrayGettersSafeAction
|
||||
414: 1 16 com.sun.jmx.trace.TraceManager
|
||||
415: 1 16 [Ljava.security.cert.Certificate;
|
||||
416: 1 16 [F
|
||||
417: 1 16 java.lang.System$2
|
||||
418: 1 16 java.util.logging.Logging
|
||||
419: 1 16 com.sun.jmx.mbeanserver.MXBeanIntrospector
|
||||
420: 1 16 java.util.Hashtable$EmptyEnumerator
|
||||
421: 1 16 java.lang.ClassLoader$2
|
||||
422: 1 16 sun.reflect.generics.tree.TypeVariableSignature
|
||||
423: 1 16 java.lang.String$CaseInsensitiveComparator
|
||||
424: 1 16 java.util.Collections$EmptyList
|
||||
425: 1 16 java.util.Hashtable$EmptyIterator
|
||||
426: 1 16 sun.jkernel.DownloadManager$1
|
||||
427: 1 16 sun.jkernel.DownloadManager$2
|
||||
428: 1 16 java.security.ProtectionDomain$2
|
||||
429: 1 16 java.lang.Runtime
|
||||
430: 1 16 java.util.Collections$ReverseComparator
|
||||
431: 1 16 java.nio.Bits$1
|
||||
432: 1 16 [Ljava.lang.StackTraceElement;
|
||||
433: 1 16 java.lang.ApplicationShutdownHooks$1
|
||||
434: 1 16 java.util.Hashtable$EntrySet
|
||||
435: 1 16 com.sun.jmx.mbeanserver.JmxMBeanServer$1
|
||||
436: 1 16 java.io.File$1
|
||||
437: 1 16 com.sun.jmx.mbeanserver.MBeanAnalyzer$MethodOrder
|
||||
438: 1 16 org.apache.log4j.or.RendererMap
|
||||
439: 1 16 java.lang.Terminator$1
|
||||
440: 1 16 java.net.URLClassLoader$7
|
||||
441: 1 16 java.security.AccessControlContext$1
|
||||
442: 1 16 com.sun.jmx.mbeanserver.MBeanInstantiator
|
||||
443: 1 16 org.apache.log4j.or.DefaultRenderer
|
||||
444: 1 16 org.apache.log4j.spi.DefaultRepositorySelector
|
||||
445: 1 16 java.util.ResourceBundle$RBClassLoader$1
|
||||
446: 1 16 [Ljava.beans.EventSetDescriptor;
|
||||
447: 1 16 javax.management.MBeanServerBuilder
|
||||
448: 1 16 sun.management.ClassLoadingImpl
|
||||
449: 1 16 com.sun.beans.AppContext
|
||||
450: 1 16 com.sun.jmx.mbeanserver.SecureClassLoaderRepository
|
||||
451: 1 16 sun.management.HotSpotDiagnostic
|
||||
452: 1 16 java.util.concurrent.locks.ReentrantLock
|
||||
453: 1 16 sun.net.www.protocol.file.Handler
|
||||
454: 1 16 sun.misc.BASE64Decoder
|
||||
455: 1 16 java.lang.Compiler$1
|
||||
456: 1 16 java.net.UnknownContentHandler
|
||||
457: 1 16 sun.misc.Launcher$ExtClassLoader$1
|
||||
458: 1 16 java.util.jar.JavaUtilJarAccessImpl
|
||||
459: 1 16 sun.util.calendar.Gregorian
|
||||
460: 1 16 sun.misc.Launcher$1
|
||||
461: 1 16 java.util.logging.LogManager$2
|
||||
462: 1 16 sun.misc.Launcher
|
||||
463: 1 16 sun.misc.Launcher$2
|
||||
464: 1 16 java.net.URL$1
|
||||
465: 1 16 java.nio.charset.CoderResult$1
|
||||
466: 1 16 java.util.ResourceBundle$Control
|
||||
467: 1 16 sun.util.resources.LocaleData$LocaleDataResourceBundleControl
|
||||
468: 1 16 sun.misc.Launcher$Factory
|
||||
469: 1 16 java.nio.charset.CoderResult$2
|
||||
470: 1 16 sun.security.action.LoadLibraryAction
|
||||
471: 1 16 java.util.concurrent.atomic.AtomicReference
|
||||
472: 1 16 javax.management.NotificationBroadcasterSupport$1
|
||||
473: 1 16 sun.awt.AppContext$1
|
||||
474: 1 16 java.util.Collections$EmptySet
|
||||
475: 1 16 sun.awt.AppContext$2
|
||||
476: 1 16 org.apache.log4j.SortedKeyEnumeration
|
||||
477: 1 16 sun.reflect.ReflectionFactory
|
||||
478: 1 16 sun.misc.Unsafe
|
||||
479: 1 16 java.lang.ref.Reference$Lock
|
||||
480: 1 16 sun.awt.AppContext$6
|
||||
481: 1 16 sun.util.calendar.ZoneInfoFile$1
|
||||
482: 1 16 sun.misc.ASCIICaseInsensitiveComparator
|
||||
483: 1 16 java.lang.reflect.ReflectAccess
|
||||
484: 1 16 javax.management.JMX
|
||||
485: 1 16 org.apache.log4j.helpers.AppenderAttachableImpl
|
||||
486: 1 16 java.util.logging.LogManager$1
|
||||
487: 1 16 java.io.FileDescriptor$1
|
||||
488: 1 16 com.sun.beans.WeakCache
|
||||
489: 1 16 sun.util.calendar.ZoneInfoFile$2
|
||||
490: 1 16 java.util.TimeZone$1
|
||||
491: 1 16 com.sun.jmx.mbeanserver.DescriptorCache
|
||||
492: 1 16 java.lang.SystemClassLoaderAction
|
||||
493: 1 16 sun.net.DefaultProgressMeteringPolicy
|
||||
Total 207629 30047976
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user