自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wu1317581750的博客

以后你遇到的人都是心里装着别人的人 没有人会用全部来爱你 听闻过往 十忆九悲 听闻爱情 十人九伤

  • 博客(39)
  • 收藏
  • 关注

原创 ArrayList源码分析

本篇分析ArrayList的源码,在分析之前先跟大家谈一谈数组。数组可能是我们最早接触到的数据结构之一,它是在内存中划分出一块连续的地址空间用来进行元素的存储,由于它直接操作内存,所以数组的性能要比集合类更好一些,这是使用数组的一大优势。但是我们知道数组存在致命的缺陷,就是在初始化时必须指定数组大小,并且在后续操作中不能再更改数组的大小。在实际情况中我们遇到更多的是一开始并不知道要存放多少元素,而...

2018-08-31 16:58:34 72

原创 LinkedList源码分析

上篇我们分析了ArrayList的底层实现,知道了ArrayList底层是基于数组实现的,因此具有查找修改快而插入删除慢的特点。本篇介绍的LinkedList是List接口的另一种实现,它的底层是基于双向链表实现的,因此它具有插入删除快而查找修改慢的特点,此外,通过对双向链表的操作还可以实现队列和栈的功能。LinkedList的底层结构如下图所示。F表示头结点引用,L表示尾结点引用,链表的...

2018-08-31 16:58:02 72

原创 HashMap源码分析

前面我们已经分析了ArrayList和LinkedList这两个集合,我们知道ArrayList是基于数组实现的,LinkedList是基于链表实现的。它们各自有自己的优劣势,例如ArrayList在定位查找元素时会优于LinkedList,而LinkedList在添加删除元素时会优于ArrayList。而本篇介绍的HashMap综合了二者的优势,它的底层是基于哈希表实现的,如果不考虑哈希冲突的话...

2018-08-31 16:57:19 80

原创 LinkedHashMap源码分析

这篇文章我们开始分析LinkedHashMap的源码,LinkedHashMap继承了HashMap,也就是说LinkedHashMap是在HashMap的基础上扩展而来的,因此在看LinkedHashMap源码之前,读者有必要先去了解HashMap的源码,可以查看我上一篇文章的介绍《Java集合系列[3]----HashMap源码分析》。只要深入理解了HashMap的实现原理,回过头来再去看Li...

2018-08-31 16:55:33 106

原创 史上最全Java面试题,带全部答案

今天要谈的主题是关于求职,求职是在每个技术人员的生涯中都要经历多次。对于我们大部分人而言,在进入自己心仪的公司之前少不了准备工作,有一份全面细致面试题将帮助我们减少许多麻烦。在跳槽季来临之前,特地做这个系列的文章,一方面帮助自己巩固下基础,另一方面也希望帮助想要换工作的朋友。 相关概念面向对象的三个特征封装,继承,多态,这个应该是人人皆知,有时候也会加上抽象。多态的好处允许...

2018-08-31 16:49:53 296

原创 关于Spring 和 Spring MVC的43个问题【问题汇总】

1.为什么使用Spring ?1). 方便解耦,简化开发        通过Spring提供的IoC容器,可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。   2). AOP编程的支持        通过Spring提供的AOP功能,方便进行面向切面的编程,如性能监测、事务管理、日志记录等。   3). 声明式事务的支持   4). 方便集...

2018-08-31 12:16:25 211

原创 25个经典的Spring面试问答

本人收集了一些在大家在面试时被经常问及的关于Spring的主要问题,这些问题有可能在你下次面试时就会被问到。对于本文中未提及的Spring其他模块,我会单独分享面试的问题和答案。欢迎大家向我推荐你在面试过程中遇到关于Spring的问题。我会把大家推荐的问题添加到下面的Spring常用面试题清单中供大家参考。问题清单: 什么是Spring框架?Spring框架有哪些主要模块? ...

2018-08-31 12:14:35 162

原创 方法重写与方法重载的区别

一、方法重写(0veriding)在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量。子类可以定义新的特征,当子类需要修改父类的一些方法进行扩展,增大功能,程序设计者常常把这样的一种操作方法称为重写,也叫称为覆写或覆盖。重写体现了Java优越性,重写是建立在继承关系上,它使语言结构更加丰富。在Java中的继承中,子类既可以隐...

2018-08-30 10:35:39 1126 1

原创 什么是多态?为什么用多态?有什么好处?多态在什么地方用?

