java36
qq_40955824
努力,加油。☀️
展开
-
JAVA--------谈谈你对Java平台的理解
在杨晓峰老师讲的java36讲总结的。 Java 本身是一种面向对象的语言,最显著的特性有两个方面,一是所谓的“书写一次,到处运行”(Write once, run anywhere),能够非常容易地获得跨平台能力;另外就是垃圾收集(GC, Garbage Collection),Java 通过垃圾收集器(Garbage Collector)回收分配内存,大部分情况下,程序员不需...原创 2019-05-02 20:51:54 · 200 阅读 · 0 评论 -
JAVA--------Error和Exception的区别
由类图可知Error和Exception都是继承了Throwable类,Java里面只有Throwable实例才可以抛出(throw)和捕捉(catch)异常。Error和Exception是对不同异常情况的分类,1.Error:1) 是指在正常情况下,不大可能出现的情况,绝大部分的 Error 都会导致程序(比如 JVM自身)处于非正常的、不可恢复状态。既然是非正常情况,...原创 2019-05-04 19:43:42 · 1044 阅读 · 0 评论 -
JAVA--------对final,finally,finalize的理解
final ,finally,finalize他们没有相同点,只是单词长得像。finalfinal 可以用来修饰类,方法,变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展, final 的变量是不可以修改的, final 的方法也是不可以重写的(override).在Java中final被称为终结器,可以使用final来定义类、方法、属性。使用fin...原创 2019-05-06 19:52:12 · 292 阅读 · 0 评论 -
JAVA--------对强引用,软引用,弱引用和虚引用的理解
引用出现的根源是由于GC内存回收的基本原理—GC回收内存本质上是回首对象,而目前比较流行的回收算法是可达性分析算法,从GC Roots开始按照一定的逻辑判断一个对象是否可达,不可达的话就说明这个对象已死(除此之外另外一种常见的算法就是引用计数法,但是这种算法有个问题就是不能解决相互引用的问题)。基于此Java向用户提供了四种可用的引用这些类实现的核心是Reference与ReferenceQ...原创 2019-05-09 16:26:41 · 378 阅读 · 0 评论 -
JAVA--------Vector,ArrayList和LinkedList的区别
VectorVerctor 是 Java 早期提供的线程安全的动态数组,如果不需要线程安全,并不建议选择,毕竟同步是有额外开销的。Vector 内部是使用对象数组来保存数据,可以根据需要自动的增加容量,当数组已满时,会创建新的数组,并拷贝原有数组数据。ArrayListArrayList 是应用更加广泛的动态数组实现,它本身不是线程安全的,所以性能要好很多。与Vecto...原创 2019-05-14 21:41:14 · 321 阅读 · 0 评论 -
JAVA--------对String,StringBuffer和StringBuilder的理解
StringString 是 Java 语言非常基础和重要的类,提供了构造和管理字符串的各种基本逻辑。它是典型的 Immutable 类(不可变类),被声明成为 final class,所有属性也都是 final 的。也由于它的不可变性,类似拼接(+)、裁剪字符串等动作,都会产生新的 String 对象。由于字符串操作的普遍性,所以相关操作的效率往往对应用性能有明显。 字符串转换是通过方...原创 2019-05-10 20:18:17 · 184 阅读 · 0 评论 -
JAVA--------Int 和Integer的理解
intint 是我们常说的整形数字,是 Java 的 8 个原始数据类型(boolean、byte、short、char、int、float、double、long)之一。Java 语言虽然号称一切都是对象,但原始数据类型是例外。Integer Integer 是 int 对应的包装类,它有一个 int 类型的字段存储数据,并且提供了基本操作,比如数学运算、int 和字符串之间转换等。...原创 2019-05-12 00:13:48 · 259 阅读 · 0 评论 -
JAVA-------Hashtable,HashMap和TreeMap的区别
1.Map的整体结构Map接口:保存一元偶对象的最大父接口Map集合TreeSet 代码里实际默认是利用 TreeMap 实现的,Java 类库创建了一个 Dummy 对象“PRESENT”作为 value,然后所有插入的元素其实是以键的形式放入了 TreeMap 里面;同理,HashSet 其实也是以 HashMap 为基础实现的,原来他们只是 Map 类的马甲!Map接口是...原创 2019-05-23 20:23:56 · 673 阅读 · 0 评论 -
JAVA--------ConcurrentHashMap如何实现高效地线程安全
问题一:线程安全问题的由来?在JVM里面有一个工作内存和主内存,而每个线程都有自己的工作内存,当一个线程在对一个变量进行操作的时候,都要在自己的工作内存里对主内存进行拷贝一份(Load),然后再工作内存里对变量进行操作,操作完在把东西写回主内存(Save)。所以在多个线程对同一个变量进行操作时,就会出现线程安全问题,但是加上Synchronized关键字实际上就是建立一个monitor,然...原创 2019-05-24 09:32:03 · 1264 阅读 · 0 评论