#深入浅出WPF

深入浅出 Java Concurrency (8): 加锁的原理 (Lock.lock)

接上篇,这篇从Lock.lock/unlock开始。特别说明在没有特殊情况下所有程序、API、文档都是基于JDK6.0的。publicvoidjava.util.concurrent.locks.ReentrantLock.lock()获取锁。如果该锁没有被另一个线程保持,则获取该锁并立即返回,将锁的保持计数设置为1。...

深入浅出 Java Concurrency (7): 锁机制 part 2 AQS

 在理解J.U.C原理以及锁机制之前,我们来介绍J.U.C框架最核心也是最复杂的一个基础类:java.util.concurrent.locks.AbstractQueuedSynchronizer。 AQSAbstractQueuedSynchronizer,简称AQS,是J.U.C最复杂的一个类...

深入浅出 Java Concurrency (6): 锁机制 part 1 Lock与ReentrantLock

 前面的章节主要谈谈原子操作,至于与原子操作一些相关的问题或者说陷阱就放到最后的总结篇来整体说明。从这一章开始花少量的篇幅谈谈锁机制。上一个章节中谈到了锁机制,并且针对于原子操作谈了一些相关的概念和设计思想。接下来的文章中,尽可能的深入研究锁机制,并且理解里面的原理和实际应用场合。尽管synchronized...

深入浅出 Java Concurrency (5): 原子操作 part 4 CAS操作

 在JDK5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁(后面的章节还会谈到锁)。锁机制存在以下问题:(1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。(2)一个线程持有锁会导致其它所有需要此锁的线程挂起。(3)如果一个优先级高的线程等待一个优先...

深入浅出 Java Concurrency (4): 原子操作 part 3 指令重排序与happens-before法则

在这个小结里面重点讨论原子操作的原理和设计思想。由于在下一个章节中会谈到锁机制,因此此小节中会适当引入锁的概念。在JavaConcurrencyinPractice中是这样定义线程安全的:当多个线程访问一个类时,如果不用考虑这些线程在运行时环境下的调度和交替运行,并且不需要额外的同步及在调用方代码不必做其他的协调,这个...

深入浅出 Java Concurrency (3): 原子操作 part 2

在这一部分开始讨论数组原子操作和一些其他的原子操作。AtomicIntegerArray/AtomicLongArray/AtomicReferenceArray的API类似,选择有代表性的AtomicIntegerArray来描述这些问题。intget(inti)获取位置i的当前值。很显然,由于这个是数组操作,就有索...

深入浅出 Java Concurrency (2): 原子操作 part 1

  从相对简单的Atomic入手(java.util.concurrent是基于Queue的并发包,而Queue,很多情况下使用到了Atomic操作,因此首先从这里开始)。很多情况下我们只是需要一个简单的、高效的、线程安全的递增递减方案。注意,这里有三个条件:简单,意味着程序员尽可能少的操作底层或者...

深入浅出REST

作者StefanTilkov,译者苑永凯发布于2007年12月26日|被首富的“一个亿”刷屏?不如定个小目标,先把握住QCon上海的优惠吧!35讨论分享到:微博微信FacebookTwitter有道云笔记邮件分享稍后阅读我的阅读清单不知你是否意识到,围绕着什么才是实现异构的应用到应用通信的&ld...
代码星球 代码星球·2020-11-25

WPF MVVM 学习总结(一)

---恢复内容开始---1.MVVM简介 在WPF中,MVVM(View-ViewModel-Model)开发模型用的很多,它具有低耦合,可重用行,相对独立的设计和逻辑。所以备受广大开发者的喜爱。View说白了就是前台界面,可以用HTML5,Asp.net等实现,ViewModel是连接层(类似于MVC中的C...
代码星球 代码星球·2020-11-21

WPF知识总结(一)

在一个项目中,发现有的项目引用的动态库是一个网页地址,下面就看看这个网页地址怎么来的。目标:新建一个WPF工程,实现一个用户控件的功能。在工程中加入一个类库,然后在类库中增加一个用户控件页面,在主界面中调用用户控件,显示用户控件的内容。1.新建一个工程WPFStyle,增加一个类库Common,在类库中增加一个用户控件...
代码星球 代码星球·2020-11-21

wpf 计算器布局练习

先看一下windows自带计算机的布局:大概布局能看出,有菜单栏(menu),有显示框(textbox),然后剩下的6行5列的布局先看下代码: <StackPanel><Grid><Grid.RowDefinitions><RowDefinition></...
代码星球 代码星球·2020-10-21

深入浅出hive-hive简介

1.什么是hive •Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。•本质是将HQL转换为MapReduce程序 2.为什么使用hive •操作接口采用类SQL语法,提供快速开发的能力&bull...
代码星球 代码星球·2020-10-21

深入浅出DOM基础——《DOM探索之基础详解篇》学习笔记

来源于:https://github.com/jawil/blog/issues/9  之前通过深入学习DOM的相关知识,看了慕课网DOM探索之基础详解篇这个视频(在最近看第三遍的时候,准备记录一点东西,算是对自己学习的一点总结),对DOM的理解又具体了一步,因为DOM本来就是一个抽象和概念性的东西...

WPF非UI线程中调用App.Current.MainWindow.Dispatcher提示其他线程拥有此对象,无权使用。

  大家都知道在WPF中对非UI线程中要处理对UI有关的对象进行操作,一般需要使用委托的方式,代码基本就是下面的写法App.Current.MainWindow.Dispatcher.Invoke(newAction(()=>{//TODO:更改UI相关的操作}));  我以前也总是如此写法,没出现过毛病,可是偏...

WPF自定义依赖集合属性无法触发更新的问题

  通常WPF中通过继承UserControl的来快速创建自定义控件,最近项目上需要设计一个卫星星图显示控件,最终效果如下图所示。完成过程中遇到了自定义集合依赖属性无法触发更新通知的问题,在此记录一下,方便有相同问题的朋友们可以快速解决,也希望有人能发现更好的解决办法。  为了完成目的,我写了下面一个SateChart...
首页上一页...23456...下一页尾页