转载 相关博文

Android 经典笔记之八:CountDownTimer解读

## 目录介绍 **CountDownTimer(倒计时计数器)** - 1.1 介绍 - 1.2 参数 - 1.3 公共方法 - 1.4 使用方法 - 1.5 源码分析 - 1.6 synchronized 关键字 **0.本人写的综合案例** [案例](https://github.com/yangchong211/LifeHelper) [说明及截图](https://github.com/yangchong211/LifeHelper/blob/master/README.md) 模块:新闻,音乐,...

SpringMVC(四)-请求处理

111001001011100010111010111001001011110110100000111001111001101010000100111001011010010110111101111001011010010110000111111001011011111110000011111001111000001010111001111010001011010110011110...

SDN 技术指南(四):Open vSwitch

- Open vSwitch 安装 - Open vSwitch 命令行 - Open vSwitch 运行原理 - Open vSwitch 性能监控...

Video.js自定义使用

video.js 是开源插件,据说甚至可以集合到gitbook上...

正确理解Javascript Closures -- 闭包

闭包是Javascript中最常见的语法和形式之一,闭包可以避免全局污染,模块化编程。 要理解闭包,先要熟悉scope, Javascript的基本概念 0 准备 Scope - 作用域 Javacript中的作用域有两种 Global scope Local scope 定义在函数之内的变量处于local scope, 定义在函数之外的变量处于global scope, 函数每调用一次,就新生成一个scope Global scope的生存期为整个应用application Local scope的生存期...

SpringMVC配置太多?试试SpringBoot

SpringMVC相信大家已经不再陌生了,大家可能对于Spring的各种XML配置已经产生了厌恶的感觉,Spring官方发布的Springboot 已经很长时间了,Springboot是一款“约定优于配置”的轻量级框架;Springboot首先解决的就是各种繁琐的XML配置,你可以不用任何XML配置,进行web服务的搭建,其次是Springboot本身就继承了web服务器,如果说前端开发人员想在本地启动后端服务不需要进行各种配置,几乎可以做到一键启动。 再有就是目前大热的微服务,而Springboot恰恰满...

源码解析之ConcurrentHashMap

前言 相信有并发经验的小伙伴对于ConcurrentHashMap不会陌生。 上一篇我们描述了cow容器 cow容器之CopyOnWriteArrayList,主要是CopyOnWriteArrayList,当然我们也有同步容器可以选择(Collections.synchronizedCollection等) 提到并发想必大家最常用的还是本篇的主角 ConcurrentHashMap 思路 提到并发,大家的思路无非就是加锁。那么我们可以考虑一下为啥需要加锁呢?存在竞态条件呗 那如何提高线程并发度呢? 一个现...

DataQL 的表达式编译(自创的一种表达式编译算法)

    憋了两周多这个算法算是憋出来了。大体思路是通过 parser 解析表达式,产生一颗 AST 树。然后将 AST 编译成指令序列。     举个例子:12 + 12 * 2 - 12,根据先算乘除后算加减的规则表达式要被编译成:12,12,2,*,+,12,- 。这个编译结果被执行的过程是如下这样: 会入栈 三个数:12,12,2 执行乘法操作,乘法操作会消耗两个栈顶数据然后产生一个新的栈数据,结果为:12,24 执行加法操作,消耗了栈上的两个数据,产生了一个新数据,最后栈上的数据为 36 接着入栈1...

JUnit4源码分析运行原理

本文通过分析JUnit4的源代码,介绍了测试用例在JUnit4中的运行过程。...

SpringCloud(第 029 篇)配置客户端 ConfigClient 接入配置服务端

1、有配置服务端,那么势必就会有与之对应的客户端,SpringCloud 文档中集成也非常简单; 2、但是这里有点需要注意,就是 bootstrap 配置文件,官方建议我们在bootstrap中放置不更改的属性,我们同样也需要在这里做一些简单不易于改变的配置;...

Spring Boot 初探

近日发现spring boot挺火,了解了一下,并打算重构以前的单点登录系统(cas)中用户中心模块,作为切入点。...

