随笔分类 - Java学习
摘要:java继承中对构造函数是不继承的,只是调用(隐式或显式)。
阅读全文
摘要:package com.cwcec.tag; class Fruit { } class Apple extends Fruit{} class Animal { public Fruit eat(Fruit fruit) { System.out.println("Animal eat...");
阅读全文
摘要:这篇文章谈一谈Java泛型声明<? extends E>和<? super E>的作用和区别 <? extends E> <? extends E> 是 Upper Bound(上限) 的通配符,用来限制元素的类型的上限,比如 List<? extends Fruit> fruits; 表示集合中的
阅读全文
摘要://JDk1.5后,使用泛型来接收类中要操作的引用数据类型 //泛型类,什么时候用?当类中操作的引用数据类型不确定的时候,就使用泛型类。 class Tool { private Q q; public Tool(Q q) { this.q = q; } public Q getQ() { return q; } ...
阅读全文
摘要:class Car { private String name; private int number; private double weight; public String getName() { return name; } public void setName(String name)
阅读全文
摘要:集合的一些技巧: 需要唯一吗? 需要:Set 需要制定顺序: 需要: TreeSet 不需要:HashSet 但是想要一个和存储一致的顺序(有序):LinkedHashSet 不需要:List 需要频繁增删吗? 需要:LinkedList 不需要:ArrayList 如何记录每一个容器的结构和所属体
阅读全文
摘要:Set集合 1.HashSet 只去重复, 没有顺序 HashSet的add方法会调用hashCode和equals, 所以存储在HashSet中的对象需要重写这两个方法. 2.TreeSet 去重复, 并且可以按照某种顺序排序 TreeSet的add方法会将对象转为Comparable, 然后调用
阅读全文
摘要:Set:元素不可以重复,是无序。 Set接口中的方法和Collection一致。 |--HashSet: 内部数据结构是哈希表 ,是不同步的。 如何保证该集合的元素唯一性呢? 是通过对象的hashCode和equals方法来完成对象唯一性的。 如果对象的hashCode值不同,那么不用判断equal
阅读全文
摘要:1.《你的灯还亮着么》 方法论 2.《程序员修炼之道 从小工到专家》 方法论 3.《发布!软件的设计与部署》 案例&经验总结 4.《思考,快与慢》 理解自身行为,非常推荐 5.《集体智慧编程中文版》 6.《推荐系统实践》 7.《Maven权威指南中文版》 maven 不是简单的版本管理工具 8.《j
阅读全文
摘要:栈:LIFO(后进先出) 队列:FIFO(先进先出) 栈的顺序存储结构实现: 栈的链式存储结构实现: 基于LinkedList实现的栈结构: 队列的顺序存储结构实现 循环队列的顺序存储结构实现 队列的链式存储结构实现 基于LinkedList实现队列结构
阅读全文
摘要:今天翻看Java笔试题,发现有这样问题,比较Collection 和Collections的区别。在这里把二者区别记录下来。 1、java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Col
阅读全文
摘要:注意,此实现不是同步的。 List: |--Vector:内部是数组数据结构,是同步的。增删,查询都很慢! |--ArrayList:内部是数组数据结构,是不同步的。替代了Vector。查询的速度快。 |--LinkedList:内部是链表数据结构,是不同步的。增删元素的速度很快。 注意,此实现不是
阅读全文
摘要:1.String字符串常量池 JVM为了提高性能和减少内存开销,内部维护了一个字符串常量池,每当创建字符串常量时,JVM首先检查字符串常量池,如果常量池中已经存在,则返回池中的字符串对象引用,否则创建该字符串对象并放入池中。 因此下述结果返回true。 但与创建字符串常量方式不同的是,当使用new
阅读全文
摘要:构造方法摘要: String(byte[] bytes) 通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。 String(char[] value) 分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。 方法摘要: char charAt(int i
阅读全文
摘要:/* 停止线程: 1,stop方法。 2,run方法结束。 怎么控制线程的任务结束呢? 任务中都会有循环结构,只要控制住循环就可以结束任务。 控制循环通常就用定义标记来完成。 但是如果线程处于了冻结状态,无法读取标记。如何结束呢? 可以使用interrupt()方法将线程从冻结状态强制恢复到运行状态中来,让线程具备cpu的执行资格。 当时强制动作会发生了InterruptedExc...
阅读全文
摘要:Thread.yield()方法作用是:暂停当前正在执行的线程对象,并执行其他线程。 yield()应该做的是让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会。因此,使用yield()的目的是让相同优先级的线程之间能适当的轮转执行。但是,实际中无法保证yield()达到让步目的,因为让步的线程还有可能被线程调度程序再次选中。 结论:yield()从未导致线程转到等...
阅读全文
摘要:最近在看《深入理解Java虚拟机:JVM高级特性与最佳实践》讲到了线程相关的细节知识,里面讲述了关于java内存模型,也就是jsr 133定义的规范。 系统的看了jsr 133规范的前面几个章节的内容,觉得受益匪浅。废话不说,简要的介绍一下java内存规范。 什么是内存规范 在jsr-133中是这么
阅读全文

浙公网安备 33010602011771号