`
sunhuaer123
  • 浏览: 6355 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Java并行开发笔记2

    博客分类:
  • java
阅读更多

可变的Point类

@NotThreadSafe
public class MutablePoint{

   public int x,y;

   public MutablePoint(){x=0;y=0;}
   public MutablePoint(MutablePoint p){
      this.x=p.x;
      this.y=p.y;
   }
}

 不可变的Point类

@Immutable
public class Point{

   public final int x,y;

   public Point(int x, int y){
      this.x = x;
      this.y = y;
   }


}

 线程安全且可变的Point类

@ThreadSafe
public class SafePoint{
   @GuardedBy("this") private int x,y;

    private SafePoint(int [] a) {this(a[0],a[1]);}

    public SafePoint(SafePoint p) { this(p.get()); }

    public SafePoint(int x, int y)
    {
        this.x = x;
        this.y = y;
    }

    public synchronized int[] get() {
         return new int[] { x, y};
    }

    public synchronized void set(int x, int y) {
         this.x = x;
         this.y = y;
    }
}

 

 

分享到:
评论

相关推荐

    java精华学习笔记

    Java精华学习笔记主要涵盖了Java编程语言的核心概念、关键特性以及实战技巧。这些笔记是作者在深入学习Java过程中积累的经验总结,旨在帮助初学者快速...通过深入学习和实践,可以逐步精通Java编程,应对各种开发挑战。

    B站java狂神说笔记

    【Java狂神说笔记】是针对Java开发语言深入学习的一份综合笔记,涵盖了广泛的Java相关知识点,适合初学者和有一定经验的开发者进行提升。这份笔记的PDF版本详细讲解了Java的基础概念、进阶特性和实战应用,旨在帮助...

    java学习好用的笔记

    Java是一种广泛使用的面向对象的编程...通过系统学习和实践,初学者可以逐步掌握Java编程,为后续的软件开发和系统设计打下坚实的基础。在阅读笔记时,结合实际编写代码,不断练习和调试,是提升Java技能的最佳途径。

    Java JDK 7学习笔记 PDF

    Java JDK 7是Java开发工具包的一个重要版本,它的全称是Java Development Kit,是用于构建和运行Java应用程序的关键组件。这个PDF学习笔记是开发者深入理解JDK 7特性和功能的重要参考资料。以下是对Java JDK 7的一些...

    达内core_java学习笔记

    理解线程的并发执行、同步机制(如synchronized关键字和Lock接口)以及线程通信,对于开发高效并行程序非常重要。 九、反射与注解 反射机制允许在运行时动态地获取类的信息并操作类的对象。注解是一种元数据,用于...

    李兴华java1.8视频笔记

    反射机制在Java中的应用广泛,特别是在框架开发和各种底层API中。 类集框架是Java集合框架的简称,提供了表示和操作集合的接口和类。Java集合框架主要包括Collection接口和Map接口,以及它们的多个子接口和实现类。...

    java JDK 8学习笔记

    Java JDK 8是Java开发工具集的一个重要版本,它的发布带来了许多创新特性和改进,极大地提升了开发者的工作效率。本学习笔记旨在深入解析JDK 8的关键特性,帮助初学者快速掌握这一版本的核心知识。 1. **lambda...

    java8学习笔记

    标题“java8学习笔记”表明了这是一份关于Java 8版本的学习资料,Java 8是Java编程语言的一个重要版本,它在2014年发布,包含了许多新的特性,例如lambda表达式、新的日期时间API、Stream API、接口中的默认方法和...

    最全的java学习笔记(必看).pdf

    Java中的线程是程序执行流的最小单位,提供并行计算的能力。Thread类用于表示线程,可以通过创建Thread类的子类或实现Runnable接口来创建线程。 JDK的安装和配置对于Java开发至关重要。路径(PATH)和类路径...

    Java堆栈内存分析笔记

    2. **MAT (Memory Analyzer Tool)**:IBM开发的内存分析工具,能帮助定位内存泄漏,提供详细的内存消耗报告。 3. **JConsole**:另一个JDK自带的工具,用于监视JVM的性能,包括内存使用情况。 4. **代码优化**:...

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

     《java jdk 7学习笔记》适合java的初中级读者,以及广大java应用开发人员。 作译者 林信良(网名:良葛格) 学历:台湾大学电机工程学系 经历:台湾升阳教育训练技术顾问、专业讲师,oracle授权训练中心讲师 ...

    Java大数据课程核心笔记

    J2SE(Java 2 Standard Edition)是Java的基础平台,包含了开发和部署桌面应用所需的所有工具和库。在Java大数据课程中,J2SE的知识是必不可少的起点,因为它是所有Java应用程序的基础。 首先,让我们来探讨Java的...

    Java与生活-Markdown格式的笔记

    涵盖了Java的各个方面,包括但不限于IO流(模拟生活中的数据传输)、线程(如同生活中的并行任务)、网络编程(如互联网上的通信)以及Java的库和框架(如Spring框架在软件开发中的角色,就像生活中的基础设施,简化...

    java高并发笔记.docx

    【Java高并发笔记】 在Java开发中,处理高并发场景是一项关键技能,涉及到多个核心概念。以下是关于同步、异步、并发、并行、临界区、阻塞、非阻塞以及死锁、饥饿和活锁的详细解释。 1. **同步与异步** - **同步*...

    随时更新-小白实习生的Java学习笔记.rar

    Java是世界上最流行的编程语言之一,尤其在企业级应用开发中占据主导地位。这份"随时更新-小白实习生的Java学习笔记.rar"压缩包包含了实习生在学习Java过程中积累的知识点,主要涵盖了Java的基础、数据库操作、多...

    Java JDK 8学习笔记 带完整书签(不是页码书签哦)

    在Java JDK 8中,引入了一系列重大更新,极大地提升了开发效率和代码的可读性。首先,书中会详细讲解Lambda表达式,这是Java 8的核心特性之一。Lambda允许将匿名函数作为方法参数传递,简化了多线程编程和事件处理,...

    黑马程序员_java8新特性详解笔记和源码

    Java 8是Java语言发展的一个重要里程碑,引入了许多创新性的特性和改进,极大地提升了开发效率和代码质量。本文将深入探讨Java 8的三大关键新特性:接口的默认方法实现、Lambda表达式以及一系列相关的变化。 一、...

    实战Java高并发程序设计 .pdf 下载

    在过去单核CPU时代,单任务在一个时间点只能执行单一程序,随着多核CPU的发展,并行程序开发就显得尤为重要。 《实战Java高并发程序设计》主要介绍基于Java的并行程序设计基础、思路、方法和实战。第一,立足于...

    Java JDK 7学习笔记 完整扫描版

    Java JDK 7(Java Development Kit 7)是Java编程语言的一个重要版本,由Sun Microsystems(后被Oracle公司收购)开发,并于2011年7月28日正式发布。这个版本引入了一系列新特性、改进和优化,旨在提升开发者的工作...

Global site tag (gtag.js) - Google Analytics