Spring Boot 整合 Thymeleaf 完整 Web 案例

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! Thymeleaf 是一种模板语言。那模板语言或模板引擎是什么?常见的模板语言都包含以下几个概念:数据(Data)、模板(Template)、模板引擎(Template Engine)和结果文档(Result Documents)。 - 数据 数据是信息的表现形式和载体,可以是符号、文字、数字、语音、图像、视频等。数据和信息是不可分离的,数据是信息的表达,信息是数据的内涵。数据本身没有意义,数据只有对实体...

一张思维导图,让正则表达式不再难懂

一张精彩的导图  关注公众号回复“正则导图”即可下载xmind源文件   导图内容解析 语法结构 字符 普通字符:字母、数字、汉字、下划线,匹配与之相同的一个字符 简单转义字符:\n(换行),\t(制表),\\(\本身)和 \^...(\^等有特殊作用的符号如要匹配自己的话要用转义) 标准字符集合 注意区分大小写,大写是相反的意思,匹配相反是不匹配 \d 任意一个数字,0~9 \w 任意一个字母、数字、汉字或下划线,A~Z、a~z、0~9、_和任意一个汉字 \s 任意空白符,包括空格、制表符、换行符 . 小...

t-io对quartz的封装,以极简的方式来开发定时任务

定时任务不须多言,几乎是每个项目必备功能,而原生的quartz用起来着实有点哆嗦,市面上也有不少依赖spring的定时任务组件,因为笔者本人已经完全抛弃spring(笔者还抛弃了servlet),所以自己动手对quartz进行了简单封装,使其更容易开发和维护! 引入相关jar <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> ...

疯狂Spring Cloud连载(八)——Spring Cloud与Ribbon

8 Spring Cloud与RibbonRibbon         本文节选自《疯狂Spring Cloud微服务架构实战》,本书将于2017年11月出版。                  本书代码共享地址:https://gitee.com/yangenxiong/SpringCloud                  本章要点              Spring Cloud中使用Ribbon         Spring Cloud集成了Ribbon,结合Eureka,可实现客户端的负载均...

java并发编程的艺术-第四章之Java并发基础

为什么要使用多线程 Java天生就是多线程程序,简单的一个main() 方法的执行,其实是由main线程和其它的线程共同执行的。当然使用多线程有如下的好处:         1、利用更多的处理器核心         2、更快的响应速度,如将数据一致性不强的操作交给其它的线程去操作         3、更好的编程模型 线程简介 一、线程优先级 在线程执行过程中,线程优先级决定了需要分配处理器资源的多少,从而决定了获取时间片的多少。现在线程构建时,可以通过setPriority()方法来修改优先级,默认优先级是...

疯狂Activiti6.0连载(九)——Activiti数据查询(二)

9 Activiti数据查询(二)         本文节选自《疯狂Workflow讲义(第2版)》。                   本书代码目录:https://gitee.com/yangenxiong/CrazyActiviti         本章要点              Activiti的数据查询、排序机制 9.1 排序方法         Query中提供了asc和desc方法,这两个方法可以设置查询结果的排序方式,但是调用这两个方法的前提是,必须告诉Query对象,是按何种条件进...

坑中速记整理! 使用 kotlin 写第一个 ReactNative Android 模块

Kotlin 和 Swift, 两大新宠! 借 ReactNative 熟悉下 kotlin 的用法,不料掉坑里面了.昨晚花了大半夜,趁这会儿思路清晰,把涉及到的一些关键信息,迅速整理下....

Python实现生命游戏

Python,生命游戏,matplotlib...

CentOS 7 安装 TinyProxy 代理服务器

米扑科技,是一家专注互联网金融和大数据挖掘的初创互联网公司,正式注册成立于2016年9月,总部位于北京市海淀区中关村核心功能区。 米扑团队,成员来自百度、小米、阿里、创新工场等一线互联网公司,核心技术研发,实战经验丰富,具有浓厚的极客精神和精益的工匠品质。   米扑代理,是米扑科技旗下的一款用于网页抓取、数据采集的代理产品,作为全球代理服务的领导品牌,产品优势如下: 1. 五年来,已经积累超过2000多万的海量代理库,每天可用代理5000个左右 2. 覆盖全球120多个国家,中国34个省市,支持国家批量筛选...

