前言 如果你想深入研究Java并发的话,那么AQS一定是绕不开的一块知识点,Java并发包很多的同步工具类底层都是基于AQS来实现的,比如我们工作中经常用的Lock工具ReentrantLock.栅栏CountDownLatch.信号量Semaphore等,而且关于AQS的知识点也是面试中经常考察的内容,所以,无论是为了更好的使用还是为了应付面试,深入学习AQS都很有必要. CAS 学习AQS之前,我们有必要了解一个知识点,就是AQS底层中大量使用的CAS,关于CAS,大家应该都不陌生,如果还有…
一名IT从业者的英语口语能力成长路径 来源: 微信公众号  发布时间: 2014-03-12 22:53  阅读: 6134 次  推荐: 24   原文链接   [收藏]   这篇文章是我最近十天口语系列文章的合辑,文章比较长,一万五千余字.但是系统化地归纳了自己十多年的英语尤其是口语方面的学习经历与总结思考.我不是个纯粹的英语专业学生,我甚至不是任何英语相关专业的学生,但是我和英语却有着很多的故事,我对这门语言的学习与训练有着没由来的纯粹兴趣.虽然我从学校接受的教育与学术训练主要在计算机科学…
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary { display: block } audio,canvas,progress,video { display: inline-block; vertical-align: baseline } audio:not([co…
前言 ThreadLocal的文章在网上也有不少,但是看了一些后,理解起来总感觉有绕,而且看了ThreadLocal的源码,无论是线程隔离.类环形数组.弱引用结构等等,实在是太有意思了!我必须也要让大家全面感受下其中所蕴含的那些奇思妙想! 所以这里我想写一篇超几儿通俗易懂解析ThreadLocal的文章,相关流程会使用大量图示解析,以证明:我是干货,不是水比! ThreadLocal这个类加上庞大的注释,总共也才七百多行,而且你把这个类的代码拷贝出来,你会发现,它几乎没有报错!耦合度极低!(唯一…
今天给大家说一个将svg下载到本地图片的方法,这里我不得不吐槽一下,为啥博客园不可以直接上传本地文件给大家用来直接下载分享呢,好,吐槽到此为止! 这里需要用到一个js文件,名字自己起,内容如下: (function() { const out$ = typeof exports != 'undefined' && exports || typeof define != 'undefined' && {} || this || window; if (typeof defin…
在下半年选修了机器学习的关键课程Machine learning and deep learning,但由于Macbook Pro显卡不支持cuda,因此无法使用GPU来训练网络.教授推荐使用Google Colab作为训练神经网络的平台.在高强度的使用了Colab一段时间后,我把自己的个人感受和使用心得与大家分享,同时也给想要尝试的同学详细介绍Colab具体的上手方法. 一.Colab介绍 在第一次使用Colab时,最大的困难无疑是对整个平台的陌生而导致无从下手,因此我首先介绍与Colab相关…
开场 Web服务器是啥玩意? 是那个托管了我的网站的机器么? No,虽然那个也是服务器,但是我们今天要说的Web服务器主要是指像IIS这样一类的,用于处理request并返回response的工具,没错我们可以说它是一个工具,不就是一个应用程序吗?谁不会写应用程序呀,等着,三分钟就搞一个出来. Web Server的介绍 我们先来看一下web server主要干什么? 这图很熟悉么?我是直接从小坦克的那篇http协议里面拿过来的,但是要注意的是,图中的Web Server是指的那台机器.我们网站…
本来 写了一篇<iOS 如何做才安全--逆向工程 - Reveal.IDA.Hopper.https抓包 等>,发现文章有点杂,并且“iOS 如何做才安全”这部分写的越来越多,觉得 分出来更清晰一点.所以拆成两部分. 同时也是为了大家能 共同讨论,毕竟不是专业搞安全的,如果文中有错误 欢迎指正,共同进步. iOS应用的安全性 常常被大家忽视. iOS 如何做才安全: 1.首先,我们可以通过iTunes 下载 AppStore的ipa文件(苹果 把开发者上传的ipa包 进行了加壳再放到AppSt…
MVVM正常就是在View页面写样式,ViewModel页面写逻辑,但是有的时候纯在View页面写样式并不能满足需求.我最近的这个项目就遇到了,因此只能在VM页面去写样式控件,然后绑定到View页面. 先看图 各种税是需要变动的,当然,并不是由于这个原因才在VM页面写样式,而是因为不同的税是红色,相应的[]是黑色. 在Textblock里用Run属性来进行变量添加,而要给Run添加颜色时又是统一的,因此只能用三个Run来分别来设置“[”,“税种”,“]”,但是前台又没有办法进行解析,因此只能用V…
废话不多说,直接上. 鉴于abap调研的dll文件需要在wins注册,自己尝试过delphi和C#感觉不是很好,最后毅然选择了VB来写 因为需要用到MScomm控件,所以对于将要写的dll需要带form的,貌似这样才能将控件加到dll中来. 步骤: 1,新建dll程序,添加一个窗体 2,在from_load中初始化com口参数 1 2 3 4 5 6 7 8 With MSComm1         .CommPort = 1  '设置Com1为通信端口         .Settings =…
CPU,一般认为写C/C++的才需要了解,写高级语言的(Java/C#/pathon...)并不需要了解那么底层的东西.我一开始也是这么想的,但直到碰到LMAX的Disruptor,以及马丁的博文,才发现写Java的,更加不能忽视CPU.经过一段时间的阅读,希望总结一下自己的阅读后的感悟.本文主要谈谈CPU缓存对Java编程的影响,不涉及具体CPU缓存的机制和实现. 现代CPU的缓存结构一般分三层,L1,L2和L3.如下图所示: 级别越小的缓存,越接近CPU, 意味着速度越快且容量越少. L1是…
首先下面演示的博文来自于以下地址:http://www.douban.com/note/423939291/ 需要先通过博客备份专家将导出的博文导入到手机(还不会用的朋友请先阅读http://www.douyuehan.com/space/douyuehan/Blog1/Post/259.aspx),然后通过豆约翰开发的手机博客阅读器APP进行阅读. 先看一下效果 大家可以看到,黑底白字,非常省眼,比用博客备份专家导出成PDF看要好得多,而且同样图文并茂. 接下来,豆约翰就向朋友们来讲解一下豆约…
如果想实现将 Client端的 File并行写入到 各个Datanode中, 首先, 应该修改的是,DistributedFileSystem中的create方法, 在create 内部调用FSNamesystem中的方法的时候, 应该增加向NameNode发送,上传文件的大小所需要的blocks的数目.   然后,调用分配块的相关方法, 在NameNode中 所存放的系统树中添加相关的节点后( INodeFile) 还要为该INodeFile中的blocks 表分配block实体, 且 INo…
毕业刚刚一年多一点,毕业了后也顺利的进入了一家著名的互联网公司,做的是后台系统,用的呢也是SSI(struts2,spring)框架,平时做做项目,也已足够了,但是感觉越来越没动力了,越来越没有激情了,就像我们的老大说的,"天天接Task,有意思?,有时间不知道把框架的源码看看!",最近加班相对较少,闲下来就来摸索一下spring. 写这篇文章只是想让大家了解一下Spring到底是怎么运行的,并不是想重造噢,希望大家看完这篇文章后能对Spring有更深入的了解,对初学者有所帮助喔!好,…
上一篇写了关于html的知识,算是小试牛刀,这次来尝试写一下css. 初步了解css css的全称为cascading style sheet-- 层叠样式表,通过编入代码来对html里的标签做出各种各样的修饰与改变. 如何引入css 引入外部css文件 这是我们最常用的方式,通过在head中引入一个link标签引入 例:<link rel="stylesheet" type="text/css" href="1234.css"> 2…
Github上怎么修改别人的项目并且提交给原作者!图文并茂! 写这篇博客的初衷,是因为我的项目Only需要一些朋友一起参与进来,但是很多的Git都不是很熟练,其实版本控制这种东西没有什么难度的,只要稍微掌握以下就好了,如果有兴趣的话也可以到Only这个项目进来 Only:https://github.com/LiuGuiLinAndroid/Only 好的,不多说,直接开车了,我们先简单的找一个项目,比如这个项目,我需要更改他的内容,我们就直接fork这个项目 紧接着你就可以看到这个项目已经被你…
简单数据结构 本节课可能用到的一些复杂度: O(log n). 1/1+1/1/.....1/N+O(n log n) 在我们初学OI的时候,总会遇到这么一道题. 给出N次操作,每次加入一个数,或者询问当前所有数的最大值. 维护一个最大值Max,每次加入和最大值进行比较.(这其实就是一个冒泡排序) 简单的代码实现一下 ;i<=n;++i) { MAX=max(MAX,a[i]); } 时间复杂度是O(N) EX:入门题 给出N次操作,每次加入一个数,删除一个之前加入过的数Ai,或者询问当前所有数…
众所周知,使用 echo 并配合命令重定向是实现向文件中写入信息的快捷方式. 本文介绍如何将 echo 命令与 sudo 命令配合使用,实现向那些只有系统管理员才有权限操作的文件中写入信息.   比如要向 test.asc 文件中随便写入点内容,可以: $ echo "信息" > test.asc # 或者 $ echo "信息" >> test.asc 下面,如果将 test.asc 权限设置为只有 root 用户才有权限进行写操作:   $ s…
准备知识 DBUtils模块  <<-----重点 DBUtils是Python的一个用于实现数据库连接池的模块 此连接池有两种连接模式: DBUtils提供两种外部接口: PersistentDB :提供线程专用的数据库连接,并自动管理连接. PooledDB :提供线程间可共享的数据库连接,并自动管理连接. from DBUtils.PooledDB import PooledDB import pymysql POOL = PooledDB( creator=pymysql, # 使用链…
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;} th{border: 1px solid gray; padding: 4px; background-color: #DDD;} td{border: 1px solid gray; padding: 4px;} tr:nth-child(…
Java 覆写 继承性的主要特征是子类可以根据父类已有的功能进行功能扩展,但是在子类定义属性或方法的时候有可能定义属性和方法和父类同名,在此类情况下就称为:“覆写”. 方法的覆写:[改良原本功能不足的方法] 子类定义的方法与父类方法名称相同.参数的类型及个数.返回值相同的方法. class A { public void fun() { System.out.println("A.fun()方法") ; } } class B extends A { public void fun()…
MFGTool是飞思卡尔提供的烧写工具,使用起来非常方便.但是,在使用MFGTool有几点是需要注意的,否则就会在烧写过程中遇到一些问题: 1.在使用MFGTool前,文件cfg.ini 和 UICfg.ini是必须要在同一个文件夹下,同时这两个文件一定要配置正确.          UICfg.ini用来配置每次同时可以烧写开发板的个数:              [UICfg]              PortMgrDlg=1        cfg.ini用来配置芯片类型和板子信息以及烧写…
增删改流程: 1. 客户端和任一节点(假设 Node1)发出请求,这个node就是coordinating node(协调节点) 2. coordinating node,对document进行路由,将请求转发给对应的node(有primary shard,假设是 Node2) 3. Node2上的primary shard处理请求,然后将数据同步到replica node 4. coordinating node,如果发现primary node和所有replica node都搞定之后,就返回…
操作平台和环境 DSP型号:TMS320C6713 仿真器:XDS510PLUS Flash型号:AM29LV800BT或AM29LV800BT都试过(一般接口一样,区别不大) RAM型号:MT48LC16M16A2P(注意16位数据线接口) DSP/BIOS库:V5.31.02 CSL库:(假定读者已经会使用了) 边写LED程序.边聊聊操作系统的滴答时钟 在上篇文章DSP-BIOS使用入门的基础上,这里用用DSP/BIOS操作系统的CLK和PRD模块.这两个模块涉及到硬件定时器.我们使用仿真器…
 王练 发布于2017年09月04日 收藏 43   开源中国全球专享福利,云栖大会购票大返现!>>>   根据StackOverflow的最新调查,MySQL仍然是全世界最流行的数据库,受访的开发者中有44.3%的人在使用,超过了第二位的SQL Server 10多个百分点.可是你知道MySQL是怎么诞生的吗?openocean 的一篇有关MySQL开发者Michael “Monty” Widenius的传记为我们揭秘. 大学计算机专业的数量总是会随着技术公司的兴衰而起伏,而现在,计算…
在iOS开发过程中,手写contraints是非常痛苦的一件事情,往往那么一丢丢功能要写大量的代码,非常容易发生错误,并且非常不方便调试.所以只有在不得以的情况下才采用手工方式写contraints,一般都在Storyboard中完成,但Storyboard也是一个坑爹的东东,特别是在SVN协作工作时各种问题不甚其烦:但是后来知道了Masonry,体验了一段时间,非常好用,自此很少再使用storyboard写UI了. 安装Masonry 安装使用Masonry的方式不止一种,但比较推荐的方式是使…
1.JAVA继承-extends 在java中,要想实现继承则使用extends关键字. 一般子类被称为派生类,父类称为基类(super) extends需要注意的地方: java不允许多重继承(一个类只能继承一个父类,不能继承多个父类). 派生类会继承基类所有属性和方法,但不能直接访问基类的private私有属性 实例化派生类时,会先去调用父类的构造方法构造基类,再实例化自身的属性类对象,最后才是调用自身类构造方法. 在派生类中,有个隐藏的super,表示为基类,所以我们可以通过它指定如何构造…
对于jQuery之前一直用,也看到过别人写的插件,直到最近才想着学习怎么写自己的jQuery插件,今天看了网上的一些资料,发现其实很简单的. 先看一个简单的jQuery插件的例子 <script> (function($){ $.fn.extend({ "bold":function(){ return this.css({fontWeight:"bold"}); }, "red":function(){ return this.cs…
一:常用的java代理模式 一般经常做java开发的知道java的代理模式一共有三种,第一种也就是静态代理,这种用法比较简单,没有什么魔法棒,比较好理解,另外两种分别是JDK代理和cglib代理,他们分别是对接口代理和对class类本身进行代理,jdk代理要求类必须实现有一个或者多个接口,对接口进行字节码增强在内存中实现新的class类去反射调用用户target的实现类,这里需要说明的是不管是cglic代理也好还是jdk代理他们在内存中都要占据方法区资源(jdk8 叫原空间),从而达到代理目的,…
CPU,一般认为写C/C++的才需要了解,写高级语言的(Java/C#/pathon…)并不需要了解那么底层的东西.我一开始也是这么想的,但直到碰到LMAX的Disruptor,以及马丁的博文,才发现写Java的,更加不能忽视CPU.经过一段时间的阅读,希望总结一下自己的阅读后的感悟.本文主要谈谈CPU缓存对java编程的影响,不涉及具体CPU缓存的机制和实现. 现代CPU的缓存结构一般分三层,L1,L2和L3.如下图所示: 级别越小的缓存,越接近CPU, 意味着速度越快且容量越少. L1是最接…