
java基础技术
文章平均质量分 82
zhendong_Z
健身控,旅行爱好者,烹饪达人
展开
-
阻塞队列实现生产者消费者模式
生产者消费者模式是并发、多线程编程中经典的设计模式,生产者和消费者通过分离的执行工作解耦,简化了开发模式,生产者和消费者可以以不同的速度生产和消费数据。这篇文章我们来看看什么是生产者消费者模式,这个问题也是多线程面试题中经常被提及的。如何使用阻塞队列(Blocking Queue)解决生产者消费者模式,以及使用生产者消费者模式的好处。真实世界中的生产者消费者模式生产者和消费者模原创 2017-01-14 00:07:10 · 372 阅读 · 0 评论 -
org.apache.ibatis.binding.BindingException原因总结
今天遇到mybatis的报错,搞了好久才搞懂,在网上找了好久的相似案例,也没有搞定,先来看下网上常见的解决办法吧,相信也能解决大部分人的报错。排查方法如下:1、mapper接口和mapper.xml是否在同一个包(package)下?名字是否一样(仅后缀不同)?2、mapper.xml的命名空间(namespace)是否跟mapper接口的包名一致?3、接口原创 2017-02-14 11:24:44 · 41478 阅读 · 8 评论 -
类加载器的工作原理
Java类加载器的作用就是在运行时加载类。Java类加载器基于三个机制:委托、可见性和单一性。委托机制是指将加载一个类的请求交给父类加载器,如果这个父类加载器不能够找到或者加载这个类,那么再加载它。可见性的原理是子类的加载器可以看见所有的父类加载器加载的类,而父类加载器看不到子类加载器加载的类。单一性原理是指仅加载一个类一次,这是由委托机制确保子类加载器不会再次加载父类加载器加载过的类。正确理解类原创 2017-03-13 10:54:55 · 367 阅读 · 0 评论 -
Stream详解
Stream是元素的集合,这点让Stream看起来用些类似Iterator;可以支持顺序和并行的对原Stream进行汇聚的操作;大家可以把Stream当成一个高级版本的Iterator。原始版本的Iterator,用户只能一个一个的遍历元素并对其执行某些操作;高级版本的Stream,用户只要给出需要对其包含的元素执行什么操作,比如“过滤掉长度大于10的字符串”、“获取每个字符串的首字母”等原创 2017-03-13 10:50:41 · 642 阅读 · 0 评论 -
final关键字详解
根据上下文环境,Java的关键字final的含义存在着细微的区别,但通常它指的是“这是无法改变的。”不想做改变可能出于两种理由:设计或效率。下面让我们从可能使用到final的三种情况:数据、方法和类来讨论一下。一、final数据对于基本类型,final是数值恒定不变;而对于对象引用,final使引用恒定不变。一旦引用被初始化指向一个对象,就无法再把它改为指向另一个对象。然而,对象其自身原创 2017-02-19 17:32:34 · 466 阅读 · 0 评论 -
maven依赖机制及依赖管理
maven依赖机制及依赖管理依赖性传递:依赖调解:当项目中出现多个版本构件依赖的情形,依赖调解决定最终应该使用哪个版本。当然,你也可以在项目POM文件中显式指定使用哪个版本。从Maven 2.0.9开始,POM中依赖声明的顺序决定了哪个版本会被使用,也叫作”第一声明原则”。 “短路径优先”意味着项目依赖关系树中路径最短的版本会被使用。例如,假设A、B、C之间的依赖关系是A-&...原创 2018-04-24 14:57:31 · 1172 阅读 · 0 评论