Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
沉默王二
Jmx Java
提交
024066e4
J
Jmx Java
项目概览
沉默王二
/
Jmx Java
10 个月 前同步成功
通知
160
Star
18
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
Jmx Java
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
024066e4
编写于
6月 05, 2021
作者:
沉默王二
💬
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
源码提交
上级
40ca6451
变更
29
隐藏空白更改
内联
并排
Showing
29 changed file
with
818 addition
and
0 deletion
+818
-0
codes/TechSister/pom.xml
codes/TechSister/pom.xml
+41
-0
codes/TechSister/src/main/java/com/itwanger/alibaba/Singleton.java
...hSister/src/main/java/com/itwanger/alibaba/Singleton.java
+8
-0
codes/TechSister/src/main/java/com/itwanger/http/ForRestClient.java
...Sister/src/main/java/com/itwanger/http/ForRestClient.java
+13
-0
codes/TechSister/src/main/java/com/itwanger/http/ForRestDemo.java
...chSister/src/main/java/com/itwanger/http/ForRestDemo.java
+21
-0
codes/TechSister/src/main/java/com/itwanger/http/HttpClientDemo.java
...ister/src/main/java/com/itwanger/http/HttpClientDemo.java
+26
-0
codes/TechSister/src/main/java/com/itwanger/http/HttpComponentsDemo.java
...r/src/main/java/com/itwanger/http/HttpComponentsDemo.java
+35
-0
codes/TechSister/src/main/java/com/itwanger/http/HttpUrlConnectionDemo.java
...rc/main/java/com/itwanger/http/HttpUrlConnectionDemo.java
+38
-0
codes/TechSister/src/main/java/com/itwanger/http/OkHttpPostDemo.java
...ister/src/main/java/com/itwanger/http/OkHttpPostDemo.java
+36
-0
codes/TechSister/src/main/java/com/itwanger/thirty/box/Test.java
...echSister/src/main/java/com/itwanger/thirty/box/Test.java
+16
-0
codes/TechSister/src/main/java/com/itwanger/thirty/copy1/TestClone.java
...er/src/main/java/com/itwanger/thirty/copy1/TestClone.java
+21
-0
codes/TechSister/src/main/java/com/itwanger/thirty/copy1/Writer.java
...ister/src/main/java/com/itwanger/thirty/copy1/Writer.java
+43
-0
codes/TechSister/src/main/java/com/itwanger/thirty/copy2/Book.java
...hSister/src/main/java/com/itwanger/thirty/copy2/Book.java
+38
-0
codes/TechSister/src/main/java/com/itwanger/thirty/copy2/TestClone.java
...er/src/main/java/com/itwanger/thirty/copy2/TestClone.java
+26
-0
codes/TechSister/src/main/java/com/itwanger/thirty/copy2/Writer.java
...ister/src/main/java/com/itwanger/thirty/copy2/Writer.java
+54
-0
codes/TechSister/src/main/java/com/itwanger/thirty/copy3/Book.java
...hSister/src/main/java/com/itwanger/thirty/copy3/Book.java
+44
-0
codes/TechSister/src/main/java/com/itwanger/thirty/copy3/TestClone.java
...er/src/main/java/com/itwanger/thirty/copy3/TestClone.java
+26
-0
codes/TechSister/src/main/java/com/itwanger/thirty/copy3/Writer.java
...ister/src/main/java/com/itwanger/thirty/copy3/Writer.java
+55
-0
codes/TechSister/src/main/java/com/itwanger/thirty/copy4/Book.java
...hSister/src/main/java/com/itwanger/thirty/copy4/Book.java
+41
-0
codes/TechSister/src/main/java/com/itwanger/thirty/copy4/TestClone.java
...er/src/main/java/com/itwanger/thirty/copy4/TestClone.java
+28
-0
codes/TechSister/src/main/java/com/itwanger/thirty/copy4/Writer.java
...ister/src/main/java/com/itwanger/thirty/copy4/Writer.java
+65
-0
codes/TechSister/src/main/java/com/itwanger/thirtyfive/StringInternDemo.java
...c/main/java/com/itwanger/thirtyfive/StringInternDemo.java
+12
-0
codes/TechSister/src/main/java/com/itwanger/thirtyfive/StringInternDemo1.java
.../main/java/com/itwanger/thirtyfive/StringInternDemo1.java
+25
-0
codes/TechSister/src/main/java/com/itwanger/thirtyfive/StringInternDemo2.java
.../main/java/com/itwanger/thirtyfive/StringInternDemo2.java
+12
-0
codes/TechSister/src/main/java/com/itwanger/thirtyone/PrimitiveTypeDemo.java
...c/main/java/com/itwanger/thirtyone/PrimitiveTypeDemo.java
+17
-0
codes/TechSister/src/main/java/com/itwanger/thirtyone/PrimitiveTypeDemo1.java
.../main/java/com/itwanger/thirtyone/PrimitiveTypeDemo1.java
+17
-0
codes/TechSister/src/main/java/com/itwanger/thirtyone/ReferenceTypeDemo.java
...c/main/java/com/itwanger/thirtyone/ReferenceTypeDemo.java
+16
-0
codes/TechSister/src/main/java/com/itwanger/thirtyone/Test.java
...TechSister/src/main/java/com/itwanger/thirtyone/Test.java
+11
-0
codes/TechSister/src/main/java/com/itwanger/thirtythree/StringTest.java
...er/src/main/java/com/itwanger/thirtythree/StringTest.java
+22
-0
codes/TechSister/src/main/java/com/itwanger/twentyeight/Test.java
...chSister/src/main/java/com/itwanger/twentyeight/Test.java
+11
-0
未找到文件。
codes/TechSister/pom.xml
浏览文件 @
024066e4
...
...
@@ -64,6 +64,47 @@
<version>
RELEASE
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
org.apache.httpcomponents.client5
</groupId>
<artifactId>
httpclient5
</artifactId>
<version>
5.1
</version>
</dependency>
<dependency>
<groupId>
org.apache.httpcomponents.client5
</groupId>
<artifactId>
httpclient5-fluent
</artifactId>
<version>
5.1
</version>
</dependency>
<dependency>
<groupId>
com.squareup.okhttp3
</groupId>
<artifactId>
okhttp
</artifactId>
<version>
5.0.0-alpha.2
</version>
</dependency>
<dependency>
<groupId>
com.dtflys.forest
</groupId>
<artifactId>
forest-core
</artifactId>
<version>
1.5.1
</version>
</dependency>
<dependency>
<groupId>
javax.xml.bind
</groupId>
<artifactId>
jaxb-api
</artifactId>
<version>
2.2.11
</version>
</dependency>
<dependency>
<groupId>
com.sun.xml.bind
</groupId>
<artifactId>
jaxb-core
</artifactId>
<version>
2.2.11
</version>
</dependency>
<dependency>
<groupId>
com.sun.xml.bind
</groupId>
<artifactId>
jaxb-impl
</artifactId>
<version>
2.2.11
</version>
</dependency>
<dependency>
<groupId>
javax.activation
</groupId>
<artifactId>
activation
</artifactId>
<version>
1.1.1
</version>
</dependency>
</dependencies>
<build>
...
...
codes/TechSister/src/main/java/com/itwanger/alibaba/Singleton.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.alibaba
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
public
enum
Singleton
{
INSTANCE
;
}
codes/TechSister/src/main/java/com/itwanger/http/ForRestClient.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.http
;
import
com.dtflys.forest.annotation.Body
;
import
com.dtflys.forest.annotation.Post
;
import
com.dtflys.forest.annotation.Request
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
public
interface
ForRestClient
{
@Post
(
"http://httpbin.org/post"
)
String
simplePost
(
@Body
(
"name"
)
String
name
);
}
codes/TechSister/src/main/java/com/itwanger/http/ForRestDemo.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.http
;
import
com.dtflys.forest.config.ForestConfiguration
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
public
class
ForRestDemo
{
public
static
void
main
(
String
[]
args
)
{
// 实例化Forest配置对象
ForestConfiguration
configuration
=
ForestConfiguration
.
configuration
();
configuration
.
setBackendName
(
"httpclient"
);
// 通过Forest配置对象实例化Forest请求接口
ForRestClient
myClient
=
configuration
.
createInstance
(
ForRestClient
.
class
);
// 调用Forest请求接口,并获取响应返回结果
String
result
=
myClient
.
simplePost
(
"二哥"
);
System
.
out
.
println
(
result
);
}
}
codes/TechSister/src/main/java/com/itwanger/http/HttpClientDemo.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.http
;
import
java.net.URI
;
import
java.net.URISyntaxException
;
import
java.net.http.HttpClient
;
import
java.net.http.HttpRequest
;
import
java.net.http.HttpResponse
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
public
class
HttpClientDemo
{
public
static
void
main
(
String
[]
args
)
throws
URISyntaxException
{
HttpClient
client
=
HttpClient
.
newHttpClient
();
HttpRequest
request
=
HttpRequest
.
newBuilder
()
.
uri
(
new
URI
(
"https://httpbin.org/post"
))
.
headers
(
"Content-Type"
,
"text/plain;charset=UTF-8"
)
.
POST
(
HttpRequest
.
BodyPublishers
.
ofString
(
"二哥牛逼"
))
.
build
();
client
.
sendAsync
(
request
,
HttpResponse
.
BodyHandlers
.
ofString
())
.
thenApply
(
HttpResponse:
:
body
)
.
thenAccept
(
System
.
out
::
println
)
.
join
();
}
}
codes/TechSister/src/main/java/com/itwanger/http/HttpComponentsDemo.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.http
;
import
org.apache.hc.client5.http.classic.methods.HttpPost
;
import
org.apache.hc.client5.http.entity.UrlEncodedFormEntity
;
import
org.apache.hc.client5.http.impl.classic.CloseableHttpClient
;
import
org.apache.hc.client5.http.impl.classic.CloseableHttpResponse
;
import
org.apache.hc.client5.http.impl.classic.HttpClients
;
import
org.apache.hc.core5.http.HttpEntity
;
import
org.apache.hc.core5.http.NameValuePair
;
import
org.apache.hc.core5.http.ParseException
;
import
org.apache.hc.core5.http.io.entity.EntityUtils
;
import
org.apache.hc.core5.http.message.BasicNameValuePair
;
import
java.io.IOException
;
import
java.nio.charset.Charset
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
public
class
HttpComponentsDemo
{
public
static
void
main
(
String
[]
args
)
throws
IOException
,
IOException
,
ParseException
{
try
(
CloseableHttpClient
httpclient
=
HttpClients
.
createDefault
())
{
HttpPost
httpPost
=
new
HttpPost
(
"http://httpbin.org/post"
);
List
<
NameValuePair
>
nvps
=
new
ArrayList
<>();
nvps
.
add
(
new
BasicNameValuePair
(
"name"
,
"二哥"
));
httpPost
.
setEntity
(
new
UrlEncodedFormEntity
(
nvps
,
Charset
.
forName
(
"UTF-8"
)));
try
(
CloseableHttpResponse
response2
=
httpclient
.
execute
(
httpPost
))
{
System
.
out
.
println
(
response2
.
getCode
()
+
" "
+
EntityUtils
.
toString
(
response2
.
getEntity
()));
}
}
}
}
codes/TechSister/src/main/java/com/itwanger/http/HttpUrlConnectionDemo.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.http
;
import
java.io.*
;
import
java.net.HttpURLConnection
;
import
java.net.URL
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
public
class
HttpUrlConnectionDemo
{
public
static
void
main
(
String
[]
args
)
throws
IOException
{
String
urlString
=
"https://httpbin.org/post"
;
String
bodyString
=
"name=二哥"
;
URL
url
=
new
URL
(
urlString
);
HttpURLConnection
conn
=
(
HttpURLConnection
)
url
.
openConnection
();
conn
.
setRequestMethod
(
"POST"
);
conn
.
setDoOutput
(
true
);
OutputStream
os
=
conn
.
getOutputStream
();
os
.
write
(
bodyString
.
getBytes
(
"utf-8"
));
os
.
flush
();
os
.
close
();
if
(
conn
.
getResponseCode
()
==
HttpURLConnection
.
HTTP_OK
)
{
InputStream
is
=
conn
.
getInputStream
();
BufferedReader
reader
=
new
BufferedReader
(
new
InputStreamReader
(
is
));
StringBuilder
sb
=
new
StringBuilder
();
String
line
;
while
((
line
=
reader
.
readLine
())
!=
null
)
{
sb
.
append
(
line
);
}
System
.
out
.
println
(
"响应内容:"
+
sb
.
toString
());
}
else
{
System
.
out
.
println
(
"响应码:"
+
conn
.
getResponseCode
());
}
}
}
codes/TechSister/src/main/java/com/itwanger/http/OkHttpPostDemo.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.http
;
import
java.io.IOException
;
import
okhttp3.MediaType
;
import
okhttp3.OkHttpClient
;
import
okhttp3.Request
;
import
okhttp3.RequestBody
;
import
okhttp3.Response
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
public
class
OkHttpPostDemo
{
public
static
final
MediaType
JSON
=
MediaType
.
get
(
"application/json; charset=utf-8"
);
OkHttpClient
client
=
new
OkHttpClient
();
String
post
(
String
url
,
String
json
)
throws
IOException
{
RequestBody
body
=
RequestBody
.
create
(
json
,
JSON
);
Request
request
=
new
Request
.
Builder
()
.
url
(
url
)
.
post
(
body
)
.
build
();
try
(
Response
response
=
client
.
newCall
(
request
).
execute
())
{
return
response
.
body
().
string
();
}
}
public
static
void
main
(
String
[]
args
)
throws
IOException
{
OkHttpPostDemo
example
=
new
OkHttpPostDemo
();
String
json
=
"{'name':'二哥'}"
;
String
response
=
example
.
post
(
"https://httpbin.org/post"
,
json
);
System
.
out
.
println
(
response
);
}
}
codes/TechSister/src/main/java/com/itwanger/thirty/box/Test.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirty.box
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
public
class
Test
{
public
static
void
main
(
String
[]
args
)
{
long
t1
=
System
.
currentTimeMillis
();
long
sum
=
0L
;
for
(
int
i
=
0
;
i
<
Integer
.
MAX_VALUE
;
i
++)
{
sum
+=
i
;
}
long
t2
=
System
.
currentTimeMillis
();
System
.
out
.
println
(
t2
-
t1
);
}
}
codes/TechSister/src/main/java/com/itwanger/thirty/copy1/TestClone.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirty.copy1
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
class
TestClone
{
public
static
void
main
(
String
[]
args
)
throws
CloneNotSupportedException
{
Writer
writer1
=
new
Writer
(
18
,
"二哥"
);
Writer
writer2
=
(
Writer
)
writer1
.
clone
();
System
.
out
.
println
(
"浅拷贝后:"
);
System
.
out
.
println
(
"writer1:"
+
writer1
);
System
.
out
.
println
(
"writer2:"
+
writer2
);
writer2
.
setName
(
"三妹"
);
System
.
out
.
println
(
"调整了 writer2 的 name 后:"
);
System
.
out
.
println
(
"writer1:"
+
writer1
);
System
.
out
.
println
(
"writer2:"
+
writer2
);
}
}
codes/TechSister/src/main/java/com/itwanger/thirty/copy1/Writer.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirty.copy1
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
class
Writer
implements
Cloneable
{
private
int
age
;
private
String
name
;
public
Writer
(
int
age
,
String
name
)
{
this
.
age
=
age
;
this
.
name
=
name
;
}
public
int
getAge
()
{
return
age
;
}
public
void
setAge
(
int
age
)
{
this
.
age
=
age
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
@Override
public
String
toString
()
{
return
super
.
toString
().
substring
(
26
)
+
"{"
+
"age="
+
age
+
", name='"
+
name
+
'\''
+
'}'
;
}
@Override
protected
Object
clone
()
throws
CloneNotSupportedException
{
return
super
.
clone
();
}
}
codes/TechSister/src/main/java/com/itwanger/thirty/copy2/Book.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirty.copy2
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
class
Book
{
private
String
bookName
;
private
int
price
;
public
Book
(
String
bookName
,
int
price
)
{
this
.
bookName
=
bookName
;
this
.
price
=
price
;
}
public
String
getBookName
()
{
return
bookName
;
}
public
void
setBookName
(
String
bookName
)
{
this
.
bookName
=
bookName
;
}
public
int
getPrice
()
{
return
price
;
}
public
void
setPrice
(
int
price
)
{
this
.
price
=
price
;
}
@Override
public
String
toString
()
{
return
super
.
toString
().
substring
(
26
)
+
" bookName='"
+
bookName
+
'\''
+
", price="
+
price
+
'}'
;
}
}
codes/TechSister/src/main/java/com/itwanger/thirty/copy2/TestClone.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirty.copy2
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
class
TestClone
{
public
static
void
main
(
String
[]
args
)
throws
CloneNotSupportedException
{
Writer
writer1
=
new
Writer
(
18
,
"二哥"
);
Book
book1
=
new
Book
(
"编译原理"
,
100
);
writer1
.
setBook
(
book1
);
Writer
writer2
=
(
Writer
)
writer1
.
clone
();
System
.
out
.
println
(
"浅拷贝后:"
);
System
.
out
.
println
(
"writer1:"
+
writer1
);
System
.
out
.
println
(
"writer2:"
+
writer2
);
Book
book2
=
writer2
.
getBook
();
book2
.
setBookName
(
"永恒的图灵"
);
book2
.
setPrice
(
70
);
System
.
out
.
println
(
"writer2.book 变更后:"
);
System
.
out
.
println
(
"writer1:"
+
writer1
);
System
.
out
.
println
(
"writer2:"
+
writer2
);
}
}
codes/TechSister/src/main/java/com/itwanger/thirty/copy2/Writer.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirty.copy2
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
class
Writer
implements
Cloneable
{
private
int
age
;
private
String
name
;
private
Book
book
;
public
Writer
(
int
age
,
String
name
)
{
this
.
age
=
age
;
this
.
name
=
name
;
}
public
int
getAge
()
{
return
age
;
}
public
void
setAge
(
int
age
)
{
this
.
age
=
age
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
Book
getBook
()
{
return
book
;
}
public
void
setBook
(
Book
book
)
{
this
.
book
=
book
;
}
@Override
public
String
toString
()
{
return
super
.
toString
().
substring
(
26
)
+
" age="
+
age
+
", name='"
+
name
+
'\''
+
", book="
+
book
+
'}'
;
}
@Override
protected
Object
clone
()
throws
CloneNotSupportedException
{
return
super
.
clone
();
}
}
codes/TechSister/src/main/java/com/itwanger/thirty/copy3/Book.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirty.copy3
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
class
Book
implements
Cloneable
{
private
String
bookName
;
private
int
price
;
public
Book
(
String
bookName
,
int
price
)
{
this
.
bookName
=
bookName
;
this
.
price
=
price
;
}
public
String
getBookName
()
{
return
bookName
;
}
public
void
setBookName
(
String
bookName
)
{
this
.
bookName
=
bookName
;
}
public
int
getPrice
()
{
return
price
;
}
public
void
setPrice
(
int
price
)
{
this
.
price
=
price
;
}
@Override
public
String
toString
()
{
return
super
.
toString
().
substring
(
26
)
+
" bookName='"
+
bookName
+
'\''
+
", price="
+
price
+
'}'
;
}
@Override
protected
Object
clone
()
throws
CloneNotSupportedException
{
return
super
.
clone
();
}
}
codes/TechSister/src/main/java/com/itwanger/thirty/copy3/TestClone.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirty.copy3
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
class
TestClone
{
public
static
void
main
(
String
[]
args
)
throws
CloneNotSupportedException
{
Writer
writer1
=
new
Writer
(
18
,
"二哥"
);
Book
book1
=
new
Book
(
"编译原理"
,
100
);
writer1
.
setBook
(
book1
);
Writer
writer2
=
(
Writer
)
writer1
.
clone
();
System
.
out
.
println
(
"深拷贝后:"
);
System
.
out
.
println
(
"writer1:"
+
writer1
);
System
.
out
.
println
(
"writer2:"
+
writer2
);
Book
book2
=
writer2
.
getBook
();
book2
.
setBookName
(
"永恒的图灵"
);
book2
.
setPrice
(
70
);
System
.
out
.
println
(
"writer2.book 变更后:"
);
System
.
out
.
println
(
"writer1:"
+
writer1
);
System
.
out
.
println
(
"writer2:"
+
writer2
);
}
}
codes/TechSister/src/main/java/com/itwanger/thirty/copy3/Writer.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirty.copy3
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
class
Writer
implements
Cloneable
{
private
int
age
;
private
String
name
;
private
Book
book
;
public
Writer
(
int
age
,
String
name
)
{
this
.
age
=
age
;
this
.
name
=
name
;
}
public
int
getAge
()
{
return
age
;
}
public
void
setAge
(
int
age
)
{
this
.
age
=
age
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
Book
getBook
()
{
return
book
;
}
public
void
setBook
(
Book
book
)
{
this
.
book
=
book
;
}
@Override
public
String
toString
()
{
return
super
.
toString
().
substring
(
26
)
+
" age="
+
age
+
", name='"
+
name
+
'\''
+
", book="
+
book
+
'}'
;
}
@Override
protected
Object
clone
()
throws
CloneNotSupportedException
{
Writer
writer
=
(
Writer
)
super
.
clone
();
writer
.
setBook
((
Book
)
writer
.
getBook
().
clone
());
return
writer
;
}
}
codes/TechSister/src/main/java/com/itwanger/thirty/copy4/Book.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirty.copy4
;
import
java.io.Serializable
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
class
Book
implements
Serializable
{
private
String
bookName
;
private
int
price
;
public
Book
(
String
bookName
,
int
price
)
{
this
.
bookName
=
bookName
;
this
.
price
=
price
;
}
public
String
getBookName
()
{
return
bookName
;
}
public
void
setBookName
(
String
bookName
)
{
this
.
bookName
=
bookName
;
}
public
int
getPrice
()
{
return
price
;
}
public
void
setPrice
(
int
price
)
{
this
.
price
=
price
;
}
@Override
public
String
toString
()
{
return
super
.
toString
().
substring
(
26
)
+
" bookName='"
+
bookName
+
'\''
+
", price="
+
price
+
'}'
;
}
}
codes/TechSister/src/main/java/com/itwanger/thirty/copy4/TestClone.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirty.copy4
;
import
java.io.IOException
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
class
TestClone
{
public
static
void
main
(
String
[]
args
)
throws
IOException
,
ClassNotFoundException
{
Writer
writer1
=
new
Writer
(
18
,
"二哥"
);
Book
book1
=
new
Book
(
"编译原理"
,
100
);
writer1
.
setBook
(
book1
);
Writer
writer2
=
(
Writer
)
writer1
.
deepClone
();
System
.
out
.
println
(
"深拷贝后:"
);
System
.
out
.
println
(
"writer1:"
+
writer1
);
System
.
out
.
println
(
"writer2:"
+
writer2
);
Book
book2
=
writer2
.
getBook
();
book2
.
setBookName
(
"永恒的图灵"
);
book2
.
setPrice
(
70
);
System
.
out
.
println
(
"writer2.book 变更后:"
);
System
.
out
.
println
(
"writer1:"
+
writer1
);
System
.
out
.
println
(
"writer2:"
+
writer2
);
}
}
codes/TechSister/src/main/java/com/itwanger/thirty/copy4/Writer.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirty.copy4
;
import
java.io.*
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
class
Writer
implements
Serializable
{
private
int
age
;
private
String
name
;
private
Book
book
;
public
Writer
(
int
age
,
String
name
)
{
this
.
age
=
age
;
this
.
name
=
name
;
}
public
int
getAge
()
{
return
age
;
}
public
void
setAge
(
int
age
)
{
this
.
age
=
age
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
Book
getBook
()
{
return
book
;
}
public
void
setBook
(
Book
book
)
{
this
.
book
=
book
;
}
@Override
public
String
toString
()
{
return
super
.
toString
().
substring
(
26
)
+
" age="
+
age
+
", name='"
+
name
+
'\''
+
", book="
+
book
+
'}'
;
}
//深度拷贝
public
Object
deepClone
()
throws
IOException
,
ClassNotFoundException
{
// 序列化
ByteArrayOutputStream
bos
=
new
ByteArrayOutputStream
();
ObjectOutputStream
oos
=
new
ObjectOutputStream
(
bos
);
oos
.
writeObject
(
this
);
// 反序列化
ByteArrayInputStream
bis
=
new
ByteArrayInputStream
(
bos
.
toByteArray
());
ObjectInputStream
ois
=
new
ObjectInputStream
(
bis
);
return
ois
.
readObject
();
}
}
codes/TechSister/src/main/java/com/itwanger/thirtyfive/StringInternDemo.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirtyfive
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
public
class
StringInternDemo
{
public
static
void
main
(
String
[]
args
)
{
String
s1
=
new
String
(
"二哥"
)
+
new
String
(
"三妹"
);
String
s2
=
s1
.
intern
();
System
.
out
.
println
(
s1
==
s2
);
}
}
codes/TechSister/src/main/java/com/itwanger/thirtyfive/StringInternDemo1.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirtyfive
;
import
java.util.Random
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
public
class
StringInternDemo1
{
static
final
int
MAX
=
1000
*
10000
;
static
final
String
[]
arr
=
new
String
[
MAX
];
public
static
void
main
(
String
[]
args
)
throws
Exception
{
Integer
[]
DB_DATA
=
new
Integer
[
10
];
Random
random
=
new
Random
(
10
*
10000
);
for
(
int
i
=
0
;
i
<
DB_DATA
.
length
;
i
++)
{
DB_DATA
[
i
]
=
random
.
nextInt
();
}
long
t
=
System
.
currentTimeMillis
();
for
(
int
i
=
0
;
i
<
MAX
;
i
++)
{
arr
[
i
]
=
new
String
(
String
.
valueOf
(
DB_DATA
[
i
%
DB_DATA
.
length
]));
}
System
.
out
.
println
((
System
.
currentTimeMillis
()
-
t
)
+
"ms"
);
}
}
codes/TechSister/src/main/java/com/itwanger/thirtyfive/StringInternDemo2.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirtyfive
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
public
class
StringInternDemo2
{
public
static
void
main
(
String
[]
args
)
{
String
s1
=
new
String
(
"二哥三妹"
);
String
s2
=
s1
.
intern
();
System
.
out
.
println
(
s1
==
s2
);
}
}
codes/TechSister/src/main/java/com/itwanger/thirtyone/PrimitiveTypeDemo.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirtyone
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
class
PrimitiveTypeDemo
{
public
static
void
main
(
String
[]
args
)
{
int
age
=
18
;
modify
(
age
);
System
.
out
.
println
(
age
);
}
private
static
void
modify
(
int
age1
)
{
age1
=
30
;
}
}
codes/TechSister/src/main/java/com/itwanger/thirtyone/PrimitiveTypeDemo1.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirtyone
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
class
PrimitiveTypeDemo1
{
public
static
void
main
(
String
[]
args
)
{
int
age
=
18
;
age
=
modify
(
age
);
System
.
out
.
println
(
age
);
}
private
static
int
modify
(
int
age1
)
{
age1
=
30
;
return
age1
;
}
}
codes/TechSister/src/main/java/com/itwanger/thirtyone/ReferenceTypeDemo.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirtyone
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
class
ReferenceTypeDemo
{
public
static
void
main
(
String
[]
args
)
{
String
name
=
"二哥"
;
modify
(
name
);
System
.
out
.
println
(
name
);
}
private
static
void
modify
(
String
name1
)
{
name1
=
"三妹"
;
}
}
codes/TechSister/src/main/java/com/itwanger/thirtyone/Test.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirtyone
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
public
class
Test
{
public
static
void
main
(
String
[]
args
)
{
int
age
=
18
;
String
name
=
"二哥"
;
}
}
codes/TechSister/src/main/java/com/itwanger/thirtythree/StringTest.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.thirtythree
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
public
class
StringTest
{
public
void
test
()
{
int
i
=
8
;
while
((
i
-=
3
)
>
0
);
System
.
out
.
println
(
"i = "
+
i
);
}
public
static
void
main
(
String
[]
args
)
{
StringTest
hello
=
new
StringTest
();
for
(
int
i
=
0
;
i
<
50_000
;
i
++)
{
hello
.
test
();
}
}
}
codes/TechSister/src/main/java/com/itwanger/twentyeight/Test.java
0 → 100644
浏览文件 @
024066e4
package
com.itwanger.twentyeight
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
/**
* @author 微信搜「沉默王二」,回复关键字 Java
*/
public
class
Test
{
ArrayList
a
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录