首页 > 编程语言 >java面试

java面试

时间:2022-12-05 15:14:50浏览次数:41  
标签:code java NIO 面试 String 线程 public name

目录

枚举

点击查看代码
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 static T requestParamUnderline2UpperCase(
HttpServletRequest req, T obj) {
return null;
}

用反射动态给对象的某个属性赋值

点击查看代码

导包带*有什么影响

用*号导包时会降低编译速度,但是不会降级运行速度。但只会编译一次,影响不是很大。

idea 如何取消自动导包为*

image

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读取数据复杂。

  • 选择器

nio的选择器允许一个单独线程监视多个输入通道,可以注册多个通道使用一个选则器,然后使用一个单独的线程来“选择”通道:通道里有已经可以处理的输入,或选择已准备写入的通道。这种选择机制,使得一个单独的线程很容易管理多个通道。

标签:code,java,NIO,面试,String,线程,public,name
From: https://www.cnblogs.com/jf666/p/16791809.html

相关文章

  • 如何通过Java将Word转换为PDF
    Word是我们日常编辑文档内容时十分常用的一种文档格式。但相比之下,PDF文档的格式、布局更为固定,不易被更改。在保存或传输较为重要的文档内容时,PDF文档格式也时很多人的不......
  • Java 8 stream 合并map 分组计算
    Map<String,Map<String,Long>>map=newHashMap<>();Map<String,Long>param1=newHashMap<>();param1.put("a",100L);param1.put("b",200L);param1.put("c......
  • Java和Java大数据如何选择?
    01Java与大数据的关系Java是一种语言,而大数据更像是一个方法论或者是集合。从事大数据行业,需要掌握的技能比较多,而且,java是必须要掌握的,举个简单的例子:做大数据的工作需......
  • 前端基础-03-JavaScript
    JavaScript概述ECMAScript和JavaScript的关系1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次......
  • Java引用类型
    Java当中的数据类型:1.基本数据类型2.引用数据类型:类String数组抽象类接口枚举......数据类型的取值范围就是-2^(比特位数-1)---2^(比特位数-1)-1字符串类型变量(Str......
  • 车载测试系列:车载常见面试题
    自我介绍项目介绍项目具体是怎么测试的?CANoe是怎么使用的?台架是怎么搭建的?台架怎么测试的?诊断服务是怎么测试的?功能寻址和物理寻找的区别10服务有什么会话?11服务怎么确定软......
  • 我要涨知识——TypeScript 常见面试题(二)
    又是一个年底来了,好大一批人可能又准备跑路了,最近回家待产话不多说,赶紧开干,给自己整了一个前端面试小助手——微信小程序内搜索“WEB学习学习加油站”,整理了前端经典高频......
  • java中用整数相除获得小数并按位数输出
      俩个int类型的数据进行运算,结果也是int类型的,0.33333转为int类型为0.0;要求保留两位小数输出:System.out.printf("%.2f",b);//保留两位小数输出......
  • 【java】【File】用File相关类写一个小工具,完成从指定目录下抽取指定文件并复制到新路
    今日份代码:importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;importjava.io.*;importjava.nio.charset.StandardCharsets;importjava.......
  • Java中Future 用来做异步任务返回
    我们在开发中会有这种场景,我们要调用远程服务的一个方法,并且拿到返回值去使用。笔者最近项目中出现了一个ANR,具体是调用了远程服务,发生异常一直没有返回值,然后导致ANR。怎......