| 好看请赞,养成习惯 你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it well enough 现陆续将Demo代码和技术文章整理在一起 Github实践精选 ,方便大家阅读查看,本文同样收录在此,觉得不错,还请Star 写在前面 进入源码阶段了,写了十几篇的 并发系列 知识铺垫终于要派上用场了.相信很多人已经忘了其中的一些理论知识,别担心,我会在源码环节带入相应的理…
前言 AbstractQueuedSynchronizer 抽象队列同步器,简称 AQS .是在 JUC 包下面一个非常重要的基础组件,JUC 包下面的并发锁 ReentrantLock CountDownLatch 等都是基于 AQS 实现的.所以想进一步研究锁的底层原理,非常有必要先了解 AQS 的原理. 公众号:liuzhihangs,记录工作学习中的技术.开发及源码笔记:时不时分享一些生活中的见闻感悟.欢迎大佬来指导! 介绍 先看下 AQS 的类图结构,以及源码注释,有一定的大概了解之后…
原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把环境搭建起来了,把过程记录下来分享给大家. 内容目录: 1.默认基础环境 2.NDK下载与配置 3.安装Cygwin 4.用NDK编译 5.安装…
原文:在VS2010上使用C#调用非托管C++生成的DLL文件(图文讲解) 背景 在项目过程中,有时候你需要调用非C#编写的DLL文件,尤其在使用一些第三方通讯组件的时候,通过C#来开发应用软件时,就需要利用DllImport特性进行方法调用.本篇文章将引导你快速理解这个调用的过程. 步骤 1. 创建一个CSharpInvokeCPP的解决方案: 2. 创建一个C++的动态库项目 CSharpInvokeCPP.CPPDemo: 3. 在Windows桌面项目中,选择“动态链接库DLL”,其他按…
  android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把环境搭建起来了,把过程记录下来分享给大家. 内容目录: 1.默认基础环境 2.NDK下载与配置 3.安装Cygwin 4.用NDK编译 5.安装CDT插件 6.安装Sequoyah插件 7.JNI编译环境配置 画了一个思维导图让大家一目了然配置过程 -------------------------…
