Archive for the ‘ JAVA ’ Category

JAVA互斥锁(synchronized&Lock):行为分析及源码

JVM中有这样一段注释:

// The base-class, PlatformEvent, is platform-specific while the ParkEvent is
// platform-independent.  PlatformEvent provides park(), unpark(), etc., and
// is abstract -- that is, a PlatformEvent should never be instantiated except
// as part of a ParkEvent.
// Equivalently we could have defined a platform-independent base-class that
// exported Allocate(), Release(), etc.  The platform-specific class would extend
// that base-class, adding park(), unpark(), etc.
//
// A word of caution: The JVM uses 2 very similar constructs:
// 1. ParkEvent are used for Java-level "monitor" synchronization.
// 2. Parkers are used by JSR166-JUC park-unpark.
//
// We'll want to eventually merge these redundant facilities and use ParkEvent.

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: JAVA互斥锁(synchronized&Lock):行为分析及源码



并发队列中迭代器弱一致性原理探究

一、前言

并发队列里面的Iterators是弱一致性的,next返回的是队列某一个时间点或者创建迭代器时候的状态的反映。当创建迭代器后,其他线程删除了该元素时候并不会抛出java.util.ConcurrentModificationException异常,能够保持创建迭代器后的元素一定被正确的next出来。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 并发队列中迭代器弱一致性原理探究



Java NIO系列教程(十 五)Java NIO Path

原文链接  译者:章筱虎

Path接口是java NIO2的一部分。首次在java 7中引入。Path接口在java.nio.file包下,所以全称是java.nio.file.Path。 java中的Path表示文件系统的路径。可以指向文件或文件夹。也有相对路径和绝对路径之分。绝对路径表示从文件系统的根路径到文件或是文件夹的路径。相对路径表示从特定路径下访问指定文件或文件夹的路径。相对路径的概念可能有点迷糊。不用担心,我将在本文的后面详细介绍相关细节。

不要将文件系统的path和操作系统的环境变量path搞混淆。java.nio.file.Path接口和操作系统的path环境变量没有任何关系。

在很多方面,java.nio.file.Path接口和java.io.File有相似性,但也有一些细微的差别。在很多情况下,可以用Path来代替File类。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Java NIO系列教程(十 五)Java NIO Path



《Maven官方文档》目录指南

原文链接   译者:carvendy

文档

Maven入门

介绍

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Maven官方文档》目录指南



《Maven官方文档》使用镜像仓库

原文链接  译者:carvendy

使用镜像仓库

在你指定的仓库中选择你想下载的确定工具,利润依赖或者maven插件。仓库可以什么在项目里,意味着如果你有一个自定义仓库,你将分析你的项目和容易地获取正确的配置。可是,你可能想使用一些可替换的镜像来作为特殊仓库而不改变项目文件。

使用镜像的一些原因:

  • 这是一个在网络上同步的镜像,位置很近也很快。
  • 你想替换掉一个特别的仓库使用你自己的网络仓库将会有更好的控制权
  • 你想使用仓库管理来提供本地缓存镜像,需要使用它的URL。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Maven官方文档》使用镜像仓库



《Spring 5 官方文档》22. WebSocket Support

原文链接  译者信息:Dan  QQ:903585177

22. WebSocket 支持

参考文档的这一部分涵盖了Spring框架对Web应用程序中WebSocket风格消息传递的支持,包括使用STOMP作为应用程序级WebSocket子协议。

Section 22.1, “Introduction” 建立一个WebSocket的大致框架,涵盖应用挑战,设计考虑以及何时适合的想法。

Section 22.2,“WebSocket API” 介绍了服务端的Spring WebSocket API,Section 22.3,“SockJS Fallback Options” 介绍了SockJS 协议,并且展示如何配置和使用它.

Section 22.4.1, “Overview of STOMP” 介绍 STOMP 信息协议. Section 22.4.2, “Enable STOMP over WebSocket” 展示如何在Spring配置STOMP. Section 22.4.4, “Annotation Message Handling” 以下部分说明如何编写注释消息处理方法,发送消息,选择消息代理选项,以及与特殊“用户”目的地的工作. 最后, Section 22.4.18,“Testing Annotated Controller Methods” 列出了测试STOMP / WebSocket应用程序的三种方法.

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Spring 5 官方文档》22. WebSocket Support



