1.POI相关
什么是POI?
POI是Apache公司开源的一款可以通过Java读写excel的工具。
怎么用的?
这边是有设计好的模板,直接导入就好。
核心的API有哪些?
HSSFWorkbook:创建excel文件
HSSFSheet:生成sheet
HSSFCellStyle:创建表头单元格样式
HSSFRow:创建行
HSSFCell:创建列
HSSFFont:设置字体样式
2.迭代器
一般就是用于遍历集合和map的对象。在java.util包中。foreach底层就是迭代器实现的
关于迭代器的基本操作就是next、hasNext和remove。
next()会返回迭代器的下一个元素,并更新迭代器的状态。
hasNext()用于检测集合中是否还有元素。
remove()是将迭代器返回的元素删除。
3.递归
最经典的就是阶乘。就是自己调自己。
递归是重复调用函数自身实现循环(自己传自己),迭代是函数内某段代码实现循环。
4.线程的启动方式(创建方式)
1.继承Thread类。(重写run方法创建线程)
2.实现Runnable接口。(其实继承Thread类的创建线程方式,点进源码发现其底层还是实现的Runnable接口)
3.实现Callable接口。(前两种方式不能解决线程执行完有返回数据的情况,这种方式可以解决)
4.使用线程池。(就是创建线程池,然后方法.execute创建线程)
5. start 和 run的区别
.start()是真正启动线程的,最终会执行run()方法。
.run()就是一个普通的方法,没有真正启动线程。
我之前好奇为啥调用start就是启动线程呢?后来点进.start()源码发现在执行时调用了start0,前面由native关键字修饰。然后查到这个关键字就是告诉虚拟机该方法在外部定义(底层是c实现的)。