什么是多态?概念:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。简单的说:就是用基类的引用指向子类的对象。 为什么要用多态呢?原因:我们知道,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态除了代码的复用性外,还可以解决项目中紧偶合的问题,提高程序的可扩展性.。耦合度讲的是模块模块之间,...

2018-08-30 09:43:39 1733

原创 如何正解决库存超卖问题

一般电子商务网站都会遇到如团购、秒杀、特价之类的活动,而这样的活动有一个共同的特点就是访问量激增、上千甚至上万人抢购一个商品。然而,作为活动商品,库存肯定是很有限的,如何控制库存不让出现超买,以防止造成不必要的损失是众多电子商务网站程序员头疼的问题,这同时也是最基本的问题。[内容]  注意!文中说到缓存用memcache,并以此作库存操作控制!作者认为应使用redis替代memcache,原...

2018-08-29 21:44:29 2941

原创 Mybatis常见面试题

 1.Mybatis比IBatis比较大的几个改进是什么a.有接口绑定,包括注解绑定sql和xml绑定Sql ,b.动态sql由原来的节点配置变成OGNL表达式,c. 在一对一,一对多的时候引进了association,在一对多的时候引入了collection 节点,不过都是在resultMap里面配置2.什么是MyBatis的接口绑定,有什么好处接口映射就是在IBatis...

2018-08-22 21:34:27 215

原创 Mybatis常见面试题

Mybatis技术内幕系列博客,从原理和源码角度,介绍了其内部实现细节,无论是写的好与不好,我确实是用心写了,由于并不是介绍如何使用Mybatis的文章,所以,一些参数使用细节略掉了,我们的目标是介绍Mybatis的技术架构和重要组成部分,以及基本运行原理。博客写的很辛苦,但是写出来却不一定好看,所谓开始很兴奋,过程很痛苦,结束很遗憾。要求不高,只要读者能从系列博客中,学习到一点其他博客所没有...

2018-08-22 21:33:11 65

原创 MyBatis和Hibernate的区别个人感悟

相同点:他们都是市面上流行的ORM框架。他们均是通过xml配置生成sessionFactory然后通过sessionFactory生成session执行sql和管理事务。他们都支持JDBC和事务管理。区别主要在一下几个方面体现:​1.开发速度​   MyBatis支持的学习相比Hibernate更简单,支持原生sql,学习更简单。Hibernate的学习难度更大。开发速度差距不大。My...

2018-08-22 21:24:10 762

原创 Mybatis与Hibernate的区别

首先简单介绍下两者的概念:Hibernate :Hibernate 是当前最流行的ORM框架,对数据库结构提供了较为完整的封装。Mybatis:Mybatis同样也是非常流行的ORM框架,主要着力点在于POJO 与SQL之间的映射关系。其次具体从几个方面说一下两者的区别:1.两者最大的区别:针对简单逻辑,Hibernate和MyBatis都有相应的代码生成工具,可以生成简单基本...

2018-08-22 21:21:46 93

原创 HIbernate和Mybatis的区别和优劣势

第一章     Hibernate与MyBatisHibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分。 Mybatis 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。MyBatis 参考资料官网:http://www.mybatis.org/core/zh/index.html  Hiber...

2018-08-22 21:21:01 2930

原创 Spring MVC和Spring Boot的理解以及比较

Spring MVC是什么?(1)Spring MVC是Spring提供的一个强大而灵活的模块式web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。(2)SpringMVC是一种基于Java的以请求为驱动类型的轻量级Web框架,其目的是将Web层进行解耦,即使用“请求-响应”模型,从工程结构上实现良好的分层...

2018-08-22 20:04:13 621

转载 简单的谈一下SpringMVC的工作流程

流程 1、用户发送请求至前端控制器DispatcherServlet 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4、DispatcherServlet调用HandlerAdapter处理器适配器 5、Handle...

2018-08-22 19:31:56 399

原创 hashMap和hashtable的区别

hashTable同步的,而HashMap是非同步的,效率上逼hashTable要高。3.hashMap允许空键值,而hashTable不允许。HashMap中键值 允许为空 并且是非同步的Hashtable中键值 不允许为空 是同步的 3. 关于null值 HashMap HashTable key, value 均可以为 null ...

2018-08-21 17:43:21 63

原创 Java对象的生命周期

在Java中,对象的生命周期包括以下几个阶段:1. 创建阶段(Created)2. 应用阶段(In Use)3. 不可见阶段(Invisible)4. 不可达阶段(Unreachable)5. 收集阶段(Collected)6. 终结阶段(Finalized)7. 对象空间重分配阶段(De-allocated)1.创建阶段(Created)在创建阶段系统通过下面...

