redis使用需要留意的命令与地方 最近温习了一下redis的知识,总结记录了一些需要注意的地方。使用好redis,还是需要继续多深入了解redis的数据结构,命令的复杂度,主从复制原理,大家还是需要多去redis的中文官网多加查询与学习redis学习官网:http://www.redis.cn/1.dbsize,时间复杂度是o(1),而keys * 则会遍历redis所有键,o(n),保存了大量的键时候,线上环境禁止使用2.可以利
Trie前缀树简单实现 Trie树,前缀树,字典树,又称单词查找树或键树,是一种树形结构。 典型应用是用于统计和排序大量的字符串(但不仅限于字符串),可以用于搜索引擎系统,用于文本词频统计。Trie利用字符串的公共前缀来避免无谓的查找,从而降低查询时间的开销以达到提高效率的目的。Trie性质:**1.根节点不包含字符,除根节点外每一个节点都只包含一个字符。 2.每一个节点与它所在树中的位置一起决定了它所代表的字符串(虽
源码角度来分析ReentrantLock是怎么利用AQS来实现公平锁,和非公平锁 ReentrantLock这篇文章是从JDK8的ReentrantLock源码角度来分析ReentrantLock是怎么利用AQS来实现公平锁,和非公平锁的。所以前提需要理解AQS。 /** * A reentrant mutual exclusion {@link Lock} with the same basic * behavior and semantics as t
数据库删除重复属性列,错误[HY000][1093] You can't specify target table 'orders' for update in FROM clause 存在一个orders表:CREATE TABLE `orders` ( `Id_o` int(11) NOT NULL AUTO_INCREMENT, `orderNo` VARCHAR(20) NOT NULL, `Id_p` int(11) DEFAULT NULL, PRIMARY KEY (`Id_O`)) ENGINE=InnoDB DEFAULT CHARSET=utf8
第三章 流Stream 第三章 流java8中新增的特性是想在帮助程序员写出更好的代码,其中对核心类库的改进是很关键的一部分,也是本章的主要内容。对核心类库的改进主要包括集合类的API和新引入的流(Stream)。流使得我们可以在更高的抽象层次对集合进行操作通常,以前,我们是这样使用for循环计算来自London的人数:int count = 0;for (Artist artist : allArtists) {
第二章 Lambda表达式 面向对象编程是对数据进行抽象,而函数式编程是对行为进行抽象。现实世界中,数据和行为并存第二章 Lambda表达式匿名内部类:button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { System.out.println("button cli
Nginx中 conf文件的内置变量 nginx全局变量使用方法是在前面加符号,如符号,如hostnamearg_PARAMETER #这个变量包含GET请求中,如果有变量PARAMETER时的值。 args #这个变量等于请求行中(GET请求)的参数,如:foo=123&bar=blahblah; binary_remote_addr #二进制的客户地址。 body_bytes_sen
JAVA正则表达式与Nginx正则表达式差别 nginx中大量的使用正则表达式来进行字符匹配,最常见于在Location{ }块内,用于配对请求的访问URL,或者对某些内置变量进行条件判断,如:location ~ .*\.(js|css)?$ { expires 1h; }学过java正则表达式的同学或许看起来有点熟悉,确实是跟nginx正则表达式有一些相同的地方。 为了更轻松地从java
RMQ问题 在线算法-ST算法 RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j之间的最小/大值最容易想到的解决方案是遍历,复杂度是O(n) 有一种比较高效的在线算法(ST算法)解决RMQ。在线算法,是指用户每输入一个查询便马上处理一个查询,回复结果。 该算法一般用较长的时间做预
Arrays.binarySearch() 方便记忆版 Arrays.binarySearch()返回值主要有两个方法1) binarySearch(Object[], Object key)a: 要搜索的数组 key:要搜索的值 如果key在数组中,则返回搜索值的索引;否则返回-1或“-”(插入点)。插入点是索引键将要插入数组的那一点,即第一个大于该键的元素的索引。[1] 搜索值不是数组元素,且在数组范围内,从1开始计数,得“ - 插入点索引值”
jdbc中PreparedStatement的预编译比Statement插入的速度快多少 jdbc中PreparedStatement的预编译比Statement插入的速度快多少 PreparedStatement有预编译机制,性能比Statement更快,还能防止SQL注入攻击。 PreparedStatement传入带有“?”的sql语句参数string,在数据库中进行预编译,之后的每次jdbc的执行,都只用setString,setInt,setFloat等传输
libstdc Linux 升级了gcc,g++ 5.2 仍然提示GCC: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.15 not found 运行程序,提示: node: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.21' not found (required by node) node:
Linux 升级安装gcc g++ Linux 升级安装gcc g++ Linux 运行程序,出错提示如下,网上查找需要更新gcc ,g++ 版本为4.8以后的。 1. 下载最新版本gcc gcc当前最新版本是5.2,用迅雷下载: wget http://gcc.parentingamerica.com/releases/gcc-5.2.0/gcc-5.2.0.tar.bz2
Android Studio 2.2.1,2.2.2 编辑build.gradle文件卡 Android Studio 2.2.1,2.2.2 编辑build.gradle文件卡 最近升级了android studio 之后,编辑build.gradle文件会特别卡,解决办法如下: 打开SDK Manager, 下载Google repository,Android support repository,之后就可以解决。
找不到android.support.v7.app.AppCompatActivity的类文件 找不到android.support.v7.app.AppCompatActivity的类文件 执行命令javah -d jni -classpath ….\build\intermediates\classes\debug、com.example.cp.myapplication.Activity_main_3的时候报错: 错误: 无法访问Android.supp
tar.xz 文件解压 tar.xz 文件解压用wget下了zlib,发现文件格式是.tar.xz。用习惯了tar -xzvf,也想一步解压。但是不行,上网搜了一下xz是什么格式。XZ压缩最新压缩率之最,xz是一种压缩文件格式,采用LZMA SDK压缩,目标文件较gzip压缩文件(.gz或·tgz)小30%,较·bz2小15%。xz这个压缩可能很多都很陌生,但是使用的使用,却发现不用install,自带有。之前xz使用得
String.trim() String.trim() 文档: Returns a string whose value is this string, with any leading and trailing whitespace removed. If this String object represents an empty character sequence, or the first and
python map() ,reduce()运用 python3 中map(),reduce()函数 Python内建了map()和reduce()函数。 如果你读过Google的那篇大名鼎鼎的论文“MapReduce: Simplified Data Processing on Large Clusters”,你就能大概明白map/reduce的概念。 我们先看map。map()函数接收两个参数,一个是函数,一个是Iter
Java bean 概念 Java bean 概念 JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制发现和操作这些JavaBean 的属性。举个例子,假如有人要用Java实现一个单
git add 错误,git add不了文件 git 错误git命令行模式,输入git add 命令出现如下错误fatal: Unable to create ‘C:/Users/cp/Documents/GitHub/first/.git/index.lock’: File exists.If no other git process is currently running, this probably means a git proce