- 【Redis十二】Redis的典型应用(缓存和分布式锁)
小皮侠
Redis缓存redis分布式
目录Redis作为缓存1.什么是缓存?2.缓存的更新策略3.缓存预热,缓存穿透,缓存雪崩和缓存击穿Redis作为分布式锁1.什么是分布式锁?2.分布式锁的实现过程Redis是目前后端开发中非常热门的组件之一,本篇文章主要介绍它在作为缓存以及分布式领域的作用。Redis作为缓存1.什么是缓存?缓存(cache)是计算机中的⼀个经典的概念.在很多场景中都会涉及到。核⼼思路就是把⼀些常⽤的数据放到触⼿可
- redis分布式锁与redsync库源码分析
阿鹏哥哥01
golang学习专题redis分布式锁redis分布式
redsync是redis官方推荐的go版本分布式锁实现,标准的官方redlock算法实现,阅读了下源码并顺便复习一下redis分布式锁原理。一.redlock算法单点场景首先来看单redis实例的场景,这是集群模式的基础。这种场景下实现分布式锁比较简单加锁各节点通过setkeyvaluenxex即可,如果set执行成功,则表明加锁成功,否则失败,其中value为随机串,用来判断是否是当前应用实例
- 基于Zookeeper的临时顺序节点实现分布式锁
yield-bytes
Zookeeper
在前面的文章中,已经给出基于kazoo操作zk的逻辑,接下来利用zk的临时序列节点机制实现分布式锁,分布式锁场景使用非常广,在读写方面都非常适合,个人认为比基于redis实现的分布式锁更具可靠性(但性能方面,redis应该更强?)。1、zk的临时顺序节点 临时顺序节点其实是结合临时节点和顺序节点的特点:在某个固定的持久节点(例如/locker)下创建子节点时,zk通过将10位的序列号附加到原
- Redis分布式锁
赶路人儿
nosql分布式锁
Redis分布式锁分布式锁在很多场景中是非常有用的原语,不同的进程必须以独占资源的方式实现资源共享就是一个典型的例子。有很多分布式锁的库和描述怎么实现分布式锁管理器(DLM)的博客,但是每个库的实现方式都不太一样,很多库的实现方式为了简单降低了可靠性,而有的使用了稍微复杂的设计。这个页面试图提供一个使用Redis实现分布式锁的规范算法。我们提出一种算法,叫Redlock,我们认为这种实现比普通的单
- 2023菜鸟物流一面.社招.Java后端开发
心向阳光的天域
java面试java
2023菜鸟物流一面.社招.Java后端开发1.手写一个StringBuilder2.介绍分布式锁3.介绍高并发经验4.介绍项目的吞吐量5.Mysql的行级锁(1)行级锁(2)表级锁6.单一职责和接口隔离区别1.手写一个StringBuilderpublicclassMyStringBuilder{/***可变长度的字符串——字符数组*/charvalue[];/***定义数据长度*/intcou
- 分布式系统相关面试题收集
小马不敲代码
面试题专栏分布式系统面试题
目录什么是分布式系统,以及它有哪些主要特性?分布式系统中如何保证数据的一致性?解释一下CAP理论,并说明在分布式系统中如何权衡CAP三者?什么是分布式事务,以及它的实现方式有哪些?什么是分布式锁,以及它的实现方案有哪些?什么是分布式幂等性,如何在分布式系统中设计幂等性?在分布式系统中,如何进行负载均衡和容错处理?什么是分布式系统,以及它有哪些主要特性?分布式系统是由多个计算机节点通过网络相互连接,
- Redis实现分布式锁:原理与示例详解
恩爸编程
redisredis分布式数据库分布式锁redis实现分布式锁redis分布式锁是什么分布式锁是什么
Redis实现分布式锁:原理与示例详解一、分布式锁简介在分布式系统中,多个进程或服务可能会同时访问共享资源。为了避免数据不一致和竞态条件,需要一种机制来保证同一时刻只有一个进程能够访问共享资源,这就是分布式锁的作用。分布式锁需要满足以下几个特性:互斥性:同一时刻只能有一个客户端获得锁。容错性:在部分节点出现故障时,锁机制仍然能够正常工作。可释放性:获得锁的客户端在完成操作后,必须能够释放锁,以便其
- 一文吃透Redis 4 种模式在 Spring Boot 下的配置
一叶飘零_sweeeet
redisjavaredisspringboot
一、引言在当今的Java开发领域,SpringBoot以其快速开发和便捷配置的特性成为众多项目的首选框架,而Redis作为高性能的内存数据库,在缓存、分布式锁、消息队列等诸多场景中都发挥着举足轻重的作用。了解Redis在SpringBoot下不同模式的配置,对于提升系统性能、实现复杂业务逻辑至关重要。作为一名有着阿里P8级别经验的Java技术专家,今天我将带你深入探索Redis4种模式在Sprin
- 揭秘 Redis 大 key 和热 key 问题,一文教你彻底解决
一叶飘零_sweeeet
redis分布式redis后端
一、引言在当今的互联网应用开发中,Redis作为一款高性能的内存数据库,被广泛应用于缓存、消息队列、分布式锁等各种场景。然而,随着业务的不断发展和数据量的增长,Redis中出现的大key和热key问题逐渐成为影响系统性能和稳定性的重要因素。作为一名在阿里有着P8级别的Java技术专家,今天我将深入剖析Redis大key和热key问题,并为你提供全面且详细的解决方案。无论是初涉Redis的开发者,还
- WGCLOUD的【工作笔记】功能使用介绍
服务器运维kubernetes
WGCLOUD的【工作笔记】是一个完全辅助的模块,和监控没有关系它纯粹用来记录我们的一些笔记,比如工作内容,日报,知识等等都可以,非常方便它只需要添加删除维护就可以了,这是一个非常轻量又实用的功能如下图
- 使用 Redis 实现分布式锁的基本思路
maply
Redisredis分布式数据库
使用Redis实现分布式锁的基本思路在分布式系统中,多个进程或服务可能会同时访问共享资源(如数据库、缓存、文件等),这可能会导致数据不一致或并发冲突。Redis由于其高性能和单线程模型,是实现分布式锁的一个常见选择。本文将详细介绍使用Redis实现分布式锁的基本思路,包括实现方式、锁的释放、可能存在的问题以及优化方案。1.基本思路Redis是一个高性能的内存数据库,具有单线程执行命令和原子操作的特
- 后端笔记01 | 分布式锁实现与思考
谷嘟
后端开发笔记分布式后端redis
参考资料:JavaGuide:分布式锁JavaGuide:分布式锁的实现方案总结阿里云开发者:分布式锁实现原理与最佳实践字节跳动技术团队:聊聊分布式锁分布式锁关键要点分布式锁的对哪些场景的必要性,分布式锁和本地锁的区别,分布式锁具备的条件实现分布式锁的技术方案及其区别总结Redis实现分布式锁实现方式、存在问题、解决方案ZooKeeper分布式锁的原理、实现步骤。分布式锁的简要介绍什么是分布式锁
- 初识 内嵌iframe
家里有只小肥猫
iframevue前端
iframe的基本介绍与使用介绍iframe(内嵌框架)是HTML中一种用于将一个网页嵌入到另一个网页中的标签,它可以在一个页面中显示来自其他页面的内容。在网页中,使用标签可以将一个网页嵌套在另一个网页中,实现网页间的互联互通。基础使用标签的基本用法如下:例如:属性除了src属性,还可以使用其他属性来设置iframe的行为和样式,如allow、allowfullscreen、class、frame
- redis原理
小哲会嘿魔法
redis数据库缓存
文章目录redis客户端-认识RESP持久化持久化具体实现1.RDB(RedisDataBase)2.AOF(AppendOnlyFile)事务相关命令主从复制拓扑结构同步过程部分复制实时复制哨兵(Sentinel)哨兵选取主节点流程集群数据分片主节点宕机集群扩容缓存缓存更新缓存预热、缓存穿透、缓存雪崩、缓存击穿分布式锁过期时间校验IdLua脚本watchdog(看门狗)Redlock算法redi
- 并发控制-文件锁
gophp高并发
在以往的项目中,遇到高并发大流量需求做并发控制的时候一般都使用redis分布式锁或者mysql加锁处理高并发情况。最近遇到一个php项目,没有安装redis,由于某种原因也不考虑使用mysql加锁控制并发,所以采用文件锁的方式控制并发,整理了下代码php版本classFileLock{/**@varstring锁名称唯一性*/privatestring$key;/**@varstring锁文件*/
- redis+spring面试题
javaspringredis
redis使用场景缓存热点数据分布式锁存储token存储短信验证码计数器全局唯一数排行榜限流购物车关注粉丝缓存失效缓存穿透缓存空结果布龙过滤器缓存击穿全局锁设置永不过期缓存雪崩设置高可用集群设置不同的过期时间本地二级缓存,限流加降级数据一致性延时双删集群最大部署多少个主节点16384string的存储内存多大512mlist/set/hash/zset最多可以放多少个体元素2^32-1/42亿re
- Spring Boot 集成 Redis 全解析
翻晒时光
springbootspringbootredis
在当今快速发展的互联网应用开发中,性能和效率是至关重要的因素。Redis作为一款高性能的内存数据库,常被用于缓存、消息队列、分布式锁等场景,能够显著提升应用程序的响应速度和吞吐量。SpringBoot以其强大的自动配置和快速开发特性,成为众多Java开发者的首选框架。将SpringBoot与Redis集成,可以充分发挥两者的优势,构建出高效、稳定的应用系统。本文将详细介绍SpringBoot集成R
- 15 分布式锁和分布式session
40岁的系统架构师
分布式系统架构
在java中一个进程里面使用synchronized在new出来对象头信息中加锁,如果是静态方法中在加载的类信息中加锁(我们在锁的原理中讲过)。如果使用lock加锁可以自己指定。这些都是在同一个进程空间中的操作。如果在分布式环境中由于程序不在一个进程空间,就没办法使用这些原子性的元素中加锁,我们需要在不同的进程空间中找原子性的元素。这就是分布式锁基于数据库的分布式锁该方式通过数据库的唯一索引来实现
- Redisson 实现分布式锁
程序员jin
编程开发数据库分布式数据库redis
文章目录一.锁介绍二.什么是分布式锁三.为什么需要分布式锁四.分布式锁实现五.分布式锁注意事项六.看门狗机制七.Redisson实现分布式锁一.锁介绍单机锁:用于一台服务器的同步执行。分布式锁:用于多台服务器之间的同步执行。有限资源的情况下,控制同一时间(段)只有某些线程(用户/服务器)能访问到资源。Java实现锁:synchronized关键字、并发包的类。Javasynchronized实现锁
- MongoDB 常见使用
愿许浪尽天涯
运维mongodbnosql数据库运维原力计划
MongoDB常见使用一、MongoDB安全配置二、索引配置三、慢查询一、MongoDB安全配置因为博主前面写过MongoDB安装教程,所以这里便不再进行安装(未安装的可以看:MongoDB使用介绍)1)创建MongoDB管理员用户[root@MongoDB~]#mongo192.168.1.1:27017useadmindb.createUser({user:"admin",pwd:"12312
- Redis从0到1详解(SpringBoot)
小白的一叶扁舟
面试题redisspringboot数据库springcloudjava后端中间件
前言在现代应用中,Redis扮演着重要的角色,作为高性能的缓存和消息队列,它能够大大提高系统的响应速度和吞吐量。在SpringBoot项目中使用Redis,不仅能通过简单的配置连接Redis服务,还能利用Redis提供的各种高效算法,如LRU(最近最少使用)和LFU(最不常用)来实现智能的数据管理。此外,分布式锁也可以通过Redis提供的功能来实现,保证多线程或多服务之间的数据一致性。本文将介绍如
- 分布式系统架构:分布式缓存
工业甲酰苯胺
架构分布式缓存
分布式缓存也是面试常见的问题,通常面试官会问为什么要用缓存,以及用的Redis是哪种模式,用的过程中遇到哪些问题这些1.AP还是CPRedis集群就是典型的AP式,它具有高性能、高可用等特点,但它却并不保证强一致性。而能够保证强一致性的ZooKeeper、Doozerd、Etcd等框架,吞吐量比不过Redis,通常不会用作“缓存框架”,而是作为通知、协调、队列、分布式锁等使用2.透明多级缓存TMC
- 【STL】list 双向循环链表的使用介绍
VigorousVoyager
STLC++c++list链表数据结构STL
STL中list容器的详细使用说明一.list的文档介绍二.list的构造函数三.list中的访问与遍历操作四.list中的修改操作4.1list中的各种修改操作4.2list的迭代器失效问题五.list中的其他一些操作一.list的文档介绍list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独
- 服务器面试必备-redis面试题总结
前网易架构师-高司机
2025年最新-服务器面试经验2025年最新-数据库redis面试题
在服务器开发中,Redis的面试题所占的比重通常比较大,这是因为Redis在服务器开发中扮演着重要的角色。首先,Redis是一款开源的内存数据存储系统,它支持多种数据结构,并提供了丰富的操作指令,被广泛应用于各种场景,如缓存、消息队列、计数器、分布式锁等。因此,对于服务器开发人员来说,熟悉Redis的使用和原理是非常重要的。其次,Redis的高性能和高可扩展性使其成为处理高并发的关键技术之一。在服
- zookeeper分布式锁模拟12306买票
有一个好名字
zookeeper分布式zookeeper云原生
未加锁时容易出现重复买票情况代码publicclassTicket12306implementsRunnable{//票数privateintticketNums=10;@Overridepublicvoidrun(){while(true){if(ticketNums>0){System.out.println(Thread.currentThread()+"抢到了第"+ticketNums+"
- Springboot Redisson 分布式锁、缓存、消息队列、布隆过滤器
空灵宫(Ethereal Palace)
springbootJavajavaspringboot分布式
redisson-spring-boot-starter是Redisson提供的SpringBoot集成包,旨在简化与Redis的交互,包括分布式锁、缓存、消息队列、布隆过滤器等功能的实现。Maven依赖在SpringBoot项目中添加redisson-spring-boot-starter依赖:org.redissonredisson-spring-boot-starter3.22.0核心功能分
- 分布式锁的实现,基于Redis实现分布式锁
轻浮j
Redis分布式redis数据库
分布式锁的实现,基于Redis实现分布式锁前言基于mysql实现分布式锁基于Reids实现分布式锁基于Redis的具体实现问题1:线程误删锁解决方案一:在删除锁时进行校验问题2:释放锁的检验和释放不具有原子性解决方案:基于lua脚本使检验和删除操作具有原子性其他问题前言对于一些业务来说,比如商品或者优惠卷的抢杀,我们常常需要进行一些加锁的操作比如synchronized等来避免商品的超卖问题,但是
- python基于redis实现分布式锁
2401_89224765
pythonredis分布式
上图可以看到,变量A存在三个服务器内存中(这个变量A主要体现是在一个类中的一个成员变量,是一个有状态的对象),如果不加任何控制的话,变量A同时都会在分配一块内存,三个请求发过来同时对这个变量操作,显然结果是不对的!即使不是同时发过来,三个请求分别操作三个不同内存区域的数据,变量A之间不存在共享,也不具有可见性,处理的结果也是不对的!如果我们业务中确实存在这个场景的话,我们就需要一种方法解决这个问题
- Rabbitmq源码分析,重复消费问题的redis或数据库代码实现
xweiran
rabbitmq分布式java架构jvm数据结构后端
目录底层源码解析自定义唯一id算法MessageProperties类的相关实现自定义消息ID生成器配置和使用Rabbitmq是怎么判断是不是重复消息的呢?通过Redis的幂等性处理消息消费者实现分布式锁实现的重复检测完整的消息处理流程基于数据库实现Mapper接口消息处理服务RabbitMQ消息消费者底层源码解析RabbitMQ判断重复消息主要通过消息的唯一标识(MessageId)和幂等性处理
- Redis分布式锁-解锁操作
Ocean@上源码
Redis分布式redisjava
本章重点讨论解锁操作问题。案例使用RedisTemplate完成redis操作。1.简单加解解锁@ResourceprivateRedisTemplateredisTemplate;publicvoidtestLock(){Stringkey="xx_lock";Stringuuid=UUID.randomUUID().toString();try{booleanlock=redisTemplat
- 开发者关心的那些事
圣子足道
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