作者归档

第七章.虚拟机类加载机制

类加载的生命周期

类加载的整个生命周期:加载–验证–准备–解析–初始化–使用–卸载 7个阶段,其中验证、准备、解析部分统称为连接。

类初始化的5中条件

1. 使用new关键字实例化对象的时候,读取或设置一个类的静态字段(该字段不被final修饰)的时候,以及调用一个类的静态方法的时候
2. 使用java.lang.reflect包的方法对类进行反射调用的时候
3. 当初始化一个类的时候,如果发现其父类还没有进行过初始化,则需要先初始化其父类
4. 当虚拟机启动的时候,用户需要指定一个要执行的主类,虚拟机需要先初始化这个主类
5. 当使用JSK1.7的动态语言支持时,如果一个java.lang.invoke.MethodHandle实例最后的解析结果REFgetStatic、REFputStatic、REF_invokeStatic的方法句柄,并且这个方法句柄说对应的类没有进行过初始化

阅读全文

《Apache RocketMQ用户指南》官方文档

RocketMQ–导读

原文链接        译者:小村长

最近两个项目中用到了RocketMQ消息中间件,每次都是在网上找几个Demo,而没有去看它的官方文档。年前面试某大型互联网企业。RocketMQ多有提及。今借此机会翻译一篇RocketMQ的官方文档。希望能够对大家的工作和学习有所帮助。

由于RocketMQ是互联网企业解耦常用的消息中间件,希望大家在使用的时候也多多思考几个问题:

第一,RocketMQ由几部分组成以及每个组件的作用。

第二,RocketMQ消息怎么保证可靠性以及高可用性。

第三,RocketMQ消息种类以及怎么保证消息有序。

最后,我还是建议有能力的童鞋能够自己去Apache RocketMQ官方看看。 阅读全文

《Apache RocketMQ用户指南》之过滤消息示例

消息过滤示例

原文链接        译者:小村长

在大多数情况下,tag是一种简单而有用的设计,用于选择所需的信息。 例如:

DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("CID_EXAMPLE");
consumer.subscribe("TOPIC", "TAGA || TAGB || TAGC");

消费者将收到包含TAGA或TAGB或TAGB的消息. 但限制是一条消息只能有一个标签,而这对于复杂的情况可能无效。 在这种情况下,您可以使用SQL表达式筛选出消息.

阅读全文

《Apache RocketMQ用户指南》之批量消息示例

批量消息示例

原文链接        译者:小村长

 

为什么选择批量消息?

批量发送消息可提高单次发送消息的性能.

阅读全文

《Apache RocketMQ用户指南》之日志追加消息示例

日志追加型日志示例

原文链接        译者:小村长

RocketMQ logappender提供log4j appender,log4j2 appender和logback appender供业务使用,下面是配置示例.

log4j

当使用log4j属性配置文件时,config如下.

log4j.appender.mq=org.apache.rocketmq.logappender.log4j.RocketmqLog4jAppender
log4j.appender.mq.Tag=yourTag
log4j.appender.mq.Topic=yourLogTopic
log4j.appender.mq.ProducerGroup=yourLogGroup
log4j.appender.mq.NameServerAddress=yourRocketmqNameserverAddress
log4j.appender.mq.layout=org.apache.log4j.PatternLayout
log4j.appender.mq.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-4r [%t] (%F:%L) %-5p - %m%n

阅读全文

《Apache RocketMQ用户指南》之日志追加消息示例

OpenMessaging Example

原文链接        译者:小村长

 

OpenMessaging,其中包括建立行业准则和消息传递,流式规范,为金融,电子商务,物联网和大数据领域提供通用框架。 设计原则是分布式异构环境中面向云,简单,灵活和独立于语言的设计原则。 符合这些规范将使在所有主要平台和操作系统上开发异构消息传递应用成为可能。

RocketMQ提供了OpenMessaging 0.1.0-alpha的部分实现,以下示例演示了如何基于OpenMessaging访问RocketMQ。

阅读全文

《Apache RocketMQ用户指南》之有序的消息示例

有序消息

