flush
使用缓存流输入一段数据后需要flush到内存中,对方才可以读取。
键盘输入
问题一:
子线程无法进行键盘输入
解决方法:
建立一个main方法,执行客户端的操作
问题二:
键盘输入只有第二个生效了,第一个被跳过了,查看字节码文件发现,
如图所示,第一反应是指令重排序,导致两个输出都在下面。但是查看字节码文件,发现并没有重排序,而且经验证这里其实只有一个手动输入,所以考虑是回车符,之前在客户端那边尝试进行多一次读取,读取回车符,这个操作简直愚蠢,这里多出来的回车是在屏幕输出上的,而不是在流中的,我们手动打的换行符在流中不起作用,必须手动 点一个newline
mybatis mapper注入问题
1.子线程中无法注入容器
spring的bean默认是单例模式创建的,且非线程安全的,因此不能在子线程中注入
可以外部引入,即通过构造方法传入
2.由于mapper是接口,且不具有实现类,其本身是不能使用@Component注解注释的,必须在启动类上加入@MapperScaner(value=“”)注释扫描