Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell11
提交
bfe6c3ce
D
dragonwell11
项目概览
openanolis
/
dragonwell11
通知
7
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell11
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
bfe6c3ce
编写于
3月 28, 2018
作者:
M
martin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8200310: Avoid charset lookup machinery in java.nio.charset.StandardCharsets
Reviewed-by: sherman, ulfzibis
上级
7871cb7c
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
31 addition
and
30 deletion
+31
-30
src/java.base/share/classes/java/lang/StringCoding.java
src/java.base/share/classes/java/lang/StringCoding.java
+3
-4
src/java.base/share/classes/java/nio/charset/Charset.java
src/java.base/share/classes/java/nio/charset/Charset.java
+3
-3
src/java.base/share/classes/java/nio/charset/StandardCharsets.java
...base/share/classes/java/nio/charset/StandardCharsets.java
+6
-6
src/java.base/share/classes/sun/nio/cs/ISO_8859_1.java
src/java.base/share/classes/sun/nio/cs/ISO_8859_1.java
+0
-3
src/java.base/share/classes/sun/nio/cs/StandardCharsets.java.template
...e/share/classes/sun/nio/cs/StandardCharsets.java.template
+9
-6
src/java.base/share/classes/sun/nio/cs/US_ASCII.java
src/java.base/share/classes/sun/nio/cs/US_ASCII.java
+0
-2
src/java.base/share/classes/sun/nio/cs/UTF_16.java
src/java.base/share/classes/sun/nio/cs/UTF_16.java
+1
-1
src/java.base/share/classes/sun/nio/cs/UTF_16BE.java
src/java.base/share/classes/sun/nio/cs/UTF_16BE.java
+1
-1
src/java.base/share/classes/sun/nio/cs/UTF_16LE.java
src/java.base/share/classes/sun/nio/cs/UTF_16LE.java
+1
-1
src/java.base/share/classes/sun/nio/cs/UTF_8.java
src/java.base/share/classes/sun/nio/cs/UTF_8.java
+0
-3
test/jdk/java/nio/charset/StandardCharsets/Standard.java
test/jdk/java/nio/charset/StandardCharsets/Standard.java
+7
-0
未找到文件。
src/java.base/share/classes/java/lang/StringCoding.java
浏览文件 @
bfe6c3ce
...
...
@@ -52,6 +52,9 @@ import static java.lang.Character.highSurrogate;
import
static
java
.
lang
.
Character
.
lowSurrogate
;
import
static
java
.
lang
.
Character
.
isSupplementaryCodePoint
;
import
static
java
.
lang
.
StringUTF16
.
putChar
;
import
static
java
.
nio
.
charset
.
StandardCharsets
.
ISO_8859_1
;
import
static
java
.
nio
.
charset
.
StandardCharsets
.
US_ASCII
;
import
static
java
.
nio
.
charset
.
StandardCharsets
.
UTF_8
;
/**
* Utility class for string encoding and decoding.
...
...
@@ -67,10 +70,6 @@ class StringCoding {
private
static
final
ThreadLocal
<
SoftReference
<
StringEncoder
>>
encoder
=
new
ThreadLocal
<>();
private
static
final
Charset
ISO_8859_1
=
sun
.
nio
.
cs
.
ISO_8859_1
.
INSTANCE
;
private
static
final
Charset
US_ASCII
=
sun
.
nio
.
cs
.
US_ASCII
.
INSTANCE
;
private
static
final
Charset
UTF_8
=
sun
.
nio
.
cs
.
UTF_8
.
INSTANCE
;
private
static
<
T
>
T
deref
(
ThreadLocal
<
SoftReference
<
T
>>
tl
)
{
SoftReference
<
T
>
sr
=
tl
.
get
();
if
(
sr
==
null
)
...
...
src/java.base/share/classes/java/nio/charset/Charset.java
浏览文件 @
bfe6c3ce
...
...
@@ -26,7 +26,6 @@
package
java.nio.charset
;
import
jdk.internal.misc.VM
;
import
sun.nio.cs.StandardCharsets
;
import
sun.nio.cs.ThreadLocalCoders
;
import
sun.security.action.GetPropertyAction
;
...
...
@@ -311,7 +310,8 @@ public abstract class Charset
}
/* The standard set of charsets */
private
static
final
CharsetProvider
standardProvider
=
new
StandardCharsets
();
private
static
final
CharsetProvider
standardProvider
=
new
sun
.
nio
.
cs
.
StandardCharsets
();
private
static
final
String
[]
zeroAliases
=
new
String
[
0
];
...
...
@@ -609,7 +609,7 @@ public abstract class Charset
if
(
cs
!=
null
)
defaultCharset
=
cs
;
else
defaultCharset
=
sun
.
nio
.
cs
.
UTF_8
.
INSTANCE
;
defaultCharset
=
StandardCharsets
.
UTF_8
;
}
}
return
defaultCharset
;
...
...
src/java.base/share/classes/java/nio/charset/StandardCharsets.java
浏览文件 @
bfe6c3ce
...
...
@@ -41,26 +41,26 @@ public final class StandardCharsets {
* Seven-bit ASCII, a.k.a. ISO646-US, a.k.a. the Basic Latin block of the
* Unicode character set
*/
public
static
final
Charset
US_ASCII
=
sun
.
nio
.
cs
.
US_ASCII
.
INSTANCE
;
public
static
final
Charset
US_ASCII
=
new
sun
.
nio
.
cs
.
US_ASCII
()
;
/**
* ISO Latin Alphabet No. 1, a.k.a. ISO-LATIN-1
*/
public
static
final
Charset
ISO_8859_1
=
sun
.
nio
.
cs
.
ISO_8859_1
.
INSTANCE
;
public
static
final
Charset
ISO_8859_1
=
new
sun
.
nio
.
cs
.
ISO_8859_1
()
;
/**
* Eight-bit UCS Transformation Format
*/
public
static
final
Charset
UTF_8
=
sun
.
nio
.
cs
.
UTF_8
.
INSTANCE
;
public
static
final
Charset
UTF_8
=
new
sun
.
nio
.
cs
.
UTF_8
()
;
/**
* Sixteen-bit UCS Transformation Format, big-endian byte order
*/
public
static
final
Charset
UTF_16BE
=
Charset
.
forName
(
"UTF-16BE"
);
public
static
final
Charset
UTF_16BE
=
new
sun
.
nio
.
cs
.
UTF_16BE
(
);
/**
* Sixteen-bit UCS Transformation Format, little-endian byte order
*/
public
static
final
Charset
UTF_16LE
=
Charset
.
forName
(
"UTF-16LE"
);
public
static
final
Charset
UTF_16LE
=
new
sun
.
nio
.
cs
.
UTF_16LE
(
);
/**
* Sixteen-bit UCS Transformation Format, byte order identified by an
* optional byte-order mark
*/
public
static
final
Charset
UTF_16
=
Charset
.
forName
(
"UTF-16"
);
public
static
final
Charset
UTF_16
=
new
sun
.
nio
.
cs
.
UTF_16
(
);
}
src/java.base/share/classes/sun/nio/cs/ISO_8859_1.java
浏览文件 @
bfe6c3ce
...
...
@@ -39,9 +39,6 @@ public class ISO_8859_1
extends
Charset
implements
HistoricallyNamedCharset
{
public
static
final
ISO_8859_1
INSTANCE
=
new
ISO_8859_1
();
public
ISO_8859_1
()
{
super
(
"ISO-8859-1"
,
StandardCharsets
.
aliases_ISO_8859_1
());
}
...
...
src/java.base/share/classes/sun/nio/cs/StandardCharsets.java.template
浏览文件 @
bfe6c3ce
...
...
@@ -83,9 +83,12 @@ public class StandardCharsets extends CharsetProvider {
Map
<
String
,
Charset
>
map
=
cache
;
if
(
map
==
null
)
{
map
=
new
Cache
();
map
.
put
(
"utf-8"
,
UTF_8
.
INSTANCE
);
map
.
put
(
"iso-8859-1"
,
ISO_8859_1
.
INSTANCE
);
map
.
put
(
"us-ascii"
,
US_ASCII
.
INSTANCE
);
map
.
put
(
"utf-8"
,
java
.
nio
.
charset
.
StandardCharsets
.
UTF_8
);
map
.
put
(
"iso-8859-1"
,
java
.
nio
.
charset
.
StandardCharsets
.
ISO_8859_1
);
map
.
put
(
"us-ascii"
,
java
.
nio
.
charset
.
StandardCharsets
.
US_ASCII
);
map
.
put
(
"utf-16"
,
java
.
nio
.
charset
.
StandardCharsets
.
UTF_16
);
map
.
put
(
"utf-16be"
,
java
.
nio
.
charset
.
StandardCharsets
.
UTF_16BE
);
map
.
put
(
"utf-16le"
,
java
.
nio
.
charset
.
StandardCharsets
.
UTF_16LE
);
cache
=
map
;
}
return
map
;
...
...
@@ -123,11 +126,11 @@ public class StandardCharsets extends CharsetProvider {
//
Classes
eagerly
during
bootstrap
String
csn
;
if
(
charsetName
.
equals
(
"UTF-8"
))
{
return
UTF_8
.
INSTANCE
;
return
java
.
nio
.
charset
.
StandardCharsets
.
UTF_8
;
}
else
if
(
charsetName
.
equals
(
"US-ASCII"
))
{
return
US_ASCII
.
INSTANCE
;
return
java
.
nio
.
charset
.
StandardCharsets
.
US_ASCII
;
}
else
if
(
charsetName
.
equals
(
"ISO-8859-1"
))
{
return
ISO_8859_1
.
INSTANCE
;
return
java
.
nio
.
charset
.
StandardCharsets
.
ISO_8859_1
;
}
else
{
csn
=
canonicalize
(
toLower
(
charsetName
));
}
...
...
src/java.base/share/classes/sun/nio/cs/US_ASCII.java
浏览文件 @
bfe6c3ce
...
...
@@ -36,8 +36,6 @@ public class US_ASCII
extends
Charset
implements
HistoricallyNamedCharset
{
public
static
final
US_ASCII
INSTANCE
=
new
US_ASCII
();
public
US_ASCII
()
{
super
(
"US-ASCII"
,
StandardCharsets
.
aliases_US_ASCII
());
}
...
...
src/java.base/share/classes/sun/nio/cs/UTF_16.java
浏览文件 @
bfe6c3ce
...
...
@@ -29,7 +29,7 @@ import java.nio.charset.Charset;
import
java.nio.charset.CharsetDecoder
;
import
java.nio.charset.CharsetEncoder
;
class
UTF_16
extends
Unicode
public
class
UTF_16
extends
Unicode
{
public
UTF_16
()
{
...
...
src/java.base/share/classes/sun/nio/cs/UTF_16BE.java
浏览文件 @
bfe6c3ce
...
...
@@ -29,7 +29,7 @@ import java.nio.charset.Charset;
import
java.nio.charset.CharsetDecoder
;
import
java.nio.charset.CharsetEncoder
;
class
UTF_16BE
extends
Unicode
public
class
UTF_16BE
extends
Unicode
{
public
UTF_16BE
()
{
...
...
src/java.base/share/classes/sun/nio/cs/UTF_16LE.java
浏览文件 @
bfe6c3ce
...
...
@@ -29,7 +29,7 @@ import java.nio.charset.Charset;
import
java.nio.charset.CharsetDecoder
;
import
java.nio.charset.CharsetEncoder
;
class
UTF_16LE
extends
Unicode
public
class
UTF_16LE
extends
Unicode
{
public
UTF_16LE
()
{
...
...
src/java.base/share/classes/sun/nio/cs/UTF_8.java
浏览文件 @
bfe6c3ce
...
...
@@ -55,9 +55,6 @@ import java.nio.charset.CodingErrorAction;
*/
public
final
class
UTF_8
extends
Unicode
{
public
static
final
UTF_8
INSTANCE
=
new
UTF_8
();
public
UTF_8
()
{
super
(
"UTF-8"
,
StandardCharsets
.
aliases_UTF_8
());
}
...
...
test/jdk/java/nio/charset/StandardCharsets/Standard.java
浏览文件 @
bfe6c3ce
...
...
@@ -58,6 +58,13 @@ public class Standard {
check
(
"UTF-16LE"
.
equals
(
StandardCharsets
.
UTF_16LE
.
name
()));
check
(
"UTF-16"
.
equals
(
StandardCharsets
.
UTF_16
.
name
()));
check
(
Charset
.
forName
(
"US-ASCII"
)
==
StandardCharsets
.
US_ASCII
);
check
(
Charset
.
forName
(
"ISO-8859-1"
)
==
StandardCharsets
.
ISO_8859_1
);
check
(
Charset
.
forName
(
"UTF-8"
)
==
StandardCharsets
.
UTF_8
);
check
(
Charset
.
forName
(
"UTF-16BE"
)
==
StandardCharsets
.
UTF_16BE
);
check
(
Charset
.
forName
(
"UTF-16LE"
)
==
StandardCharsets
.
UTF_16LE
);
check
(
Charset
.
forName
(
"UTF-16"
)
==
StandardCharsets
.
UTF_16
);
Set
<
String
>
charsets
=
new
HashSet
<>();
Field
standardCharsetFields
[]
=
StandardCharsets
.
class
.
getFields
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录