Menu
Woocommerce Menu

Java每天10道面试题第7天,printf输出函数

0 Comment

printf函数称为格式输出函数

现象,之前本机上的 uiautomatorviewer
一直是好的,最近这段时间无故就不行了,报如标题错误,网上找了各种办法仍无法有效解决,静心细想上一次使用该工具时到目前对本机有做什么跟系统或者工具相关的配置。前段时间再调试
java环境,参考CSDN上部署其它人的的部署方法,java环境OK

撩课Java+系统架构视频 点击开始学习

格式:

当前配置java环境时在环境变量中增加了一个
JAVA_HOME的环境变量,估计就这个鬼,试一下便 知。

61.什么是并发修改异常?
什么是并发修改异常:当我们在遍历实现了collection接口与iterator接口的集合时(List、Set、Map), 我们可以通过遍历索引也可以通过迭代器进行遍历。在我们使用迭代器进行遍历集合的时候,会获取到当前集合的迭代对象。在里面有封装了迭代器的remove方法与集合自带的remove方法,如果我们调用迭代器对象的remove方法是没问题的,但是当我们调用集合自带的remove方法时,就会产生ConcurrentModificationException 并发修改异常。也就是说,当我们通过迭代器进行遍历集合的时候,是不允许集合本身在结构上发生变化的。

printf(const char *_Format,…)

配置了环境变量后启动 uiautomatorviewer 时报错如下:

62.什么是CopyOnWriteArrayList,它与ArrayList有何不同?
CopyOnWriteArrayList:CopyOnWriteArrayList这是一个ArrayList的线程安全的变体,其原理大概可以通俗的理解为:初始化的时候只有一个容器,很常一段时间,这个容器数据、数量等没有发生变化的时候,大家,都是读取假设这段时间里只发生读取的操作同一个容器中的数据,所以这样大家读到的数据都是唯一、一致、安全的,但是后来有人往里面增加了一个数据,这个时候CopyOnWriteArrayList 底层实现添加的原理是先copy出一个容器可以简称副本,再往新的容器里添加这个新的数据,最后把新的容器的引用地址赋值给了之前那个旧的的容器地址,但是在添加这个数据的期间,其他线程如果要去读取数据,仍然是读取到旧的容器里的数据。Vector ArrayList CopyOnWriteArrayList 这三个集合类都继承List接口1、ArrayList是线程不安全的;2、Vector是比较古老的线程安全的,但性能不行;3、CopyOnWriteArrayList在兼顾了线程安全的同时,又提高了并发性,性能比Vector有不少提高

printf(“格式控制字符串”, 输出表列)
其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如:

SWT folder ‘..\lib\location of your Java installation.’ does not
exist.
Please set ANDROID_SWT to point to the folder containing swt.jar for
your platform.

63.迭代器和枚举之间的区别?
在Java集合中,我们通常都通过 “Iterator” 或 “Enumeration” 去遍历集合。Enumeration是一个接口,它的源码如下:package java.util;public interface Enumeration<E> {  boolean hasMoreElements()  E nextElement();}Iterator也是一个接口,它的源码如下:package java.util;public interface Iterator<E> {  boolean hasNext();  E next();  void remove();}区别:1 函数接口不同Enumeration只有2个函数接口。通过Enumeration,我们只能读取集合的数据,而不能对数据进行修改。Iterator只有3个函数接口。Iterator除了能读取集合的数据之外,也能数据进行删除操作。2.Iterator支持fail-fast机制,而Enumeration不支持。Enumeration 是JDK 1.0添加的接口。 使用到它的函数包括Vector、Hashtable等类,这些类都是JDK 1.0中加入的,Enumeration存在的目的就是为它们提供遍历接口。Enumeration本身并没有支持同步,而在Vector、Hashtable实现Enumeration时,添加了同步。而Iterator 是JDK 1.2才添加的接口,它也是为了HashMap、ArrayList等集合提供遍历接口。Iterator是支持fail-fast机制的:当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。Java API规范建议,对于较新的程序,Iterator应优先于Enumeration,因为“ Iterator在Java集合框架中代替Enumeration。”
标签:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图