![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java笔记
文章平均质量分 87
cool__007
这个作者很懒,什么都没留下…
展开
-
java中多线程安全问题
/**多线程的运行出现了安全问题。 问题的原因:当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分,还没有执行完,另一个线程参与进来执行。导致共享数据的错误。 解决办法:对多条操作共享数据的语句,只能让一个线程都执行完。在执行过程中,其他线程不可以参与执行。 Java对于多线程的安全问题提供了专业的解决方式。 就是同步代码原创 2016-11-20 11:39:36 · 628 阅读 · 0 评论 -
spring面试题
1.什么是Spring?答:spring的核心是一个轻量级的容器(Container),它是实现IoC(Inversion of Control)容器和非侵入性(No intrusive)的框架,并提供AOP(Aspect-oriented Programming)的实现方式,提供对持久层(Persistence)、事务(Transcation)的支持;提供MVC Web框架的实现,并对一原创 2017-08-11 09:17:53 · 808 阅读 · 0 评论 -
hashmap面试详解
这是一篇以前下载的word文档里面的,找不到原作者的网址了,讲的特别的,分享一下~在笔试和面试的过程中,Java集合框架毫无疑问是考察的重点,貌似面试官对这都情有独钟,而有关HashMap的考察更是重中之重和难点,一个小小的HashMap不仅能反应出你对Java集合的掌握程度,更能反映出面试者对数据结构的熟悉情况和设计数据结构的思维能力,很容易在这个问题上尴尬地看着面试官发呆,搞不好就拜拜转载 2017-08-13 10:05:25 · 477 阅读 · 0 评论 -
集合类面试题总结
1.HashMap的工作原理是什么?HashMap内部是通过一个数组实现的,只是这个数组比较特殊,数组里存储的元素是一个Entry实体(jdk 8为Node),这个Entry实体主要包含key、value以及一个指向自身的next指针。HashMap是基于hashing实现的,当我们进行put操作时,根据传递的key值得到它的hashcode,然后再用这个hashcode与数组的长度进行模运算转载 2017-08-11 09:19:34 · 478 阅读 · 0 评论 -
java中TreeSet介绍与简单
Set:无序,不可以重复元素。|--HashSet:数据结构是哈希表。线程是非同步的。保证元素唯一性的原理:判断元素的hashCode值是否相同。如果相同,还会继续判断元素的equals方法,是否为true。 |--TreeSet:可以对Set集合中的元素进行排序。底层数据结构是二叉树。保证元素唯一性的依据:compareTo方法return 0.T转载 2017-02-11 16:38:39 · 350 阅读 · 0 评论 -
java中HashSet介绍与demo
|--Set:元素是无序(存入和取出的顺序不一定一致),元素不可以重复。|--HashSet:底层数据结构是哈希表。是线程不安全的。不同步。HashSet是如何保证元素唯一性的呢?是通过元素的两个方法,hashCode和equals来完成。如果元素的HashCode值相同,才会判断equals是否为true。如果元素的hashcode值不同,不会调用equals。注意,对于转载 2017-02-11 16:36:39 · 366 阅读 · 0 评论 -
将自定义对象作为元素存到arrarylist集合中,并去除重复元素
将自定义对象作为元素存到arrarylist集合中,并去除重复元素/** * 将自定义对象作为元素存到arrarylist集合中,并去除重复元素 * 比如:存人等对象。同名同年龄的视同未一个人,为重复元素,不可以插入到集合里 * * 提示:List集合contains(obj)方法判断元素是否相同,根据的是元素的equals方法,注意list集合存数据时不需要判断,是否相同,都会存入原创 2017-02-11 16:34:53 · 949 阅读 · 0 评论 -
List集合特有的迭代器,ListIterator
List集合特有的迭代器,ListIterator是Iterator的子接口/** * @author gaobin *什么是迭代器呢? *其实就是集合的取出方式 *如同抓娃娃游戏机中的夹子 *迭代器是取出方式,会直接访问集合中的元素所以将迭代器通过内部类的形式来进行描述 *通过容器的iterator()方法获取该内部类的对象。 *List集合特有的迭代器,ListIterat转载 2017-02-11 16:32:29 · 4787 阅读 · 0 评论 -
java实现最基本的几种排序算法(冒泡,选择,插入)
java中常用的几种排序算法public class Sort { //冒泡排序 /** * 核心思想: * 比较两个元素,如果前一个元素比后一个元素大则进行交换,经过对每个元素的 * 比较,最后将大的元素设置成最后一个元素。重复该动作,最后形成从小到大的排序。 * @param arr */ public static void bubbleSort原创 2017-02-10 13:26:32 · 404 阅读 · 0 评论 -
基本数据类型的成员变量放在jvm得哪块内存区域里?
java虚拟机栈是线程私有的,生命周期跟线程相同,每个方法调用的时候都会创建一个栈帧用于存储局部变量表,操作数栈,动态链接,方法出口等信息。每个方法调用的过程,就代表了一个栈帧在虚拟机栈中入栈到出栈的过程,当进入一个方法时,这个方法在栈中需要分配多大的内存都是完全确定的,方法运行时不会改变局部变量表的大小——《深入理解java虚拟机第二版》 很多java程序员一开始就被网转载 2017-02-18 09:59:12 · 4145 阅读 · 0 评论 -
List中ArrayList,LinkedList,Vector的区别
List:元素是有序的,元素可以重复。因为该集合体系有索引。|--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。|--LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询稍慢。线程不同步。|--Vector:底层是数组数据结构。线程同步。被ArrayList替代了。因为效率低。原创 2017-02-07 19:07:54 · 681 阅读 · 0 评论 -
java集合中list集合基本用法及List集合特有的迭代器ListIterator
/*Collection|--List:元素是有序的,元素可以重复。因为该集合体系有索引。|--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。|--LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询稍慢。线程不同步。|--Vector:底层是数组数据结构。线程同步。被ArrayList替代了。因为效率低。转载 2017-02-07 19:04:25 · 4469 阅读 · 0 评论 -
java中自定义一个异常的方法
/*因为项目中会出现特有的问题,而这些问题并未被java所描述并封装对象。所以对于这些特有的问题可以按照java的对问题封装的思想。将特有的问题。进行自定义的异常封装。 自定义异常。 需求:在本程序中,对于除数是-1,也视为是错误的是无法进行运算的。那么就需要对这个问题进行自定义的描述。 当在函数内部出现了throw抛出异常对象,那么就必须要给对应的处理原创 2016-11-20 11:35:15 · 13355 阅读 · 0 评论 -
java线程池的总结
基本内容来自博客,如果想通过源码去了解这些知识点,请点击:http://www.cnblogs.com/exe19/p/5359885.html1.线程池数目如果当前线程池中的线程数目小于corePoolSize,则每来一个任务,就会创建一个线程去执行这个任务; 默认情况下,创建线程池之后,线程池中是没有线程的,需要提交任务之后才会创建线程。 在实际中如果需要线程池创建之后立原创 2017-09-01 20:40:06 · 364 阅读 · 0 评论