Java
文章平均质量分 76
编程初丁
记录学习过程,分享点滴经验
展开
-
Java 泛型通配符?解惑
转自:http://www.linuxidc.com/Linux/2013-10/90928.htmT 有类型? 未知类型一、通配符的上界既然知道List并不是List的子类型,那就需要去寻找替他解决的办法, 是AnimalTrianer.act()方法变得更为通用(既可以接受List类型,也可以接受List等参数)。在java里解决办法就是使用通配符“转载 2016-06-25 17:28:37 · 233 阅读 · 0 评论 -
如何线程安全的使用HashMap
进入正题,在周二面试时,一面的面试官有问到 HashMap 是否是线程安全的,如何在线程安全的前提下使用 HashMap,其实也就是HashMap,Hashtable,ConcurrentHashMap 和 synchronized Map 的原理和区别。当时有些紧张只是简单说了下HashMap不是线程安全的;Hashtable 线程安全,但效率低,因为是 Hashtable 是使用 sync转载 2017-03-30 17:11:54 · 9223 阅读 · 1 评论 -
Synchronized同步静态方法和非静态方法总结
1.Synchronized修饰非静态方法,实际上是对调用该方法的对象加锁,俗称“对象锁”。 Java中每个对象都有一个锁,并且是唯一的。假设分配的一个对象空间,里面有多个方法,相当于空间里面有多个小房间,如果我们把所有的小房间都加锁,因为这个对象只有一把钥匙,因此同一时间只能有一个人打开一个小房间,然后用完了还回去,再由JVM 去分配下一个获得钥匙的人。情况1:同一个原创 2017-03-23 14:54:53 · 40495 阅读 · 16 评论 -
Java包装类、自动装箱与拆箱知识总结
面试题:结果:truetruefalsetrue下文转自:http://blog.csdn.net/zhangliangzi/article/details/50552587因为在学习集合时知道集合里存放的对象都是Object类型,取出的时候需要强制类型转换为目标类型(使用泛型集合不需要),如int a = (Inte转载 2017-03-29 11:17:49 · 306 阅读 · 0 评论 -
java 运算符总面试题总结
题目:请写出下面几个表达式的结果,答案可以用10进制或16进制书写1. 0xaa | 0x552. 15 & 2403. 10 ^ 124. -2 >> 15. -2 >>> 1解答:1. 分析:十六进制数用0x……来表示,后面一个十六进制位是四位,两个十六进制位为一个字节,最多后面可以有8个十六进制位,32个字节,如:0xFFFFFFFF原创 2017-03-28 11:19:19 · 3238 阅读 · 0 评论 -
正确使用Volatile关键字
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是synchronized 的一部分。本文介绍了几种有效使用 volatile 变量的模式,并强调了几种不适合使用 volatile 变量的情形。Java 语言转载 2017-03-20 17:55:39 · 248 阅读 · 0 评论 -
java中的synchronized(同步代码块和同步方法的区别)
问题的由来:看到这样一个面试题://下列两个方法有什么区别public synchronized void method1(){}public void method2(){ synchronized (obj){}}12345671234567synchronized用于解决同步问题,当有多条线程同时访问共享数据时,如果不进行同步,就会发生错误,Java提供转载 2017-03-20 17:38:26 · 200 阅读 · 0 评论 -
java中的Iterator和Iterable 区别
java.lang.Iterable java.util.Iterator Iterator是迭代器类,而Iterable是接口。 好多类都实现了Iterable接口,这样对象就可以调用iterator()方法。 一般都是结合着用,比如 HashMap类就实现了Iterable接口,而要访问或打印出Map中所有内容时,就可以这样: HashMap hashMap;转载 2017-03-19 19:10:09 · 431 阅读 · 0 评论 -
深入浅析Java中Static Class及静态内部类和非静态内部类的不同
java中的类可以是static吗?答案是可以。在java中我们可以有静态实例变量、静态方法、静态块。类也可以是静态的。java允许我们在一个类里面定义静态类。比如内部类(nested class)。把nested class封闭起来的类叫外部类。在java中,我们不能用static修饰顶级类(top level class)。只有内部类可以为static。 静态内部类和非转载 2017-03-19 13:34:15 · 342 阅读 · 0 评论 -
泛型的内部原理:类型擦除以及类型擦除带来的问题
注:本文仅供个人学习参考备忘原文:http://blog.csdn.net/lonelyroamer/article/details/7868820参考:java核心技术一、Java泛型的实现方法:类型擦除前面已经说了,Java的泛型是伪泛型。为什么说Java的泛型是伪泛型呢?因为,在编译期间,所有的泛型信息都会被擦除掉。正确理解泛型概念的首要前提是理解类型擦出(type转载 2017-03-18 12:09:07 · 676 阅读 · 0 评论 -
Java反射机制详解
| |目录1反射机制是什么2反射机制能做什么3反射机制的相关API·通过一个对象获得完整的包名和类名·实例化Class类对象·获取一个对象的父类与实现的接口·获取某个类中的全部构造函数 - 详见下例·通过反射机制实例化一个类的对象·获取某个类的全部属性·获取某个类的全部方法·通过反射机制调用某个类的方法·通过反射机制操作某个类的属性·转载 2017-03-18 13:27:46 · 211 阅读 · 0 评论 -
面试中的排序算法总结
查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码一定要信手拈来才行。还有插入排序、冒泡排序、堆排序、基数排序、桶排序等。面试官对于这些排序可转载 2016-11-24 09:46:26 · 334 阅读 · 0 评论 -
JAVA正则表达式语法及应用总结
正则表达式语法正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。举例:表达式匹配/^\s*$/匹配空行。/\d{2}-\d{5}/验证由两位数字、一个连字符再加转载 2016-11-24 09:29:52 · 301 阅读 · 0 评论 -
Java中普通代码块,构造代码块,静态代码块区别
//执行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法。其中静态代码块只执行一次。构造代码块在每次创建对象是都会执行。1 普通代码块 1 //普通代码块:在方法或语句中出现的{}就称为普通代码块。普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行” 2 public class CodeBlock01{ 3转载 2017-03-26 21:08:35 · 212 阅读 · 0 评论