备战未来,6 款优秀的 AR/VR 开源库推荐

如果说去年是“ VR 元年”,那今年则可以称得上是 AR 的爆发年。2017 年,VR 市场趋于平静,技术逐渐沉淀;而 AR 增强现实技术的关注度却在不断升温。前段时间发布的支持 AR 的 iOS11 ,也玩出了各种花样。接下来,推荐几款优秀的 AR/VR 开源库,希望能对大家有所帮助。 1、AR.js AR.js 是一款应用于 Web 的高效增强现实(AR)库,基于 three.js + jsartoolkit5,无需安装。它适用于任何带有 webgl 和 webrtc 的手机,且运行速度非常快,在手机上...

MySQL5.7主主复制配置

MySQL5.7主主复制配置 主机1IP:172.16.1.206 主机2IP:172.16.1.226 一、首先安装MySQL 5.7 1、卸载两台主机系统中已经有的mysql相关软件包 rpm -qa | grep -i mysql yum remove mysql(相关软件包名称) -y 2、分别在两台主机系统中执行以下命令 在http://dev.mysql.com/downloads/repo/yum/站点下载mysql57-community-release-el6-8.noarch rpm -...

Spring boot for Eclipse 开发指南第五节 Oauth 2.0

 折腾了一天. 终于在晚上 7点半 搞定了 1.废话不说 pom.xml 增加依赖 主要就是security 和 oauth2.0 的包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> &...

vue 指令基本使用大全

## 指令 - 解释:指令 (Directives) 是带有 `v-` 前缀的特殊属性 - 作用:当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM ### 常用指令 - v-text - v-html - v-bind ### v-text - 解释:更新元素的 textContent ```html ``` ### v-html - 解释:更新元素的 innerHTML ```html ``` ### v-bind - 作用:当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM -...