2018-08-21 17:06:15 82

原创 HTTP与HTTPS有什么区别?

HTTPS和HTTP的区别主要如下:1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进...

2018-08-21 15:35:54 113

原创 struts常见面试题

1. 简述Struts框架的初始化流程。答案:对于采用Struts框架的Web应用,在Web应用启动时就会加载并初始化控制器ActionServletActionServlet从struts-config.xml文件中读取配置信息,把它们存放到ActionMappings对象中。在Struts framework中, Controller主要是ActionServlet,但是对于业务逻...

2018-08-20 23:38:05 563

原创 (三大框架SSH)面试题锦集

Java工程师(程序员)面题Struts,Spring,Hibernate三大框架 Hibernate工作原理及为什么要用?原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory3.打开Session 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭SesstionFactory为什么要用: 1....

2018-08-20 23:25:19 14307 3

原创 Hibernate原理及工作流程

hibernate 简介:hibernate是一个开源框架,它是对象关联关系映射的框架,它对JDBC做了轻量级的封装,使java程序员可以使用面向对象的思想来操纵数据库。hibernate核心接口session:负责被持久化对象CRUD操作sessionFactory:负责初始化hibernate,创建session对象configuration:负责配置并启动hibernate,创建...

2018-08-15 09:09:28 233

原创 hibernate的运行流程

 hibernate的运行流程:  1、应用程序先调用Configration类,该类读取Hibernate的配置文件及映射文件中的信息,并用这些信息生成一个SessionFactpry对象。  2、然后从SessionFactory对象生成一个Session对象,并用Session对象生成Transaction对象;可通过Session对象的get(),load(),save(),upd...

2018-08-15 09:08:30 570

原创 Hibernate的基本工作流程

一.可以分为7个步骤1.通过Configuration对象读取并解析配置文件2.读取并解析映射信息,创建SessionFactory对象3.打开session4.创建事务Transaction5.持久化操作,对对象进行CRUD操作6.提交事务7.关闭session和SessionFactory对象如下实例:--添加学生package com.test;...

2018-08-15 09:02:58 1314

原创 Hibernate是用于什么的框架

HIbernate是一种ORM(Object Relation Mapping)就是对象关系映射,Hibernate可以轻松的把数据库中的表映射成我们类描述的对象(一般而言,一张表或者一个视图会对应程序中的一个类),这样在我们连接数据库的时候,可以像访问对象一样简单的访问数据库中的表,如果对对象进行修改,修改的结果Hibernate会自动帮你保存回数据库,你就不用组织SQL语句,和打开关闭数据库那...

2018-08-14 10:59:28 1442

原创 hibernate常见面试题详解

整理hibernate常见面试题简述hibernate运行原理或者工作原理 简述hibernate的get和load方法区别 简述hibernate数据三种状态 简述hibernate的缓存机制 简述hibernate中getCurrentSession和openSession区别 简述hibernate的乐观锁和悲观锁 简述hibernate的懒加载机制 简述hibernate...

2018-08-14 10:53:37 22996 2

原创 hibernate的几个面试问题

1)hibernate的get(),load()问题 当在缓存中没有找到相应的对象时,get会直接访问数据库并返回完全初始化好的对象,而load在缓存无此对象时,只会返回一个代理对象,只有在getid()之外的其他方法被调用时才会真正访问数据库,在一定的情况下提高了性能; 其重要区别其指,在未能发现符合条件的对象时,get方法会返回null,而load方法会抛出ObjectNotFoundEx...

2018-08-14 10:52:03 133

原创 Spring Boot浅谈(是什么/能干什么/优点和不足)

1. Spring Boot是什么,解决哪些问题     1) Spring Boot使编码变简单     2) Spring Boot使配置变简单     3) Spring Boot使部署变简单     4) Spring Boot使监控变简单     5) Spring Boot的不足2. Spring Boot在平台中的定位,相关技术如何融合     1) Sp...

2018-08-14 10:50:51 198

原创 Hibernate 的 10 个常见面试问题及答案

在Java J2EE方面进行面试时,常被问起的Hibernate面试问题,大多都是针对基于Web的企业级应用开发者的角色的。Hibernate框架在Java界的成功和高度的可接受性使得它成为了Java技术栈中最受欢迎的对象关系影射(ORM)解决方案。Hibernate将你从数据库相关的编码中解脱了出来,使你可以更加专注地利用强大的面向对象的设计原则来实现核心的业务逻辑。采用Hibernate后,你...

