每天五道Java面试题 -2

1.字节流如何转换为字符流?

        字节输入流可以通过InputStreamReader流转换,InputStreamReader流的构造方法的输入参数就是InputStream

        字节输出流可以通过OutputStreamWriter流转换,OutputStreamWriter流的构造方法的输入参数就是OutputStream

2.字节流和字符流的区别

        字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件。

        字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节或字节数组

        字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串

3.如何实现对象克隆?

        1)实现Cloneable接口,并且重写Object中的clone方法,通过clone方法克隆

        2)实现Serializable接口,通过对象流将对象进行序列化和反序列化,实现对象的克隆

4.java中线程通信如何实现

        1)共享变量

        多个线程共同持有相同的对象或者变量的引用,通过修改引用对象或者变量的状态或者属性来通知其他线程的信息

        2)wait/notify机制

        多个线程同时持有相同的对象,通过该对象的wait和notify方法相互通信

5.statement和PreparedStatement区别

        1)preparedStatement是Statement的子类

        2)preparedStatement可以预编译sql语句,执行速度要高于statement

        3)preparedStatement可以通过占位符传入参数,可以有效地防止sql注入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

差点资深程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值