java语法
文章平均质量分 82
tingting256
这个作者很懒,什么都没留下…
展开
-
类成员变量访问权限
public 所有类private 自己protect 同一包和子类什么都不写 只能被同一包访问原创 2015-09-06 21:03:48 · 556 阅读 · 0 评论 -
java 遍历的4种方法
在Java中如何遍历Map对象How to Iterate Over a Map in Java在java中遍历Map有不少的方法。我们看一下最常用的方法及其优缺点。既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等) 方法一 在for-ea转载 2016-03-24 16:12:35 · 5498 阅读 · 0 评论 -
ConcurrentHashMap实现细节
转载自:http://www.iteye.com/topic/344876ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。在这之前我对ConcurrentHashMap只有一些肤浅的理解,仅知道它采用了多个锁,大概也足够了。但是在经过一次惨痛的面试经历之后,我觉得必须深入研究它的实现。面试中被问到读是否要加锁,因为读写会发生冲突,我说必须转载 2016-03-13 09:17:38 · 889 阅读 · 0 评论 -
Java8新特性
转载自:http://www.jb51.net/article/48304.htm“Java is still not dead—and people are starting to figure that out.”本教程将用带注释的简单代码来描述新特性,你将看不到大片吓人的文字。一、接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 d转载 2016-03-12 14:47:00 · 307 阅读 · 0 评论 -
Java——协变数组和类型擦除以及泛型相关知识
近期读到协变数组和类型擦除,涉及相关的泛型和数组的知识不是很了解。所以专门找了资料整理了一下。1.数组的协变性数组的协变性(covariant)是指如果sub是base的子类,那么sub[]是base[]的子类。泛型不是协变的,泛型是不可变的。数组的协变性可能会导致一些错误,比如下面的代码:public static void main(String[] args) {转载 2015-12-16 19:48:05 · 800 阅读 · 0 评论 -
String StringBuilder StringBuffer 对比 总结得非常好
转自:http://www.iteye.com/topic/522167作者:每次上网冲杯Java时,都能看到关于String无休无止的争论。还是觉得有必要让这个讨厌又很可爱的String美眉,赤裸裸的站在我们这些Java色狼面前了。嘿嘿....众所周知,String是由字符组成的串,在程序中使用频率很高。Java中的String是一个类,而并非基本数据类型。 不过她却不是转载 2015-12-10 16:14:56 · 454 阅读 · 0 评论 -
java 静态内部类和Builder模式
1. 概念在java中可以在类内部定义静态内部类。可以用于构建多参数的对象,并且保证类的一致性。2. 与非静态内部内的区别静态内部类与非静态内部类的区别如下:在非静态内部类中不可以声明静态成员。只有静态内部类才能够定义静态的成员变量与成员方法。非静态内部类,可以随意的访问外部类中的成员变量与成员方法。静态内部类只能引用外部类中的静态的成员(变量或方法),而不能够访问非静态的原创 2015-10-30 22:29:10 · 4433 阅读 · 0 评论 -
Java父类子类成员变量初始化
初始化过程是这样的: 1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化; 2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化; 3.其次,初始化父类的普通成员变量和代码块,在执行父类的构造方法;4.最后,初始化子类的普通成员变量和代码块,在执行子类的构造方法;转载 2015-09-06 21:48:37 · 1777 阅读 · 0 评论 -
JAVA中关于wait()和sleep()
Java中的多线程是一种抢占式的机制,而不是分时机制。抢占式的机制是有多个线程处于可运行状态,但是只有一个线程在运行。 共同点 : 1. 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回。 2. wait()和sleep()都可以通过interrupt()方法 打断线程的暂停状态 ,从而使线程立刻抛出InterruptedException。 如果线程A希望立转载 2015-09-28 16:26:38 · 825 阅读 · 0 评论 -
JAVA包装类
Java共有六个包装类,分别是Boolean、Character、Integer、Long、Float和Double,从字面上我们就能够看出他们分别对应于 boolean、char、int、long、float和double。转载 2015-09-06 21:57:32 · 355 阅读 · 0 评论 -
Java中>>和>>>的区别(通常用的都是>>)
两个都是按位右移操作,>>右移后左边符号不变,>>>右移后左边补零,如果是负数的话,使用>>>操作后会变正数,比如public class MainTest { @Test public void test() { int i = -2; System.out.println((i>>2)); System.out.println((i>>>2));原创 2016-09-16 23:19:50 · 487 阅读 · 0 评论