0%
SAX JSON解析
发表于
更新于
本文字数:
9.4k
阅读时长 ≈
9 分钟
java注解
发表于
更新于
本文字数:
2.9k
阅读时长 ≈
3 分钟
基本注解
@Override
:表示重写父类方法@Deprecated
:表示某些方法已过时@SuppressWarnings
:取消显示指定的编辑器警告@Documented
: 指定某个注解类可以被写进文档@Inherited
:指定被它修饰的注解将具有继承性@Target
:同样只能修饰注解,表示该注解只能用于修饰某些程序单元
ElementType.ANNOTATION_TYPE:指定该注解只能修饰注解
ElementType.CONSTRUCTOR:只能修饰构造器
ElementType.FIELD:只能修饰成员变量
ElementType.LOCAL_VARIABLE:只能修饰局部变量
ElementType.METHOD:只能修饰方法定义
ElementType.PACKAGE:只能修饰包定义
ElementType.PARAMETER:只能修饰参数
ElementType.TYPE:只能修饰类、接口、枚举类型
java枚举
发表于
更新于
本文字数:
1.7k
阅读时长 ≈
2 分钟
基本使用
//枚举类的定义
public enum Color{
RED,BLUE,GREEN;//表明只能为三个值其中之一
}
//相关使用
Color colorEnum;
colorEnum = Color.RED;
// colorEnum = 2;//会报错
System.out.println(colorEnum);
System.out.println(colorEnum.name());//获取此枚举实例的名称
System.out.println(colorEnum.toString());//与name方法相似
System.out.println(Color.valueOf(Color.class,"RED"));//获取指定枚举类的枚举值
System.out.println(Arrays.toString(Color.values()));//获取所有枚举内容
System.out.println(colorEnum.ordinal());//返回索引值
正则表达式
发表于
更新于
本文字数:
295
阅读时长 ≈
1 分钟
java反射与内省
发表于
更新于
本文字数:
9.8k
阅读时长 ≈
9 分钟
java网络编程
发表于
更新于
本文字数:
9.5k
阅读时长 ≈
9 分钟
TCP协议原理案例
package inet;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/**
* 服务器端
*/
public class EchoServeDemo {
public static void main(String[] args){
//创建一个服务器端的Socket(0-1024)一般不用,因为是一些其他公司产品的端口
try {
ServerSocket server = new ServerSocket(6666);
System.out.println("服务器已启动,等待客户端的连接...");
//等待客户端连接,会造成阻塞,如果客户端连接成功,立即返回一个Socket对象
Socket socket = server.accept();
System.out.println("客户端连接成功"+server.getInetAddress().getHostName());
BufferedReader br = new BufferedReader(
new InputStreamReader(socket.getInputStream())
);
//通过输入流读取网络数据
String info = br.readLine();
System.out.println(info);
//获取输出流,向客户端返回消息
PrintStream ps = new PrintStream(
new BufferedOutputStream(socket.getOutputStream()));
ps.println("echo "+info);
ps.flush();
//关闭
ps.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
package inet;
import java.io.*;
import java.net.Socket;
/**
* 客户端
*/
public class EchoClientDemo {
public static void main(String[] args) {
//创建一个socket对象,指定要连接的服务器
try {
Socket socket = new Socket("localhost",6666);
//获取socket的输入项
PrintStream ps = new PrintStream(
new BufferedOutputStream(socket.getOutputStream()));
BufferedReader br = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
ps.println("hello,my name is xiaoming.");
ps.flush();
//读取服务器返回的数据
String info = br.readLine();
System.out.println(info);
ps.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
java多线程与并发
发表于
更新于
本文字数:
9.1k
阅读时长 ≈
8 分钟
进程与线程
进程:程序在处理机上的一次执行过程,一个具有独立功能的程序,每一个进程都有它自己的地址空间(一个程序的运行)
进程的状态:进程执行的间断性,决定了进程具有多种状态
- 就绪状态(Ready)
- 运行状态(Running)
- 阻塞状态(Blocked)
线程:线程是在进程基础上的进一步划分,一个进程启动后,里面的若干程序可以划分为若干个线程,线程是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行,一个进程最少有一个线程
并行:两个任务同时运行(多核CPU)
并发:两个任务同时请求运行,而处理器一次只能接受一个任务,就会把两个任务安排轮流执行,由于CPU时间片运行时间短,感觉两个任务在同时运行