zoukankan      html  css  js  c++  java
  • JAVA每日一旅2

    1.关于类型转换

    两个数值进行二元操作时,会有如下的转换操作:
    如果两个操作数其中有一个是double类型,另一个操作就会转换为double类型。
    否则,如果其中一个操作数是float类型,另一个将会转换为float类型。
    否则,如果其中一个操作数是long类型,另一个会转换为long类型。
    否则,两个操作数都转换为int类型。
    2.关于重写和重载
    重载(overload):只要方法名一致,其他(参数列表、返回值)随意。
    重写(overriding):只有实现的功能代码不一致 ,其他的(函数名、参数列表、返回值类型)必须都一致。
    方法的重写(override)两同两小一大原则
    方法名相同,参数类型相同
    子类返回类型小于等于父类方法返回类型,
    子类抛出异常小于等于父类方法抛出异常,
    子类访问权限大于等于父类方法访问权限。
     
    3.string类和stringbuffer类
     StringBuffer类调用toString()方法后将转换为String类型。
     String类型中没有append()方法。
     可以直接将字符串复制给声明的Stirng类的变量,而StringBuffer类的不行。
    string类不可改变,但可以共享,stringbuffer类可以改变。
    4.toUpperCase()
    toUpperCase()会对当前对象进行检查 如果不需要转换直接返回当前对象,否则new一个新对象返回。
    5.关于JVM堆内存溢出
    简单的来说 java的堆内存分为两块:permantspace(持久带) 和 heap space。
    持久带中主要存放用于存放静态类型数据,如 Java Class, Method 等, 与垃圾收集器要收集的Java对象关系不大。
    而heapspace分为年轻带和年老带 
    年轻代的垃圾回收叫 Young GC, 年老代的垃圾回收叫 Full GC。
    在年轻代中经历了N次(可配置)垃圾回收后仍然存活的对象,就会被复制到年老代中。因此,可以认为年老代中存放的都是一些生命周期较长的对象。
    年老代溢出原因有循环上万次的字符串处理、创建上千万个对象、在一段代码内申请上百M甚至上G的内存。
    持久代溢出原因是动态加载了大量Java类而导致溢出。
     
     
  • 相关阅读:
    20145220韩旭飞《网络对抗》第一周学习
    学号20145220假期复习
    最简单易懂的Idea搭建SSM项目过程和配置(文末有demo哦)
    Navicate快捷键
    String.format()方法
    tomcat点击startup.bat出现闪退
    Shiro使用总结
    layer弹出层icon图标记录
    传统javabean与spring中的bean的区别【转】
    在Spring + SpringMVC + mybatis架构的项目基础上集成Shiro
  • 原文地址:https://www.cnblogs.com/ysw6/p/5982438.html
Copyright © 2011-2022 走看看