小编Anj*_*waj的帖子

哪一个运行得更快,ArrayList或LinkedList?

List li = new LinkedList();

for (int i = 0; i < 100; i++) {
    li.add(i);
}

long start1 = System.nanoTime();
li.get(57);

long end1 = System.nanoTime();
long diff1 = end1-start1;

System.out.println("Time taken by LinkedList = "+diff1);

List al = new ArrayList();
for (int i = 0; i < 100; i++) {
    al.add(i);
}
Run Code Online (Sandbox Code Playgroud)

我在两个列表上执行的操作,当我打印出所用的时间时,ArrayList总是比LinkedList运行得更快.有人可以解释哪个时间表现更好吗?如果代码中有问题,请告诉我.谢谢!

java collections performance linked-list arraylist

14
推荐指数
1
解决办法
3万
查看次数

Collections.sort()与通过添加到TreeSet中获取排序集合之间的区别?

 Set<Student> ts = new TreeSet<Student>();

    for(Student s : studentInfo){
         ts.add(s);
    }

    System.out.println(ts);
Run Code Online (Sandbox Code Playgroud)

为了对学生对象的集合进行排序,我在上面的一个case块中写了上面的代码片段.我的问题是:使用这种方法和使用Collections.sort();方法有什么区别.

java algorithm collections data-structures

10
推荐指数
2
解决办法
6401
查看次数

替代'continue'关键字

我正在浏览关于continue关键字的问题,以便更好地理解它,我在这个答案中偶然发现了这一行

这些可以是维护时间炸弹,因为"继续"/"中断"与循环之间没有直接联系,它继续/打破除上下文之外;

我有这个for循环:

for(Object obj : myArrayList){
  if(myArrayList.contains(someParticularData)){
       continue;
    }
   //do something
}
Run Code Online (Sandbox Code Playgroud)

现在,我的问题是 - continue以我上面所做的方式使用它还是有问题吗?如果是,我可以采用的替代方法是什么?任何形式的指导都会有所帮助.谢谢.

更新:我在这种特定情况下的目标是迭代a Collection(ArrayList在这种情况下),并检查是否包含某些特定数据,如果为真,则跳过该迭代.我被指出这myArrayList.contains(someParticularData)是一次性操作,并且最好在循环外执行该检查,这正是我所寻找的.另外,我了解到如果我可以continue根据某些条件使用if(someConditon),我可以通过使用来避免它if(!someCondition).

java loops continue

9
推荐指数
2
解决办法
3867
查看次数

实现自定义compareTo

@Override
public int compareTo(Object t) 
{
    if(t instanceof Student)
    {
        Student s = (Student)t;
        return (this.name.compareTo(s.name));
    }
    else
        return -1;
}
Run Code Online (Sandbox Code Playgroud)

这是我根据名称compareTo比较两个Student对象的方法实现.是否可以根据多个字段比较两个这样的对象,即名称和年龄?

java compareto

6
推荐指数
2
解决办法
4万
查看次数

如何分析.hprof文件中的堆数据并使用它来减少内存泄漏?

最近,我java.lang.OutOfMemoryError在运行应用程序时遇到异常.

在一个这样的实例中,我能够使用获取堆转储jvisualvm.

我能够.hprof使用NetBeans 8.1IDE 打开从堆转储获取的堆转储文件,但我不知道如何分析数据转储.我想知道如何读取转储文件并采取纠正措施以从应用程序的角度减少内存不足异常.

编辑:我已附加从堆转储获取的组件报告

这是泄漏嫌疑人的报告

java memory-leaks out-of-memory heap-dump

6
推荐指数
1
解决办法
1万
查看次数

APOP和POP之间的区别

我正在查看电子邮件应用程序中使用的协议(特别是POP和APOP),而碰巧在某个地方遇到了这个答案。它说

身份验证的邮局协议的缩写,与POP协议类似,不同之处在于APOP允许您在通过网络传输密码时对其进行加密。使用POP邮件,当您在电子邮件客户端中对用户名和密码进行身份验证时,密码将以纯文本格式通过网络发送。如果您的电子邮件客户端使用APOP,则密码在传输时会被加密。APOP可以防止黑客通过嗅探器程序查看您的密码信息。

我的问题是:这是APOP和POP之间的主要区别吗?使用POP协议时密码是否未加密?如果不是,那不会引起安全问题吗?

email encryption network-protocols

4
推荐指数
1
解决办法
8564
查看次数

为什么堆转储的大小小于 JVM 消耗的大小?

我为我的 Java Web 应用程序分配了最大值2048m。由于内存泄漏,应用程序消耗了近 2 GB 的已分配内存。此时,我已经使用 进行了内存转储jvisualvm。在一个实例中,堆转储大小接近 > 1.5 GB,而在另一实例中,堆转储大小小于 100 MB。这背后的原因可能是什么?

java jvm heap-dump

3
推荐指数
1
解决办法
2177
查看次数

使用JavaScript在JSP中进行表单验证

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
    <style type="text/css">
      *{
             font-family: cursive;
       }
        </style>
        <script type="text/javascript">
            function validate()
            {
                var a = document.getElementById("a");
                var b = document.getElementById("b");
                var valid = true;
                if(a.value.length<=0 || b.value.length<=0)
                    {
                        alert("Don't leave the field empty!");
                        valid = false;
                    }
                    else{
                        if(!IsNumeric(a.value) || !IsNumeric(b.value))
                            alert("Enter a number");
                    valid = false;
                }
                return valid;
            };

        </script>
</head>
<body bgcolor="#CDCDCC" font-family="cursive" font-size="20px;" font-weight="bold">



    <h2>Welcome <%=request.getParameter("uname")%>! Enter the numbers and the operation that you want to perform: </h2> …
Run Code Online (Sandbox Code Playgroud)

javascript forms jsp

-1
推荐指数
1
解决办法
7万
查看次数

将字符串转换为布尔条件

说我有一个字符串

String strCondition = something.contains("value") && somethingElse.equals("one");
Run Code Online (Sandbox Code Playgroud)

如何将此String转换为布尔条件,以便我能够在IF语句中使用它?

如果我使用valueOf(),它会评估字符串的内容吗?

重新编辑:我不知道该怎么做.

something.contains("value") && somethingElse.equals("one")从数据库列中获取值 .如果我尝试将其分配给boolean变量,则显示类型不匹配.

java boolean-expression

-4
推荐指数
1
解决办法
3418
查看次数