ConcurrentLinkedQueue、AraayBlockingQueue、LinkedBlockingQueue 区别及使用场景

三者区别与联系:联系,三者 都是线程安全的。区别,就是 并发 和 阻塞,前者为并发队列,因为采用cas算法,所以能够高并发的处理;后2者采用锁机制,所以是阻塞的。注意点就是前者由于采用cas算法,虽然能高并发,但cas的特点造成操作的危险性,怎么危险性可以去查一下cas算法(但一些多消费性的队列还是用的它,原因看下边使用场景中的说明)后2者区别:联系,第2和第3都是阻塞队列,都是采用锁,都有阻塞容器...
阅读(112) 评论(0)

【Java并发之】BlockingQueue

一、什么是BlockingQueueBlockingQueue即阻塞队列,从阻塞这个词可以看出,在某些情况下对阻塞队列的访问可能会造成阻塞。被阻塞的情况主要有如下两种:1. 当队列满了的时候进行入队列操作 2. 当队列空了的时候进行出队列操作因此,当一个线程试图对一个已经满了的队列进行入队列操作时,它将会被阻塞,除非有另一个线程做了出队列操作;同样,当一个线程试图对一个空队列进行出队列操作时,它将会...
阅读(130) 评论(0)

彻底理解ThreadLocal

ThreadLocal是什么早在JDK 1.2的版本中就提供Java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对...
阅读(2073) 评论(5)

Java父类取得子类传递的泛型参数Class类型

