12.4牛客Java习题整理

InputStreamReader(InputStream in,String charsetName)创建使用给定字符集解码器的InputStreamReader

在if(flag = true)的位置给flag赋值为true,(flag = true)== true 最后可以得到输出为true

1.抽象类可以有构造方法,只不过不能new
2.借口中可以有变量,但是无论你则么写,最后都是public static final的
3.抽象类中可以有静态方法,借口中也可以有。
4.借口中可以有非抽象方法,比如default
5.接口中可以有带方法体的方法
6.接口中的方法默认是public

1.Java并发库的Semaphore可以轻松完成信号量控制,Semaphore可以控制某个资源可被同时访问的个数,通过acquir()获取一个许可,如果没有就等待,而release()释放一个许可。
2.CyclicBarrier主要的方法就是一个await().await()方法被调用一次,计数便会减少1,并阻塞住当前线程。当计数减至0时,阻塞解除,所有在此CyclicBarrier上面阻塞的线程开始运行。
3.直译过来就是倒计时门闩。门闩的意思是组织前进。在这里就是指CountDownLatch.await()方法在到计数为0之前会阻塞当前进程。
4.Counter不是并发编程的同步器

算法包括0个或多个输入,1个或多个输出,中间有穷个处理过程。存储结构不属于算法结构。

Java致力于检查程序编译和运行时的错误。
Java虚拟机实现了跨平台接口
类型检查帮助检查出许多开发早起出现的错误
Java自己操纵内存减少了内存出错的可能性。
Java还实现了真数组,避免了覆盖数据的可能,注意,是避免数据覆盖的可能,而不是数据覆盖类型

Java集合框架主要由Collection和Map两个根接口及其子接口,实现类组成。Collection的子接口包括List,set,queue。而Map包括三个实现类HashMap,HashTable,LinkHashMap.