面试题一

四类八种基本数据类型

1. 整型 byte(1字节) short (2个字节) int(4个字节) long (8个字节)

2.浮点型 float(4个字节) double(8个字节)

3.逻辑性 boolean(八分之一个字节)

4.字符型 char(2个字节,一个字符能存储下一个中文汉字)

 

基本数据类型与包装类对应关系和默认值

short        Short       (short)0

int           Integer        0

long        Long           0L

char        Char          '\u0000'(什么都没有)

float        Floa            t0.0f

double     Double         0.0d

boolean   Boolean      false

int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字符串,而int默认的默认值为0,所以用el表达式在文本框中显示时,结果为0,所以,int不适合作为web层的表单数据的类型。

java的基本类型和i++线程安全性

在java中,除了long和double的8个字节、64位比特的变量外,其他的基本变量都是原子性的。

java 也自带了线程安全的基本类型,包括: AtomicInteger, AtomicLong, AtomicBoolean, AtomicIntegerArray,AtomicLongArray; 等,

i++就是这样的一个操作,先读后写,所以说整型变量是原子性的,不是说i++就是一个原子性的操作。

当你使用for(int i=0; i<10000; i++){System.out.print(i)}

你会发现,i到最后不会打印出10000,打印出8-9千左右。

但是在多线程的情况下,就算整型变量是原子性的,也有可能会出现线程安全的问题,这个是线程可见性的问题,所以需要加上volatile声明才行,

该修饰符是强制变量每次从内存中读取,而不会存储在寄存器中。

Java中的集合框架

Collection接口

1、是List、Set和Queue接口的父接口;

2、定义了可用于操作List、Set和Queue的方法——增删改查;

List接口及其实现类——ArrayList

  • List(序列),元素有序,并且可重复;
  • List可以精确控制元素的插入位置,或删除指定位置的元素;
  • ArrayList——数组序列,是List的一个重要实现类;
  • ArrayList底层是由数组实现的

泛型集合中,不能添加泛型规定的类型及其子类型以外的对象,否则会报错。

泛型集合中的限定类型,不能使用基本类型,必须用基本类型的包装类。

 

Set接口及其实现类——HashSet

  • Set(集),元素无序,并且不可以重复;
  • HashSet——哈希集,是Set的一个重要实现类;

Map接口

  • Map提供了一种映射关系,元素是以键值对(key-value)的形式存储的,能根据key快速查找value;
  • Map中的键值对以Entry类型的对象实例形式存在;
  • key值不能重复,value值可以重复;
  • key对value是多(一)对一的关系;
  • Map接口提供了返回key值集合、value值集合、Entry值集合,的方法;
  • Map支持泛型,形式如:Map<K,V>

HashMap类

  • HashMap是Map的一个重要实现类,也是最常用的,基于哈希表实现;
  • HashMap中的Entry对象是无序排列的;
  • Key值和value值都可以为null,但是一个HashMap只能有一个Key值为null的映射(Key值不可重复);

Log4j基本用法----日志级别

基本使用方法:

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。

日志信息的优先级

org.apache.log4j.Level类提供以下级别,但也可以通过Level类的子类自定义级别。

Level描述
ALL各级包括自定义级别
DEBUG指定细粒度信息事件是最有用的应用程序调试
ERROR错误事件可能仍然允许应用程序继续运行
FATAL指定非常严重的错误事件,这可能导致应用程序中止
INFO指定能够突出在粗粒度级别的应用程序运行情况的信息的消息
OFF这是最高等级,为了关闭日志记录
TRACE指定细粒度比DEBUG更低的信息事件
WARN指定具有潜在危害的情况

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值