
可能是环境变量配置错误,接下来就来介绍解决办法。
延展阅读:
1、首先打开我们的开发工具myeclispe,然后点击File,选择New,在点击Java Project选项来新建个java工程项目,如下图所示。
2、这里我新建了三个java类。一个是BaiDu类作为父类,一个JingYan类作为子类。还有一个AesTest类是来测试我们结果的,如下图所示。
3、在BaiDu.java父类中,就定义一个name属性。在JingYan.java类里,我们是先继承了BaiDu这个类,然后又定义了个Cname属性,如下图所示。
4、在AesTest.java类里面写上测试代码,这里注意,把定义的baidu赋值给jingyan,由于类型不一致,所以要进行类型强制转化,用JingYan这个类来进行强制转换,如下图所示。
5、写好后,就可以执行这段代码了,执行发现报错java.lang.ClassCastException。报错的意思就是强制类型转换异常。
6、接着,我们在修改下代码,这里是把jingyan赋值给baidu,由于类型不一致,所以要进行类型强制转化,用BaiDu这个类来进行强制转换,修改好后,再来执行,发现此时可以正常运行,输出想要的结果。
7、出现java.lang.ClassCastExceptio错误是指类型强制转换出错了。当我们用子类对象去强制转换父类对象就会报错,或者使用子类对象 = 父类对象,同样会抛出java.lang.ClassCastException。
JDK1.4以后就提供java.nio的包,nio主要提供字节与字符的映射、内存映射文件和文件加锁机制其中内存映射文件在读取大文件时可能会用上,因为内存映射不是直接把文件加载到JVM内存空间
而是借用 *** 作系统对文件的读取,这经历了由当前Java态进入到 *** 作系统内核态,再由 *** 作系统读取文件,
并返回数据到当前Java态的过程。由Java态进入 *** 作系统内核态离不开nio包中两个重要的类
FileChannel 和 ByteBuffer。FileChannel表示文件通道,可以从FileInputStream、FileOutputStream
以及RandomAccessFile对象获取文件通道,你可以从文件通道直接读取文件,也可以使用“内存映射”
即使用通道,将文件内存映射到ByteBuffer,可以映射一部分内容,也可以映射全部内容,使用内存映射
能大幅提高我们 *** 作大文件的速度
FileChannel 和 ByteBuffer文件读取
[java] view plain copy
package nio
import java.io.BufferedInputStream
import java.io.File
import java.io.FileInputStream
import java.io.IOException
import java.io.RandomAccessFile
import java.nio.ByteBuffer
import java.nio.MappedByteBuffer
import java.nio.channels.FileChannel
import java.nio.channels.FileChannel.MapMode
/**
*
* Channel类似与流,数据可以从Channel读取到Buffer,也可以从Buffer写入到Channel
* 但通道和流还是有区别,比如流只能是单向读或写,而通道可以异步读写
*
* @author yli
*/
public class FileChannelTest {
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)