2018-08-14 10:48:13 136

原创 Hibernate面试题及答案

1.一般情况下,关系数据模型与对象模型之间有哪些匹配关系(多选)A)表对应类B)记录对应对象C)表的字段对应类的属性D)表之间的参考关系对应类之间的依赖关系2.以下关于SessionFactory的说法哪些正确?(多选)A)对于每个数据库事务,应该创建一个SessionFactory对象B)一个SessionFactory对象对应一个数据库存储源。C)SessionFactory是重量级的对...

2018-08-14 10:27:01 1513

原创 Hibernate常见面试题

1、什么是Hibernate的并发机制?怎么去处理并发问题?Hibernate并发机制:a、Hibernate的Session对象是非线程安全的,对于单个请求,单个会话,单个的工作单元(即单个事务,单个线程),它通常只使用一次, 然后就丢弃。 如果一个Session 实例允许共享的话,那些支持并发运行的,例如Http request,session beans将会导致出现资源争用。...

2018-08-14 10:25:40 119

原创 Hibernate框架

Hibernate框架的总结hibernate 简介:hibernate是一个开源框架,它是对象关联关系映射的框架,它对JDBC做了轻量级的封装,而我们java程序员可以使用面向对象的思想来操纵数据库。hibernate核心接口session:负责被持久化对象CRUD操作sessionFactory:负责初始化hibernate,创建session对象configuration:负责...

2018-08-14 10:23:40 121

原创 ist , set ,map 三者的用法以及区别

首先,讲一下list和set之间的相似性,list和set都是单列集合,他们有一个共同的父接口---collection。list是依次列出一个结合中的所有的元素,若集合中有重复的,同样列出,有序;set列出的集合中是不允许有重复的,也就是说里面有一个A对象和一个B对象,若是A.equals(B)==ture,那么用set方法列出的只会有一个,set集合默认是有序的,正向排序。一般遍历set里面的...

2018-08-12 22:25:17 779

原创 get和post区别

总结get和post区别---面试用1) get参数通过url传递,post放在request body中。2) get请求在url中传递的参数是有长度限制的,而post没有。3) get比post更不安全,因为参数直接暴露在url中,所以不能用来传递敏感信息。4) get请求只能进行url编码,而post支持多种编码方式5) get请求会浏览器主动cache,而post支持多...

2018-08-12 11:05:02 152

原创 java中常见的几种异常

NullPointerException - 空指针引用异常ClassCastException - 类型强制转换异常。IllegalArgumentException - 传递非法参数异常。ArithmeticException - 算术运算异常ArrayStoreException - 向数组中存放与声明类型不兼容对象异常IndexOutOfBoundsException - 下标越...

2018-08-11 11:34:19 759

原创 同步和异步,区别

同步:同步的思想是:所有的操作都做完,才返回给用户。这样用户在线等待的时间太长,给用户一种卡死了的感觉(就是系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的感觉)。这种情况下,用户不能关闭界面,如果关闭了,即迁移程序就中断了。 异步:将用户请求放入消息队列,并反馈给用户,系统迁移程序已经启动,你可以关闭浏览器了。然后程序再慢慢地去写入数据库去。这就是异步。但是用户没...

2018-08-11 10:49:23 128

原创 java中拦截器 过滤器 监听器都有什么区别?

1、过滤器filter主要用途是过滤字符编码、做一些业务逻辑判断等。工作原理是,只要在web.xml文件配置好拦截的客户端请求,它都会帮你拦截到请求,此时你就可以对请求或响应统一设置编码,简化操作;同时还进行逻辑判断,如用户是否已经登陆、有没有权限访问该页面等工作。随web应用启动而启动,只初始化一次。 2、监听器listener主要作用是:做一些初始化的内容添加工作、设置一些基本...

2018-08-10 16:39:17 772

原创 浅谈Session与Cookie的区别与联系

一、Session的概念Session 是存放在服务器端的,类似于Session结构来存放用户数据,当浏览器 第一次发送请求时,服务器自动生成了一个Session和一个Session ID用来唯一标识这个Session,并将其通过响应发送到浏览器。当浏览器第二次发送请求,会将前一次服务器响应中的Session ID放在请求中一并发送到服务器上,服务器从请求中提取出Session ID,并和保存...

2018-08-09 08:53:03 167

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除