简易Java(12):如何高效检查一个数组中是否包含某个值?

2014年9月29日 没有评论 14 人阅读    

如何检查一个数组(未排序)中是否包含某个特定的值?在Java中,这是一个非常有用并又很常用的操作。同时,在StackOverflow中,有时一个得票非常高的问题。在得票比较高的几个回答中,时间复杂度差别也很大。在下面的例子中,D瓜哥将展示每个方法花费的时间。

1、不同的实现方式

1) 使用List

/**
 * Coder:D瓜哥,http://www.diguage.com/
 */

public static boolean useList(String[] arr, String targetValue) {
    return Arrays.asList(arr).contains(targetValue);
}

2) 使用 阅读全文…

分类: Java, 未分类 标签: , ,

MySQL远程访问设置终极解决方案

2014年8月28日 没有评论 125 人阅读    

数据库对于服务端开发人员来说,几乎就是左膀右臂。几乎每一个服务端开发人员都要和数据库打交道。而MySQL又以其开源免费,小巧玲珑,简单易用,功能强大占据中国数据库使用份额的半壁江山。从去年接触到Vagrant以来,Vagrant以其方便易用深深吸引了D瓜哥。为了尽可能地和生产环境保持尽可能的一致性,减少不必要的问题的发生,Vagrant+Ubuntu+MySQL几乎是绝配。

MySQL允许远程访问的设置

  1. 注释bind-address = 127.0.0.1

    >cd /etc/mysql
    >sudo vim my.cnf
    

    阅读全文…

简易Java(09):创建字符串应该用字面量还是构造函数?

2014年7月4日 没有评论 63 人阅读    

Java中,可以通过下面两个方法来创建一个字符串:

/**
 * Coder:D瓜哥,http://www.diguage.com/
 */

String x = "abc";
String y = new String("abc");

用双引号和用构造函数有什么区别呢? 阅读全文…

分类: Java, 挨踢(IT) 标签: ,

简易Java(11):细说Java中的lengthlength()

2014年7月3日 没有评论 55 人阅读    

首先,在开始正文之前,请你快速回答如下问题:

在不使用任何IDE自动补全的情况下,如何获取一个数组的长度?以及,如何获取一个字符串的长度?

这个问题,我问过初级和高级,两个不同层次的开发人员。他们都不能准确而自信地回答这个问题。当IDE提供方便的代码自动补全功能时,它也会带来“理解肤浅”的问题。在这篇文章中,D瓜哥将给大家介绍几个关于Java数组的关键概念。

上述问题的正确答案是: 阅读全文…

分类: Java, 挨踢(IT) 标签: ,

简易Java(10):Java字符串的“引用传递”

2014年5月27日 没有评论 55 人阅读    

前面有说明“图解Java字符串的不可变性”,后面有解释“为什么Java中的字符串是不可变的? ”。还有一篇与时俱进的substring()方法在JDK6和JDK7中的异同 ”。下面,上演第四篇“Java字符串的‘引用传递’”。

这也是一个Java中的一个经典问题。很多类似的问题在StackOverflow被提出。同样有很多不完整甚至不正确的回答。如果不深入思考,这问题很简单。但是,如果我们稍微深究一下,那么她却显得很“迷人”。

1、一段有趣而诡异的代码 阅读全文…

分类: Java, 挨踢(IT) 标签: , ,

简易Java(08):为什么Java中的字符串是不可变的?

2014年5月23日 没有评论 640 人阅读    

“图解Java字符串的不可变性”中,介绍了在Java中字符串是不可改变的。但是,大家有没有想过“为什么字符串是不可变的?”今天就来给大家解释一下这个问题。

通过substring()方法在JDK6和JDK7中的异同 ”这篇文章,让D瓜哥看到,对于字符串的处理也是与时俱进。所以,如果发现下文中如有已经过时之处,请及时指出。D瓜哥也会及时更正的。

这是面试中经常被问到的老问题了。在Java中,将字符串设计成不可变是又很多原因的。一个好的回答需要建立在 阅读全文…

简易Java(07):substring()方法在JDK6和JDK7中的异同

2014年5月21日 没有评论 574 人阅读    

看到substring(),D瓜哥就想起来去年面试的惨痛精力。连续两次被问到substring()会造成什么问题;第一次被问到时,确实不知道会造成什么问题,面试结束后就查了查资料。但是,没有认真看。没想到接下来的面试又问到,由于没有看,还是没回答上来,结果面试就惨遭失败!

没想到,这次又遇到了substring()。所以,这篇文章D瓜哥必须好好翻译!

substring()会造成什么问题,请看参考资料

另外,需要提前说明一点,本节内容是针对Oracle JDK来说明的,其他JDK的实现也许可能不同。请读者自己查看相关文档以及源代码。

substring(int beginIndex, int endIndex)方法,在JDK6和JDK7中的实现是不一样的。了解实现的不同之处,可以帮助我们更好地使用这个方法。为了简单起见, 阅读全文…

分类: Java, 挨踢(IT) 标签: , , ,

简易Java(06):图解Java字符串的不可变性

2014年5月20日 没有评论 110 人阅读    

本节,我们将通过一系列的图片来解释Java String的不可变性。

1、声明一个字符串

String s = "abcd";

s存放了到字符串对象的引用。下面图片中的箭头就代表这种“存放引用”。

存放应用

2、将 阅读全文…

分类: Java, 挨踢(IT) 标签: , ,

在阿里云安装WordPress

2014年5月19日 5 条评论 1,135 人阅读    

前两天上网,看到竟然可以使用阿里云。D瓜哥的“‘地瓜哥’博客网”访问速度实在是不给力。所以,准备搬到国内。因为在“博客园”上经常看到阿里云各种坑爹。所以,一直犹豫要不要买。正好借这个机会,试用一下,尝尝鲜。所以,果断申请试用。

目前考虑,准备在阿里云上搭建一个PHP环境用于存放博客。另外,搭建一套Rails环境,准备放点自己倒腾的东西。所以,果断选择Ubuntu 12.04系统(阿里云里面支持的最新版了,可惜没有14.04版)。

因为,一直没有自己搭建过PHP的运行环境。所以,记录一下这个过程,以备后用,也分享给喜欢倒腾的朋友。

更新系统

  • 备份源文件。命令如下:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bk
  • 打开源列表的配置文件:
sudo vim /etc/apt/sources.list

然后, 阅读全文…

简易Java(05):Javadouble示例

2014年5月16日 没有评论 65 人阅读    

其实,这篇文章所讲内容非常简单、非常基础。相信99%的Java程序员都了解。不过,为了整个《简易Java》系列的完整性,还是把这篇文章翻译出来了。大家可以忽略这篇文章,直接飞过。

你应该遇到过这样的情形,你想得到一个double类型的数,但是却得到一个int类型的数。

对于如下方法,devide(2, 3)将返还0.0。

/**
 * Coder: D瓜哥,http://www.diguage.com/
 */
public static double devide(int x, int y) {
    return x / y;
}

问题就在于 阅读全文…

分类: Java, 挨踢(IT) 标签: ,

无觅相关文章插件,快速提升流量