自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 谈谈为何面向对象很少普及

写了很多代码,碰到过很多项目。我发现在一些小型一点的项目中面向对象可以达到很好的效果,但是在一些大型一些的项目中却很难大面积推行,我想了一下可能有下面的原因。面向对象的开发理念缺乏理论支持和工程指引。估计任何一个大学学习计算机或者相关专业的学生都学习或者接触过面向对象。但是在学校课程中给到学生的无非就是三大特性,如果碰到好一点的老师可能就会提及一下SOLID原则。在企业中做项目,关于如何对...

2019-10-05 12:28:08 315

原创 多线程并发总结 interrupt

Interrupt也是写多线程的时候需要注意的一个地方。有时候需要停掉Java的一个线程,这个时候推荐使用的是intertupt的方法。但是这个方法其实不会直接把线程停掉,只会在一个线程的标志位上面标注当前线程已经被标记成interrupted了。为什么会是这样操作的呢?我觉得也很容易理解,因为如果硬性中止一个线程,我们根本不知道是不是还有一些资源是没有正常关闭回收的,也就有可能让系统...

2019-10-04 21:37:26 136

原创 多线程并发总结七 GPU

GPU也可以实现并发计算

2019-10-01 22:38:49 3267

原创 多线程并发总结六 Actor Model和Event Driven

Actor Model也能有效的解决多线程的问题,跟CSP类似,他也是可以让变量由某一个Actor专门负责,而Actor是只会被一个线程执行的,所以也不会有多线程的问题。Actor模型中的Actor类似CSP中的Process。CSP中的Process通讯相当于Actor中的信箱。只是两者的定位并不一样,CSP主要用来解决某一个进程中的多线程问题,而Actor模型是一个分布式系统的逻辑架构...

2019-10-01 21:51:03 344

原创 多线程并发总结五 CSP

CSP本身是一套数学语言,用来描述Process以及Process之间的通讯的。当一个Process使用数学语言描述了出来,我们就可以对其进行数学推导简化和分析,比如研究会不会发生死锁和进入发散无序状态等等。既然CSP可以用来分析多线程的,那么计算机语言也提供了对应的支持。其中支持得最好的就是Golang,它是我理解的第一只对CSP提供语言原生支持的语言。其中协程就是CSP中的Proces...

2019-10-01 21:06:59 285

原创 多线程并发总结四 STM

如果我们要处理的情况符合下面的几种之一,我们可以考虑一下使用非阻塞的方式来处理并发的情况。有多线程的情况要处理,但是很少出现并发冲突的,比如以读取为主的 涉及到的并发逻辑非常复杂,希望可以减低并发代码出错的可能和保持并发代码的可读性。非阻塞的代码可以较大限度的保持并发代码的可读性。它的原理就像下面的伪代码AtomicInteger ai = new AtomicInteger(1);...

2019-10-01 20:14:12 432

原创 多线程并发总结三 函数式编程

多线程的问题根本上面就是因为存在共享的可变变量导致的。所以如果变量不共享,或者不可变,那么就不会有多线程的问题了。所以如果我们改变一下我们写代码所使用的范式,改成函数式,那么多线程的问题也就迎刃而解了。在函数式的规范下面,我们写出来的函数都是纯函数,函数里面既没有变量也没有对外访问的IO操作。纯函数在任何的时候去访问它,给到的返回值都是一样的。那么如果不访问IO,那么我们的系统...

2019-09-23 00:32:15 983

原创 多线程并发总结二 各种Java工具

这里总结一下Java提供的一些多线程开发工具。Atomic变量 代码排斥/等待,唤醒 锁 Semaphore Latch / Cyclic Barrier Exchanger Volatile Final Concurrent Map CopyOnWriteArrayList ExecutorAtomic变量Atomic变量最主要的是解决了普通Java变量读写操作的原...

2019-09-20 21:27:17 115

原创 多线程并发总结一 基础

平日主要是开发企业信息系统,所以使用到多线程的时候不多,但是相关的知识又很多很复杂,所以就在这里做一些总结吧。我主要做Java为主,这里记录的会是很多跟Java相关,但是我想多线程的问题,很多又是相通的。先说说多线程的难度吧,这个可以跟多线程相关问题形成的原因有关首先它是因为有共享的可变变量 因为代码的执行顺序是可以在编译或执行时优化的,所以以为已经执行的代码,其实还没有执行通过各...

2019-09-15 21:48:12 103

原创 WMV格式的文件很大

今天尝试从本地机直接播放F4V,最后没有找到任何办法。只能退而求其次,采用WMV的格式播放。WMV的格式比F4V的打了8倍,难怪大家F4V比较流行。我用了这段代码来播放wmv文件,使用ShowControls可以让下面的控制条消失掉。<object type="video/x-ms-wmv" width="800" height="450" id="aa">...

2013-03-08 20:49:53 827

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除