目录
枚举
点击查看代码
package com.cdjdgm.pdms.enums;
/**
* 供电调度系统操作相关角色枚举类型
* @author LW
*/
public enum RoleEnum {
AAA("hdsla","name","哪里控制的参数"),
/** 计划调度员 */
JHDDY("JHDDY","计划调度员"),
/** 工区要令员 */
WGQYLY("WGQYLY","工区要令员"),
/** 工区值班员 */
// WGQZBY("WGQZBY","工区值班员"),
/** 变电所值班员 */
BDSZBY("BDSZBY","变电所值班员"),
/** 供电调度员 */
GDDDY("GDDDY","供电调度员"),
/** 段调度员 */
DDDY("DDDY","段调度员"),
/** 电力工区值班员 */
DLGQZBY("DLGQZBY","电力工区值班员"),
/**
* 角色编号
*/
private String code;
/**
* 角色名称
*/
private String name;
private RoleEnum(String code, String name){
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public static RoleEnum getCode(String code){
for(RoleEnum role :RoleEnum.values()){
if(code.equals(role.getCode())){
return role;
}
}
return null;
}
}
泛型
参数传泛型语法:
public static <T> void requestParamUnderline2UpperCase(
HttpServletRequest req, T obj){
}
public staticT requestParamUnderline2UpperCase(
HttpServletRequest req, T obj) {
return null;
}
用反射动态给对象的某个属性赋值
点击查看代码
导包带*有什么影响
用*号导包时会降低编译速度,但是不会降级运行速度。但只会编译一次,影响不是很大。
idea 如何取消自动导包为*
BIO和NIO和AIO
NIO及New IO,jdk1.4引入的。NIO效率比BIO高,java提供了两套NIO,一个针对标准输入输出,一个针对网络编程。
BIO | NIO |
---|---|
面向流 | 面向缓冲 |
阻塞 | 非阻塞 |
无 | 选择器 |
- BIO是面向流的,NIO是面向缓冲区的
BIO意味者从流中读取按字节为单位,直至所有字节,没有缓存在任何地方。
NIO则能前后移动流中数据,面向缓冲区。
- BIO是阻塞的,NIO是不阻塞
BIO是阻塞,意味者一个线程调用read()或write()时,线程会阻塞,直到读或写操作完成(这期间此线程不能执行其它操作)。
NIO的非阻塞模式,针对上面的读写操做,此线程可以执行其它操作。一个线程从某通道发送请求读取数据,但它仅能得到目前可用数据,没可用数据,就什么都不获取,nio可以一个或多个线程管理多个通道(网络连接或文件),代价是代码更复杂,比bio读取数据复杂。
- 选择器
标签:code,java,NIO,面试,String,线程,public,name From: https://www.cnblogs.com/jf666/p/16791809.htmlnio的选择器允许一个单独线程监视多个输入通道,可以注册多个通道使用一个选则器,然后使用一个单独的线程来“选择”通道:通道里有已经可以处理的输入,或选择已准备写入的通道。这种选择机制,使得一个单独的线程很容易管理多个通道。