简单JAVA socket 笔记
Server:
ServerSocket server = new ServerSocket(PORT, 1); // 打开Server并监听
Socket client = server.accept(); // block 直到有client,得到对应socket 句柄
System.out.println("Client connected");
while (true) {
BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream())); // 得到输入流
System.out.println("Read from client");
String textLine = reader.readLine() + "\n";
if (textLine.equalsIgnoreCase("EXIT\n")) {
System.out.println("EXIT invoked, closing client");
break;
}
if (textLine.equal
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
1 EL 自定义函数
1.1 EL 自定义函数:在 EL 表达式中调用的某个 Java 类的静态方法,这个静态方法需在 web 应用程序中进行配置才可以被 EL 表达式调用。EL 自定义函数可以扩展 EL 表达式的功能,让 EL 表达式完成普通 Ja ......
值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。
==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否 ......
stack[0] 表示获得当前方法
1.
StackTraceElement[] stack = Thread.currentThread().getStackTrace();
stack[0].getMethodName();
StackTraceElement[] stack = Thread.currentThread().getStackTrace();
stack[
0
].getMethodName();
new Exceptio ......
Java内存管理
关键字: 内存分配,常量池
一、Java内存分配
1、 Java有几种存储区域?
* 寄存器
-- 在CPU内部,开发人员不能通过代码来控制寄存器的分配,由编译器来管理
* 栈
-- 在Windows下, 栈是向低地址扩展的数据结构,是一块连续的内存的区域,即栈顶的地址和栈的最大容量是 ......