Position的属性值有:1.     Absolute:绝对定位,是相对于最近的且不是static定位的父元素来定位 2.     Fixed:绝对定位,是相对于浏览器窗口来定位的,是固定的,不会跟屏幕一起滚动. 3.     Relative:相对定位,是相对于其原本的位置来定位的. 4.     Static:默认值,没有定位. 5.     Inherit:继承父元素的position值. 对于初学者来说,position的属性很让人头疼,特别是absolute与relative之间的…
IDEA 新建 Java 项目 (图文讲解, 良心教程) 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 免费领取全网最热的Java架构师学习PDF, 转载请注明出处 http://www.javaman.cn/essay/idea-java 发布时间: 2021-4-21 18:24:46 作者: java大师 老铁们,大师将手把手教大家如何通过 IDEA 新建一个 Hello World Java 项目.废话不多说,直接开整! 1.打开File->…
| 好看请赞,养成习惯 你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it well enough 现陆续将Demo代码和技术文章整理在一起 Github实践精选 ,方便大家阅读查看,本文同样收录在此,觉得不错,还请Star 看到本期内容这么少,是不是心动了呢? 前言 上一篇万字长文 Java AQS队列同步器以及ReentrantLock的应用 为我们读 JUC 源码以…
本文内容主要总结自<Java并发编程的艺术>第5章——Java中的锁. 一.AQS AbstractQueuedSynchronizer(简称AQS),队列同步器,是用来构建锁或者其他同步组建的基础框架.该类主要包括: 1.模式,分为共享和独占. 2.volatile int state,用来表示锁的状态. 3.FIFO双向队列,用来维护等待获取锁的线程. AQS部分代码及说明如下: public abstract class AbstractQueuedSynchronizer extend…
本文内容主要总结自<Java并发编程的艺术>第5章——Java中的锁. 一.AQS AbstractQueuedSynchronizer(简称AQS),队列同步器,是用来构建锁或者其他同步组建的基础框架.该类主要包括: 1.模式,分为共享和独占. 2.volatile int state,用来表示锁的状态. 3.FIFO双向队列,用来维护等待获取锁的线程. AQS部分代码及说明如下: public abstract class AbstractQueuedSynchronizer extend…
AQS是个啥? AQS(AbstractQueuedSynchronizer)是Java并发用来构建锁和其他同步组件的基础框架.许多同步类实现都依赖于它,如常用的ReentrantLock/ReentrantReadWriterLock/CountDownLatch等   AQS提供了独占(Exclusive)以及共享(Share)两种资源共享方式: acquire(acquireShare)/release(releaseShare).  acquire:获取资源,如果当前资源满足条件,则直接…
前言 在上一篇中我们介绍了Logstash快速入门,本文主要介绍的是ELK日志系统中的Logstash的实战使用.实战使用我打算从以下的几个场景来进行讲解. 时区问题解决方案 在我们使用logstash将采集的数据传输到ES中的时候,会发现采集的时间@timestamp的时间和我们本地的不一致,这个主要是因为时区的问题导致的,我们在计算时间的时候需要将这个时间增加8小时,但是这样会很不方便.为了永久解决这个问题,我们可以在logstash中的filter中对该字段进行转换,增加8小时. 添加的配…
笔记主要参考<Java并发编程的艺术>并且基于JDK1.8的源码进行的刨析,此篇只分析独占模式,后续在ReentrantReadWriteLock和 CountDownLatch中 会重点分析AQS的共享模式 一丶Lock 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁可以防止多个线程同时访问共享资源(这种锁称为独占锁,排他锁)但是有些锁可以允许多个线程并发访问共享资源,比如读写锁 1.Lock接口的方法: 方法 作用 void lock() 获取锁,调用该方法的线程将会获取锁,当锁…
前几天帮人设计了一个手机版(做了屏幕适配,电脑使用也正常)的考题框架,供学习交流使用,今天把设计思路与技巧命整理一下. 一 效果演示: 1 登陆后台 题库管理 试卷管理 考生管理 科目管理 2 考生注册 考生登陆 进入考试界面 开始答题 交卷保存即可 二  开发思路: 充分利用baasdata数据绑定与data临时组件的存储特性,实现数据同步,绑定思想贯穿整个考题模块设计. 三 页面逻辑与代码实现: 1 数据库设计 数据库设计模型基础: (注)数据模型,是整个开发过程中对数据相关业务的描述,根据…
视频教程地址:http://v.youku.com/v_show/id_XMTgwOTAyMTkyMA==.html?from=s1.8-1-1.2&spm=a2h0k.8191407.0.0 一.效果演示: 管理员登陆    演示地址:http://ch-app.cloudx5.com  帐号:admin 密码:admin 登陆成功,进入管理员界面,保存登陆状态到数据库 左侧菜单慢慢缩进,并且菜单文字隐藏 鼠标经过头像,图像动态滑动下拉,指标旋转 时间同步 首页图文统计,引入echarts.…
转载:http://blog.csdn.net/yafeilinux/article/details/4717706  作者:yafeilinux (说明:我们的编程环境是windows xp下,在Qt Creator中进行,如果在Linux下或直接用源码编写,程序稍有不同,请自己改动.) 在Qt中并没有特定的串口控制类,现在大部分人使用的是第三方写的qextserialport类,我们这里也是使用的该类.我们可以去 http://sourceforge.net/projects/qextser…
讲解是在linux下完成的,但对windows系统,操作也是一样的,不要被吓到了 1.下载Eclipse…
目录 一.Spring Boot 是什么 二.为什么要使用 Spring Boot 三.快速入门 3.1 创建 Spring Boot 项目 3.2 项目结构 3.3 引入 Web 依赖 3.4 编写第一个接口 3.5 启动程序,验证效果 四.总结 五.GitHub 示例代码 一.Spring Boot 是什么 以下截图自 Spring Boot 官方文档: 翻译整理一下,内容如下: Spring Boot 是基于 Spring 框架基础上推出的一个全新的框架, 旨在让开发者可以轻松地创建一个可…
本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 上篇文章我们已经完成了API测试工具选型,接下来是一系列周期性的开发测试过程:接口开发.检出代码.运行测试.记录结果.发送报告.为了快速发现问题,并减少重复过程以节省时间.费用和工作量,我们需要一套完整的持续集成解决方案,除接口开发之外其他环节全部自动完成,无需太多的人工干预. 这篇文章将对持续集成解决方案进行一步一步的讲解,希望对大家能有帮助. 1. Web Ap…
wordpress下载:https://cn.wordpress.org/ 在Sina App Engine上搭建WordPress博客图文教程: 一.登录你的SAE账号以后.进入"我的应用",点击"创建新应用"--选择php环境直接创建 二.依据以下的图示.设置好"Mysql""Storage""MemCache"三项: 1.mysql直接启动 2.storage,新建wordpress.其它參数任意 w…
在Qt中并没有特定的串口控制类,现在大部分人使用的是第三方写的qextserialport类,我们这里也是使用的该类.我们可以去 http://sourceforge.net/projects/qextserialport/files/ 进行下载,也可以去下载我上传到网上的: http://download.csdn.net/source/1762781  或 http://www.qtcn.org/bbs/read.php?tid=22847 下载到的文件为:qextserialport-1.…
本篇文章围绕字符串排序的核心思想,通过图示例子和代码分析的方式讲解了两个经典的字符串排序方法,内容很详细,完整代码放在文章的最后. 一.键索引计数法 在一般排序中,都要用里面的元素不断比较,而字符串这玩意儿大可不必比较,有另外一种思想. 在键索引计数法中,可以突破NlongN的排序算法运行时间下限,它的时间级别是线性的! 想要不对字符串里面的字符进行对比,我们需要引入字母表的概念,比如将‘a’看作1,‘b’看作2,‘c’看作3,这样下去,26个字母只需要一个长度为27的数组就能够表示(下标为0不…
本文章原创于www.yafeilinux.com 转载请注明出处. (说明:我们的编程环境是windows xp下,在Qt Creator中进行,如果在Linux下或直接用源码编写,程序稍有不同,请自己改动.) 在Qt中并没有特定的串口控制类,现在大部分人使用的是第三方写的qextserialport类,我们这里也是使用的该类. 源码和范例都可以到我们网站的资源下载页面进行下载. 下载到的文件为:qextserialport-1.2win-alpha.zip 其内容如下图: 我们在windows…
你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it well enough 现陆续将Demo代码和技术文章整理在一起 Github实践精选 ,方便大家阅读查看,本文同样收录在此,觉得不错,还请Star 之前写了几篇 Java并发编程的系列 文章,有个朋友微群里问我,还是不能理解 volatile 和 synchronized 二者的区别, 他的问题主要可以归纳为这几个:…
你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it well enough 现陆续将Demo代码和技术文章整理在一起 Github实践精选 ,方便大家阅读查看,本文同样收录在此,觉得不错,还请Star 并发编程为什么会有等待通知机制 上一篇文章说明了 Java并发死锁解决思路 , 解决死锁的思路之一就是 破坏请求和保持条件, 所有柜员都要通过唯一的账本管理员一次性拿到所有…
日常经常能看到缓入缓出的动画效果,如: 1,带缓入缓出效果的滚动条: 2,带缓入缓出效果的呼吸灯: 像上面这种效果,就是用到了三角函数相关的知识,下面将从头开始一步步去讲解如何实现这种效果. 一.基础知识 (一)三角函数 常用的三角函数有正弦函数(sin).余弦函数(cos).正切函数(tan).在动画效果中常用的是正弦函数和余弦函数,由于两者可以互相转化,所以本文将以正弦函数来进行讲解. 如下图所示直角三角形ABC: 则: sin(A)=a/c 即:角A的正弦值=角A的对边/斜边 (二)正弦曲…
Service 概念 Kubernetes Service 定义了这样一种抽象:逻辑上的一组 Pod,一种可以访问它们的策略 -- 通常称为微服务. Service 通常是通过 Label Selector,也就是 Service 通过标签选择的方式匹配一组 Pod 对外提供访问的机制. 解释上图具体实现过程: 首先.定义一个 Nginx Deployment由它创建三个Pod,每个 Pod 中都有对应的标签mynginx. 第二.定义一个Nginx Service,标签为mynginx,Ser…
   …
一 先说说,这两个概念是什么意思 全局可观察变量?没听说过,只听过全局变量,那你out了,因为我要充分发挥绑定技术来控制页面部局,组件的隐藏与显示,文字内容,样式改变.看我博文大家知道,我想用绑定技术贯穿整个web开发,目的是为了少写代码或不写代码,控制起来更灵活.一会用实例说说全局可观察变量的前世今生. 登陆状态全局控制?登陆状态,大家知道,无非就是登陆与退出.全局控制呢?就是说登陆后能进入哪些页面,操作哪些组件,拥有对哪些界面的操作权限. 那问题来了,如何用代码实现根据登陆状态来控制页面及组…
一 前言: wex5官方教程里,开篇即以一个input输入,output即时输出的例子,为我们展现了一个概念:可观察对象.在以后我的项目开发中,将大量运用可观察对象. 那么,问题来了: 1. 可观察对象是什么? 2. 可观察对象能干什么? 3.可观察对象能代替哪些工作?具有哪些优势? 4 可观察对象的绑定机制与实际运用技巧如何实现? 为了大家了解绑定技术在web开发中的重要性,看明白我此后更深层次的运用,今天,我先以我用wex5设计的的视频字幕机来说明,没有可观察对像,字幕机的制作,几乎无从谈起…