算法的时间复杂度

  1、时间复杂度  (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。 (2)时间复杂度 在刚才提到的时间频度中,n称为问题的规模,当n不断变化时,时间频度T(n)也会不断变化。但有时我们想知道它变化时呈现...

DBCP老矣,但能饭

数据库连接池负责创建(通过JDBC API)、管理、销毁数据库的连接。应用程序可以从数据库连接池中重复使用一个现有的连接,而不是重新创建一个。连接池,common-pool中的GenericObjectPool它负责缓存和管理连接;连接,这是是指PoolableConnection;连接池和连接一对多的关系。池化技术是通过commons-pool来实现的,每个连接是一个对象,换言之,是对象池的使用与管理。DBCP连接池是基于commons-pool这种对象池来实现的。...

C++ 开发 PHP 7 扩展之定义常量

大家如果经常阅读 `PHP` 官方手册的话会发现,在扩展那一章里面的每个扩展的介绍的时候,都有一节是 `Predefined Constants` 预定义常量,这些常量是不需要您在 `PHP` 里面进行定义就可以使用的。 > 比如 `Mysqli` 扩展的 Predefined Constants [http://php.net/manual/en/mysqli.constants.php](http://php.net/manual/en/mysqli.constants.php) 那么我们必须也在...

源码分析之ThreadLocal

前言 Java项目中通常为了并发数据准确性经常使用Lock或者synchronized来作为并发的手段。 也就是说作为共享资源必然需要通过同步等手段来实现。那么转换一下思路, 我们确实在每个地方都需要用到共享资源么? 如果我们所有的变量都是私有的 那自然不需要同步就是thread-safe的 ThreadLocal就是这样应运而生。人如其名就是线程私有对象。 实现 ThreadLocal /* <p>Each thread holds an implicit reference to its c...

从RPC 到微服务

从 RPC 到微服务的演化经过了RPC->Message Queue->SOA->微服务。...

xmake-vscode插件开发过程记录

最近打算给xmake写一些IDE和编辑器的集成插件,发现vscode的编辑器插件比较容易上手的,就先研究了下vscode的插件开发流程,并且完成了xmake-vscode插件的开发。...

Elasticsearch 使用中文分词

本文演示了如何使用IK Analysis 插件来实现在 Elasticsearch 中的中文分词功能。...

cow容器之CopyOnWriteArrayList

java并发容器中有个不得不提的概念,cow(CopyOnWrite) 在jdk1.5之前需要在多线程使用同步集合,一般各位会采用如下方法添加synchronized来实现。synchronize 比如我们对某个集合进行同步 执行 Collections.synchronizedList(list) /** * Returns a synchronized (thread-safe) list backed by the specified * list. In order to guarantee ...

mingw+vs2013静态编译最新ffmpeg与x264

一、 源码包下载 1、 Ffmpeg ``` $ git clone https://git.ffmpeg.org/ffmpeg.git ``` 2、 x264 ``` $ git clone http://git.videolan.org/git/x264.git ``` 或 ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2 下载 二、 编译工具 1、 mingw https://sourceforge.net/projects/min...

intellij idea 插件开发----快速定位到mybatis的mapper文件中的sql

在使用mybatis开发的时候,常常需要查看对应方法的sql,经常是双击shift,然后搜索mapper文件,再找到对应的sql语句。开发久了,感觉很累,然后脑子一抖,自己写个小插件得了。通过快捷键,可以快速定位到sql...

疯狂Spring Cloud连载(七)——Ribbon负载均衡器

7 Ribbon负载均衡器         本文节选自《疯狂Spring Cloud微服务架构实战》,本书将于2017年11月出版。                  本书代码共享地址:https://gitee.com/yangenxiong/SpringCloud         本文要点              Ribbon负载均衡器 7.1 Ribbon负载均衡器         Ribbon提供了几个负载均衡的组件,其目的就是为了让请求转给合适的服务器处理,因此,如何选择合适的服务器,便成为负...

Less语法整理

一,变量 基本使用 Less: .@{selector} { width: 100px; height: 100px; @{property}: #000; background: url("@{bgImg}/test.png"); &:after { display: block; content: @@var; } } @selector: box; @bgImg: "../img"; @property: color; ...

疯狂Activiti6.0连载(八)——Activiti数据查询(一)

8 Activiti数据查询(一)         本文节选自《疯狂Workflow讲义(第2版)》。         本书代码目录:https://gitee.com/yangenxiong/CrazyActiviti         本文要点              Activiti的数据查询、排序机制 8.1 Activiti数据查询         Activiti提供了一套数据查询API供开发者使用,可以使用各个服务组件的createXXXQuery方法来获取这些查询对象。本小节将结合用户组数...

Spring Boot入门教程(7)---整合jpa,Shiro进行权限管理(附源码)

Shiro是Apache下的一个开源项目,我们称之为Apache Shiro。它是一个很易用与Java项目的的安全框架,提供了认证、授权、加密、会话管理,与spring Security 一样都是做一个权限的安全框架,但是与Spring Security 相比,在于 Shiro 使用了比较简单易懂易于使用的授权方式。...

JavaScript中错误正确处理方式,你用对了吗?

JavaScript的事件驱动范式增添了丰富的语言,也是让使用JavaScript编程变得更加多样化。如果将浏览器设想为JavaScript的事件驱动工具,那么当错误发生时,某个事件就会被抛出。理论上可以认为这些发生的错误只是JavaScript中的简单事件。 本文将会讨论客户端JavaScript中的错误处理。主要介绍JavaScript中的易犯错误、错误处理、异步代码编写等内容。 下面就让我们一起看看如何正确处理JavaScript中的错误。   Demo演示 本文中使用的demo可以在GitHub上找...

Rancher 2.0快速上手指南

大家好,给大家介绍一下,这是帮助大家率先上手尝试Rancher 2.0的神器 @Rancher 2.0快速上手指南...