Java基础
文章平均质量分 87
Eaxker
YKM10101(急事加V)
展开
-
线程间通信
JAVA多线程之线程间的通信方式参考:1.同步.(共享变量)2.wait/notify机制。3.管道管道通信就是使用java.io.PipedInputStream 和 java.io.PipedOutputStream进行通信具体就不介绍了。分布式系统中说的两种通信机制:共享内存机制和消息通信机制。感觉前面的①中的synchronized关键字和②中的while轮询 “属...转载 2018-10-21 14:19:46 · 109 阅读 · 0 评论 -
序列化--Serializable与Parcelable
转:https://blog.csdn.net/yulyu/article/details/56481665前言:序列化:就是将对象的状态信息转换为可以存储或传输的形式的过程在我们平时开发中.我们用到序列化最多的地方就是通过intent传递对象,如果你要在intent中传递基本数据类型以外的对象,那么该对象必须实现Serializable或者Parcelable,否则会报错注意:...转载 2018-10-08 15:35:20 · 142 阅读 · 0 评论 -
访问修饰符(public protect 默认friendly private),protected与friendly的区别
转自:https://blog.csdn.net/fiempty/article/details/8672463?locationNum=8&fps=1看图:friendly相当于default。这图我相信大家都很清楚,其中限制符的访问权限是越来越小的,权限是从上往下递减的。这里主要是要理解protected和friendly的区别。Protected修饰的作用域在当前类 ...转载 2018-09-19 03:00:02 · 962 阅读 · 0 评论 -
Java泛型的了解
参考:https://www.cnblogs.com/demingblog/p/5495610.html一、Java泛型是什么?官方定义泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。通俗解释通俗的讲,泛型就是操作类型的 占位符,即:假设占位...转载 2018-08-20 00:01:51 · 210 阅读 · 0 评论 -
hashMap的底层实现
上面我们提到过Entry类里面有一个next属性,作用是指向下一个Entry。如, 第一个键值对A进来,通过计算其key的hash得到的i=0,记做:Entry[0] = A。一会后又进来一个键值对B,通过计算其i也等于0,现在怎么办?HashMap会这样做:B.next = A,Entry[0] = B,如果又进来C,i也等于0,那么C.next = B,Entry[0] = C;这样...原创 2018-08-15 18:39:38 · 192 阅读 · 0 评论 -
经典面试题24 - 如何设计实现LRU缓存
https://www.jianshu.com/p/62e829c37adf问题如何设计实现LRU缓存?且Set() 和 Get() 的复杂度为O(1)。解答LRU,全称Least Recently Used,最近最少使用缓存。在设计数据结构时,需要能够保持顺序,且是最近使用过的时间顺序被记录,这样每个item的相对位置代表了最近使用的顺序。满足这样考虑的结构可以是链表或者数组...转载 2018-10-23 22:42:03 · 265 阅读 · 0 评论 -
Arraylist和Linkedlist的区别?
大致区别:1.ArrayList是实现了基于动态数组的数据结构,LinkedList是基于链表结构。2.对于随机访问的get和set方法,ArrayList要优于LinkedList,因为LinkedList要移动指针。3.对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据。所以在我们进行对元素的增删查操作的时候,进行查操作时用Ar...原创 2018-10-23 23:12:52 · 180 阅读 · 0 评论 -
hashcode()和equals()的作用、区别、联系
转:https://www.cnblogs.com/keyi/p/7119825.html 介绍一、 hashCode()方法和equals()方法的作用其实一样,在Java里都是用来对比两个对象是否相等一致,那么equals()既然已经能实现对比的功能了,为什么还要hashCode()呢? 因为重写的equals()里一般比较的比较全面比较复杂,这样效率就比较低,而利用h...转载 2018-10-24 08:11:35 · 167 阅读 · 0 评论 -
wait()和sleep()方法
参考:https://www.cnblogs.com/loren-Yang/p/7538482.html。参考:https://www.cnblogs.com/lyx210019/p/9427146.html#commentform。1、两者的区别这两个方法来自不同的类分别是Thread和Object 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用...转载 2018-11-19 21:24:05 · 273 阅读 · 0 评论 -
hashmap线程同步的方案?
参考:https://blog.csdn.net/qq_33275597/article/details/79692056import java.util.Collections;import java.util.HashMap;import java.util.Hashtable;import java.util.Map;import java.util.concurrent.Co...转载 2018-10-26 23:13:42 · 1667 阅读 · 0 评论 -
ReentrantLock的探究
锁及锁粒度的详细比喻:参考:https://www.cnblogs.com/nancymake/p/6252536.html今天看到一篇文章,很详细的描述了锁和锁粒度的概念,如下:为什么要加锁?加锁是为了防止不同的线程访问同一共享资源造成混乱。打个比方:人是不同的线程,卫生间是共享资源你在上洗手间的时候肯定要把门锁上吧,这就是加锁,只要你在里面,这个卫生间就被锁了,只有你出来之后别...转载 2018-10-27 01:19:14 · 279 阅读 · 0 评论 -
深入理解Java多态原理
转载:https://www.cnblogs.com/startRuning/p/5673485.html之前一直知道多态是什么东西,平时敲代码也经常用到多态,但一直没有真正了解多态底层的运行机制到底是怎么样的,这两天才研究明白点,特地写下来,跟各位同学一起进步,同时也希望各位大神指导和指正。 多态的概念:同一操作作用于不同对象,可以有不同的解释,有不同的执行结果,这就是多态,简单来说就...原创 2018-11-17 21:20:59 · 169 阅读 · 0 评论 -
对局部变量和成员变量的初始化的探讨
参考链接:https://www.oschina.net/question/2986939_2283331java为了提高代码安全性,规定:在类中定义的成员变量如果你没有初始化java会自动帮你初始化,如果变量是数字会自动初始化成 0,变量是字符会初始化成 'a', 变量是对象引用会初始化成 null, 变量是布尔型,则自动初始化成 false. 如果你定义的是以后要用到的(要从那里提取...原创 2019-03-26 20:34:36 · 211 阅读 · 0 评论 -
HashMap和HashTable的区别
参考:http://www.importnew.com/24822.html参考:https://blog.csdn.net/wangxing233/article/details/794529461.(同步性)HashTable的方法是同步的,HashMap不能同步。2.(继承的父类不同)HashTable是继承自Dictionary类,而HashMap是继承自AbstractMa...转载 2018-08-14 23:36:45 · 28171 阅读 · 3 评论 -
实例变量与类变量的区别、实例方法与类方法的区别
转自:https://www.cnblogs.com/scf141592/p/5726347.htmljava语言支持的变量类型类变量:独立于方法之外的变量,用 static 修饰。 局部变量:类的方法中的变量。 实例变量(全局变量):独立于方法之外的变量,不过没有 static 修饰。实例变量和类变量的区别:1)语法定义上的区别静态变量用static修饰实例变量没有st...转载 2018-07-27 21:07:40 · 4831 阅读 · 0 评论 -
重写、覆盖、重载、静态方法的概念透析
参考:https://blog.csdn.net/ericbaner/article/details/3857268override->重写=(覆盖)overload->重载override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。重写(覆盖)的规则: 1、重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写...原创 2018-04-25 03:37:24 · 319 阅读 · 0 评论 -
抽象类和接口的区别
抽象类和接口的区别一 接口和抽象类的相似性1 接口和抽象类都不能被实例化,它们都位于继承树的顶端,用于被其他类实现和继承。2 接口和抽象类都可以包含抽象方法,实现接口或继承抽象类的普通子类都必须实现这些抽象方法。 二 接口和抽象类的区别1 (不能为普通方法提供方法体)接口里只能包含抽象方法,静态方法和默认方法(加default),不能为普通方法提供方法实现,抽象类则完全可以包含...原创 2018-08-14 12:48:26 · 49059 阅读 · 6 评论