循环遍历器

for (Iterator iter = list.iterator(); iter.hasNext();) {
            int i = ((Integer) iter.next()).intValue();
            sum += i;
        }

list接口继承了可枚举的接口,才有这个.itreator() 方法。

虽然中间过程比较的曲折:

public interface Collection<E> extends Iterable<E> {

当然返回的这个Iterator 也不一般

public interface Iterator<E> {
       boolean hasNext();
       E next();
       void remove();
}

常用个List

ArrayList

LinkedList

Java 泛型中的通配符

void printCollection(Collection<?> c) {

       c.add(new Object());
       for (Object e : c) {

           System.out.println(e);

       }
   }

你无法把一个object 添加到这个? 类型中去。

List<? extends Shape>

这个比较容易理解,就是C# 中的泛型约束。

传说JVM 采用的是类型擦除的方法,所以这个其实是伪泛型。

Java 的接口中能够定义变量么

Java 接口中能够定义的其实是常量。

HashMap 和 HashCode

public class FunctionApp {
    private String name;

    public FunctionApp(String name) {
        this.name = name;
    }

    public int hashCode() {
        return 420;
    }
}

该类重写了HashCode, 但是没有重写equal.

如果按照person key 来HashMap 中查找,因为所有的HashCode 都一样,需要遍历整个HashMap.

HashSet 和 HashMap的区别?

说白了就是Set 和 Map 的区别,Set 是一个集合,Map 是一个映射。

HashSet 内部其实是一个HashMap

transient 关键字

表示序列化对象的时候不需要序列化该字段。

HashSet 内部的 HashMap 当然不希望被序列化出现。

Man has a best friend who is a Dog

class Man { private Dog bestFriend; }

这个有点小意思,关键是is a Dogl, 表明类型是Dog.

子类的父类字段

public static void main(String[] args) {
        Foo f = new Bar();
        f.addFive();
        System.out.println(f.a);
    }

这里非常有意思,实例化的是子类,但是调用字段获取的其实还是父类的值。

可以看成类型指针改变了。

Interger 和 int

能简单的类比为C# 中整形的装箱和拆箱么?

关于Http 的Get 和Post

从Restful 风格以及语义上来说,Get 是取,Post 是提交。

但是现实总是精彩万分的,服务器端接受到后想怎么处理就怎么处理。

所谓的出现在URL 地址栏,或者是由什么长度限制之类的,都是浮云。

IE 或者微软自己搞出来的那,或者是服务器端限制了处理能力,出于对服务器的保护。

关于Session 和Cookie

基本上能分清楚是在服务器端和客户端就可以了。

Servlet 的生命周期

基本能谈到init, service, destory 差不多了

如果能够结合Tomcat 这个Servelt 容器谈谈具体的实现过程就更好了。

String StringBuffer StringBuilder

StringBuffer是线程安全的,StrinbBuilder不是线程安全的。

关于String 其实还字符串池可以包括。

Vector, ArrayList, LinkedList

Vector 线程安全,所以慢。

其他不用多说了。

Hashtable, Hashmap,TreeMap

Hashtable 线程安全,所以写入太慢。

Hashmap 线程不安全,但是可以一个方法获得同步的HashMap.

这里有个ConcurrentMap 出现了。

说实话,这个东西不熟,干脆还是不要多讲为好。

关于Java 内存模型

可以参加以前几个Hour 的成果。

关于数据库方面,没有问题。

关于垃圾回收,没有问题。

Java Hour 61 基础概念拾遗的更多相关文章

  1. JAVA反射机制基础概念

    反射机制:所谓的反射机制就是java语言在运行时拥有一项自观的能力.通过这种能力可以彻底的了解自身的情况为下一步的动作做准备.下面具体介绍一下java的反射机制.这里你将颠覆原来对java的理解. J ...

  2. Java 面试题基础概念收集

    问题:如果main方法被声明为private会怎样? 答案:能正常编译,但运行的时候会提示”main方法不是public的”. 问题:Java里的传引用和传值的区别是什么? 答案:传引用是指传递的是地 ...