《TensorFlow官方文档》翻译邀请

TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。人工智能已经是越来越火的技术,6月份并发网组织大家翻译《TensorFlow官方文档》(需要翻墙),本次翻译快速开始部分,后续翻译编程指南官方教程,欢迎有兴趣的同学参与。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《TensorFlow官方文档》翻译邀请



《Spring官方文档》17.利用O/X映射器编组XML

原文链接 译者:kdmhh

17. 利用O/X映射器编组XML

17.1 引言

这一章,我们将介绍Spring对对象/XML映射器的支持。对象/XML映射器或者简称O/X映射器,是一种在XML文档和对象之间互相转换的行为。这种转换过程也叫做XML编组或者XML序列化。本章将交替使用这两种术语。

在O/X映射器中,编组是指把对象序列化为XML的过程。同样,解组是指XML反序列化为对象,XML可以是DOM文档、输入输出流或者SAX处理程序。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Spring官方文档》17.利用O/X映射器编组XML



子线程优雅调用父线程RequestScope作用域Bean问题的探究

 

一、前言

最近我们组在做项目分层模块化项目调研,就产生一个问题如何在开启的线程中不破坏使用习惯情况下使用请求线程里面的RequestScope作用域的bean,感觉这个问题比较有意思就研究并整理下一下,以便备忘,下面从最基础知识将起,一步步引入问题和解决方法

Read more



《Maven官方指南》Maven 配置

原文链接      译者:carvendy

Maven 配置

Maven 配置发生有三个级别:

  • Project – 静态配置在pom.xml
  • Installtion – 这个配置在maven的一次安装中
  • User – 这个配置指定部分用户

这样区分就清晰了 – 项目定义信息应用于项目,无论是谁构建它,当其他人也从定义了一些配置作为环境变量。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Maven官方指南》Maven 配置



高并发编程必备基础

一、前言

借用Java并发编程实践中的话”编写正确的程序并不容易,而编写正常的并发程序就更难了”,相比于顺序执行的情况,多线程的线程安全问题是微妙而且出乎意料的,因为在没有进行适当同步的情况下多线程中各个操作的顺序是不可预期的,本文算是对多线程情况下同步策略的一个简单介绍。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 高并发编程必备基础



Java中线程池ThreadPoolExecutor原理探究

一、 前言

线程池主要解决两个问题:一方面当执行大量异步任务时候线程池能够提供较好的性能,这是因为使用线程池可以使每个任务的调用开销减少(因为线程池线程是可复用的)。另一方面线程池提供了一种资源限制和管理的手段,比如当执行一系列任务时候对线程的管理,每个ThreadPoolExecutor也保留了一些基本的统计数据,比如当前线程池完成的任务数目。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Java中线程池ThreadPoolExecutor原理探究



并发队列-有界阻塞队列ArrayBlockingQueue原理探究

一、 前言

上节介绍了无界链表方式的阻塞队列LinkedBlockingQueue,本节来研究下有界使用数组方式实现的阻塞队列ArrayBlockingQueue

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 并发队列-有界阻塞队列ArrayBlockingQueue原理探究



并发队列-无界非阻塞队列ConcurrentLinkedQueue原理探究

一、 前言

常用的并发队列有阻塞队列和非阻塞队列,前者使用锁实现,后者则使用CAS非阻塞算法实现,使用非阻塞队列一般性能比较好,下面就看看常用的非阻塞ConcurrentLinkedQueue是如何使用CAS实现的。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 并发队列-无界非阻塞队列ConcurrentLinkedQueue原理探究



《Maven官方指南》模型指南

原文链接     译者:carvendy

模型指南

模型是一个从简单模板生成源码的工具。从简单模板你可以生成这些:

  • Java源码
  • XML序列化源码模型
  • XML反序列化源码模型
  • 模型文档
  • XSD

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Maven官方指南》模型指南



return top