首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

java学习与应用(3.4)--File类、IO流

File类,文件和目录的抽象表示,创建,删除,获取,判断,遍历,大小。在使用过程中特别注意大小写对文件的影响或者一些异常。 pathSeparator路径分割符(静态成员变量)等,用于兼容各种路径分隔符在不同操作系统下。路径添加转义符号\\。 构造方法传入路径获取该文件或文件夹(无所谓存在与否),获取对象。传入父路径和子路径,获取文件或文件夹。构造方法传入文件对象父路径和子路径。 getAbsolutePath方法,getPath方法,getName方法,length方法获取文件大小(字节为单位)。list方法获取所有子文件和目录(String数组),listFiles方法获取文件和目录(File数组) exists判断文件或文件夹存在性,isDirectory是目录,isFile是文件。createNewFile创建空文件,delete删除文件或目录,mkdir创建单级文件夹,mkdirs创建多级文件夹。 listFiles方法传入过滤器 FileFilter用于过滤文件(File)的接口,其中的accept方法,用于测试路径名是否包含。自定义过滤器。 FilenameFilter用于过滤文件名接口,其中accept方法,测试文件名是否包含在列表中。

03

服务运行过程中磁盘坏道引起的思考

同事发现一个有重要服务在运行的物理机上,一个目录虽然够用,但是比另一台同样服务的机器相比,空间很小。我们还是跟SA沟通了此事。最终SA跟厂商确认是因为磁盘有坏道引起。因为我们磁盘阵列采用的是RAID1模式,所以并不影响服务运行,但是为了保证服务的稳定性,我们还是决定对磁盘进行修复。 结果呢,在约好的时间点,大家按照操作流程很轻松的修复了。但是前期我们做了很多工作。如果实际操作的时候并不轻松,而是突然出现了意外的情况或者没有考虑到的步骤,虽然最终结果是有惊无险,那也说明我们的前期准备是非常失败的。如果是一次飞机飞行,那就是在拿着生命开玩笑了。而轻松完成也只是入门等级,整个过程,我给自己打60分。

01

惠普工作站不认8T大硬盘?其实没那么难。

惠普Z600工作站,无法支持8T大容量硬盘?新硬盘都已经拆封装上了,就这么放弃吗?显然不是我的风格。 受苏州某知名装饰设计公司的委托,将一台惠普Z600工作站升级为部门级存储服务器,计划如下:120G的固态硬盘装系统,两块8T企业级硬盘icon配置RAID1,用来存储/共享文件。 本以为一个小时以内的事情,结果翻车了,开机时按ctrl+i,进入配置界面,结果intel matrix storage manager显示8T的硬盘竟然识别容量为1308G[晕] 第一反应就是更新intel matrix storage manager固件,惠普官网,根据机器序列号搜索出来的居然是LSI固件[打脸][恐惧],intel官网搜索不到相关固件,只有驱动程序;百度和必应icon都没有想要的结果,IBM官网有略新一点的固件,但是下载完成后,显示更新失败[吐血] 算了,先下载个主板BIOSicon,万一呢?结果……没有万一,硬盘依旧无法正确识别。 微信联系惠普客服,转人工服务,显示前面只有一个人排队,窃喜5秒钟,事实上等了一个小时,真是打脸啊,高兴得太早了[打脸]。好不容易等来了人工服务,结果更残忍:没有intel固件,也没有更新的主板BIOS,客服已经无能为力了。 先不配置RAID,优盘PE启动,diskgeniusicon能正确识别硬盘,本来想弄个FreeNAS给客户,想想算了,这玩意儿放大公司,可能算商用,不能冒险,黑群晖,那更不能了,还是老老实实装Windows Server吧,据说是有购买授权,序列号、激活等操作,就让他们自己完成好了。 Windows Server安装完成后,磁盘管理顺利识别硬盘,配置为镜像即可,性能也许差一点点,intel matrix storage manager不是专业的阵列卡,更不可能有缓存,所以也好不到哪里去,就这样交付了,客户上传文件中,反馈还不错。

01

Java弱引用(WeakReferences)

前一段时间当我面试有些来应聘高级java开发工程师岗位的候选人时,在我问的众多问题中,有个问题是“你能告诉我弱引用是啥吗”,我不期望得到像论文中的细节一样的答案。我很可能从有个20多年的老工程师口中得到“嗯……是不是和gc有关”这样的答案,所有哪些至少有5年以上经验的工程师只有两个人知道弱引用的存在,只有其中一个知道引用的相关知识。我甚至尝试给他们解释下看是否有人会有“哦,原来是这样”的反应,然而并没有。我不确定为啥这个知识点鲜为人知,但自Java1.2之后发布的弱引用确实是有个非常有用的功能。   虽然作为一个java工程师我不建议你成为弱引用的专家,但我认为你至少应该知道他们是啥。换句话说你应该知道如何用他们。一直以来弱引用貌似是一个鲜为人知的功能,这里简单介绍下弱引用,以及如何使用和何时使用他们。

01

Flume中 File Channel 的优化

在设计你的Flume流程时,一个重要的决定是你想使用什么类型的通道。在写这篇文章的时候,推荐的两个通道是文件通道和内存通道。File Channel 是一个持久的通道,因为它将所有存储在其中的事件持久化到磁盘上。因此,即使Java虚拟机被杀死,或者操作系统崩溃或重启,当Flume代理重新启动时,那些没有成功转移到管道中的下一个代理的事件仍然存在。内存通道是一个不稳定的通道,因为它只在内存中缓冲事件:如果Java进程死亡,存储在内存通道的任何事件都会丢失。当然,与文件通道相比,内存通道也表现出非常低的put/take延迟,即使批处理量为1。由于可以存储的事件数量受到可用RAM的限制,在下游临时故障的情况下,它缓冲事件的能力相当有限。另一方面,由于利用了廉价、丰富的硬盘空间,文件通道的缓冲能力要好得多。

03
领券