
java
一朵时光轻流年
这个作者很懒,什么都没留下…
展开
-
activemq 对象的传输
JMS定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。· StreamMessage -- Java原始值的数据流· MapMessage--一套名称-值对· TextMessage--一个字符串对象· ObjectMessage--一个序列化的 Java对象· BytesMessa原创 2016-09-29 18:00:12 · 3136 阅读 · 0 评论 -
分布式和集群的区别
简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。例如:如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoo原创 2016-10-17 10:33:05 · 263 阅读 · 0 评论 -
java的synchronized简述
一段synchronized的代码被一个线程执行之前,他要先拿到执行这段代码的权限,在java里边就是拿到某个同步对象的锁(一个对象只有一把锁); 如果这个时候同步对象的锁被其他线程拿走了,他(这个线程)就只能等了(线程阻塞在锁池等待队列中)。 取到锁后,他就开始执行同步代码(被synchronized修饰的代码);线程执行完同步代码后马上就把锁还给同步对象,其他在锁池中等待的某个线程就可以拿到锁原创 2016-10-19 10:17:17 · 370 阅读 · 0 评论 -
悲观锁和乐观锁
1.悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系 统不会修改数据)。数据库锁机制:1 未提交读(read原创 2016-10-19 10:26:42 · 319 阅读 · 0 评论 -
threadlocal源码解析
早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。 从线原创 2016-10-19 10:55:43 · 509 阅读 · 0 评论 -
current保重的atomic解析
对于current中的automic应用,可以比较如下一段代码,他是线程安全的。通常的++操作会涉及到先get 再add的操作,是两个步骤的操作,所以在多线程操作的时候,会导致计数结果不准确。通常总数会小于我们期望的数值。而使用atomic类,在底层采用了cas的原子指令:(引用)CAS通过调用JNI的代码实现的。JNI:Java Native Interface为JAVA本地调用,允许j原创 2016-10-20 10:39:25 · 350 阅读 · 0 评论 -
CAS原理浅析(转载)
java.util.concurrent包完全建立在CAS之上的,没有CAS就不会有此包。可见CAS的重要性。CASCAS:Compare and Swap, 翻译成比较并交换。 java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁的一种乐观锁。CAS应用CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值转载 2016-10-20 11:00:11 · 373 阅读 · 0 评论 -
AQS的转载:经典http://www.cnblogs.com/jinspire/p/3172974.html
http://www.cnblogs.com/jinspire/p/3172974.html转载 2016-10-20 11:12:29 · 600 阅读 · 0 评论 -
Java GC工作原理以及Minor GC、Major GC、Full GC简单总结
名词解释:GC:垃圾收集器Minor GC:新生代GC,指发生在新生代的垃圾收集动作,所有的Minor GC都会触发全世界的暂停(stop-the-world),停止应用程序的线程,不过这个过程非常短暂。Major GC/Full GC:老年代GC,指发生在老年代的GC。JVM:Java Virtual Machine(Java虚拟机)的缩写。正文: 堆 众所周知,所有通过new创建的对象原创 2016-10-20 11:35:19 · 417 阅读 · 0 评论 -
JVM内存模型
今天闲来无事来,看一下Java中的内存模型和垃圾回收机制的原理,关于这个方面的知识,网上已经有很多现成的资料可以供我们参考,但是知识还是比较杂的,在这部分知识点中有一本书不得不推荐:《深入理解Java虚拟机》,现在已经是第二版了。这本书就从头开始详细介绍了Java整个虚拟机的模型以及Java的类文件结构,加载机制等。这里大部分的知识点都是可以在这本书中找到的,当然我是主要还是借鉴这本书中的很多内容的转载 2016-10-20 11:37:45 · 348 阅读 · 0 评论 -
java concurrent包简介
说一说java的concurrent包1-concurrent包简介前面一个系列的文章都在围绕hash展开,今天准备先说下concurrent包,这个系列可能会以使用场景说明为主,concurrent包本身的代码分析可能比较少; 我在这方面的实践经验较为有限,有错误欢迎批评指正 不过前一个系列并未结束,还有一些文章没有放出来,欢迎关注核桃博客 concurrent包是jdk1.5引入的重要的包,主转载 2016-10-20 11:15:11 · 572 阅读 · 1 评论 -
activemq-all.jar包引入导致slf4j冲突的解决办法
采用原生的jar包在eclipse中。打开apache-activemq-5.8.0\lib目录 拷贝 activemq-broker-5.8.0.jar activemq-client-5.8.0.jar geronimo-j2ee-management_1.1_spec-1.0.1.jar geronimo-jms_1.1_spec-1.1.1.jar slf4j-原创 2016-09-29 15:04:04 · 7933 阅读 · 1 评论 -
http://blog.sina.com.cn/s/articlelist_3155692380_0_1.html
这是我老博客原创 2016-10-14 11:27:31 · 3463 阅读 · 0 评论 -
分布式系统事务一致性解决方案
分布式系统事务一致性解决方案本文首发于InfoQ,版权所有,请勿转载!!!http://www.infoq.com/cn/articles/solution-of-distributed-system-transaction-consistency开篇在OLTP系统领域,我们在很多业务场景下都会面临事务一致性方面的需求,例如最经典的Bob给Smith转账的案例。传统转载 2016-09-09 12:29:38 · 15821 阅读 · 3 评论 -
linux查看端口被占用情况
今天发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用。使用命令:ps -aux | grep tomcat发现并没有8080端口的Tomcat进程。使用命令:netstat –apn查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name 发现8080端口被PID为9658的Java进转载 2016-08-30 10:01:53 · 693 阅读 · 0 评论 -
linux - centos下boost库的安装
之前用ubuntu都是apt-get install,centos没有这个工具,用yum装也差不多:yum install boost yum install boost-devel yum install boost-doc原创 2016-09-13 15:13:59 · 667 阅读 · 0 评论 -
linux安装automake
工具/原料autoconf 2.69CentOS 6.4valgrind 3.10.1automake 1.14安装autoconf1打开页面:http://ftp.gnu.org/gnu/autoconf下载autoconf-2.69.tar.gz或者输入命令:转载 2016-09-13 17:02:18 · 8195 阅读 · 0 评论 -
淘宝存储系统tair的安装
1. 简介 tair 是淘宝自己开发的一个分布式 key/value 存储引擎. tair 分为持久化和非持久化两种使用方式. 非持久化的 tair 可以看成是一个分布式缓存. 持久化的 tair 将数据存放于磁盘中. 为了解决磁盘损坏导致数据丢失, tair 可以配置数据的备份数目, tair 自动将一份数据的不同备份放到不同的主机上, 当有主机发生异常, 无法正常提供服务的时原创 2016-09-13 17:03:33 · 1021 阅读 · 0 评论 -
微服务架构的基础框架选择:Spring Cloud还是Dubbo
最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论 微服务架构 。近期也看到各大技术社区开始组织一些沙龙和论坛来分享Spring Cloud的相关实施经验,这对于最近正在整理Spring Cloud相关套件内容与实例应用的我而言,还是有不少激励的。目前,Spring Cloud在国内的知名度并不高,在前阵子的求职过程中,与一些互联网公司的架构师、技术VP或者CTO在转载 2016-09-04 15:20:38 · 1598 阅读 · 0 评论 -
消息中间件的技术选型心得-RabbitMQ、ActiveMQ和ZeroMQ
RabbitMQ、ActiveMQ和ZeroMQ都是极好的消息中间件,但是我们在项目中该选择哪个更适合呢?很多开发者面临这个烦恼。下面我会对这三个消息中间件做一个比较,看了后你们就心中有数了。RabbitMQ是AMQP协议领先的一个实现,它实现了代理(Broker)架构,意味着消息在发送到客户端之前可以在中央节点上排队。此特性使得RabbitMQ易于使用和部署,适宜于很多场景如路由、负载均原创 2016-09-20 11:15:11 · 582 阅读 · 0 评论 -
hashmap存储结构解析
1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的)。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。2. HashMap的数据结构: 在java编程语言中,最基本的结构原创 2016-10-10 11:24:03 · 1034 阅读 · 0 评论 -
spring @conditional注解的使用
@Conditional根据满足某一个条件创建一个特定的Bean。比如说当一个jar包在一个类路径下时,自动配置一个或多个Bean,或者只有某个Bean被创建时才会创建另一个Bean。Spring Boot中将大量使用到进行一些自动配置。以下示例根据不同操作系统作为条件,实现condition接口重写matches方法判断条件,若在windows下运行则输出列表命令dir,若在linux下则输原创 2016-10-24 10:24:41 · 939 阅读 · 0 评论 -
activemq jdbc-master/slave集群搭建和客户端消费说明
1、下载activemq客户端至linux系统,可以定义两个目录,在一台机器或者两台机器上都行。举例:建立目录mq/activemq1和mq/activemq22、解压安装mq,tar -xvf .......tar.gz3、修改配置文件: /usr/mq/activemq2/apache-activemq-5.14.0/conf/active.xml文件和/usr/mq/原创 2016-09-29 17:38:13 · 2656 阅读 · 0 评论 -
activemq-consumer示例
配置文件:queue1class="org.springframework.jms.listener.DefaultMessageListenerContainer">实现监听类:import javax.jms.JMSException;import javax.jms.M原创 2016-10-08 17:00:22 · 312 阅读 · 0 评论