Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
武汉红喜
whatsmars
提交
3abb6823
W
whatsmars
项目概览
武汉红喜
/
whatsmars
通知
3
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
whatsmars
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
3abb6823
编写于
8月 11, 2019
作者:
武汉红喜
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
java
上级
87697d97
变更
21
隐藏空白更改
内联
并排
Showing
21 changed file
with
439 addition
and
9 deletion
+439
-9
whatsmars-common/src/test/java/org/hongxi/java/io/FileTest.java
...ars-common/src/test/java/org/hongxi/java/io/FileTest.java
+23
-0
whatsmars-common/src/test/java/org/hongxi/java/lang/CodeBlockTest.java
...mon/src/test/java/org/hongxi/java/lang/CodeBlockTest.java
+1
-1
whatsmars-common/src/test/java/org/hongxi/java/lang/ExTest.java
...ars-common/src/test/java/org/hongxi/java/lang/ExTest.java
+1
-1
whatsmars-common/src/test/java/org/hongxi/java/lang/oop/Animal.java
...common/src/test/java/org/hongxi/java/lang/oop/Animal.java
+1
-1
whatsmars-common/src/test/java/org/hongxi/java/lang/oop/Cat.java
...rs-common/src/test/java/org/hongxi/java/lang/oop/Cat.java
+1
-1
whatsmars-common/src/test/java/org/hongxi/java/lang/oop/ChinaCat.java
...mmon/src/test/java/org/hongxi/java/lang/oop/ChinaCat.java
+1
-1
whatsmars-common/src/test/java/org/hongxi/java/lang/singleton/EagerSingleton.java
...t/java/org/hongxi/java/lang/singleton/EagerSingleton.java
+1
-1
whatsmars-common/src/test/java/org/hongxi/java/lang/singleton/EnumSingleton.java
...st/java/org/hongxi/java/lang/singleton/EnumSingleton.java
+1
-1
whatsmars-common/src/test/java/org/hongxi/java/lang/singleton/InnerClassSingleton.java
...a/org/hongxi/java/lang/singleton/InnerClassSingleton.java
+1
-1
whatsmars-common/src/test/java/org/hongxi/java/lang/singleton/LazySingleton.java
...st/java/org/hongxi/java/lang/singleton/LazySingleton.java
+1
-1
whatsmars-common/src/test/java/org/hongxi/java/net/TCPClient.java
...s-common/src/test/java/org/hongxi/java/net/TCPClient.java
+46
-0
whatsmars-common/src/test/java/org/hongxi/java/net/TCPServer.java
...s-common/src/test/java/org/hongxi/java/net/TCPServer.java
+81
-0
whatsmars-common/src/test/java/org/hongxi/java/net/UDPClient.java
...s-common/src/test/java/org/hongxi/java/net/UDPClient.java
+28
-0
whatsmars-common/src/test/java/org/hongxi/java/net/UDPServer.java
...s-common/src/test/java/org/hongxi/java/net/UDPServer.java
+25
-0
whatsmars-common/src/test/java/org/hongxi/java/nio/MappedFileTest.java
...mon/src/test/java/org/hongxi/java/nio/MappedFileTest.java
+23
-0
whatsmars-common/src/test/java/org/hongxi/java/nio/MultiPortEcho.java
...mmon/src/test/java/org/hongxi/java/nio/MultiPortEcho.java
+108
-0
whatsmars-common/src/test/java/org/hongxi/java/rmi/Client.java
...mars-common/src/test/java/org/hongxi/java/rmi/Client.java
+18
-0
whatsmars-common/src/test/java/org/hongxi/java/rmi/Server.java
...mars-common/src/test/java/org/hongxi/java/rmi/Server.java
+17
-0
whatsmars-common/src/test/java/org/hongxi/java/rmi/User.java
whatsmars-common/src/test/java/org/hongxi/java/rmi/User.java
+30
-0
whatsmars-common/src/test/java/org/hongxi/java/rmi/UserService.java
...common/src/test/java/org/hongxi/java/rmi/UserService.java
+12
-0
whatsmars-common/src/test/java/org/hongxi/java/rmi/UserServiceImpl.java
...on/src/test/java/org/hongxi/java/rmi/UserServiceImpl.java
+19
-0
未找到文件。
whatsmars-common/src/test/java/org/hongxi/java/io/FileTest.java
0 → 100644
浏览文件 @
3abb6823
package
org.hongxi.java.io
;
import
java.io.BufferedReader
;
import
java.io.FileReader
;
import
java.io.PrintWriter
;
/**
* Created by shenhongxi on 2018/10/25.
*/
public
class
FileTest
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
BufferedReader
br
=
new
BufferedReader
(
new
FileReader
(
"/Users/javahongxi/Documents/white_list.txt"
));
PrintWriter
pw
=
new
PrintWriter
(
"/Users/javahongxi/Documents/white_list02.txt"
);
String
line
=
null
;
while
((
line
=
br
.
readLine
())
!=
null
)
{
pw
.
println
(
line
);
}
pw
.
flush
();
pw
.
close
();
br
.
close
();
}
}
whatsmars-common/src/test/java/org/hongxi/java/
util/
lang/CodeBlockTest.java
→
whatsmars-common/src/test/java/org/hongxi/java/lang/CodeBlockTest.java
浏览文件 @
3abb6823
package
org.hongxi.java.
util.
lang
;
package
org.hongxi.java.lang
;
/**
* Created by shenhongxi on 2017/11/17.
...
...
whatsmars-common/src/test/java/org/hongxi/java/
util/
lang/ExTest.java
→
whatsmars-common/src/test/java/org/hongxi/java/lang/ExTest.java
浏览文件 @
3abb6823
package
org.hongxi.java.
util.
lang
;
package
org.hongxi.java.lang
;
/**
* Created by shenhongxi on 2018/6/1.
...
...
whatsmars-common/src/test/java/org/hongxi/java/
util/
lang/oop/Animal.java
→
whatsmars-common/src/test/java/org/hongxi/java/lang/oop/Animal.java
浏览文件 @
3abb6823
package
org.hongxi.java.
util.
lang.oop
;
package
org.hongxi.java.lang.oop
;
/**
* @author shenhongxi 2019/8/11
...
...
whatsmars-common/src/test/java/org/hongxi/java/
util/
lang/oop/Cat.java
→
whatsmars-common/src/test/java/org/hongxi/java/lang/oop/Cat.java
浏览文件 @
3abb6823
package
org.hongxi.java.
util.
lang.oop
;
package
org.hongxi.java.lang.oop
;
/**
* @author shenhongxi 2019/8/11
...
...
whatsmars-common/src/test/java/org/hongxi/java/
util/
lang/oop/ChinaCat.java
→
whatsmars-common/src/test/java/org/hongxi/java/lang/oop/ChinaCat.java
浏览文件 @
3abb6823
package
org.hongxi.java.
util.
lang.oop
;
package
org.hongxi.java.lang.oop
;
/**
* @author shenhongxi 2019/8/11
...
...
whatsmars-common/src/test/java/org/hongxi/java/
util/
lang/singleton/EagerSingleton.java
→
whatsmars-common/src/test/java/org/hongxi/java/lang/singleton/EagerSingleton.java
浏览文件 @
3abb6823
package
org.hongxi.java.
util.
lang.singleton
;
package
org.hongxi.java.lang.singleton
;
/**
* @author shenhongxi 2019/8/11
...
...
whatsmars-common/src/test/java/org/hongxi/java/
util/
lang/singleton/EnumSingleton.java
→
whatsmars-common/src/test/java/org/hongxi/java/lang/singleton/EnumSingleton.java
浏览文件 @
3abb6823
package
org.hongxi.java.
util.
lang.singleton
;
package
org.hongxi.java.lang.singleton
;
/**
* @author shenhongxi 2019/8/11
...
...
whatsmars-common/src/test/java/org/hongxi/java/
util/
lang/singleton/InnerClassSingleton.java
→
whatsmars-common/src/test/java/org/hongxi/java/lang/singleton/InnerClassSingleton.java
浏览文件 @
3abb6823
package
org.hongxi.java.
util.
lang.singleton
;
package
org.hongxi.java.lang.singleton
;
/**
* @author shenhongxi 2019/8/11
...
...
whatsmars-common/src/test/java/org/hongxi/java/
util/
lang/singleton/LazySingleton.java
→
whatsmars-common/src/test/java/org/hongxi/java/lang/singleton/LazySingleton.java
浏览文件 @
3abb6823
package
org.hongxi.java.
util.
lang.singleton
;
package
org.hongxi.java.lang.singleton
;
/**
* @author shenhongxi 2019/8/11
...
...
whatsmars-common/src/test/java/org/hongxi/java/net/TCPClient.java
0 → 100644
浏览文件 @
3abb6823
package
org.hongxi.java.net
;
import
java.io.DataOutputStream
;
import
java.io.IOException
;
import
java.net.Socket
;
import
java.net.UnknownHostException
;
public
class
TCPClient
{
public
static
void
main
(
String
[]
args
)
{
new
TCPClient
().
connect
();
}
public
void
connect
()
{
@SuppressWarnings
(
"unused"
)
boolean
started
=
false
;
Socket
s
=
null
;
DataOutputStream
dos
=
null
;
try
{
s
=
new
Socket
(
"127.0.0.1"
,
5555
);
dos
=
new
DataOutputStream
(
s
.
getOutputStream
());
started
=
true
;
System
.
out
.
println
(
"Yeah, I connected"
);
Thread
.
sleep
(
3000
);
dos
.
writeUTF
(
"Happy"
);
dos
.
flush
();
}
catch
(
UnknownHostException
e
)
{
e
.
printStackTrace
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
if
(
dos
!=
null
)
{
dos
.
close
();
}
if
(
s
!=
null
)
{
s
.
close
();
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
}
whatsmars-common/src/test/java/org/hongxi/java/net/TCPServer.java
0 → 100644
浏览文件 @
3abb6823
package
org.hongxi.java.net
;
import
java.io.DataInputStream
;
import
java.io.IOException
;
import
java.net.BindException
;
import
java.net.ServerSocket
;
import
java.net.Socket
;
public
class
TCPServer
{
boolean
started
;
ServerSocket
ss
;
public
static
void
main
(
String
[]
args
)
{
new
TCPServer
().
start
();
}
private
void
start
()
{
try
{
ss
=
new
ServerSocket
(
5555
);
started
=
true
;
System
.
out
.
println
(
"Server started"
);
}
catch
(
BindException
e
)
{
e
.
printStackTrace
();
System
.
exit
(
0
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
try
{
while
(
started
)
{
Socket
s
=
ss
.
accept
();
Client
c
=
new
Client
(
s
);
System
.
out
.
println
(
"a client connected!"
);
new
Thread
(
c
).
start
();
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
if
(
ss
!=
null
)
ss
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
private
class
Client
extends
Thread
{
private
Socket
s
;
private
DataInputStream
dis
;
public
Client
(
Socket
s
)
{
this
.
s
=
s
;
try
{
dis
=
new
DataInputStream
(
s
.
getInputStream
());
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
@Override
public
void
run
()
{
try
{
System
.
out
.
println
(
dis
.
readUTF
());
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
if
(
dis
!=
null
)
{
dis
.
close
();
}
if
(
s
!=
null
)
{
s
.
close
();
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
}
}
whatsmars-common/src/test/java/org/hongxi/java/net/UDPClient.java
0 → 100644
浏览文件 @
3abb6823
package
org.hongxi.java.net
;
import
java.io.ByteArrayOutputStream
;
import
java.io.DataOutputStream
;
import
java.io.IOException
;
import
java.net.DatagramPacket
;
import
java.net.DatagramSocket
;
import
java.net.InetSocketAddress
;
public
class
UDPClient
{
public
static
void
main
(
String
[]
args
)
{
try
{
long
n
=
1000L
;
ByteArrayOutputStream
baos
=
new
ByteArrayOutputStream
();
DataOutputStream
dos
=
new
DataOutputStream
(
baos
);
dos
.
writeLong
(
n
);
//byte[] buf = new String("Hello").getBytes();
byte
[]
buf
=
baos
.
toByteArray
();
DatagramPacket
dp
=
new
DatagramPacket
(
buf
,
buf
.
length
,
new
InetSocketAddress
(
"localhost"
,
5678
));
DatagramSocket
ds
=
new
DatagramSocket
(
9999
);
ds
.
send
(
dp
);
ds
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
whatsmars-common/src/test/java/org/hongxi/java/net/UDPServer.java
0 → 100644
浏览文件 @
3abb6823
package
org.hongxi.java.net
;
import
java.io.ByteArrayInputStream
;
import
java.io.DataInputStream
;
import
java.io.IOException
;
import
java.net.DatagramPacket
;
import
java.net.DatagramSocket
;
public
class
UDPServer
{
public
static
void
main
(
String
[]
args
)
{
try
{
byte
[]
buf
=
new
byte
[
1024
];
DatagramPacket
dp
=
new
DatagramPacket
(
buf
,
buf
.
length
);
DatagramSocket
ds
=
new
DatagramSocket
(
5678
);
while
(
true
)
{
ds
.
receive
(
dp
);
ByteArrayInputStream
bais
=
new
ByteArrayInputStream
(
buf
);
DataInputStream
dis
=
new
DataInputStream
(
bais
);
System
.
out
.
println
(
dis
.
readLong
());
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
whatsmars-common/src/test/java/org/hongxi/java/nio/MappedFileTest.java
0 → 100644
浏览文件 @
3abb6823
package
org.hongxi.java.nio
;
import
java.io.RandomAccessFile
;
import
java.nio.MappedByteBuffer
;
import
java.nio.channels.FileChannel
;
public
class
MappedFileTest
{
static
private
final
int
start
=
0
;
static
private
final
int
size
=
1024
;
static
public
void
main
(
String
args
[])
throws
Exception
{
RandomAccessFile
raf
=
new
RandomAccessFile
(
"mappedfile.txt"
,
"rw"
);
FileChannel
fc
=
raf
.
getChannel
();
MappedByteBuffer
mbb
=
fc
.
map
(
FileChannel
.
MapMode
.
READ_WRITE
,
start
,
size
);
mbb
.
put
(
0
,
(
byte
)
97
);
mbb
.
put
(
1023
,
(
byte
)
122
);
raf
.
close
();
}
}
whatsmars-common/src/test/java/org/hongxi/java/nio/MultiPortEcho.java
0 → 100644
浏览文件 @
3abb6823
package
org.hongxi.java.nio
;
// $Id$
import
java.io.IOException
;
import
java.net.InetSocketAddress
;
import
java.net.ServerSocket
;
import
java.nio.ByteBuffer
;
import
java.nio.channels.SelectionKey
;
import
java.nio.channels.Selector
;
import
java.nio.channels.ServerSocketChannel
;
import
java.nio.channels.SocketChannel
;
import
java.util.Iterator
;
import
java.util.Set
;
public
class
MultiPortEcho
{
private
int
ports
[];
private
ByteBuffer
echoBuffer
=
ByteBuffer
.
allocate
(
1024
);
public
MultiPortEcho
(
int
ports
[])
throws
IOException
{
this
.
ports
=
ports
;
go
();
}
private
void
go
()
throws
IOException
{
// Create a new selector
Selector
selector
=
Selector
.
open
();
// Open a listener on each port, and register each one
// with the selector
for
(
int
i
=
0
;
i
<
ports
.
length
;
++
i
)
{
ServerSocketChannel
ssc
=
ServerSocketChannel
.
open
();
ssc
.
configureBlocking
(
false
);
ServerSocket
ss
=
ssc
.
socket
();
InetSocketAddress
address
=
new
InetSocketAddress
(
ports
[
i
]);
ss
.
bind
(
address
);
SelectionKey
key
=
ssc
.
register
(
selector
,
SelectionKey
.
OP_ACCEPT
);
System
.
out
.
println
(
"Going to listen on "
+
ports
[
i
]);
}
while
(
true
)
{
int
num
=
selector
.
select
();
Set
selectedKeys
=
selector
.
selectedKeys
();
Iterator
it
=
selectedKeys
.
iterator
();
while
(
it
.
hasNext
())
{
SelectionKey
key
=
(
SelectionKey
)
it
.
next
();
if
((
key
.
readyOps
()
&
SelectionKey
.
OP_ACCEPT
)
==
SelectionKey
.
OP_ACCEPT
)
{
// Accept the new connection
ServerSocketChannel
ssc
=
(
ServerSocketChannel
)
key
.
channel
();
SocketChannel
sc
=
ssc
.
accept
();
sc
.
configureBlocking
(
false
);
// Add the new connection to the selector
SelectionKey
newKey
=
sc
.
register
(
selector
,
SelectionKey
.
OP_READ
);
it
.
remove
();
System
.
out
.
println
(
"Got connection from "
+
sc
);
}
else
if
((
key
.
readyOps
()
&
SelectionKey
.
OP_READ
)
==
SelectionKey
.
OP_READ
)
{
// Read the data
SocketChannel
sc
=
(
SocketChannel
)
key
.
channel
();
// Echo data
int
bytesEchoed
=
0
;
while
(
true
)
{
echoBuffer
.
clear
();
int
r
=
sc
.
read
(
echoBuffer
);
if
(
r
<=
0
)
{
break
;
}
echoBuffer
.
flip
();
sc
.
write
(
echoBuffer
);
bytesEchoed
+=
r
;
}
System
.
out
.
println
(
"Echoed "
+
bytesEchoed
+
" from "
+
sc
);
it
.
remove
();
}
}
}
}
static
public
void
main
(
String
args
[])
throws
Exception
{
if
(
args
.
length
<=
0
)
{
System
.
err
.
println
(
"Usage: java MultiPortEcho port [port port ...]"
);
System
.
exit
(
1
);
}
int
ports
[]
=
new
int
[
args
.
length
];
for
(
int
i
=
0
;
i
<
args
.
length
;
++
i
)
{
ports
[
i
]
=
Integer
.
parseInt
(
args
[
i
]);
}
new
MultiPortEcho
(
ports
);
}
}
whatsmars-common/src/test/java/org/hongxi/java/rmi/Client.java
0 → 100644
浏览文件 @
3abb6823
package
org.hongxi.java.rmi
;
import
java.rmi.Naming
;
/**
* Created by shenhongxi on 2016/4/18.
*/
public
class
Client
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
UserService
userService
=
(
UserService
)
Naming
.
lookup
(
"rmi://127.0.0.1:8899/userService"
);
User
user
=
new
User
();
user
.
setName
(
"Mars"
);
user
.
setAge
(
27
);
String
hi
=
userService
.
hi
(
user
);
System
.
out
.
println
(
hi
);
}
}
whatsmars-common/src/test/java/org/hongxi/java/rmi/Server.java
0 → 100644
浏览文件 @
3abb6823
package
org.hongxi.java.rmi
;
import
java.rmi.Naming
;
import
java.rmi.registry.LocateRegistry
;
/**
* Created by shenhongxi on 2016/4/18.
* java RMI 的局限性是只能在java环境使用,另外依赖ip/port
*/
public
class
Server
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
UserService
userService
=
new
UserServiceImpl
();
LocateRegistry
.
createRegistry
(
8899
);
Naming
.
rebind
(
"rmi://127.0.0.1:8899/userService"
,
userService
);
}
}
whatsmars-common/src/test/java/org/hongxi/java/rmi/User.java
0 → 100644
浏览文件 @
3abb6823
package
org.hongxi.java.rmi
;
import
java.io.Serializable
;
/**
* Created by shenhongxi on 2016/4/18.
*/
public
class
User
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7105466693678286106L
;
private
String
name
;
private
int
age
;
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
int
getAge
()
{
return
age
;
}
public
void
setAge
(
int
age
)
{
this
.
age
=
age
;
}
}
whatsmars-common/src/test/java/org/hongxi/java/rmi/UserService.java
0 → 100644
浏览文件 @
3abb6823
package
org.hongxi.java.rmi
;
import
java.rmi.Remote
;
import
java.rmi.RemoteException
;
/**
* Created by shenhongxi on 2016/4/18.
*/
public
interface
UserService
extends
Remote
{
String
hi
(
User
user
)
throws
RemoteException
;
}
whatsmars-common/src/test/java/org/hongxi/java/rmi/UserServiceImpl.java
0 → 100644
浏览文件 @
3abb6823
package
org.hongxi.java.rmi
;
import
java.rmi.RemoteException
;
import
java.rmi.server.UnicastRemoteObject
;
/**
* Created by shenhongxi on 2016/4/18.
*/
public
class
UserServiceImpl
extends
UnicastRemoteObject
implements
UserService
{
public
UserServiceImpl
()
throws
RemoteException
{
super
();
}
@Override
public
String
hi
(
User
user
)
throws
RemoteException
{
return
"Hi, "
+
user
.
getName
()
+
", your age is "
+
user
.
getAge
()
+
"?"
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录