自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

转载 ActiveMQ入门实例(2)

ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。 ActiveMQ特性列表 1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, P

2016-10-31 22:58:30 430

转载 ActiveMQ入门实例(1)

1.下载ActiveMQ去官方网站下载:http://activemq.apache.org/2.运行ActiveMQ解压缩apache-activemq-5.5.1-bin.zip,然后双击apache-activemq-5.5.1\bin\activemq.bat运行ActiveMQ程序。启动ActiveMQ以后,登陆:http://localhost:81

2016-10-31 22:56:24 249

转载 ActiveMq集成spring

ActiveMQ 是 Apache 出品,最流行的、能力强劲的开源消息总线。ActiveMQ 是一个完全支持 JMS1.1 和 J2EE 1.4 规范的 JMS Provider 实现,可以很容易内嵌到使用Spring的系统里面去,所以我们选择它。一些基础的准备工作先去官网下载服务器端的安装包,地址:http://activemq.apache.org/activemq-5130-

2016-10-30 00:50:31 538

转载 消息队列中点对点与发布订阅区别

JMS一个在 Java标准化组织(JCP)内开发的标准(代号JSR 914)。2001年6月25日,Java消息服务发布JMS 1.0.2b,2002年3月18日Java消息服务发布 1.1. Java消息服务(Java Message Service,JMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。 

2016-10-23 00:01:03 1193

转载 常见ETL工具一览,你知多少?

这些年,几乎都与ETL打交道,接触过多种ETL工具。现将这些工具做个整理,与大家分享。一 ETL工具【国外】1. datastage点评:最专业的ETL工具,价格不菲,使用难度一般下载地址:ftp://ftp.seu.edu.cn/Pub/Develop ... taStage.v7.5.1A-iSOBT种子下载:http://pan.baidu.com

2016-10-19 10:46:06 1028

转载 图解Tomcat类加载机制

图解Tomcat类加载机制  说到本篇的tomcat类加载机制,不得不说翻译学习tomcat的初衷。  之前实习的时候学习javaMelody的源码,但是它是一个Maven的项目,与我们自己的web项目整合后无法直接断点调试。后来同事指导,说是直接把java类复制到src下就可以了。很纳闷....为什么会优先加载src下的java文件(编译出的class),而不

2016-10-18 16:16:04 413

转载 线程上下文类加载器

1 线程上下文类加载器  线程上下文类加载器(context class loader)是从 JDK 1.2 开始引入的。类 Java.lang.Thread中的方法 getContextClassLoader()和 setContextClassLoader(ClassLoader cl)用来获取和设置线程的上下文类加载器。如果没有通过 setContextClassLo

2016-10-18 16:14:12 405

转载 JVM类型以及编译器模式

现在的JVM运行Java程序(和其它的兼容性语言)时在高效性和稳定性方面做的非常出色。自适应内存管理、垃圾收集、即时编译、动态类加载、锁优化——这里仅仅列举了某些场景下会发生的神奇的事情,但他们几乎不会直接与普通的程序员相关。在运行时,JVM会不断的计算并优化应用或者应用的某些部分。虽然有了这种程度的自动化(或者说有这么多自动化),但是JVM仍然提供了足够多的外部监控和手动调优工具。在有错

2016-10-16 22:43:21 325

转载 多线程join学习

对于Java开发人员,多线程应该是必须熟练应用的知识点,特别是开发基于Java语言的产品。本文将深入浅出的表述Java多线程的知识点,在后续的系列里将侧重于Java5由Doug Lea教授提供的Concurrent并行包的设计思想以及具体实现与应用。    如何才能深入浅出呢,我的理解是带着问题,而不是泛泛的看。所以该系列基本以解决问题为主,当然我也非常希望读者能够提出更好的解决问题的

2016-10-16 21:20:15 283

转载 触发Full GC执行的情况

除直接调用System.gc外,触发Full GC执行的情况有如下四种。1. 旧生代空间不足旧生代空间只有在新生代对象转入及创建为大对象、大数组时才会出现不足的现象,当执行Full GC后空间仍然不足,则抛出如下错误:java.lang.OutOfMemoryError: Java heap space 为避免以上两种状况引起的FullGC,调优时应尽量做到让对象在

2016-10-15 00:15:51 333

转载 Eclipse调试JDK看不到变量的值是什么

原文地址:http://stackoverflow.com/questions/18255474/debug-jdk-source-cant-watch-variable-what-it-is问题效果图:解决后的效果:具体步骤:1.制作可调试的rt.jar包1.1 .在D盘新建jdk7_src及jdk7_rt-de

2016-10-14 23:39:44 1544 1

转载 并行性和并发性的区别

并行性包含同时性和并发性,前者是指两个或多个事件在同一时刻发生,后者是指两个或多个事件在同一时间段内发生。  计算机操作系统中把并行性和并发性明显区分开,主要是从微观的角度来说的,具体是指进程的并行性(多处理机的情况下,多个进程同时运行)和并发性(单处理机的情况下,多个进程在同一时间间隔运行的)。  计算机组成原理主要是从宏观的角度来看的,并发性在用户看来也是并行的,故并行性包含了

2016-10-13 23:37:58 1132

转载 关于垃圾回收的几个错误认识

当我还是小孩子的时候我的父母经常在我不学习的时候告诉我,如果不好好学习以后就要去去清理垃圾。然而,他们却不知道清理垃圾真是一件很棒的事(因为有了清洁工人我们的世界才变的这么干净,要不然你能想像吗?向清洁工致敬。)。也许正因为此在java开发者中对垃圾回收GC充满很多疑问:GC是怎么工作的、GC对我的应用程序起到怎样的作用、我能为此做什么。在性能调优指南中,我们收集了一些关于垃圾收集的认识,

2016-10-12 22:09:59 707

转载 GC算法精解(复制算法与标记/整理算法)

复制算法          我们首先一起来看一下复制算法的做法,复制算法将内存划分为两个区间,在任意时间点,所有动态分配的对象都只能分配在其中一个区间(称为活动区间),而另外一个区间(称为空闲区间)则是空闲的。         当有效内存空间耗尽时,JVM将暂停程序运行,开启复制算法GC线程。接下来GC线程会将活动区间内的存活对象,全部复制到空闲区间,且严格按照内存地址依次

2016-10-11 22:40:43 963 1

转载 GC算法精解(分代搜集算法)

引言          何为终极算法?         其实就是现在的JVM采用的算法,并非真正的终极。说不定若干年以后,还会有新的终极算法,而且几乎是一定会有,因为LZ相信高人们的能力。         那么分代搜集算法是怎么处理GC的呢? 对象分类          上一章已经说过,分代搜集算法是针对对象的不同特性,而使用适合的算法,

2016-10-11 22:38:57 548

转载 GC算法精解(清除算法)

下面即将与各位分享的,是GC算法中最基础的算法------标记/清除算法。如果搞清楚这个算法,那么后面两个就完全是小菜一碟了。       首先,我们回想一下上一章提到的根搜索算法,它可以解决我们应该回收哪些对象的问题,但是它显然还不能承担垃圾搜集的重任,因为我们在程序(程序也就是指我们运行在JVM上的JAVA程序)运行期间如果想进行垃圾回收,就必须让GC线程与程序当中的线程互相配合,才能

2016-10-11 22:36:58 276

转载 垃圾搜集器参数精解

垃圾搜集器选择参数           UseSerialGC:开启此参数使用serial & serial old搜集器(client模式默认值)。          UseParNewGC:开启此参数使用ParNew & serial old搜集器(不推荐)。          UseConcMarkSweepGC:开启此参数使用ParNew & CMS(ser

2016-10-11 22:34:39 299

转载 内核态和用户态的区别

当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态)。此时处理器处于特权级最高的(0级)内核代码中执行。当进程处于内核态时,执行的内核代码会使用当前进程的内核栈。每个进程都有自己的内核栈。当进程在执行用户自己的代码时,则称其处于用户运行态(用户态)。即此时处理器在特权级最低的(3级)用户代码中运行。当正在执行用户程序而突然被中断程序中断时,此时用户程序

2016-10-08 15:25:13 1542

转载 JVM的重排序

重排序通常是编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段。重排序分为两类:编译期重排序和运行期重排序,分别对应编译时和运行时环境。在并发程序中,程序员会特别关注不同进程或线程之间的数据同步,特别是多个线程同时修改同一变量时,必须采取可靠的同步或其它措施保障数据被正确地修改,这里的一条重要原则是:不要假设指令执行的顺序,你无法预知不同线程之间的指令会以何种顺序执

2016-10-06 16:31:26 660

转载 Callable、Future和FutureTask

创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。  这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。  如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。  而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。

2016-10-06 13:13:49 302

空空如也

空空如也

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

TA关注的人

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