随笔分类 -  Java

摘要:【容器API】J2SDK所提供的容器位于java.util包内。注:在图中左边的是一个个存储数据,右边的Map是一对对存储数据。 这里定义为接口,即定义每个接口应该满足的存储方法和参数,但是不关注具体的实现方法。【区别】 阅读全文
posted @ 2015-03-20 21:19 程序员姜戈 阅读(174) 评论(0) 推荐(0)
摘要:Collection是一个接口,定义了一系列的方法。【常见方法】【对象相等】【程序分析】增加Name类的equals和hashCode方法如下: 阅读全文
posted @ 2015-03-20 21:18 程序员姜戈 阅读(175) 评论(0) 推荐(0)
摘要:【Interator接口】所有实现了Collection接口的容器类都有一个interator方法用以返回一个实现了Interaor接口的对象。 Interator对象称作迭代器,用以方便的实现对容器内元素的遍历操作。注:Interator用于实现容器的遍历,可以理解为一个游标指针。【方法】(必须实... 阅读全文
posted @ 2015-03-20 21:16 程序员姜戈 阅读(511) 评论(0) 推荐(0)
摘要:JDK1.5新增的for循环对于遍历array或collection非常便利。缺陷: 数组:不能方便地访问下标值。 集合:与使用Interator相比,不能方便地删除集合中的东西。 在内部也是调用Interato总结: 除了简单遍历并读出其中的内容,不建议使用增强for。【... 阅读全文
posted @ 2015-03-20 21:14 程序员姜戈 阅读(344) 评论(0) 推荐(0)
摘要:【Set接口】Set接口是Collection的子接口,Set接口没有提供额外的方法。实现Set接口的容器类中的元素是没有顺序的,而且不可以重复。Set容器可以与数学中“集合”的概念相对应。J2SDK API中所提供的Set容器类有HashSet和TreeSet。【程序分析】注:retainAll表... 阅读全文
posted @ 2015-03-20 21:13 程序员姜戈 阅读(237) 评论(0) 推荐(0)
摘要:【List接口】注:List很类似与数组,但是它可以任意改变大小。 ArrayList底层实现是数组,LinkedList底层实现是链表。【常见方法】【程序分析】注:注意区分add方法和set方法的区别。【常用方法】 java.util.Collections提供了一些静态方法实现了基于List... 阅读全文
posted @ 2015-03-20 21:12 程序员姜戈 阅读(601) 评论(0) 推荐(0)
摘要:【类】【成员变量】注:成员变量默认初始化,直接输出不会报错;而局部变量默认情况下不会初始化,直接输出会报错;【引用】注:引用类型占两块内存,比如String s;该程序是在内存中分配一段区域,装的是空值(还没进行初始化)。s = new String("Hello");这在堆内存开辟一段空间存储。J... 阅读全文
posted @ 2015-03-20 21:09 程序员姜戈 阅读(108) 评论(0) 推荐(0)
摘要:在面向对象的编程中,不能再有第一步、第二步怎么做的概念。【对象和类】【类和对象之间的关系】a> 关联关系 b> 继承关系(一般与特殊) c> 聚合关系(整体与部分) d> 实现关系【Java与面向对象】对象可以看作静态属性(成员变量)和动态属性(方法)的封装体;类是用来创建同一类型对象的“模板”,在... 阅读全文
posted @ 2015-03-20 21:05 程序员姜戈 阅读(120) 评论(0) 推荐(0)
摘要:(1)递归调用(2)Fibonacci数列应用 阅读全文
posted @ 2015-03-20 21:04 程序员姜戈 阅读(138) 评论(0) 推荐(0)
摘要:【标识符】Java对各种变量、方法和类等要素命名时使用的字符序列。Java标识符命名规则:由字母、数字、下划线"_"和美元符"$"组成(不能有空格);以字母、下划线、$开头;对大小写敏感,长度无限制。【关键字】Java关键字都是小写。goto和const虽然从未被使用,但也作为Java关键字保留。【... 阅读全文
posted @ 2015-03-20 21:02 程序员姜戈 阅读(106) 评论(0) 推荐(0)
摘要:【标识符】Java对各种变量、方法和类等要素命名时使用的字符序列。Java标识符命名规则:由字母、数字、下划线"_"和美元符"$"组成(不能有空格);以字母、下划线、$开头;对大小写敏感,长度无限制。【关键字】Java关键字都是小写。goto和const虽然从未被使用,但也作为Java关键字保留。【... 阅读全文
posted @ 2015-03-20 21:02 程序员姜戈 阅读(137) 评论(0) 推荐(0)
摘要:【1】JDK的安装与卸载(1)卸载程序 控制面板--添加或删除程序--J2SE Development Kit和J2SE Runtime Envioroment--删除(2)安装程序 JDK双击--运行--自定义安装(默认安装目录为:C:\Program Files\jdk\***,需要注... 阅读全文
posted @ 2015-03-20 20:55 程序员姜戈 阅读(158) 评论(0) 推荐(0)
摘要:【历史】第三代语言:(1)C、Pascal、Fortran面向过程的语言;(2)C++面向过程/面向对象;(3)Java跨平台的纯面向对象的语言;(4).NET跨语言的平台。第四代语言:SQL【特点】(1)纯面向对象的语言;(2)与平台无关的语言,提供程序运行的解释环境;(3)健壮的语言,吸收了C/... 阅读全文
posted @ 2015-03-20 20:54 程序员姜戈 阅读(212) 评论(0) 推荐(0)
摘要:【Comparable】 【程序分析】【如何选择数据结构】衡量标准:读的效率和改的效率Array读快改慢Linked改快读慢Hash两者之间 阅读全文
posted @ 2015-03-20 20:50 程序员姜戈 阅读(216) 评论(0) 推荐(1)
摘要:【Map接口】注:HashMap底层实现是哈希表,TreeMap底层实现是二叉树。 键是索引,不能重复--表示不能equals,直接比较hashCode即可。 (hashCode是int类型,比较起来效率高,直接equals效率慢) 【常见方法】注:在put方法中,新增加的value替... 阅读全文
posted @ 2015-03-20 20:47 程序员姜戈 阅读(206) 评论(0) 推荐(0)
摘要:【打包/解包】在Map中需要增加一个数值时,需要new一个对象出来,输出后又得进行强制类型转换,这就造成不便。在JDK1.5中使用Map接口提供了一种新的机制。在合适的时机自动打包/解包(在JDK1.5后才有)自动将基础类型转换为对象自动将对象转换为基础类型【程序分析】注:在JDK1.5之后可以这样... 阅读全文
posted @ 2015-03-20 20:46 程序员姜戈 阅读(466) 评论(0) 推荐(0)
摘要:【泛型】起因:JDK1.4之前类型不明确装入集合的类型都被当做Object对待,从而失去自己的实际类型。从集合中取出时往往需要转型,效率低,且很容易出错。解决办法:在定义集合的时候同时定义集合中对象的类型----实例程序:List c = new ArrayList();//原本传入的强制转换为Ob... 阅读全文
posted @ 2015-03-20 20:45 程序员姜戈 阅读(570) 评论(0) 推荐(0)
摘要:【Java流式输入/输出原理】【节点流和处理流】【分类】【分类】 阅读全文
posted @ 2015-03-20 20:44 程序员姜戈 阅读(158) 评论(0) 推荐(0)
摘要:【进程】进程是一个静态的概念(代码加载到内存的代码区,这就表示一个进程).线程是一个进程里不同的执行路径,机器上运行的都是线程。对于单个CPU而言,在同一个时间点上,CPU只支持一个线程运行。真正的多线程是双CPU或双核。【进程与线程】每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有... 阅读全文
posted @ 2015-03-20 20:43 程序员姜戈 阅读(177) 评论(0) 推荐(0)
摘要:【通信协议分层】(1)为什么要分层?(2)通讯协议的分层规定【模型】注:OSI是国家标准化的标准,而TCP/IP是实际应用中采用的分层。 网络层也叫TCP,传输层也叫IP/UDP。【数据封装】【数据拆装】【IP协议】IP(Internet Protocal)协议是网际层的主要协议,支持网间互连的... 阅读全文
posted @ 2015-03-20 20:41 程序员姜戈 阅读(152) 评论(0) 推荐(0)