有道云笔记 - Markdown模板 附 本文的Markdown源码镜像: https://github.com/yanglr/AlgoSolutions/blob/master/Youdao_Note_Markdown_Template.md 点击"Raw"可看到源码,欢迎fork或star~ 有道云笔记 - Markdown模板 一.利用Markdown可以做什么? 代码高亮 To-do List 流程图: 序列图: 甘特图: 表格: 表格 Mathematical formula…
可能是全网首个支持阿里云Elasticsearch Xapck鉴权的Skywalking 对Skywalking有兴趣的同学参见:年轻人的第一个APM-Skywalking 之前在搭建Skywalking的时候发现,官方Skywalking 5.X并支持有鉴权的Elasticsearch. 而我司有其他需求已经购买了阿里云的Elasticsearch,咨询过阿里云技术支持后他们表示并不能去掉鉴权,所以只好自己想办法了. 又在Skywalking技术群问了一圈,有其他人也遇到过类似的问题,但是最后…
最近花55淘了一台mgv3000,s905l3,2+16G带蓝牙,真的性价比没得说 S905L3 工艺28nm差于s905l3a 主频1.9Ghz,超频可以达到2Ghz,GPU是Mail450,当服务器跑ha,nas什么都是很不错的. 而且还自带蓝牙,总体性价比比s905l3a系列高多了 按我的方法可以启动,网卡没有问题,但是目前没有显示,没有蓝牙. 等之后我有时间了照着安卓的dtb改一改也许会解决一切,等我的好消息! 不废话了,上教程 0.材料 s905l3a的armbian镜像,可以从htt…
碎碎念) 花了两天时间,终于把ReentrantReadWriteLock(读写锁)解析做完了.之前钻研过AQS(AbstractQueuedSynchronizer)的源码,弄懂读写锁也没有想象中那么困难.而且阅读完ReentrantReadWriteLock的源码,正好可以和AQS的源码串起来理解,相辅相成.后面博主会尽快把AQS的源码解析整出来 简介 ReentrantReadWriteLock是一个可重入读写锁,内部提供了读锁和写锁的单独实现.其中读锁用于只读操作,可被多个线程共享:写锁…
AbstractQueuedSynchronizer(以下简称AQS)的内容确实有点多,博主考虑再三,还是决定把它拆成三期.原因有三,一是放入同一篇博客势必影响阅读体验,而是为了表达对这个伟大基础并发组件的崇敬之情.第三点其实是为了偷懒. 又扯这么多没用的,还是直接步入正题吧~ AQS介绍 AQS是一个抽象类,它是实现多种并发同步工具的核心组件.比如大名鼎鼎的可重入锁(ReentrantLock),它的底层实现就是借助内部类Sync,而Sync类就是继承了AQS并实现了AQS定义的若干钩子方法.…
上期的<全网最详细的AbstractQueuedSynchronizer(AQS)源码剖析(一)AQS基础>中介绍了什么是AQS,以及AQS的基本结构.有了这些概念做铺垫之后,我们就可以正式地看看AQS是如何通过state(以下也称资源)和同步队列,实现线程之间的同步功能了 那么线程之间是如何同步呢?其实就是通过资源的获取和释放来进行同步.如果获取到就继续运行,获取不到就放入同步队列阻塞等待,释放就是交出获得的资源,并释放同步队列中需要被唤醒的线程.对,就是这么简单! 本篇我们继续深入AQS内…
作者 智晓锋 - 2014/07/14 自从斯诺登曝光美监听丑闻事件之后,我国政府就将信息安全问题上升到了国家安全的高度.基于此.国内的一家创业公司推出了智能型Android真机白盒測试以及开发辅助类工具-ThreadingTest(下面简称TT). 移动端首款白盒測试工具 白盒測试工具将被測应用看做一个打开的盒子,不同于黑盒測试,它接触的是源码,是相应用全部的逻辑路径进行的測试. TT正是这样一款白盒測试工具. 但这类工具有一个让用户很操心的问题:核心程序的源代码被全然曝光,应用还有何安全性可…
业务类接口在TCP,HTTP,BLL模式下的实例 设计模式混搭 附源码一份 WinForm酒店管理软件--框架这篇随笔可以说是我写的最被大家争议的随笔,一度是支持和反对是一样的多.大家对我做的这个行业的前景有很大的建议啊.虽然市场有困难,但好技术架构肯定是前提.事实也是,当你还是一个孩子准备和一群成年人竞争时,你可以被人轻易的暴力推到,可以被人家多年的经验轻松完虐,别人也会说“大人说话小孩子一边玩去”.这些都是过程,作为一位有准备的小孩会有心理准备的,今天准备把之前的架构中的使用策略实现业务类接…
上一篇我们分析了Mapper接口代理类的生成,本篇接着分析是如何调用到XML中的SQL 我们回顾一下MapperMethod 的execute方法 public Object execute(SqlSession sqlSession, Object[] args) { Object result; // 根据 SQL 类型执行相应的数据库操作 switch (command.getType()) { case INSERT: { // 对用户传入的参数进行转换,下同 Object param…
上一篇文章我们已经将SQL发送到了数据库,并返回了ResultSet,接下来就是将结果集 ResultSet 自动映射成实体类对象.这样使用者就无需再手动操作结果集,并将数据填充到实体类对象中.这可大大降低开发的工作量,提高工作效率. 映射结果入口 我们来看看上次看源码的位置 public <E> List<E> query(Statement statement, ResultHandler resultHandler) throws SQLException { Prepare…