随笔分类 - JAVA
摘要:下面对上面说的三个辅助类进行一个总结: 1)CountDownLatch和CyclicBarrier都能够实现线程之间的等待,只不过它们侧重点不同: CountDownLatch一般用于某个线程A等待若干个其他线程执行完任务之后,它才执行; 而CyclicBarrier一般用于一组线程互相等待至某个
阅读全文
摘要:进程和线程概念及区别: 进程:进程是操作系统分配的基本单位,它是程序执行的一个实例。是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。 线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。 进程和线
阅读全文
摘要:为什么HashMap会出现死循环 首先,我们知道java的HashMap不是线程安全的。多线程下应该使用ConcurrentHashMap。 HashMap底层是基于动态数组和单向链表(JDK1.7,JDK1.8链表长度超过8会转成红黑树)。我们知道链表比较容易形成闭合的环,如果链表形成闭合的环,这
阅读全文
摘要:http://www.importnew.com/28263.html 今天发一篇”水文”,可能很多读者都会表示不理解,不过我想把它作为并发序列文章中不可缺少的一块来介绍。本来以为花不了多少时间的,不过最终还是投入了挺多时间来完成这篇文章的。 网上关于 HashMap 和 ConcurrentHas
阅读全文
摘要:在一个表达式中可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象;由于表达式有多种运算,不同的结合顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合,才能保证运算的合理性和结果的正确性、唯一性。 优先级 1.优先级与求值顺序无关。如a+b &&
阅读全文
摘要:内部类主要有4种: 1.静态内部类(static inner class) 定义如下: 静态内部类是指被声明为static的内部类,它不依赖与外部类实例而被实例化。静态内部类不能访问外部类的普通成员变量, 只能访问外部类中的静态成员和静态方法 ( 包含私有类型 )。 2.成员内部类(member i
阅读全文
摘要:HashMap和HashSet的区别 1.HashMap实现的是Map接口,HashSet实现的是Set接口 2.结构不一样,一个存储的是键值对,一个存储的是对象 3.HashMap存储的值可能相同,HashTable存储的值不能相同,但由于hashcode是存在重复的,所以,存放的对象有可能相同。
阅读全文
摘要:HashMap和HashTable的区别 1.继承的父类不同,HashMap继承的是AbstractMap类,HashTable继承的是Dictionary类,不过都实现了Map、Clone、Serializable三个接口。其中Dictionary类中注释说是一个被废弃的类,建议实现Map接口,如
阅读全文
摘要:https://www.cnblogs.com/chengxiao/p/6059914.html 散列表 哈希表是根据关键码值而直接进行访问的数据结构。也就是说,它能通过把关键码值映射到表中的一个位置来访问。这个映射函数就叫做散列函数,存放记录的数组就叫散列表。 给定表M,存在函数f(key),对任
阅读全文
摘要:ArrayList和Vector的区别 ArrayList和Vector都是基于动态数组实现的。 区别 ArrayList是非线程安全的,Vector是线程安全的。 Vector的方法都加了同步锁Synchronized,因此相对于ArrayList性能较低。 ArrayList扩容时每次增加50%
阅读全文
摘要:Arraylist 与 LinkedList 区别 结构上的区别 ArrayList底层实现基于动态数组,LinkedList底层实现基于双向链表。 性能上区别 ArrayList查询快,增删慢,LinkedList增删快,查询慢 ArrayList和LinkedList都是非线程安全的 遍历列表:
阅读全文
摘要:List、Set、Map区别 三者关系如下: 结构特点 1.List和Set是存储单列数据集合,Map是存储键值对这样的双列数据集合; 2.List中存储的数据都是有序的,并且允许重复;Map中存储的数据是无序的,它的键是不允许重复的,值可以重复;Set存储的数据是无序的,并且不允许重复,元素在集合
阅读全文
摘要:这是个设计相关的问题,它考察的是面试者对现有系统和一些普遍存在但看起来不合理的事物的看法。回答这些问题的时候,你要说明为什么把这些方法放在Object类里是有意义的,还有不把它放在Thread类里的原因。一个很明显的原因是JAVA提供的锁是对象级的而不是线程级的,每个对象都有锁,通过线程获得。如果线
阅读全文
摘要:什么是序列化和反序列化 序列化: 把堆内存中的java对象数据,通过某种方式把对象存储到磁盘文件或者传递给其他网络节点。这个过程称为序列化。简单来说呢,就是将对象转换成二进流的过程。 反序列化: 把磁盘文件或网络节点上的对象数据恢复成java模型的过程,也就是将序列化过程中产生的二进制串转化为数据结
阅读全文
摘要:hashCode和equals方法的区别和联系 两个方法的定义 equals(Object obj)方法用来判断两个对象是否“相同”,如果“相同”则返回true,否则返回false。 hashCode()方法返回一个int数,在Object类中的默认实现是“将该对象的内部地址转换成一个整数返回。 官
阅读全文
摘要:==: ==比较的是变量内存中存放的对象的内存地址,用来判断两个对象地址是否相同,比较的是否是同一个对象。 1、两边的操作数必须是同一类型,不然编译不通过。 2、如果是基本数据类型比较,值相等则为true。因为基本类型不存在引用的概念,都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间。
阅读全文
摘要:MVC简介: MVC(Model View Controller) 是模型(model)-视图(view)-控制器(controller)的缩写。一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业
阅读全文
摘要:https://www.cnblogs.com/zlw-xf/p/8001383.html 1:cookie数据存放在客户的浏览器上(客户端),session数据放 @1:cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie 欺骗,如果主要考虑到安全应当使用session
阅读全文
摘要:http://www.cnblogs.com/logsharing/p/8448446.html 转载的这篇文章,很有意思,说的也很全面,学习下,防丢失,备份记录下 GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是GET把参数包含在U
阅读全文
摘要:自定义注解使用场景: 类属性自动赋值,例如对上下文、传入参数等赋值 验证对象属性完整性,例如,对参数的校验 代替配置文件功能,像spring基于注解的配置 可以生成文档,例如java 最早提供的注解。常用的有@param @return 等 利用注解针对性做一些前置或者后置的处理,例如记录日志、检验
阅读全文

浙公网安备 33010602011771号