Java-GUI编程之ImageIO的使用】的更多相关文章

CAS(Compare and swap)比较和替换是设计并发算法时用到的一种技术.简单来说,比较和替换是使用一个期望值和一个变量的当前值进行比较,如果当前变量的值与我们期望的值相等,就使用一个新值替换当前变量的值.这听起来可能有一点复杂但是实际上你理解之后发现很简单,接下来,让我们跟深入的了解一下这项技术. CAS的使用场景 在程序和算法中一个经常出现的模式就是"check and act"模式.先检查后操作模式发生在代码中首先检查一个变量的值,然后再基于这个值做一些操作.下面是一个…
Java网络编程之TCP.UDP 2014-11-25 15:23 513人阅读 评论(0) 收藏 举报 分类: java基础及多线程(28) 版权声明:本文为博主原创文章,未经博主允许不得转载.        Java网络编程提供了两种协议:TCP(传输控制协议)和UDP(数据报协议).TCP(Transmission Control Protocol)是一种可靠的传输协议,传输时会采用“三次握手”端的方式建立连接,以保证数据的可靠性和安全性:而UDP(User Datagram Protoc…
Java网络编程之UDP 一.C/S架构中UDP网络通信流程 ①创建DatagramSocket与DatagramPacket对象 ②建立发送端,接收端 ③建立数据包 ④调用Socket的发送.接收方法 ⑤关闭Socket 注意:发送端与接收端是两个独立的运行程序,在接收端需要指定监听的端口 基本的流程如下图所示 在Java中类 DatagramSocket 和 DatagramPacket 实现了基于 UDP 协议网络程序. UDP数据报通过数据报套接字 DatagramSocket 发送和接…
Java网络编程之URLConnecton 一.URLConnection简介 URLConnection是一个抽象类,表示指向URL指定资源的活动连接.URLConnection有两个不同但相关的用途.首先,与URL类相比,它对与服务器(特别是HTTP服务器)的交互提供了更多的控制.URLConnection可以检查服务器发送的首部,并相应地做出响应.他可以设置客户端请求中使用的首部字段.最后,URLConnection可以用POST.PUT和其它HTTP请求方法向服务器发回数据,此类的实例可…
Java网络编程之URL与URI 一.URL与URI简介 URI = Universal Resource Identifier 统一资源标志符 URL = Universal Resource Locator 统一资源定位符 URN = Universal Resource Name 统一资源名称 这三者的关系如下图: 也就是说,URI分为三种,URL or URN or (URL and URI) URL代表资源的路径地址,而URN代表资源的名称. URL是一个URI,除了标识一个资源,还会…
Java网络编程之InetAddress浅析 一.InetAddress综述 IP地址是IP使用的32位(IPv4)或者128位(IPv6)位无符号数字,它是传输层协议TCP,UDP的基础.InetAddress是Java对IP地址的封装,几乎所有的Java网络相关的类都和它有关系,例如:serversocket,socket,URL,DataGramSocket,DataGRamPacket等. InetAddress的实例对象包含以数字形式保存的IP地址,同时还可能包含主机名(如果使用主机名…
Java高性能编程之CAS与ABA及解决方法 前言 如果喜欢暗色调的界面或者想换换界面,可以看看我在个人博客发布的 Java高性能编程之CAS与ABA及解决方法. CAS概念 CAS,全称Compare And Swap,比较与交换. 属于硬件级别的同步原语,从处理器层面提供了内存操作的原子性. 从概念上,我们可以得出三点.第一,CAS的运作方式(通过比较与交换实现).第二,硬件层面支持,性能肯定不低(当然它也不是银弹).第三,提供原子性,那么它的功能肯定是确保原子性,从而确保线程安全. 实际使…
Java并发编程之CAS第一篇-什么是CAS 通过前面几篇的学习,我们对并发编程两个高频知识点了解了其中的一个—volatitl.从这一篇文章开始,我们将要学习另一个知识点—CAS.本篇是<凯哥并发编程学习>系列之<CAS系列>教程的第一篇:什么是CAS. 本文主要内容: 生活中举例:CAS定义:CAS代码演示. 一:生活中的例子 在电影<智取威虎山>中,杨子荣进入威虎山的时候,土匪说:天王盖地虎,杨子荣对:宝塔镇河妖.类似这样的黑话,几个土匪和杨子荣对过之后,座山雕,…
Java并发编程之CAS二源码追根溯源 在上一篇文章中,我们知道了什么是CAS以及CAS的执行流程,在本篇文章中,我们将跟着源码一步一步的查看CAS最底层实现原理. 本篇是<凯哥(凯哥Java:kagejava)并发编程学习>系列之<CAS系列>教程的第二篇:从源码追根溯源查看CAS最底层是怎么实现的. 本文主要内容:CAS追根溯源,彻底找到CAS的根在哪里. 一:查看AtomicInteger.compareAndSet源码 通过上一篇文章学习,我们知道了AtomicIntege…
Java并发编程之CAS第三篇-CAS的缺点 通过前两篇的文章介绍,我们知道了CAS是什么以及查看源码了解CAS原理.那么在多线程并发环境中,的缺点是什么呢?这篇文章我们就来讨论讨论 本篇是<凯哥(凯哥Java:kagejava)并发编程学习>系列之<CAS系列>教程的第三篇:CAS的缺点有哪些?怎么解决. CAS的缺点 一:do while循环时间长的话开销大 从源码中(见上图),我们可以知道do while中的while返回true会一直循环下去(具体分析步骤见上一篇:<…