基础总结

     久未更新……先祝大家中秋快乐

           Hashcode  

      在我们要查找一个对象的时候要先查找去那个对象所对应的hashcode值  ,  hashcode在内存中分了很多区域,看对应的是那个区域。  

 

如果说两个对象的equles相等的话, 那么他们的hashcode也是相等的,如果不是存在hash中 , 那就没有不必要去判断hashcode值  

   再说一下什么是内存泄露 , 就是说这个对象被创建出去,但是以后也都没有在用过了,也没有被释放,在内存空间不断被占用,这就是内存泄露 (这个知识点先提一下,然后在做解释)

读取项目中的config.properties文件

//在实际的项目中一般不用相对路径 ,一般用一个方法   getRealPath()来得到那个应用的具体位子,然后拼上文件夹的具体位置。

//一定要记住偶用完整的路径,但完整的路径不是硬编码,而是运算出来的;

InputStream  ips  =  new FileInputStream(“config.properties”); 

 

 

 

 

  //这个类加载器是同过在classPath目录下循环去找那些个目录  ,也可以指定目录;

StaticImport.class.getClassLoader().getResourceAsStream(name);

 

在实际的项目中, 他们的的配置文件一般也都是放在源文件下, 因为框架也都是使用的类加载器进行加载配置文件的

 

InputStream     ips  = StaticImport.class.getResourceAsStream("resource/config.properties");
        //这个是用自己的类进行加载, 不是 类加载器,可以使用相对,也可以使用绝对路径

 

如果是在eclipse中开发可以把配置文件放在src中的某个包下,会自动编译到classPath目录中

 

 

将文件中的className  =  java.util.ArrayList以键值对的方式保存到一个对象中,

Properties props = new Properties();

props.load(ips);

ips.close();  // 用完后马上关闭流;

这里内存泄露不是对象没有被释放,这里指的是对象关联的系统资源没有被释放,close是释放系统资源;

这里的close是在跟操作系统说  ,在这个对象再被垃圾回收之前, 先把自己关联的物理资源给干掉;

jvm的gc会回收该对象,但就不会回收所对应的物理资源;

 

posted @ 2018-09-25 14:52  狂浪生  阅读(167)  评论(0编辑  收藏  举报