- Redis Cluster集群详解
高冷小伙
redis数据库缓存
数据分片(Sharding)哈希槽(HashSlot)机制:集群将数据划分为16384个哈希槽,每个键通过CRC16(key)%16384计算归属的槽。槽分配给多个主节点,每个节点负责一部分槽(例如:3节点集群中,每个节点可能管理约5461个槽)。动态槽分配:节点增减时,槽可动态迁移,支持在线扩容/缩容(如CLUSTERADDSLOTS命令)。跨槽操作限制:事务、Lua脚本需确保所有键在同一槽(可
- redis集群迅速搭建(个人学习和测试用)
yinhezhanshen
redis学习java
笔者使用ubuntu操作系统下载redis地址:Indexof/releases/,选择最新的版本下载。解压后进入目录,直接make就可以编译。编译成功后在src目录下会生成redis-server和redis-cli可执行文件。进入redis目录下的utils/create-cluster目录,执行./create-clusterstart,快速启动6个实例zy@zy-VirtualBox:~/
- 一个基于 React + SpringBoot 的在线多功能问卷系统(附源码)
程序员-李旭亮
Java项目源码react.jsspringboot前端
简介:一个基于React+SpringBoot的在线多功能问卷系统前端技术栈:React、React-Router、Webpack、Antd、Zustand、Echarts、DnDKit后端技术栈:SpringBoot、MySQL、MyBatisPlus、Redis项目源码下载链接:https://pan.quark.cn/s/2e32786e0c61部分页面静态预览:主要前端业务需求与技术突破:
- 【Python】7天-python实现缓存-day01
qq_40375355
Python-7天小项目pythonpython缓存开发语言
使用Python实现类似redis的缓存,原文是使用go实现的,本文使用python实现,用来比较两者的区别,方便从python转go的开发者比较二者的不同。PS:原文链接是:https://geektutu.com/post/geecache-day1.htmlPS:预计在完成前还会对本文多次修改仅作参考PS:测试代码也会在后续补充一、LRU和LRU-K原文使用的是LRU算法,这里改成LRU-K
- 【redis】redis key 分析
武昌库里写JAVA
面试题汇总与解析毕业设计课程设计springbootvue.js源码
redis_key_sizes.shhttps://gist.github.com/epicserve/5699837redis-cli,theRediscommandlineinterfacehttps://redis.io/topics/rediscliRedisScripting:EVALscriptnumkeyskey[key...]arg[arg...]https://www.w3res
- python判断redis中key是否存在_Redis中关于Key的模糊查找
weixin_39846364
最近使用Redis优化项目功能,其中有一部分为模糊查询,找了很多帖子,也没有找到很好的解决方案和思路,最终皇天不负有心人啊,终于让我找到了!!!可以通过Redis中keys命令进行获取key值,具体命令格式:keyspattern文中提到redis中允许模糊查询的有3个通配符,分别是:*,?,[]其中:*:通配任意多个字符?:通配单个字符[]:通配括号内的某一个字符================
- redis中的bigkey及读取优化
w_t_y_y
#java操作redisredis数据库缓存
一、bigKey介绍1、简介在Redis中,BigKey(大键)指的是占用大量内存的单个键。通常,Redis是一个高性能的内存数据库,但是当某些键变得非常大时,会带来性能上的影响。例如,大量的内存消耗、长时间的操作延迟,甚至可能导致Redis停止响应或崩溃。通俗的来说,指的是value值大,而不是key值大。2、case大字符串(String):单个字符串值过大,例如存储非常大的JSON或XML数
- Redis Lua沙盒绕过RCE(CVE-2022-0543)
不想秃头的烟花
Redis漏洞redislua网络安全web安全数据库
原理RedisLua沙盒绕过RCE的原理主要涉及到Redis在Lua沙箱中遗留了一个对象package。在Debian以及Ubuntu发行版的源在打包Redis时,不慎在Lua沙箱中遗留了这个对象package。攻击者可以利用这个对象提供的方法加载动态链接库liblua里的函数,进而逃逸沙箱执行任意命令。具体来说,Redis一直有一个攻击面,就是在用户连接Redis后,可以通过eval命令执行Lu
- Redis hot key管理
Zhi@Li
Redis运维redis数据库缓存数据库架构dba
文章目录Redishotkey管理1.查询hotkey1.通过redis-cli工具2.通过monitor命令2.优化hotkeyRedishotkey管理在某个Key接收到的访问次数、显著高于其它Key时,可以将其称之为热Key,即hotkey。同bigkey一样,hotkey也会带来一系列问题,如拖慢Redis性能、造成Redis集群节点间负载不均衡、大量请求造成Redis缓存击穿等。1.查询
- Redis安全漏洞
清扬叶
redis后端
Redis安全漏洞Redis默认情况下,会绑定在0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源ip访问等,这样将会将Redis服务暴露到公网上,如果在没有设置密码认证(一般为空)的情况下,会导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。攻击者在未授权访问Redis的情况下,利用Redis自身的提供的config命令
- Redis分布式存储案例面试题
哎呀哎呀诶
Redisredis分布式数据库
问:1~2亿条数据需要缓存,请问如何设计这个存储案例?答:单机单台肯定是不可能的,肯定是分布式存储。问:用redis如何落地?答:1、哈希取余分区(小厂回答)2、一致性哈希算法分区(中厂回答)3、哈希槽分区(大厂回答,推荐回答)1、哈希取余分区2亿条记录就是2亿个(k,v),我们单机不行必须要分布式多机,假设有3台机器构成一个集群,用户每次读写操作都是根据公式:hash(key)%N个机器台数,计
- Redis分布式缓存面试题
hxj..
面试分布式缓存redis分布式分布式缓存
为什么使用分布式缓存?1.提升性能降低延迟:将数据缓存在离应用更近的地方,减少数据访问时间。减轻数据库压力:缓存频繁访问的数据,减少对后端数据库的请求,提升系统响应速度。2.扩展性水平扩展:通过增加节点,分布式缓存可以轻松扩展,处理更大规模的数据和请求。负载均衡:数据分布在不同节点上,避免单点瓶颈,提升系统整体吞吐量。3.高可用性容错能力:即使某个节点故障,其他节点仍能继续提供服务,确保系统稳定运
- 用Docker搭建Redis主从复制的集群
2401_84046635
程序员dockerrediseureka
同样再到redis-slave1容器的命令窗口里,通过dockerexec-itredis-slave1/bin/bash命令进入容器的命令行窗口,也通过redis-cli命令进入客户端命令行,也再通过inforeplication命令查看该Redis服务器的主从模式的状态,部分结果如下所示。1c:\work>dockerexec-itredis-slave1/bin/bash2root@2e32
- Redis缓存预热、缓存穿透、缓存击穿、缓存雪崩
辄也
缓存redis数据库
一、缓存预热1.什么是缓存预热?当系统上线时,缓存内还没有数据,如果直接提供给用户使用,每个请求都会穿过缓存去访问底层数据库,如果并发大的话,很有可能在上线当天就会宕机,因此我们需要在上线前先将数据库内的热点数据缓存至Redis内再提供出去使用,这种操作就成为"缓存预热"。2.问题排查请求数量较高主从之间数据吞吐量较大,数据同步操作频度较高3.解决方案1.日常例行统计数据访问记录,统计访问频度较高
- Java本地缓存技术选型(Guava Cache、Caffeine、EhCache)
子龙技术
java
前言对一个java开发者而言,提到缓存,第一反应就是Redis。利用这类缓存足以解决大多数的性能问题了,我们也要知道,这种属于remotecache(分布式缓存),应用的进程和缓存的进程通常分布在不同的服务器上,不同进程之间通过RPC或HTTP的方式通信。这种缓存的优点是缓存和应用服务解耦,支持大数据量的存储,缺点是数据要经过网络传输,性能上会有一定损耗。与分布式缓存对应的是本地缓存,缓存的进程和
- redission的原理
深圳卢先生
java
分布式锁的实现Redisson最出名的功能之一是分布式锁(RLock)。它的锁机制基于Redis的原子性操作:使用SETNX(SETifNoteXists)命令尝试获取锁,并设置一个过期时间(防止死锁)。通过Lua脚本确保锁的释放是原子性的,只有持有锁的客户端才能释放锁。支持锁续期(Watchdog机制):如果任务未完成,Redisson会自动为锁延长过期时间。实现细节1.锁的基本存储Rediss
- Redis面试题----为什么要做Redis分区?
指尖下的技术
Java面试题redisjava数据库
Redis分区,也称为分片(Sharding),是将数据分散存储到多个Redis实例上的一种策略。做Redis分区主要有以下几个方面的原因:扩展性突破单机内存限制:随着业务的发展,数据量会不断增大,而单个Redis实例的内存是有限的。通过分区可以将数据分散到多个Redis实例中,理论上可以不受单机内存的限制,从而存储更多的数据。例如,一个电商平台的商品缓存数据量巨大,单台Redis服务器无法容纳,
- Redis面试题----MySQL 里有 2000w 数据,Redis 中只存 20w 的数据,如何保证 Redis 中的数据都是热点数据?
指尖下的技术
Java面试题redismysql数据库
要保证Redis中存储的20w数据都是热点数据,可以从数据筛选和数据淘汰两个大的方面来考虑,以下是详细的实现思路和方法:数据筛选1.基于业务规则分析业务场景:不同的业务场景有不同的热点数据特征。例如,在电商系统中,热门商品、促销商品往往是热点数据;在新闻资讯系统中,最新发布、阅读量高的新闻是热点数据。根据业务的特点,确定热点数据的规则。定期同步:编写脚本或程序,根据业务规则从MySQL中筛选出符合
- docker下载redis,zookeeper,kafka超时time out
林小夕success
dockerrediszookeeper
最新地址将registry-mirrors相关复制进去即可,这些地址下载不会超时。{“builder”:{“gc”:{“defaultKeepStorage”:“20GB”,“enabled”:true}},“experimental”:false,“features”:{“buildkit”:true},“registry-mirrors”:[“https://do.nark.eu.org”,“
- redis基础篇——Lua脚本
石灰聪
redisredis
Lua脚本Lua是一种轻量级脚本语言,它是用C语言编写的,跟数据的存储过程有点类似。使用Lua脚本来执行Redis命令的好处:1、一次发送多个命令,减少网络开销。2,Redis会将整个脚本作为一个整体执行,不会被其他请求打断,保持原子性。3、对于复杂的组合命令,我们可以放在文件中,可以实现命令复用。语法格式redis>evallua-scriptkey-num[key1key2key3...][v
- Redisson 简介
茶本无香
redis
1.Redisson简介Redisson是一个基于Redis的Java客户端库,专注于分布式和并发编程。它提供了丰富的分布式对象和服务(如分布式锁、集合、队列、限流器等),简化了Redis在分布式系统中的使用。2.核心功能2.1分布式锁可重入锁:支持线程重入和自动续期(看门狗机制)。公平锁:按请求顺序获取锁。联锁(MultiLock):同时锁定多个资源。红锁(RedLock):多节点容错锁。代码示
- Redis 使用场景大揭秘(Redis Usage Scenarios Revealed)
Linux运维老纪
用心耕耘开启数据库之门数据库redis缓存云计算服务器运维开发
Redis使用场景大揭密在现代应用开发中,数据的存储与管理变得愈发重要。随着用户量的增加和数据的膨胀,传统的数据库往往难以满足高并发、高性能的需求。Redis作为一个高性能的内存数据存储系统,因其卓越的性能和丰富的数据结构而广泛应用于各类场景。本文将介绍Redis的一些常见使用场景,描述每个场景的需求,并分析使用Redis的优势。1.缓存需求描述:在高并发的应用中,数据库查询往往成为性能瓶颈。频繁
- 2024腾讯最新面经总结:面试题库+实战笔记(附答案解析)
2401_84048521
程序员面试笔记职场和发展
20、你们用过缓存吗没有,但是用redis做了分布式锁21、你说说下分布式锁怎么做的?分布式锁也是一个锁,需要满足几个特性,1可重入2可以识别加锁的身份防止ABA问题3考虑是否需要续约key是所需要加上的锁的业务资源唯一编码,value是当前线程的uuid,uuid存在threadLocal内加锁的时候用的jedis,先设一个过期时间,然后用ex,若不存在key则添加新key,若已经存在则直接失败
- Redis大Key问题探索
事业运财运爆棚
linuxphp
一、什么是Redis大KeyRedis的大Key是指在Redis数据库中,占用存储空间过大的Key。Redis的大Key没有一个明确的定义,但通常我们可以根据以下几个因素来判断:1.Key或Value的长度:如果一个Key的长度或Value的长度超过一定阈值(比如10KB),则认为其为一个大Key。2.数据结构的元素数量:对于List、Set、ZSet、Hash这样的数据结构,如果它们包含的元素数
- 最全redis缓存核心知点(原理+图解)
敲代码的胖虎
数据库redis队列数据库分布式
redis缓存核心知点一、主流应用架构二、缓存知识考点三、多路I/O复用模型四、常用的数据类型五、消息队列六、Redis的持久化6.1BGSAVE原理6.2RBD持久化的缺点6.3持久化方式之AOF6.4AOF文件重写6.5Redis数据的恢复6.7RDB和AOF的优缺点6.8RDB-AOF混合持久化方式(新版本的默认备份方式)七、Pipeline及主从同步7.1Pipeline的简介7.2red
- Kafka 基础教程 — 可靠的数据传递
码炫课堂-码哥
kafka专题kafka消息队列
作者简介:大家好,我是码炫码哥,前中兴通讯、美团架构师,现任某互联网公司CTO,兼职码炫课堂主讲源码系列专题代表作:《jdk源码&多线程&高并发》,《深入tomcat源码解析》,《深入netty源码解析》,《深入dubbo源码解析》,《深入springboot源码解析》,《深入spring源码解析》,《深入redis源码解析》等联系qq:184480602,加我进群,大家一起学习,一起进步,一起对
- 如何优化你的 Node.js API
程序员小英
node.js
原文来源于:freeCodeCamp,作者:PapayaHUANG如有侵权,联系删除在这篇文章中,我将讲解如何优化使用Node.js编写的API。前提条件想要充分了解本文内容,你必须了解以下概念:Node.js的设置与安装如何使用Node创建API如何使用PostmanJavaScript的async/await工作原理Redis的基础操作API优化到底指的是什么优化包含了改善API的响应时间。响
- Spring Quick - 企业级Spring Boot快速启动框架深度解析
Jing_saveSlave
springbootspringspringbootjava
SpringQuick,顾名思义,是作者本人创建的一个基于SpringBoot+MyBatis-Plus+Sa-Token+Knife4j等框架结构搭建的一个企业级脚手架,方便企业及开发人员直接上手使用。并在项目中集成常用工具类,如MyBatis-Plus-Generator,Redisson等。还整合了整个项目代码四层架构规范(代码生成同时配置此规范)、统一响应体设计、业务异常、切面异常规范、切
- rabbitmq 同步策略_数据同步解决方案-canal与rabbitmq
weixin_39996739
rabbitmq同步策略
学习目标能够完成canal环境的搭建与数据监控微服务的开发能够完成首页广告缓存更新的功能,掌握OkHttpClient的基本使用方法能够完成商品上架索引库导入数据功能,能够画出流程图和说出实现思路能够完成商品下架索引库删除数据功能,能够画出流程图和说出实现思路该工程使用lua+nginx+rabbitmq+redis等技术的第一个主要目的是实现轮播图的读取,具体图解:其中nginx的作用包括了从数
- 小结:路由引入问题
flying robot
HCIA/HCIP笔记
在华为路由器中,路由引入(RouteRedistribution)是实现不同路由协议间通信的关键技术。通过路由引入,可以将一种路由协议学习到的路由信息分发到另一种协议中,实现多协议网络的互通。以下是华为路由器不同协议间路由引入的总结:默认优先级直接连接路由(Direct):0OSPF:10IS-IS:15静态路由(Static):60RIP:100OSPFASE(OSPFAutonomousSys
- 开发者关心的那些事
圣子足道
ios游戏编程apple支付
我要在app里添加IAP,必须要注册自己的产品标识符(product identifiers)。产品标识符是什么?
产品标识符(Product Identifiers)是一串字符串,它用来识别你在应用内贩卖的每件商品。App Store用产品标识符来检索产品信息,标识符只能包含大小写字母(A-Z)、数字(0-9)、下划线(-)、以及圆点(.)。你可以任意排列这些元素,但我们建议你创建标识符时使用
- 负载均衡器技术Nginx和F5的优缺点对比
bijian1013
nginxF5
对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器。
目前有许多不同的负载均衡技术用以满足不同的应用需求,如软/硬件负载均衡、本地/全局负载均衡、更高
- LeetCode[Math] - #9 Palindrome Number
Cwind
javaAlgorithm题解LeetCodeMath
原题链接:#9 Palindrome Number
要求:
判断一个整数是否是回文数,不要使用额外的存储空间
难度:简单
分析:
题目限制不允许使用额外的存储空间应指不允许使用O(n)的内存空间,O(1)的内存用于存储中间结果是可以接受的。于是考虑将该整型数反转,然后与原数字进行比较。
注:没有看到有关负数是否可以是回文数的明确结论,例如
- 画图板的基本实现
15700786134
画图板
要实现画图板的基本功能,除了在qq登陆界面中用到的组件和方法外,还需要添加鼠标监听器,和接口实现。
首先,需要显示一个JFrame界面:
public class DrameFrame extends JFrame { //显示
- linux的ps命令
被触发
linux
Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行
- Android 音乐播放器 下一曲 连续跳几首歌
肆无忌惮_
android
最近在写安卓音乐播放器的时候遇到个问题。在MediaPlayer播放结束时会回调
player.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.reset();
Log.i("H
- java导出txt文件的例子
知了ing
javaservlet
代码很简单就一个servlet,如下:
package com.eastcom.servlet;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.net.URLEncoder;
import java.sql.Connection;
import java.sql.Resu
- Scala stack试玩, 提高第三方依赖下载速度
矮蛋蛋
scalasbt
原文地址:
http://segmentfault.com/a/1190000002894524
sbt下载速度实在是惨不忍睹, 需要做些配置优化
下载typesafe离线包, 保存为ivy本地库
wget http://downloads.typesafe.com/typesafe-activator/1.3.4/typesafe-activator-1.3.4.zip
解压r
- phantomjs安装(linux,附带环境变量设置) ,以及casperjs安装。
alleni123
linuxspider
1. 首先从官网
http://phantomjs.org/下载phantomjs压缩包,解压缩到/root/phantomjs文件夹。
2. 安装依赖
sudo yum install fontconfig freetype libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6
3. 配置环境变量
vi /etc/profil
- JAVA IO FileInputStream和FileOutputStream,字节流的打包输出
百合不是茶
java核心思想JAVA IO操作字节流
在程序设计语言中,数据的保存是基本,如果某程序语言不能保存数据那么该语言是不可能存在的,JAVA是当今最流行的面向对象设计语言之一,在保存数据中也有自己独特的一面,字节流和字符流
1,字节流是由字节构成的,字符流是由字符构成的 字节流和字符流都是继承的InputStream和OutPutStream ,java中两种最基本的就是字节流和字符流
类 FileInputStream
- Spring基础实例(依赖注入和控制反转)
bijian1013
spring
前提条件:在http://www.springsource.org/download网站上下载Spring框架,并将spring.jar、log4j-1.2.15.jar、commons-logging.jar加载至工程1.武器接口
package com.bijian.spring.base3;
public interface Weapon {
void kil
- HR看重的十大技能
bijian1013
提升能力HR成长
一个人掌握何种技能取决于他的兴趣、能力和聪明程度,也取决于他所能支配的资源以及制定的事业目标,拥有过硬技能的人有更多的工作机会。但是,由于经济发展前景不确定,掌握对你的事业有所帮助的技能显得尤为重要。以下是最受雇主欢迎的十种技能。 一、解决问题的能力 每天,我们都要在生活和工作中解决一些综合性的问题。那些能够发现问题、解决问题并迅速作出有效决
- 【Thrift一】Thrift编译安装
bit1129
thrift
什么是Thrift
The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and s
- 【Avro三】Hadoop MapReduce读写Avro文件
bit1129
mapreduce
Avro是Doug Cutting(此人绝对是神一般的存在)牵头开发的。 开发之初就是围绕着完善Hadoop生态系统的数据处理而开展的(使用Avro作为Hadoop MapReduce需要处理数据序列化和反序列化的场景),因此Hadoop MapReduce集成Avro也就是自然而然的事情。
这个例子是一个简单的Hadoop MapReduce读取Avro格式的源文件进行计数统计,然后将计算结果
- nginx定制500,502,503,504页面
ronin47
nginx 错误显示
server {
listen 80;
error_page 500/500.html;
error_page 502/502.html;
error_page 503/503.html;
error_page 504/504.html;
location /test {return502;}}
配置很简单,和配
- java-1.二叉查找树转为双向链表
bylijinnan
二叉查找树
import java.util.ArrayList;
import java.util.List;
public class BSTreeToLinkedList {
/*
把二元查找树转变成排序的双向链表
题目:
输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。
要求不能创建任何新的结点,只调整指针的指向。
10
/ \
6 14
/ \
- Netty源码学习-HTTP-tunnel
bylijinnan
javanetty
Netty关于HTTP tunnel的说明:
http://docs.jboss.org/netty/3.2/api/org/jboss/netty/channel/socket/http/package-summary.html#package_description
这个说明有点太简略了
一个完整的例子在这里:
https://github.com/bylijinnan
- JSONUtil.serialize(map)和JSON.toJSONString(map)的区别
coder_xpf
jqueryjsonmapval()
JSONUtil.serialize(map)和JSON.toJSONString(map)的区别
数据库查询出来的map有一个字段为空
通过System.out.println()输出 JSONUtil.serialize(map): {"one":"1","two":"nul
- Hibernate缓存总结
cuishikuan
开源sshjavawebhibernate缓存三大框架
一、为什么要用Hibernate缓存?
Hibernate是一个持久层框架,经常访问物理数据库。
为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。
缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。
二、Hibernate缓存原理是怎样的?
Hibernate缓存包括两大类:Hib
- CentOs6
dalan_123
centos
首先su - 切换到root下面1、首先要先安装GCC GCC-C++ Openssl等以来模块:yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel2、再安装ncurses模块yum -y install ncurses-develyum install ncurses-devel3、下载Erang
- 10款用 jquery 实现滚动条至页面底端自动加载数据效果
dcj3sjt126com
JavaScript
无限滚动自动翻页可以说是web2.0时代的一项堪称伟大的技术,它让我们在浏览页面的时候只需要把滚动条拉到网页底部就能自动显示下一页的结果,改变了一直以来只能通过点击下一页来翻页这种常规做法。
无限滚动自动翻页技术的鼻祖是微博的先驱:推特(twitter),后来必应图片搜索、谷歌图片搜索、google reader、箱包批发网等纷纷抄袭了这一项技术,于是靠滚动浏览器滚动条
- ImageButton去边框&Button或者ImageButton的背景透明
dcj3sjt126com
imagebutton
在ImageButton中载入图片后,很多人会觉得有图片周围的白边会影响到美观,其实解决这个问题有两种方法
一种方法是将ImageButton的背景改为所需要的图片。如:android:background="@drawable/XXX"
第二种方法就是将ImageButton背景改为透明,这个方法更常用
在XML里;
<ImageBut
- JSP之c:foreach
eksliang
jspforearch
原文出自:http://www.cnblogs.com/draem0507/archive/2012/09/24/2699745.html
<c:forEach>标签用于通用数据循环,它有以下属性 属 性 描 述 是否必须 缺省值 items 进行循环的项目 否 无 begin 开始条件 否 0 end 结束条件 否 集合中的最后一个项目 step 步长 否 1
- Android实现主动连接蓝牙耳机
gqdy365
android
在Android程序中可以实现自动扫描蓝牙、配对蓝牙、建立数据通道。蓝牙分不同类型,这篇文字只讨论如何与蓝牙耳机连接。
大致可以分三步:
一、扫描蓝牙设备:
1、注册并监听广播:
BluetoothAdapter.ACTION_DISCOVERY_STARTED
BluetoothDevice.ACTION_FOUND
BluetoothAdapter.ACTION_DIS
- android学习轨迹之四:org.json.JSONException: No value for
hyz301
json
org.json.JSONException: No value for items
在JSON解析中会遇到一种错误,很常见的错误
06-21 12:19:08.714 2098-2127/com.jikexueyuan.secret I/System.out﹕ Result:{"status":1,"page":1,&
- 干货分享:从零开始学编程 系列汇总
justjavac
编程
程序员总爱重新发明轮子,于是做了要给轮子汇总。
从零开始写个编译器吧系列 (知乎专栏)
从零开始写一个简单的操作系统 (伯乐在线)
从零开始写JavaScript框架 (图灵社区)
从零开始写jQuery框架 (蓝色理想 )
从零开始nodejs系列文章 (粉丝日志)
从零开始编写网络游戏 
- jquery-autocomplete 使用手册
macroli
jqueryAjax脚本
jquery-autocomplete学习
一、用前必备
官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/
当前版本:1.1
需要JQuery版本:1.2.6
二、使用
<script src="./jquery-1.3.2.js" type="text/ja
- PLSQL-Developer或者Navicat等工具连接远程oracle数据库的详细配置以及数据库编码的修改
超声波
oracleplsql
在服务器上将Oracle安装好之后接下来要做的就是通过本地机器来远程连接服务器端的oracle数据库,常用的客户端连接工具就是PLSQL-Developer或者Navicat这些工具了。刚开始也是各种报错,什么TNS:no listener;TNS:lost connection;TNS:target hosts...花了一天的时间终于让PLSQL-Developer和Navicat等这些客户
- 数据仓库数据模型之:极限存储--历史拉链表
superlxw1234
极限存储数据仓库数据模型拉链历史表
在数据仓库的数据模型设计过程中,经常会遇到这样的需求:
1. 数据量比较大; 2. 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等; 3. 需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态, 比如,查看某一个用户在过去某一段时间内,更新过几次等等; 4. 变化的比例和频率不是很大,比如,总共有10
- 10点睛Spring MVC4.1-全局异常处理
wiselyman
spring mvc
10.1 全局异常处理
使用@ControllerAdvice注解来实现全局异常处理;
使用@ControllerAdvice的属性缩小处理范围
10.2 演示
演示控制器
package com.wisely.web;
import org.springframework.stereotype.Controller;
import org.spring