原文网址 基本模式 当你在一个应用程序或者一个servlet里,或者在其他任何一个地方使用Velocity时,通常按照如下方式处理: 初始化Velocity。Velocity可以使用两种模式,作为“单独的运行时实例”的单例模式(在下面的内容会介绍),你仅仅只需要初始化一次。 创建一个Context对象(后面会介绍这是什么)。 把你的数据对象添加到Context(上下文)。 选择一个模板。 ‘合并’

Velocity  

原文链接 作者:Apache官方 译者:雷志远 校对:方腾飞 Velocity允许你指定模板的字符集编码,并且非常简单。常用的resource API已经支持把编码作为入参。代码如下: org.apache.velocity.app.Velocity: public static Template getTemplate(String name, String encoding) public s

JAVA  

欢迎各位光临并发编程网,并发网最近几年一直致力于翻译优秀的技术文章,从未间断,并发网从本月开始计划组织翻译各个技术框架的官方指南,本月组织翻译Apache Velocity官方指南。Velocity是在阿里巴巴和支付宝等公司被广泛使用的一种基于Java的模板引擎,有兴趣翻译的同学请在评论中回复翻译章节和完成时间,翻译完之后提交到并发编程网,网站使用指南请参考:如何投稿。 Introduction

JAVA  

原文链接 作者:Dimitris Andreou  译者:魏嘉鹏 校对:方腾飞 RateLimiter 从概念上来讲,速率限制器会在可配置的速率下分配许可证。如果必要的话,每个acquire() 会阻塞当前线程直到许可证可用后获取该许可证。一旦获取到许可证,不需要再释放许可证。 校对注:RateLimiter使用的是一种叫令牌桶的流控算法,RateLimiter会按照一定的频率往桶里扔令牌,线程拿

guava   JAVA   并发译文   Concurrent   Guava   RateLimiter  

原文地址  原文作者:Benjamin Winterberg 译者:张坤 欢迎阅读我的Java8并发教程的第一部分。这份指南将会以简单易懂的代码示例来教给你如何在Java8中进行并发编程。这是一系列教程中的第一部分。在接下来的15分钟,你将会学会如何通过线程,任务(tasks)和 exector services来并行执行代码。 第一部分:Threads和Executors 第二部分:同步和锁 并

JAVA   并发译文   concurrency  

几天前,我偶然地将之前写的用来测试AtomicInteger和synchronized的自增性能的代码跑了一下,意外地发现AtomicInteger的性能比synchronized更好了,经过一番原因查找,有了如下发现: 在jdk1.7中,AtomicInteger的getAndIncrement是这样的: public final int getAndIncrement() {

JAVA   本站原创   CAS   java8   Synchronized   多线程  

原文链接 作者: Jakob Jenkov 译者: 林威建 [weakielin@gmail.com] 并发系统可以采用多种并发编程模型来实现。并发模型指定了系统中的线程如何通过协作来完成分配给它们的作业。不同的并发模型采用不同的方式拆分作业,同时线程间的协作和交互方式也不相同。这篇并发模型教程将会较深入地介绍目前(2015年,本文撰写时间)比较流行的几种并发模型。 并发模型与分布式系统之间的相似

JAVA   并发译文   concurrency  

原文链接  作者: Jakob Jenkov 译者: 林威建[weakielin@gmail.com] Java中的ThreadLocal类允许我们创建只能被同一个线程读写的变量。因此,如果一段代码含有一个ThreadLocal变量的引用,即使两个线程同时执行这段代码,它们也无法访问到对方的ThreadLocal变量。 如何创建ThreadLocal变量 以下代码展示了如何创建一个ThreadLo

JAVA   并发译文   concurrency   thread  

原文地址 作者:James Bloom 译者:张坤 理解在Java虚拟机中Java代码如何别被编译成字节码并执行是非常重要的,因为这可以帮助你理解你的程序在运行时发生了什么。这种理解不仅能确保你对语言特性有逻辑上的认识而且做具体的讨论时可以理解在语言特性上的妥协和副作用。 这篇文章讲解了在Java虚拟机上Java代码是如何编译成字节码并执行的。想了解JVM内部架构和在字节码执行期间不同内存区域之间

JAVA   JVM   并发译文  

原文链接 作者:Nikita Salnikov-Tarnovski   译者:Amanda    校对: “你好,你能过来看看帮我解决一个奇怪的问题么。”就是这个技术支持案例使我想起写下这篇帖子。眼前的这个问题就是关于不同工具对于可用内存大小检测的差异。 其实就是一个工程师在调查一个应用程序的过高的内存使用情况时发现,尽管该程序已经被指定分配2G堆内存,但是JVM检测工具似乎并不能确定进程实际能用

JAVA   JVM  
2 3 4 5 6 7 8 9 10