学习笔记 | Ming's 匣子生活
RSS icon Bullet (black)
  • java:关于String,==,new之间的一些猜想

    Posted on April 21st, 2010 Ming No comments

    今天突发奇想。我们知道String的比较方法有equals和==,前者是值的比较,后者是值和地址的比较。
    先贴代码:

    public class T {

     public static void main(String[] args) {
      
      String str1 = “abc”;
      String str2 = “abc”;
      System.out.println(str1==str2);//结果为true
      
      String str3 = new String(“abc”);
      String str4 = new String(“abc”);
      System.out.println(str3==str4);//结果为false
      
      String str5 = new String();
      String str6 = new String();
      str5 = “abc”;
      str6 = “abc”;
      System.out.println(str5==str6);//结果为true
     }

    }

    好了,我有了一个猜想,假如说等号赋值是JVM在内存中先分配一个存储某个值的空间,然后才使变量指向该空间,假如多个变量所使用的值都相同,那么这些变量将指向同一个内存空间。

    那么new则是先在内存中分配内存,并使变量指向,然后再在内存空间中建立数值,这样的话,即使多个变量值相同,他们也只是在自己new到的空间里存储数值。

    而str5和str6虽然刚开始各new到了一个内存空间,但后来的赋值”abc”其实是另一个内存空间的值,因为是同一数值,所以都指向了同一个内存空间,这是JVM的优化?

    ——————-我是华丽的分隔线——————————-

    以上纯属猜想,欢迎拍砖。

  • 4.21全国哀悼日:悼念玉树遇难者

    Posted on April 20th, 2010 Ming No comments

    响应“全国哀悼活动”,致死难者以深切的悼念,作为网站建设者,我们谨以我们力所能及的,送去微薄力量!
    以下是可以让网站变为灰色的代码,希望各位网站工作者共同响应。

    html {filter:gray;}

    把以上代码放在网页的CSS文件或网页的<head><style>与</style></head>之间即可。

    IE only!

    请记住这一天,珍惜我们的生活,珍惜身边的人!

  • java内部类访问外部类

    Posted on April 15th, 2010 Ming No comments

    这个问题来自于《Thinking In Java》内部类部分的习题。问题大致是要求在内部类中创建一个方法,它可以生成对外部类的引用。

    public class Outer {

    //ofn()是外部类方法
    public void ofn(){
    System.out.println(“Here is Outer’s method!”);
    }

    //内部类
    public class Inner{
    public Outer getOuter(){
    return Outer.this;
    }
    }

    public static void main(String[] args) {
    Outer outerClass = new Outer();

    //实例化一个属于outerClass的内部类
    Outer.Inner innerClass = outerClass.new Inner();

    //获得外部类的引用后,调用方法。
    innerClass.getOuter().ofn();
    }
    }

    很奇怪,”.new”在Eclipse中不自动提示。

  • 增加【留言板】功能

    Posted on November 7th, 2009 Ming 1 comment

        装好了theme,却发现缺了个guestbook,在网上搜了一下,还是有不少教程的,不过很多不全,写得不清楚,这里我将详细记录一下,以备不时之需。

    1.找到你主题目录下的single.php文件,COPY一份,可更名为”guestbook.php”。

    2.打开guestbook.php文件。找到<?php get_header(); ?>  在上面加上如下代码后保存:

    <?php
    /*
    Template Name: Guestbook
    */
    ?>

    3.进入后台,添加新页面,添加的时候在屏幕右下方的Template选择”guestbook.php”,然后publish即可。

    4.single.php复制过来的guestbook.php可能不能满足你的需要,这个时候你可以自己修改一下即可。

    补充说明:single.php其实是单篇文章的显示页面,这里其实就是利用它作为一篇”调用文章内容失败”的文章,提供评论的功能,留言板就这样诞生了。

    PS~看来自定义页面还大有挖掘潜能啊,要新建一个保存原样式的页面的时候,可以效仿这个做法,只需要修改一下就能快速实现啦.