并发编程 —— 谈谈线程中断

前言 如何中断一个线程,肯定不会使用 stop。而是使用 interrupt 方法。同时,我们知道,中断一个线程只是打个标志位。不会真的中断线程,但,如果线程是阻塞状态的呢? 而 Java 中,想要阻塞一个线程有很多种方式。 synchronized Object.wait() Lock Condition.await() LockSupport.park() Thread.join() 当然上面都是很简单的说说,API 并不是那么的详细。像 Lock 的 api 就有响应中断的。 还有 Th
分类: 其他 发布时间: 05-19 23:56 阅读次数: 12

建一个网站python

域名()+ 服务器+ 源码 制作一个自己的网站.................
分类: 其他 发布时间: 05-19 23:56 阅读次数: 8

使用并发工具实现 RPC 调用流量控制

前言 RPC 服务中,每个服务的容量都是有限的,即资源有限,只能承受住给定的网络请求,所以,在设计 RPC 框架的时候,一定要考虑流量控制这个问题。而 Java 中,实现流量控制有很多中方式,今天说 2 种。 Semaphore 实现流控 代码: static Semaphore semaphore = new Semaphore(100); public static void main(String[] args) { Executor timeTask = Execu
分类: 其他 发布时间: 05-19 23:56 阅读次数: 10

并发编程——ConcurrentHashMap#helpTransfer() 分析

前言 ConcurrentHashMap 鬼斧神工,并发添加元素时,如果 map 正在扩容,其他线程甚至于还会帮助扩容,也就是多线程扩容。就这一点,就可以写一篇文章好好讲讲。今天一起来看看。 源码分析 为什么帮助扩容? 在 putVal 方法中,如果发现线程当前 hash 冲突了,也就是当前 hash 值对应的槽位有值了,且如果这个值是 -1 (MOVED),说明 Map 正在扩容。那么就帮助 Map 进行扩容。以加快速度。 具体代码如下: int hash = spread(key.hash
分类: 其他 发布时间: 05-19 23:56 阅读次数: 14

理解css相邻兄弟选择器

今天在菜鸟教程看到了css组合选择符的“相邻兄弟选择器”,刚开始对这个概念有些不太理解,通过查阅资料并且经过一些试验总算有了些头绪。 原文解释是“相邻兄弟选择器(Adjacent sibling selector)可选择紧接在另一元素后的元素,且二者有相同父元素。如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。” 这里面有2个关键信息:(1)紧接在另一元素后;(2)二者有相同父元素 例子①: <!DOC
分类: 其他 发布时间: 05-19 23:56 阅读次数: 10

并发编程——ConcurrentHashMap#transfer() 扩容逐行分析

前言 ConcurrentHashMap 是并发中的重中之重,也是最常用的数据结果,之前的文章中,我们介绍了 putVal 方法。并发编程之 ConcurrentHashMap(JDK 1.8) putVal 源码分析。其中分析了 initTable 方法和 putVal 方法,但也留下了一句话: 这篇文章仅仅是 ConcurrentHashMap 的开头,关于 ConcurrentHashMap 里面的精华太多,值得我们好好学习。 说道精华,他的扩容方法绝对是精华,要知道,Concurren
分类: 其他 发布时间: 05-19 23:56 阅读次数: 10

poj 2083 Fractal

Description A fractal is an object or quantity that displays self-similarity, in a somewhat technical sense, on all scales. The object need not exhibit exactly the same structure at all scales, but the same "type" of structures must appear on all sc
分类: 其他 发布时间: 05-19 23:56 阅读次数: 10

Sift中尺度空间、高斯金字塔、差分金字塔(DOG金字塔)、图像金字塔

这是一篇很棒的介绍金字塔的博文,由浅入深,逐步到DOG金字塔~一、 图像金字塔图像金字塔是一种以多分辨率来解释图像的结构,通过对原始图像进行多尺度像素采样的方式,生成N个不同分辨率的图像。把具有最高级别分辨率的图像放在底部,以金字塔形状排列,往上是一系列像素(尺寸)逐渐降低的图像,一直到金字塔的顶部只包含一个像素点的图像,这就构成了传统意义上的图像金字塔。获得图像金字塔一般包括二个步骤:1. 利用...
分类: 编程语言 发布时间: 05-19 23:56 阅读次数: 10

第七届蓝桥杯:小明打靶

打靶小明参加X星球的打靶比赛。比赛使用电子感应计分系统。其中有一局,小明得了96分。这局小明共打了6发子弹,没有脱靶。但望远镜看过去,只有3个弹孔。显然,有些子弹准确地穿过了前边的弹孔。不同环数得分是这样设置的:1,2,3,5,10,20,25,50那么小明的6发子弹得分都是多少呢?有哪些可能情况呢?下面的程序解决了这个问题。仔细阅读分析代码,填写划线部分缺失的内容。package dibajie...
分类: 编程语言 发布时间: 05-19 23:56 阅读次数: 8

CentOS下使用valgrind-memcheck对C语言程序进行检查

CentOS7安装valgrind教程https://www.centoschina.cn/course/config/5987.htmlCentOS7安装gcc编译器教程https://www.centoschina.cn/course/config/10136.html示例的hello.c文件代码为#include &amp;lt;stdlib.h&amp;gt;  #include &amp;lt;malloc.h...
分类: 编程语言 发布时间: 05-19 23:55 阅读次数: 13

mybatis异常 bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorE

这个错误是自己开发过程中不细心导致的,特记下来,作为警惕。; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that correspond...
分类: 编程语言 发布时间: 05-19 23:55 阅读次数: 13

Atom编辑器汉化成中文版

Atom 是 Github 专门为程序员推出的一个跨平台文本编辑器。小松今天看到了这个编辑器,而且感觉不错,推荐一下 Atom官方网站https://atom.io/ GitHub 以后肯定会通过官方模块把 Atom 和 GitHub 进行深度整合,让开发者因为 Atom 而用 GitHub 用得爽,进一步加强用户黏度才是目的吧 除了基本的操作和界面外,和 Sublime 最大的差别在于扩展性。A...
分类: 编程语言 发布时间: 05-19 23:55 阅读次数: 11

Bootstrap全局css样式

HTML5文档模型和移动设备优先 HTML5文档声明及语言选择 &amp;amp;amp;amp;lt;meta name=&amp;amp;amp;quot;viewport&amp;amp;amp;quot; content=&amp;amp;amp;quot;width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no&amp;amp;amp;quot; /&amp;amp;amp;amp;g
分类: 编程语言 发布时间: 05-19 23:55 阅读次数: 10

PCM声音重采样库libsample的使用

在openwrt上使用ALSA播放语音, 因为要适应不同的采样率的声音源alsa声卡播出统一使用48k采样率,声音源不是48K的, 需要使用 libsamplerate库进行resample这里有下载:https://src.fedoraproject.org/repo/pkgs/libsamplerate/libsamplerate-0.1.8.tar.gz/1c7fb25191b4e6e362...
分类: 编程语言 发布时间: 05-19 23:54 阅读次数: 32

TensorFlow入门(2)矩阵基础

placeholder(type,strucuct…)它的第一个参数是你要保存的数据的数据类型,大多数是tensorflow中的float32数据类型,后面的参数就是要保存数据的结构,比如要保存一个1×2的矩阵,则struct=[1 2]。它在使用的时候和前面的variable不同的是在session运行阶段,需要给placeholder提供数据,利用feed_dict的字典结构给place...
分类: 编程语言 发布时间: 05-19 23:54 阅读次数: 10

Vue.set全局操作

Vue.set的作用就是在构造器的外部操作构造器内部的数据,属性和方法。其他知识点:vue可以在外部声明数据,然后赋值给构造器;                    在构造器外部声明一个方法,有三种方法可以改变构造器中的数值...
分类: 编程语言 发布时间: 05-19 23:53 阅读次数: 10

读取.properties配置文件里面的内容工具类

    读取配置文件的信息,可方便修改,配置文件为com.properties,package com.suncreate.pahfpt.web.utils; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.Properti...
分类: 编程语言 发布时间: 05-19 23:53 阅读次数: 10

ogg高版本到低版本同步

源端ogg版本: [oracle@rac1 ogg]$ ggsci -v Oracle GoldenGate Command Interpreter for Oracle Version 11.2.1.0.21 18343248 18541804_FBO Linux, x64, 64bit (optimized), Oracle 11g on May 8 2014 23:38:49 Copy
分类: 其他 发布时间: 05-19 23:53 阅读次数: 11

postgresql的now()与Oracle的sysdate

postgresql的now()为当前事务开始时间, 而Oracle的sysdate是当前时间。 区别在于事务。 postgresql中的now(): postgres=# begin ; BEGIN postgres=# select now(); now ------------------------------- 2017-03-
分类: 其他 发布时间: 05-19 23:52 阅读次数: 10