import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import org.junit.Test; abstract class BaseDao { public void getType() { //Class clazz = (Class) (...
阅读(535) 评论(0)

用java语言实现事件委托模式

事件委托模式是一个比较常用的设计模式,但是Java语言本身没有对其做一定的封装,因此实现起来有一定难度(了解原理后很简单),相比之下.NET就容易了很多。身为一个Java爱好者,怎么向这样一个小困难低头,但是上网搜索,却没发现相关解决方案,得,自己来做一个封装吧。其实结合例子更好,那么我就用一个小例子来引出这种设计模式。一个班级,有两类学生,A类:不学习,玩,但是玩的东西不一样,有的是做游戏,与的是...
阅读(335) 评论(0)

Java实现LRU缓存

1.CacheCache对于代码系统的加速与优化具有极大的作用,对于码农来说是一个很熟悉的概念。可以说,你在内存中new 了一个一段空间(比方说数组,list)存放一些冗余的结果数据,并利用这些数据完成了以空间换时间的优化目的,你就已经使用了cache。 有服务级的缓存框架,如memcache,redis等。其实,很多时候,我们在自己同一个服务内,或者单个进程内也需要缓存,例如,lucene就对搜...
阅读(415) 评论(1)

利用ServletContextListener 获取spring上下文

返回值说明 success: 当有结果时{ "msg": "success", "info": "ok", "status": "200", "data": data in json }...
阅读(4966) 评论(0)

Spring 整合 Quartz 实现动态定时任务(附demo)

最近项目中需要用到定时任务的功能,虽然Spring 也自带了一个轻量级的定时任务实现,但感觉不够灵活,功能也不够强大。在考虑之后,决定整合更为专业的Quartz来实现定时任务功能。普通定时任务首先,当然是添加依赖的jar文件,我的项目是maven管理的,以下的我项目的依赖: org.springframe...
阅读(31451) 评论(17)

七牛使用总结:图片流量优化压缩策略

图片流量优化压缩策略我们通常都希望使用七牛提供的服务对自己的图片进行压缩,这样可以在加载图片的时候减少下载流量,下面介绍一些常见的对图片进行压缩的方法:本例中用到的测试图片是:http://7xkr3o.com1.z0.glb.clouddn.com/testdemo.jpg大小:1.7 MB 分辨率:width: 790,height: 26821.使用我们的imageView2或者imageMo...
阅读(4751) 评论(1)

java中去掉html标签

使用正则表达式删除HTML标签。 import java.util.regex.Matcher; import java.util.regex.Pattern; public class HTMLSpirit{ public static String delHTMLTag(String htmlStr){ String regEx_script="...
阅读(3238) 评论(0)

JSON 介绍

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是JavaScript很容易解释它,而且 JSON 可以表示比”名称 / 值对”更复杂...
阅读(592) 评论(0)

反编译 Eclipse 中的class文件

先下载反编译插件和配置所需要的程序 反编译插件下载地址第一步 将 net.sf.jadclipse_3.3.0.jar复制到Eclipse的plugins目录下,重启Eclipse。第二步第三步第四步第五步最后在Eclipse里面打开Class文件检查是否成功。...
阅读(699) 评论(0)

MyBatis:Parameter Maps collection does not contain value for 的问题解决

报错:org.apache.ibatis.builder.xml.IncompleteStatementException: Could not find parameter map com.demo.sys.mapper.ModuleMapper.moduleMap at org.apache.ibatis.builder.MapperBuilderAssistant.setStat...
阅读(7123) 评论(0)

osgi与流行的框架(spring,struts,hibernate等)的集成

2.与流行的 JAVA B/S体系架构的集成  了解了基于osgi系统设计的基本思想,进一步来研究osgi与流行的框架(spring,struts,hibernate等)的集成,这里首先讲解一下集成原理。l        解决和spring的集成  由于spring的应用占据了大部分的java应用领域,所以解决与spring的集成是osgi必须解决的,spring-dm的推出大大促进了两者的结合,...
阅读(4199) 评论(0)

OSGi 学习之路 - 概述什么是OSGi框架

现在越来越多的Java开发人员在谈论OSGi是有其道理的。在几年前上学的时候我进行了比较多的Eclipse插件开发,当时就亲身感觉到Eclipse插件体系的灵活与强大,而该体系与OSGi也可谓一脉相承、同气连枝。最近打算重新系统的研究一下OSGi,一边学习一边写一个OSGi探秘系列作为总结,和大家分享,也请大家多给评价和建议。在这一篇里面,我想先回答一个基本的问题:什么是OSGi?其实如果要很好地...
阅读(1573) 评论(4)

Log4j2 与 SpringMVC 整合

log4j2不仅仅是log4j的简单升级,而是整个项目的重构,官网地址:http://logging.apache.org/log4j/2.x/,大家可以从官网的介绍看出它相比log4j第1代的种种优点。一、基本使用1.1 maven依赖项 1 dependency> 2 groupId>org.apache.logging.log4jgroupId> ...
阅读(6275) 评论(0)

将由BeanUtils的getProperty方法返回的Date对象的字符串表示还原为对象

现象描述:打算将由BeanUtils的getProperty方法返回的Date类型的字符串表示重新通过SimpleDateFormat转换成Date类型的对象老是失败,抛ParseException异常.分析:调用commons项目里的BeanUtils对象里的getProperty方法返回某个对象中的Date类型的成员变量.BeanUtil中对getProperty方法的描述如下:Return ...
阅读(1926) 评论(0)

java中使用反射获取pojo(实体)类的所有字段值

说起反射,不得不说它实在是太强大了,通过反射就可以轻轻松松拿到各种东东,如果你想在项目中解除对某个类的依赖,可以考虑用反射。       今天跟大家分享的是通过java中的反射,获取pojo类的所有字段值。       为什么要做这个操作的呢?主要是为了重写实体类的toString方法。有人会说,直接重写toString方法,返回字段.toString()的字符串不就行了。这么做的确可以,但是如果...
阅读(2294) 评论(0)

Eclipse快捷键 10个最有用的快捷键

Eclipse中10个最有用的快捷键组合 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升。    1. ctrl+shift+r:打开资源    这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*...
阅读(13245) 评论(5)

Nginx+Tomcat实现单IP、多域名、多站点的访问

最近帮朋友做了两个网站,预算很小很小.小到两个网站只能跑在一台512M内存的公网服务器上(tomcat+mysql,由于内存太小了,只能把两个网站部署在同一个tomcat上),每个网站有自己的域名,初步考虑使有nginx做反向代理,把两个域名映射到相应的应用上。因此就有了标题所说的“nginx多域名单服务器单IP单Tomcat不同应用”上的配置问题。Nginx介绍的废话就不多说了,在这里把配置文件...
阅读(1836) 评论(0)
62条 共4页1 2 3 4 下一页 尾页
    编程技术学习交流群 :154514123
    微信
    个人资料
    • 访问:514368次
    • 积分:7690
    • 等级:
    • 排名:第2888名
    • 原创:304篇
    • 转载:34篇
    • 译文:2篇
    • 评论:102条
    最新评论