- DeepSeek底层揭秘——Smallpond
9命怪猫
AI人工智能大模型ai
目录1.Smallpond是什么?(1)定义(2)核心功能2.对比传统数据处理框架3.技术要素(1)分布式数据加载(2)并行数据预处理(3)分布式缓存(4)数据流水线4.难点挑战(含解决方案)(1)数据I/O瓶颈(2)数据预处理复杂性(3)分布式缓存一致性(4)与3FS集成5.技术路径(1)需求分析与设计(2)原型开发与测试(3)系统优化与扩展(4)系统部署与维护6.应用场景(1)大规模图像分类(
- Redis数据类型--布隆过滤器类型详解及应用
码农爱java
【Redis】redis数据库缓存
数据结构Redis无论什么数据类型,存储的时候都是以键值对key-value形势存储,并且所有的key都是String类型,本文讨论的数据类型是value的数据类型。布隆过滤器概述:布隆过滤器(BloomFilter)是1970年由布隆提出的,Redis4.0版本已插件的形式引入到Redis中,布隆过滤器是一种占用空间非常小的概率数据结构,效率高,有一定的误判率,而且无法删除元素,主要用于去重场景
- LoadRunner性能指标分析
cs294639693
由于缺少可用物理内存存储高速缓存中经常访问的数据而导致瓶颈存在。如果是这样,SQLServer必须从磁盘检索数据。是否可通过添加更多内存或使更多内存可用于数据高速缓存或SQLServer内部结构来提高查询性能。SQLServer需要从磁盘读取数据的频率。与其它操作相比,例如内存访问,物理I/O会耗费大量时间。尽可能减少物理I/O可以提高查询性能。.PageReads/sec:每秒发出的物理数据库页
- 搭建测试用的redis集群 访问失败小记
yinhezhanshen
redisgolang
redis运行在virtualbox虚拟机的ubuntu中。golang编写的redis客户端代码运行在windows下。首先在ubuntu下启动redis集群下载redis源码,编译成功后,进入utils/create-cluster目录,运行./create-clusterstart./create-clustercreate在windows下编写访问redis代码packagemainimp
- golang中实现LRU-K算法(附带单元测试)
我的鱼干呢w
golang算法开发语言lrulru-k
LRU-K中的K代表最近使用的次数,因此LRU可以认为是LRU-1。LRU-K的主要目的是为了解决LRU算法“缓存污染”的问题,其核心思想是将“最近使用过1次”的判断标准扩展为“最近使用过K次”。相比LRU,LRU-K需要多维护一个队列,用于记录所有缓存数据被访问的历史。只有当数据的访问次数达到K次的时候,才将数据放入缓存。当需要淘汰数据时,LRU-K会淘汰第K次访问时间距当前时间最大的数据。LR
- 优化网页性能:利用onpageshow事件实现页面状态刷新
几度泥的菜花
javascript前端
在网页开发中,优化页面性能是至关重要的一环。一个常见的问题是,当用户使用浏览器的后退按钮或者前进按钮导航页面时,页面可能会从浏览器的缓存中恢复,而不会触发页面的重新加载,导致页面状态可能不正确。为了解决这个问题,可以利用浏览器提供的onpageshow事件来检测页面是否是从缓存中恢复的,并在需要时手动刷新页面状态。在JavaScript中,可以监听window对象的onpageshow事件,该事件
- Open WebUI 集成企业微信认证开发文档
大刘讲IT
企业微信web人工智能
OpenWebUI集成企业微信认证开发文档1.系统架构1.1技术栈前端:Vue3+TypeScript后端:FastAPI数据库:PostgreSQL缓存:Redis认证:企业微信OAuth2.01.2系统模块前端应用认证模块会话管理企业微信OAuth数据持久化PostgreSQL2.数据库设计--用户表CREATETABLEusers(idSERIALPRIMARYKEY,wecom_useri
- redis分布式锁setnx
xiaogg3678
redis分布式数据库
packagecom.realize;importredis.clients.jedis.Jedis;importjava.util.UUID;importredis.clients.jedis.params.SetParams;publicclassDistributedLock{privateJedisjedis;privateStringlockKey;privateStringlockVa
- Redis数据结构的业务应用、秒杀问题、缓存相关问题、分布式锁、双写一致性等
Forever Nore
Redisredisjava数据库
hash购物车存储对象set网站投票统计程序sadd把用户添加到某个投票项的投票用户集合里去,sismember可以检查用户是否已经对任何一个投票项发起过投票,scard可以统计每个投票箱的投票人数,smembers可以拿到每个投票项的投票人zset音乐网站的排行榜程序zadd把音乐加入排行榜中,刚开始分数可能就是0;zscore可以获取音乐的分数;zrem可以删除某个音乐;zincrby可以给某
- 一致性哈希HashRing
留白1108
哈希算法算法一致性哈希
一致性哈希HashRing一致性哈希算法是一种高效的分布式存储和负载均衡技术,广泛应用于分布式系统中,如缓存集群、分布式数据库等。它通过将数据和节点映射到一个环形的哈希空间,实现了数据的均匀分布和节点的动态扩展。本文将详细介绍一致性哈希算法的原理,并通过一个完整的Java实现来展示其应用。一、一致性哈希算法原理一致性哈希算法的核心思想是将数据和节点映射到一个环形的哈希空间中。具体步骤如下:1.哈希
- 基于一致性哈希的分布式Top-K
留白1108
哈希算法分布式算法TopK
基于一致性哈希的分布式Top-K在分布式系统中,数据的高效存储和快速查询是一个常见的挑战。一致性哈希(ConsistentHashing)是一种常用于分布式存储和负载均衡的技术,而Top-K查询则是数据分析中的经典问题。本文将通过一个Java实现的案例,展示如何结合一致性哈希和多线程技术,高效地完成分布式环境下的Top-K计算。实现思路一致性哈希分片:将数据通过一致性哈希算法分配到不同节点。局部T
- BitMap实现用户签到、UV统计
mikey棒棒棒
javaBitMapredisUV统计
1.Redis的BitMap概述在Redis中,BitMap并非一种独立的数据结构,而是基于String类型数据结构实现的一种存储方式。由于String类型的最大上限是512M,换算成bit位就是2^32个,这决定了BitMap可操作的最大范围。BitMap非常适合用于处理大量的布尔值,能以极小的空间存储大量的标志位信息,常用于签到统计、活跃用户统计等场景。2.BitMap常用操作命令SETBIT
- 安卓android获取存储路径,Android系统的手机文件夹目录详解
weixin_39569389
安卓android获取存储路径
一、文件夹1./acct/系统回收站,删除的系统文件。2./cache/缓存3./data/用户的所有程序相关数据app/所有用户安装的apk文件app-private/data/每一个应用的数据com.xx.appname/每一个应用的数据都存放在本目录下的一个以包名为命名的文件夹cache/lib/files/shared_prefs/system/安装app会在这里进行注册表的配置packa
- C/C++基础知识复习(52)
_lengjuan_
c语言c++
1.选择排序&冒泡排序选择排序:voidselectionSort(intarr[],intn){for(inti=0;iarr[j+1])std::swap(arr[j],arr[j+1]);}}}时间复杂度:O(n²)空间复杂度:O(1)稳定性:稳定2.MySQL架构MySQL是一个关系型数据库管理系统,其架构包括连接层、查询缓存、解析器、优化器和存储引擎等组件。通俗解释:MySQL就像一个大
- redis 支持哪几种数据结构
杏花春雨江南
redisredis数据结构数据库
Redis支持多种数据结构,每种数据结构都有其特定的用途和优势。以下是Redis支持的主要数据结构及其特点,并附上代码示例:1.String(字符串)特点:最基本的数据类型,可以存储字符串、整数或浮点数。最大支持512MB的数据。常用命令:SET:设置值。GET:获取值。INCR:将值加1(适用于整数)。代码示例:bashSETmykey"Hello"GETmykey#输出"Hello"INCRc
- spring_cache介绍和探索
stayhungerstayflush
spring基础介绍springjava后端
SpringAOP技术详解:缓存抽象与性能优化实战引言在分布式系统和高并发场景中,缓存技术犹如性能优化的"瑞士军刀"。Spring框架3.1引入的声明式缓存抽象层,通过简洁的注解实现了缓存逻辑与业务代码的解耦。本文将深入剖析Spring缓存机制的核心原理,结合实战案例演示如何实现毫秒级响应优化。一、核心概念全景解析1.1注解驱动模型Spring缓存抽象通过5大核心注解构建声明式缓存体系://类级别
- Android Coil总结
xiangxiongfly915
AndroidandroidCoil
文章目录AndroidCoil总结概述添加依赖用法基本用法占位图变形自定义ImageLoader取消加载协程支持缓存清除缓存监听简单封装AndroidCoil总结概述Coil是一个用于Android的Kotlin图像加载库,旨在简化图像加载和显示的过程。它基于Kotlin协程,提供了简洁的API和高效的性能。添加依赖implementation"io.coil-kt:coil:2.4.0"用法基本
- 【mockito实战】mockito+junit搞定单元测试,包含测试代码及被测试项目
Julia2016
junitmockitojunit单元测试log4j
mockito+junit搞定单元测试一、简介1.1单元测试的特点配合断言使用(杜绝System.out)可重复执行不依赖环境不会对数据产生影响spring的上下文环境不是必须的一般都需要配合mock类框架来实现1.2mock类框架使用场景要进行测试的方法存在外部依赖(如db,redis,第三方接口调用等),为了能够专注于对该方法(单元)的逻辑进行测试,就希望能==虚拟出外部依赖==,避免外部依赖
- Nginx 代理 Redis 实现通过域名连接数据库
逢生博客
数据库nginxredis
文章目录Nginx模块介绍Stream模块配置Redis配置文件连接RedisNginx、Redis安装这里不做介绍。域名默认已经解析到服务器公网IP。Nginx模块介绍HTTP模块:HTTP模块提供了处理HTTP请求的功能,包括反向代理、负载均衡、缓存、HTTP代理等。例如:proxy模块用于反向代理和负载均衡,fastcgi模块用于处理FastCGI请求。Stream模块:Stream模块用于
- 后端开发如何提高项目系统的性能
云计算课代表
日常运维问题合集运维服务器centoslinux
引言提高后端PHP开发系统的性能可以从多个维度进行,例如通过代码优化、缓存优化、数据库优化、异步处理和消息队列、服务器优化、内容分发网络(CDN)的应用以及系统安全性的强化。本文主要介绍如何通过以上方法对系统进行优化,提高项目的性能。代码优化主要涉及代码重构、算法优化、代码维护和更新。代码重构主要是指在原有代码的基础上,对代码的结构和逻辑进行简化,以提高代码的可读性、可维护性和执行效率。在这个过程
- redis 6.0下云迁移
余生逆风飞翔
redis数据库缓存
本次迁移为三节点172.16.0.10主172.16.0.6从172.16.0.14从一、数据迁移第一步:数据迁移a.将源redis的数据打成快照#连接redis执行如下命令BGSAVE在Redis中,BGSAVE命令用于在后台异步保存数据到磁盘,生成RDB文件。由于BGSAVE是异步执行的,因此需要通过一些方法来判断BGSAVE是否完成。以下是几种常用的方法:使用INFOPERSISTENCE命
- 假如有10 个微服务模块,然后每个模块里面都要改yaml配置,比如改Redis配置,这样就意味着我 Redis 一改,那10 个模块的配置都要改一遍吗?
我是一只代码狗
springcloudalibabanacos
1.在nacos创建一个公共的redis-config.yaml2.在每个微服务的bootstrap.yml中引入公共的redis配置3.这样公共配置改了,其他微服务模块就不需要做任何改动
- Nginx代理Redis哨兵主从配置
Rewloc
springbootredisRedis主从复制哨兵模式redisnginxnginx
Nginx代理Redis哨兵主从配置一、环境Nginx版本:1.21.6Center7.5及以上或MasOS搭建Redis哨兵主从模式Springboot集成Redis哨兵主从模式提示:Nginx必须安装upstream模块二、配置Nginx配置有三个方案(详见后续内容),其中:方案一将哨兵所有节点使用一个端口对外映射;方案二是每个哨兵端口配置一个对应的映射端口,总体和正常哨兵配置方式无差别;方案
- nginx代理mysql和redis
Blueeyedboy521
开发组件mysqlredisnginx
目录MysqlredisMysql这里监听另外一台B虚拟机中的192.168.0.44:3306,并通过A虚拟机的3306端口开放出去之后,只要外部连接A虚拟机ip:3306,并使用mysql的用户名、密码,就可以访问内部的#mysql了stream{upstreammysql{server192.168.0.44:3306;}server{listen3306;proxy_connect_tim
- nginx 代理 redis
P7进阶路
面试学习路线阿里巴巴nginxredis运维
kubernetes发布的redis服务端口为31250通过命令查询[mini@ecs-88500735/]$minikubeserviceredis--urlhttp://192.168.49.2:31250[root@ecs-88500735/]#vi/etc/nginx/nginx.conf配置nginx.confstream{upstreamredis{server192.168.49.2
- java本地缓存组件之caffeine为什么是性能之王?
rider189
java开发语言
读者专属福利:零基础java自学视频,从入门到精通1.基于Window-TinyLFU的淘汰算法Caffeine采用Window-TinyLFU(WindowedTinyLeastFrequentlyUsed)算法,结合了LRU(最近最少使用)和LFU(最不经常使用)的优势,解决了传统算法的缺陷:窗口缓存(WindowCache):保留最近访问的少量条目(类似LRU),用于捕捉突发性短期热点数据。
- Redis为什么要自定义序列化?如何实现自定义序列化器?
小马不敲代码
后端redis序列化
在Redis中,通常会使用自定义序列化器,那么,Redis为什么需要自定义序列化器,该如何实现它?1、为什么需要自定义序列化器?整体来说,Redis需要自定义序列化器,主要有以下几个原因:1.1性能优化序列化效率:默认的序列化器(如Java的JDK序列化)可能效率较低,尤其是在处理大型对象或高并发场景下。反序列化效率:快速的反序列化可以减少应用响应时间,提升整体性能。1.2存储空间优化紧凑的存储格
- 分布式锁—5.Redisson的读写锁二
东阳马生架构
分布式锁原理与源码分布式锁Redisson分布式
大纲1.Redisson读写锁RedissonReadWriteLock概述2.读锁RedissonReadLock的获取读锁逻辑3.写锁RedissonWriteLock的获取写锁逻辑4.读锁RedissonReadLock的读读不互斥逻辑5.RedissonReadLock和RedissonWriteLock的读写互斥逻辑6.写锁RedissonWriteLock的写写互斥逻辑7.写锁Redi
- 解决电脑问题(7)——软件问题
电摇小人
解决电脑问题电脑
电脑软件出现问题的原因多种多样,以下是一些常见问题及解决方法:软件无法启动检查软件依赖和系统环境确认系统兼容性:查看软件的官方说明,确认软件所需的操作系统版本、硬件配置等要求,确保电脑满足这些条件。比如一些大型游戏要求特定版本的Windows系统以及一定的显卡性能。检查运行库和组件:许多软件需要特定的运行库支持,如MicrosoftVisualC++Redistributable、.NETFram
- Redis底层数据结构
JLiuli
redis数据结构
前言Redis为什么要使用2个对象?两个对象的好处redisObject对象解析String类型1、int整数值实现2、embstr3、rawList类型1、压缩链表:ziplist2、双向链表:linkedlist3、快速列表:quicklistHash类型Hashtable哈希表的扩展和收缩rehash渐进式hashSet类型intset整数集合Zset类型zkiplist跳表前言redis是
- Java开发中,spring mvc 的线程怎么调用?
小麦麦子
springmvc
今天逛知乎,看到最近很多人都在问spring mvc 的线程http://www.maiziedu.com/course/java/ 的启动问题,觉得挺有意思的,那哥们儿问的也听仔细,下面的回答也很详尽,分享出来,希望遇对遇到类似问题的Java开发程序猿有所帮助。
问题:
在用spring mvc架构的网站上,设一线程在虚拟机启动时运行,线程里有一全局
- maven依赖范围
bitcarter
maven
1.test 测试的时候才会依赖,编译和打包不依赖,如junit不被打包
2.compile 只有编译和打包时才会依赖
3.provided 编译和测试的时候依赖,打包不依赖,如:tomcat的一些公用jar包
4.runtime 运行时依赖,编译不依赖
5.默认compile
依赖范围compile是支持传递的,test不支持传递
1.传递的意思是项目A,引用
- Jaxb org.xml.sax.saxparseexception : premature end of file
darrenzhu
xmlprematureJAXB
如果在使用JAXB把xml文件unmarshal成vo(XSD自动生成的vo)时碰到如下错误:
org.xml.sax.saxparseexception : premature end of file
很有可能时你直接读取文件为inputstream,然后将inputstream作为构建unmarshal需要的source参数。InputSource inputSource = new In
- CSS Specificity
周凡杨
html权重Specificitycss
有时候对于页面元素设置了样式,可为什么页面的显示没有匹配上呢? because specificity
CSS 的选择符是有权重的,当不同的选择符的样式设置有冲突时,浏览器会采用权重高的选择符设置的样式。
规则:
HTML标签的权重是1
Class 的权重是10
Id 的权重是100
- java与servlet
g21121
servlet
servlet 搞java web开发的人一定不会陌生,而且大家还会时常用到它。
下面是java官方网站上对servlet的介绍: java官网对于servlet的解释 写道
Java Servlet Technology Overview Servlets are the Java platform technology of choice for extending and enha
- eclipse中安装maven插件
510888780
eclipsemaven
1.首先去官网下载 Maven:
http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.2.3-bin.tar.gz
下载完成之后将其解压,
我将解压后的文件夹:apache-maven-3.2.3,
并将它放在 D:\tools目录下,
即 maven 最终的路径是:D:\tools\apache-mave
- jpa@OneToOne关联关系
布衣凌宇
jpa
Nruser里的pruserid关联到Pruser的主键id,实现对一个表的增删改,另一个表的数据随之增删改。
Nruser实体类
//*****************************************************************
@Entity
@Table(name="nruser")
@DynamicInsert @Dynam
- 我的spring学习笔记11-Spring中关于声明式事务的配置
aijuans
spring事务配置
这两天学到事务管理这一块,结合到之前的terasoluna框架,觉得书本上讲的还是简单阿。我就把我从书本上学到的再结合实际的项目以及网上看到的一些内容,对声明式事务管理做个整理吧。我看得Spring in Action第二版中只提到了用TransactionProxyFactoryBean和<tx:advice/>,定义注释驱动这三种,我承认后两种的内容很好,很强大。但是实际的项目当中
- java 动态代理简单实现
antlove
javahandlerproxydynamicservice
dynamicproxy.service.HelloService
package dynamicproxy.service;
public interface HelloService {
public void sayHello();
}
dynamicproxy.service.impl.HelloServiceImpl
package dynamicp
- JDBC连接数据库
百合不是茶
JDBC编程JAVA操作oracle数据库
如果我们要想连接oracle公司的数据库,就要首先下载oralce公司的驱动程序,将这个驱动程序的jar包导入到我们工程中;
JDBC链接数据库的代码和固定写法;
1,加载oracle数据库的驱动;
&nb
- 单例模式中的多线程分析
bijian1013
javathread多线程java多线程
谈到单例模式,我们立马会想到饿汉式和懒汉式加载,所谓饿汉式就是在创建类时就创建好了实例,懒汉式在获取实例时才去创建实例,即延迟加载。
饿汉式:
package com.bijian.study;
public class Singleton {
private Singleton() {
}
// 注意这是private 只供内部调用
private static
- javascript读取和修改原型特别需要注意原型的读写不具有对等性
bijian1013
JavaScriptprototype
对于从原型对象继承而来的成员,其读和写具有内在的不对等性。比如有一个对象A,假设它的原型对象是B,B的原型对象是null。如果我们需要读取A对象的name属性值,那么JS会优先在A中查找,如果找到了name属性那么就返回;如果A中没有name属性,那么就到原型B中查找name,如果找到了就返回;如果原型B中也没有
- 【持久化框架MyBatis3六】MyBatis3集成第三方DataSource
bit1129
dataSource
MyBatis内置了数据源的支持,如:
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<data
- 我程序中用到的urldecode和base64decode,MD5
bitcarter
cMD5base64decodeurldecode
这里是base64decode和urldecode,Md5在附件中。因为我是在后台所以需要解码:
string Base64Decode(const char* Data,int DataByte,int& OutByte)
{
//解码表
const char DecodeTable[] =
{
0, 0, 0, 0, 0, 0
- 腾讯资深运维专家周小军:QQ与微信架构的惊天秘密
ronin47
社交领域一直是互联网创业的大热门,从PC到移动端,从OICQ、MSN到QQ。到了移动互联网时代,社交领域应用开始彻底爆发,直奔黄金期。腾讯在过去几年里,社交平台更是火到爆,QQ和微信坐拥几亿的粉丝,QQ空间和朋友圈各种刷屏,写心得,晒照片,秀视频,那么谁来为企鹅保驾护航呢?支撑QQ和微信海量数据背后的架构又有哪些惊天内幕呢?本期大讲堂的内容来自今年2月份ChinaUnix对腾讯社交网络运营服务中心
- java-69-旋转数组的最小元素。把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素
bylijinnan
java
public class MinOfShiftedArray {
/**
* Q69 旋转数组的最小元素
* 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。
* 例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。
*/
publ
- 看博客,应该是有方向的
Cb123456
反省看博客
看博客,应该是有方向的:
我现在就复习以前的,在补补以前不会的,现在还不会的,同时完善完善项目,也看看别人的博客.
我刚突然想到的:
1.应该看计算机组成原理,数据结构,一些算法,还有关于android,java的。
2.对于我,也快大四了,看一些职业规划的,以及一些学习的经验,看看别人的工作总结的.
为什么要写
- [开源与商业]做开源项目的人生活上一定要朴素,尽量减少对官方和商业体系的依赖
comsci
开源项目
为什么这样说呢? 因为科学和技术的发展有时候需要一个平缓和长期的积累过程,但是行政和商业体系本身充满各种不稳定性和不确定性,如果你希望长期从事某个科研项目,但是却又必须依赖于某种行政和商业体系,那其中的过程必定充满各种风险。。。
所以,为避免这种不确定性风险,我
- 一个 sql优化 ([精华] 一个查询优化的分析调整全过程!很值得一看 )
cwqcwqmax9
sql
见 http://www.itpub.net/forum.php?mod=viewthread&tid=239011
Web翻页优化实例
提交时间: 2004-6-18 15:37:49 回复 发消息
环境:
Linux ve
- Hibernat and Ibatis
dashuaifu
Hibernateibatis
Hibernate VS iBATIS 简介 Hibernate 是当前最流行的O/R mapping框架,当前版本是3.05。它出身于sf.net,现在已经成为Jboss的一部分了 iBATIS 是另外一种优秀的O/R mapping框架,当前版本是2.0。目前属于apache的一个子项目了。 相对Hibernate“O/R”而言,iBATIS 是一种“Sql Mappi
- 备份MYSQL脚本
dcj3sjt126com
mysql
#!/bin/sh
# this shell to backup mysql
#1413161683@qq.com (QQ:1413161683 DuChengJiu)
_dbDir=/var/lib/mysql/
_today=`date +%w`
_bakDir=/usr/backup/$_today
[ ! -d $_bakDir ] && mkdir -p
- iOS第三方开源库的吐槽和备忘
dcj3sjt126com
ios
转自
ibireme的博客 做iOS开发总会接触到一些第三方库,这里整理一下,做一些吐槽。 目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code、SourceForge等地方。由于Github社区太过主流,这里主要介绍一下Github里面流行的iOS库。 首先整理了一份
Github上排名靠
- html wlwmanifest.xml
eoems
htmlxml
所谓优化wp_head()就是把从wp_head中移除不需要元素,同时也可以加快速度。
步骤:
加入到function.php
remove_action('wp_head', 'wp_generator');
//wp-generator移除wordpress的版本号,本身blog的版本号没什么意义,但是如果让恶意玩家看到,可能会用官网公布的漏洞攻击blog
remov
- 浅谈Java定时器发展
hacksin
java并发timer定时器
java在jdk1.3中推出了定时器类Timer,而后在jdk1.5后由Dou Lea从新开发出了支持多线程的ScheduleThreadPoolExecutor,从后者的表现来看,可以考虑完全替代Timer了。
Timer与ScheduleThreadPoolExecutor对比:
1.
Timer始于jdk1.3,其原理是利用一个TimerTask数组当作队列
- 移动端页面侧边导航滑入效果
ini
jqueryWebhtml5cssjavascirpt
效果体验:http://hovertree.com/texiao/mobile/2.htm可以使用移动设备浏览器查看效果。效果使用到jquery-2.1.4.min.js,该版本的jQuery库是用于支持HTML5的浏览器上,不再兼容IE8以前的浏览器,现在移动端浏览器一般都支持HTML5,所以使用该jQuery没问题。HTML文件代码:
<!DOCTYPE html>
<h
- AspectJ+Javasist记录日志
kane_xie
aspectjjavasist
在项目中碰到这样一个需求,对一个服务类的每一个方法,在方法开始和结束的时候分别记录一条日志,内容包括方法名,参数名+参数值以及方法执行的时间。
@Override
public String get(String key) {
// long start = System.currentTimeMillis();
// System.out.println("Be
- redis学习笔记
MJC410621
redisNoSQL
1)nosql数据库主要由以下特点:非关系型的、分布式的、开源的、水平可扩展的。
1,处理超大量的数据
2,运行在便宜的PC服务器集群上,
3,击碎了性能瓶颈。
1)对数据高并发读写。
2)对海量数据的高效率存储和访问。
3)对数据的高扩展性和高可用性。
redis支持的类型:
Sring 类型
set name lijie
get name lijie
set na
- 使用redis实现分布式锁
qifeifei
在多节点的系统中,如何实现分布式锁机制,其中用redis来实现是很好的方法之一,我们先来看一下jedis包中,有个类名BinaryJedis,它有个方法如下:
public Long setnx(final byte[] key, final byte[] value) {
checkIsInMulti();
client.setnx(key, value);
ret
- BI并非万能,中层业务管理报表要另辟蹊径
张老师的菜
大数据BI商业智能信息化
BI是商业智能的缩写,是可以帮助企业做出明智的业务经营决策的工具,其数据来源于各个业务系统,如ERP、CRM、SCM、进销存、HER、OA等。
BI系统不同于传统的管理信息系统,他号称是一个整体应用的解决方案,是融入管理思想的强大系统:有着系统整体的设计思想,支持对所有
- 安装rvm后出现rvm not a function 或者ruby -v后提示没安装ruby的问题
wudixiaotie
function
1.在~/.bashrc最后加入
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
2.重新启动terminal输入:
rvm use ruby-2.2.1 --default
把当前安装的ruby版本设为默