java日常记录薄

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fragrant_no1/article/details/78625768

1,The project cannot be built until build path errors are resolved。。。。
当项目导入后出现这样的问题,那么可能是JDK没导入正确。

2,try…catch 后面得代码依旧会执行。

  • 情况1
 public static void main(String[] args) {
      try {
          while (true){
              try{
                  System.out.println("正常执行");
                  int i = 1/0;
              }catch (Exception e){
                  System.out.println("异常捕获了");
               //return; (1)
                throw new RuntimeException();//(2)
              }
              /**
              当(1)或者(2)执行的时候,下面的语句都不会执行,只有(1),(2)都不执行的时候才有下面的打印
              */
              System.out.print("第一部分结尾部分");
          }

      }catch (Exception e){
          System.out.println("上层异常捕获了");
      }
      finally {
          System.out.print("结束了");
      }
      /**
              当(1)执行的时候,下面的语句不会执行,当(2)执行的时候,下面的语句会走
              */
        System.out.print("第二部分结尾部分");
    }
}

-情况2

 public static void main(String[] args) {
      try {
          while (true){
              try{
                  System.out.println("正常执行");
                  int i = 1/0;
              }catch (Exception e){
                  System.out.println("异常捕获了");
              }
          }
      }catch (Exception e){
          System.out.println("上层异常捕获了");
      }
      finally {
          System.out.print("结束了");
      }

    }

执行结果:

正常执行
异常捕获了
正常执行
异常捕获了

3,idea项目转eclipse项目的时候会有资源目录的指向的不同。
如:WebContent —》webapp的转换。
解决方法:
1,找到项目所在路径,在settings目录中找到org.eclipse.wst.common.component 这个文件,然后修改该行代码处source-path的值就行了。

  <wb-module deploy-name="TopCcms">
        <wb-resource deploy-path="/" source-path="/webapp" tag="defaultRootSource"/>
.........

4, 修改项目的web访问根目录的方式有:
方式一:直接通过开发工具修改,这里以Eclipse为例。在Eclipse中选择项目,然后点击“project”,选择properties选项,在配置窗口选择”Web Project Settings“选项,最后修改想要的名称即可。
方式二:通过Tomcat设置,这里比较局限,因为本人还没有用过其他容器。在tomcat根目录下打开conf文件夹,然后编辑server.xml. 找到

<Context path="/webrootName"  docBase="realPath"   ></Context>  

这里只用到path,docBase两个属性。分表表示web应用根目录和项目所在文件路径。
修改完成后,重启tomcat服务,直接访问http://localhost:8080/webrootName 即能访问部署的项目。
注:这里http://localhost:8080/只是测试案例,需要按照各自环境变化。

5, 替换字符串中转移字符的方法

  方式一:
      String str = "ssss\r\ndddd\tdddd\n\r";
      String field = EntityUtils.toString(str,"UTF-8");//获取数据 
      field=field.replaceAll("[\\t\\n\\r]", "");//将内容区域的回车换行制表符去除

      说明:String类的replaceAll就有正则替换功能,即参数一可以是正则表达式。 \t为制表符 \n为换行 \r为回车

       方式二:
       String str = "ssss\r\ndddd\tdddd\n\r";
       Pattern p = Pattern.compile("\\s*|\t|\r|\n"); //空格,制表符,回车,换行
       Matcher m = p.matcher(str);
       str = m.replaceAll(""); 

     方式三:(笨方法)
       String str = "ssss\r\ndddd\tdddd\n\r";

      1.去除空格:s = s.replace(”\\s“,“”); //单字符,

      2.去除回车:s = s.replace(“\n”,“”);

       这样也可以把空格和回车去掉,其他也可以照这样做。
        注:\n 回车(\u000a) 
        \t 水平制表符(\u0009) 
        \s 空格(\u0008) 
PS:这里replace方法中必须用字符串的方式,而不是字符的方式。

6.时间戳:
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的“总秒数”。

7,对于String类型的变量,方法中对应值传递

 public static void main(String[] args) {
   String str = "abc";
        changeStr(str);
        System.out.println("main: "+str);
    }
    public static void changeStr(String str){
        str +="123";
        System.out.println(str);
    }
    结果:
    abc123
    main: abc

8,

public static void main(String[] args) {
 String a = "Programming";
 String b = new String("Programming");
 String c = "Program" + "ming";

 System.out.println(a == b);
 System.out.println(a == c);
 System.out.println(a.equals(b));
 System.out.println(a.equals(c));
 System.out.println(a.intern() == b.intern());
 }
 结果:
 false
 true
 true
 true
 true
class A{

 static{
 System.out.print("1");
 }

 public A(){
 System.out.print("2");
 }
}

class B extends A{

 static{
 System.out.print("a");
 }

 public B(){
 System.out.print("b");
 }
}
 //何问起 hovertree.com
public class Hello{

 public static void main(String[] args){
 A ab = new B();
 ab = new B();
 }

}
结果:
1a2b2b
因为:
创建对象时构造器的调用顺序是:先初始化父类的静态成员然后初始化当前类的静态成员(包括静态代码块,调用一次),然后初始化父类的成员,然后调用父类构造器,最后初始化自身的成员,然后再调用自身构造器。  

猜你喜欢

转载自blog.csdn.net/fragrant_no1/article/details/78625768
今日推荐