原文链接      译者:小村长

RocketMQ使用FIFO队列提供有序消息.

以下示例演示发送/接收全局和分区有序消息。

阅读全文

《Apache RocketMQ用户指南》之简单消息示例

简单消息示例

原文链接        译者:小村长

 

通过三种方式来发送RocketMQ消息使用: 可靠的同步发送, 可靠的异步发送和单向传输。

这个页面举例说明了这三种消息发送方式. 根据示例找出最适合你的特定用例。

可靠的同步传输

应用:可靠的同步传输广泛应用于重要通知消息,短信通知,短信营销系统等..

阅读全文

《Apache RocketMQ用户指南》之广播消息示例

广播消息

原文链接        译者:小村长

什么是广播

广播是向所有用户发送消息。 如果您希望所有订阅者都能收到有关某个主题的消息,则广播是一个不错的选择。

阅读全文

《Apache RocketMQ用户指南》之定时消息示例

定时消息示例

原文链接       译者:小村长

什么是定时消息?

定时消息与正常消息的不同之处在于,它是在指定的时间后执行。

阅读全文

Spark Release 2.0.0发版概序

原文链接        译者:小村长

Spark2.0在2016年7月26日发布,因为工作中经常用到,所以对它关注比较多,正好今天”提前”下班,所以抽空翻译一下spark2.0发版概述,简单的介绍一下spark2.0的新特性和新变化。好吧,现在就让村长带领大家一起走进spark2.0的神秘殿堂。同时也希望更多的人参入进来,知识因为共享才变的有意义和价值。

阅读全文

Spark Release 2.0.0

原文链接        译者:小村长

Spark2.0在2016年7月26日发布,因为工作中经常用到,所以对它关注比较多,正好今天”提前”下班,所以抽空翻译一下spark2.0发版概述,简单的介绍一下spark2.0的新特性和新变化。好吧,现在就让村长带领大家一起走进spark2.0的神秘殿堂。同时也希望更多的人参入进来,知识因为共享才变的有意义和价值。

阅读全文

《Apache Common CLI官方文档》

原文链接      参考链接    译者:小村长

本篇文章是并发编程网组织的一次Apache Common组件翻译的一部分,因为无意中看到了Apache Common CLI感觉很好奇,因为这个工具很少在网上看到,当然或许我没有关注过。因为我之前也写过类似的CLI工具所以感觉情有独钟吧。所以让我来为大家揭开CLI的神秘面纱。

虽然各种人机交互技术飞速发展,但最传统的命令行模式依然被广泛应用于各个领域:从编译代码到系统管理,命令行因其简洁高效而备受宠爱。各种工具和系统都提供了详尽的使用手册,有些还提供示例说明如何二次开发。然而关于如何开发一个易用、强壮的命令行工具的文章却很少。

阅读全文

《Spark1.6.1官方文档》Spark1.6.1操作指南

原文链接   译者:小村长

本项目是 Apache Spark1.6.1方文档的中文翻译版,之前翻译过spark1.5,由于网站有组织翻译Spark1.6.1所以我又重新翻译了一下,我翻译的这一章和spark1.5一样。本次翻译主要针对对Spark感兴趣和致力于从事大数据方法开发的人员提供有价值的中文资料,希望能够对大家的工作和学习有所帮助。

这个翻译本应该在二月份完成,由于一直出差加上加班导致短短一篇文章迟迟没有完成,在此想大家表示深深的歉意。同时也希望有能力的童鞋能够一起努力推动大数据在中国的发展,让天下没有难学的技术谢谢大家。

阅读全文

Hadoop上小文件存储处理

原文链接   译者:小村长

Hadoop–小文件存储处理

本篇文章项目是Cloudera论坛中无意中看到的,虽然原文写于2009年,但是当前开来Hadoop的小文件存储方案并没有很好的解决方案,所以感觉作者写的很好,也很详细,于是就抽空翻译了。本次翻译主要针对对Hadoop感兴趣和工作中使用到Hadoop的开发人员提供有价值的中文资料,希望能够对大家的工作和学习有所帮助。
阅读全文

return top