  3. Java 面试题基础概念收集(高级)

    JVM垃圾回收: GC又分为 minor GC 和 Full GC (也称为 Major GC ).Java 堆内存分为新生代和老年代,新生代中又分为1个 Eden 区域 和两个 Survivor 区 ...

  4. Java反射之基础概念

    0.实例准备 package com.blueStarWei.invoke; public class Student { private String name; public Student() ...

  5. Java面试题精选(一)基础概念和面向对象

    --   基础概念和面向对象   --      全程将为大家剖析几大部分内容,由于学习经验有限,望大家谅解并接受宝贵的意见: 基础概念部分     ★★   : 常出现的高频率单词的区别理解(异常. ...

  6. java 学习基础知识点拾遗 导航页

    每种编程语言的知识点都是很多很杂的,java也是如此 相信很多人学习的过程中都是深一脚浅一脚,最基础的东西可能有些也不是非常确定 整理了最基本的一些知识点,可以说是java入门的-1层级别的,作为自己 ...

  7. Java并发程序设计(一) 基础概念

    Java并发程序设计(一) 基础概念 一.必须知道的几个概念 一)同步(Synchronous)和异步(Asynchronous) 同步:同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后 ...

  8. java并发里的一些基础概念

    转载自:https://my.oschina.net/hosee/blog/597934: 摘要: 本系列基于炼数成金课程,为了更好的学习,做了系列的记录. 本文主要介绍 1.高并发的概念,为以后系列 ...

  9. Java多线程--基础概念

    Java多线程--基础概念 必须知道的几个概念 同步和异步 同步方法一旦开始,调用者必须等到方法调用返回后,才能执行后续行为:而异步方法调用,一旦开始,方法调用就立即返回,调用者不用等待就可以继续执行 ...

随机推荐

  1. [LeetCode] Ugly Number II

    Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prime factors ...

  2. IOS开发--待研究源码(持续添加更新)

    1.丰富的CAEmitterLayer制作的粒子效果,比如烟花效果 (还未研究) 该项目本人未研究,待以后有时间或者有需求再研究 github源码下载地址:https://github.com/lic ...

  3. ajax终结篇

    Ajax中post和get的区别 在ajax中有这个方法 xmlreq.open("post","servlet/MyServlet?time="+newDat ...

  4. MAC地址格式小结

    之前一段时间在做网卡驱动的工作,如今产品量产,利用ifconfig eth hw ether在配置mac地址时发现一个问题, 随机配置一个mac地址,发现有的会报出Cannot assign requ ...

  5. RMQ问题第一弹

    今天,我给大家分享一下我在学习 RMQ 问题过程中对该问题的理解. RMQ (Range Minimum/Maximum Query ):中文名为"区间最值查询".RMQ 问题指的 ...

  6. 「ZJOI2018」历史(LCT)

    「ZJOI2018」历史(LCT) \(ZJOI\) 也就数据结构可做了-- 题意:给定每个点 \(access\) 次数,使轻重链切换次数最大,带修改. \(30pts:\) 挺好想的.发现切换次数 ...

  7. PhantomJs浏览器下载

    下载地址: http://phantomjs.org/download.html 链接:https://pan.baidu.com/s/1g9ZHLm0Fg56LN30CsDu-CA 密码:qhar

  8. deeplearningbook-chinese

    https://exacity.github.io/deeplearningbook-chinese/

  9. [Python]字典Dictionary、列表List、元组Tuple差异化理解

    概述:Python中这三种形式的定义相近,易于混淆,应注意区分. aDict={'a':1, 'b':2, 'c':3, 'd':4, 'e':5} aList=[1,2,3,4,5] aTuple= ...

  10. less基本知识总结

    > 一款比较流行的预处理CSS,支持变量.混合.函数.嵌套.循环等特点> [官网](http://lesscss.org/)> [中文网](http://lesscss.cn/)&g ...