网上看到很多对关键字synchronized继承性的描述只有一句"关键字synchronized不能被继承",并没有描述具体场景,于是自己做了以下测试. //父类 public class Super { static Logger logger = Logger.getLogger(Super.class); // 同步方法    @SuppressWarnings("static-access")    public synchronized void test…
一.synchronized的使用(一).synchronized同步方法1. “非线程安全”问题存在于“实例变量”中,如果是方法内部的私有变量,则不存在“非线程安全”问题.2. 如果多个线程共同访问1个对象中的实例变量,则有可能出现“非线程安全”问题.3. synchronized取得的锁都是对象锁,而不是把一段代码或方法当做锁.因此在多线程访问同一个对象时,哪个线程先执行synchronized关键字的方法,哪个线程就持有该方法所属对象的锁lock,其他线程只能呈等待状态.但如果多个线程访问…
做了一年的iOS,想记录自己对知识点的一点理解. 第一篇,想记录一下iOS中delegate(委托,也有人称作代理)的理解吧. 故名思议,delegate就是代理的含义, 一件事情自己不方便做,然后交给其他人去帮助实现, 比如A.B两个类,A的一个对象有一个任务aTask要在B类中实现,任务无法在A类本身中实现,所以要交给B类帮忙,则A和B约定一个协议: A类: @protocol ADelegate <NSObject> -(void)aTask; //协议的一个方法 @end //代理属性…
一.前言 江湖上都在说现在就要赶紧学 swift 了,即将是 swift 的天下了.在 api 变化不大的情况下,swift 作为一门新的语言,集众家之所长,普通编码确实比 oc 要好用的多了 老早就听说 MVVM 的概念及响应式函数式编程,微软确实厉害.自己最近没什么事,就前来入坑了 二.学习方式 参考别人写的一些博客,对于概念先有个理解,然后参考官方 example,就可以开始学习了 推荐文章: http://www.codertian.com/2016/11/27/RxSwift-ru-k…
每个对象在出生的时候就有一把钥匙(监视器),那么被synchronized 修饰的方法相当于给方法加了一个锁,这个方法就可以进行同步,在多线程的时候,不会出现线程安全问题. 下面通过一张图片进行讲解: 1.一张图片 图片看不清,请右键 ,新标页面打开查看大图 2.图片对应的代码 import java.util.Date; /** * 测试的object类 * * @author:dufy * @version:1.0.0 * @date 2017/9/29 * @email 742981086…
synchronized的语义 实验 分析 在看源代码时遇到多线程需要同步的时候,总是会看见几种写法,修饰方法.修饰静态方法.synchronized(Xxx.class).synchronized(this).synchronized(obj),之前一直没深究几种方式的区别,现在想来真是惊出一身冷汗,居然这个问题都没有仔细想清楚. synchronized的语义 每个对象都有一个监视器monitor,被synchronized修饰,语义就是获取这个对象的monitor,反编译后可以看到moni…
time:2015年10月06日 星期二 12时14分51秒 # opencv笔记5:频域和空域的一点理解 空间域和频率域 傅立叶变换是f(t)乘以正弦项的展开,正弦项的频率由u(其实是miu)的值决定.因为积分后左边剩下的为一变量是频率,所以我们说傅立叶变换域是频率域. (<数字图像处理>冈萨雷斯,中文第三版P128) 当变量t用于说明图像时,我们一般将变量t的域称为空间域. 按<图像处理>(章毓晋)的理解,首先是认同模板操作的,然后借助卷积定理,将模板操作转化为傅立叶的乘积,也…
需要学web service,但是在视频中讲解到了socket套接字编程.以前貌似课上老师有提过,只是没用到也感觉乏味.现在遇到,自己看了些博客和资料.记录一点理解,不知正确与否. 首先说这个名字,叫套接字.我感觉这个名字就很抽象,自己没感觉.查看单词解释,就是插座的意思,然后我感觉插座不就是接口吗.然后我读了一篇文章,作者画了个图,表明,socket就是抽象层,位于应用层和运输层的中间,就是一组接口,他做了一些事情,方便了我们的工作.这是我大致的理解.具体的讲解我将文章的链接写在这里http:…
对于web开发上的一点理解 1 宏观上的一点理解 网页从请求第地址 到获得页面的过程:从客户端(浏览器)通过地址 从soket把请求报文封装发往服务端   服务端通过解析报文并处理报文最后把处理的结果 封装成响应报文 发送给客户端(浏览器)  ,客户端解析响应报文  把正文(html css  javascript)渲染成我们见到的页面. 这就是我们如何看到页面的过程 图解 2对于网页的开发的框架的一点理解 上面提到了网页处理的过程  中 服务端解析请求报文 处理请求报文的过程 就是网站开发的框…
同步关键字synchronized 同步关键字synchronized使用简洁,代码可维护性好.在JDK6中,性能也比早期的JDK有很大的改进.如果可以满足程序要求,应该首先考虑这种同步方式. 关键字synchronized一个最为常用的用法是锁定一个对象的方法: public synchronized void method() {} 此时,当method()方法被调用时,调用线程必须首先获得当前对象的锁,若当前对象锁被其他线程持有,则调用线程会等待,方法结束后,对象锁会被释放.以上方法等价于…