- 【线上故障排查】缓存穿透攻击的识别与布隆过滤器(面试题 + 3 步追问应对 + 案例分析)
程序员岳彬
从项目到面试:Java高频面试题场景化通关指南缓存java后端springbootlinuxredis
一、高频面试题问题1:什么是缓存穿透?它对系统的核心危害是什么?参考答案:缓存穿透指的是用户请求的数据在缓存和数据库中都不存在,导致请求直接绕过缓存打到数据库。核心危害是大量无效请求会耗尽数据库资源,比如CPU、内存或连接数,严重时可能引发数据库宕机,进而导致整个系统崩溃,影响服务可用性。第一步追问:缓存穿透和缓存雪崩有什么本质区别?参考答案:两者本质不同。缓存穿透是请求不存在的数据,攻击或逻辑漏
- 布隆过滤器详解及使用:解决缓存穿透问题
豪宇刘
缓存哈希算法散列表
在现代应用开发中,缓存技术被广泛应用于提升系统性能和响应速度。然而,缓存系统也带来了一些新的挑战,如缓存穿透、缓存击穿和缓存雪崩等问题。一、什么是布隆过滤器?布隆过滤器是一种空间效率很高的概率型数据结构,用于判断一个元素是否在一个集合中。它的优点是高效且占用内存少,但有一定的误判率(即可能会错误地认为某个不在集合中的元素存在于集合中),不过它不会漏报(即如果一个元素确实不在集合中,布隆过滤器一定能
- 使用工厂模式和策略模式实现布隆过滤器
小菜0-o
策略模式
使用工厂模式和策略模式实现布隆过滤器的大概流程如下:定义布隆过滤器接口:首先定义一个布隆过滤器接口,包括添加元素和判断元素是否存在两个基本操作。实现具体的布隆过滤器类:创建一个具体的布隆过滤器类,实现布隆过滤器接口中的方法。在这个类中,需要定义布隆过滗器的数据结构(比如位数组)、大小等属性。定义哈希策略接口:定义一个哈希策略接口,包含计算哈希值的方法。实现具体的哈希策略类:创建多个具体的哈希策略类
- SIGMOD论文解读|在自下而上优化中添加布隆过滤器
Gauss松鼠会
技术交流数据库gaussdbdatabase
6月22日至27日,2025ACMSIGMOD/PODS国际学术会议在德国柏林举行。25日,华为多伦多分布式调度和数据引擎实验室主任工程师TimothyZeyl受邀出席,就入选的《IncludingBloomFiltersinBottom-upOptimization》论文进行了解读该论文创新性地首次提出了在自下而上的优化器的基于成本的优化过程中添加布隆过滤器(BloomFilter)的技术。该技
- Redis缓存穿透、击穿、雪崩解决方案详解
码农小灰
java面试题redis缓存redis数据库
目录一、引言二、缓存穿透:如何阻挡不存在的请求?1.定义与成因2.解决方案(1)缓存空值(2)布隆过滤器(BloomFilter)(3)参数校验三、缓存击穿:如何保护热点数据?1.定义与成因2.解决方案(1)互斥锁(分布式锁)(2)逻辑过期(3)缓存预热四、缓存雪崩:如何应对集体失效?1.定义与成因2.解决方案(1)随机过期时间(2)熔断与限流(3)高可用集群五、实际案例分析案例1:电商库存缓存穿
- Java面试题专项(Redis篇)
嗨,正在熬夜的你
面试部分javaredis开发语言
1.什么是缓存穿透?怎么解决?答:缓存穿透是指查询一个一定不存在的数据(例:假设数据库只有用户1-1000的信息,黑客一直请求用户ID=99999,每次都查DB,DB扛不住。),由于存储层查不到数据因此不写入缓存,这将导致这个不存在的数据每次请求都要到DB去查询,可能导致DB挂掉。这种情况大概率是遭到了攻击。通常都用布隆过滤器(提前用布隆过滤器存储所有存在的key。查询前先查布隆过滤器,不存在的直
- 场景题:有40亿个QQ号如何去重?仅1GB内存
卷福同学
社招面试面试阿里云京东云java
场景题也有一些套路可以考虑,比如去重、判断给定数据是否存在1.大数据去重1.1现在有40亿个QQ号如何去重?仅1GB内存参考链接:https://juejin.cn/post/7396332696660131849介绍2种方法:Bitmap和布隆过滤器方法一:Bitmap首先介绍下什么是位图Bitmap位图是使用bit数组表示的,它只存储0或者1,因此我们可以把全部的QQ号放到位图中,当index
- Redis布隆过滤器详解
枸杞配码
redis数据库缓存
1.布隆过滤器是什么redis的布隆过滤器其实有点像我们之前学习过的hyperloglog深入理解redis——新类型bitmap/hyperloglgo/GEO,它也是不保存元素的一个集合,它也不保存元素的具体内容,但是能判定这个元素是否在这个集合中存在(hyperloglog是判定集合中存在的不重复元素的个数)。1)它是由一个初值都为零的bit数组和多个哈希函数构成,用来快速判断某个数据是否存
- Redis(十五)Bitmap、Hyperloglog、GEO案例、布隆过滤器
Lucky_Turtle
Javaredis面试数据库
文章目录面试题常见统计类型聚合统计排序统计二值统计基数统计Hyperloglog专有名词UV(UniqueVisitor)独立访客PV(PageView)页面浏览量DAU(DailyActiveUser)日活跃用户量MAU(MonthlyActiveUser)需求原理亿级UV的Redis统计方案GEO面试题命令GEOADD获取某位置的经纬度GEOPOS返回坐标的Geohash表示GEOHASH两个
- 缓存穿透、缓存击穿、缓存雪崩
贰拾wan
缓存redisjava
目录缓存穿透什么是缓存穿透有哪些解决办法?缓存的无效key布隆过滤器接口限流缓存击穿什么是缓存击穿有哪些解决办法?缓存穿透和缓存击穿有什么区别缓存雪崩有那些解决办法针对Redis服务不可用的情况:针对大量缓存同时失效的情况:缓存穿透什么是缓存穿透缓存穿透说简单点就是大量请求的key是不合理的,根本不存在于缓存中,也不存在于数据库中。这就导致这些请求直接到了数据库上,根本没有经过缓存这一层,对数据库
- redis穿透、击穿、雪崩
斯kk
redisredis数据库缓存
穿透数据库、redis中没有这个数据解决方法:redis缓存空对象布隆过滤器加锁:当有一个key在redis中没查到,就加个锁,去数据库里查出来,再解锁。挡住无效请求,重复请求当缓存未命中时,先抢互斥锁,只有获取锁的线程可以查询数据库,其他缓存未命中的线程等待或返回默认值其他缓存未命中的再去抢锁击穿一个热门key过期或者一个没被缓存的数据访问量突然增大(数据库有,但没被缓存)解决方法:互斥锁(Mu
- Redis 穿透 击穿 雪崩
0小新0
Redis缓存的三大问题穿透击穿雪崩一、缓存穿透缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。解决方案:创造一个数据空对象,存在缓存中,这样就不会查询数据库了。简单,好维护,效果不好。使用布隆过滤器进行解决。难,难维护,效果好。二、缓存击穿缓存击穿是指缓存中没有但数据库中有的数
- 45 | 位图:如何实现网页爬虫中的URL去重功能?
写文章的大米
数据结构&算法数据结构算法
↑↑↑欢迎关注,分享更多IT技术注:本笔记为公司内部技术小组持续学习2年多时间+个人整理不下5次的结果产出。目录45|位图:如何实现网页爬虫中的URL去重功能?算法解析位图(BitMap)布隆过滤器45|位图:如何实现网页爬虫中的URL去重功能?开篇题如何实现网页爬虫中的URL去重功能?算法解析需求功能性需求添加一个URL查询一个URL非功能性
- Redis面试高频问题
sanggou
redis面试数据库
什么是缓存穿透?怎么解决?缓存穿透是指查询一个一定不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,可能导致数据库挂掉。这种情况大概率是遭到了攻击。解决方案的话,我们通常都会用布隆过滤器来解决它你能介绍一下布隆过滤器吗布隆过滤器主要是用于检索一个元素是否在一个集合中。一般会使用redisson实现的布隆过滤器。它的底层主要是先去初始化一个比较大数
- 使用布隆过滤器实现java大数据筛选是否存在
dexi.Chi 攻城狮
java笔记经验分享
问题两组大量的数据集合想要互相对比是否一致,而且两组大数据内有多字段。解决思路根据多字段生成json,再根据json生成md5,存入布隆过滤器中,每次根据md5查询布隆过滤器内是否存在,不存在直接跳过,存在可能有误判率,需要对比md5是否一致,项目启动初始化加载布隆过滤器,服务器服务器若是重启,内部业务加载已存在的md5存入布隆过滤器中,其他业务代码对比若没有存入,下面是代码根据需要生成json的
- 从零手写Java版本的LSM Tree (八):LSM Tree 主程序实现
Brian Xia
从零手写Java版本LSMTreejavalsm-tree开发语言
推荐一个高质量的JavaLSMTree开源项目!https://github.com/brianxiadong/java-lsm-treejava-lsm-tree是一个从零实现的Log-StructuredMergeTree,专为高并发写入场景设计。核心亮点:⚡极致性能:写入速度超过40万ops/秒,完爆传统B+树️完整架构:MemTable跳表+SSTable+WAL+布隆过滤器+多级压缩深度
- 从零手写Java版本的LSM Tree (二):KeyValue 数据结构
Brian Xia
从零手写Java版本LSMTreejavalsm-tree数据结构
推荐一个高质量的JavaLSMTree开源项目!https://github.com/brianxiadong/java-lsm-treejava-lsm-tree是一个从零实现的Log-StructuredMergeTree,专为高并发写入场景设计。核心亮点:⚡极致性能:写入速度超过40万ops/秒,完爆传统B+树️完整架构:MemTable跳表+SSTable+WAL+布隆过滤器+多级压缩深度
- 从零手写Java版本的LSM Tree (六):WAL 写前日志
Brian Xia
从零手写Java版本LSMTreejavalsm-tree开发语言
推荐一个高质量的JavaLSMTree开源项目!https://github.com/brianxiadong/java-lsm-treejava-lsm-tree是一个从零实现的Log-StructuredMergeTree,专为高并发写入场景设计。核心亮点:⚡极致性能:写入速度超过40万ops/秒,完爆传统B+树️完整架构:MemTable跳表+SSTable+WAL+布隆过滤器+多级压缩深度
- 从零手写Java版本的LSM Tree (七):压缩策略
Brian Xia
从零手写Java版本LSMTreejavalsm-tree开发语言
推荐一个高质量的JavaLSMTree开源项目!https://github.com/brianxiadong/java-lsm-treejava-lsm-tree是一个从零实现的Log-StructuredMergeTree,专为高并发写入场景设计。核心亮点:⚡极致性能:写入速度超过40万ops/秒,完爆传统B+树️完整架构:MemTable跳表+SSTable+WAL+布隆过滤器+多级压缩深度
- Redis缓存问题与解决方案
小折耳猫_
缓存redis数据库
缓存穿透问题大量请求查询不存在的数据,绕过缓存直接访问数据库,导致数据库压力过大。解决方案:使用布隆过滤器(BloomFilter)预先过滤无效请求,避免查询不存在的数据。对空结果进行短时间缓存,减少重复无效查询。Java实现布隆过滤器使用Guava库的BloomFilter类可以高效过滤无效请求,以下是完整代码示例。importcom.google.common.hash.BloomFilter
- Redis缓存设计与性能优化
cubicjin
Redis系列缓存redis性能优化
缓存设计缓存击穿数据过期的时候一下子涌入大量的请求,在缓存中不存在。加互斥锁,只允许一个线程去更新缓存数据异步预热缓存缓存穿透请求的数据根本不存在于缓存和数据库中,每次请求都会打到数据库,导致数据库压力剧增。缓存空对象。对不存在的数据也缓存一个空值,设置较短过期时间。查同一个不存在的商品进行空值延期redisson布隆过滤器。参数校验。请求前先校验userId是否合理,比如正整数、存在合法范围缓存
- 布隆过滤器在5G网络切片管理中的应用
数据结构与算法学习
5G网络phpai
布隆过滤器在5G网络切片管理中的应用:用“安检门”守护网络的“小区分区”关键词:布隆过滤器、5G网络切片、概率型数据结构、网络资源管理、高效查询摘要:本文将带你走进5G网络的“小区分区”——网络切片管理的世界,用“快递安检门”的比喻理解布隆过滤器的神奇作用。我们会从5G网络切片的需求出发,解释布隆过滤器的核心原理,揭秘它如何在网络切片的“身份核查”“冲突检测”中高效工作,并通过代码实战展示它的真实
- c++ 位图和布隆过滤器
却道天凉_好个秋
数据结构与算法c++c++位图布隆过滤器
位图(bitmap)定义位图是一种使用位数组存储数据的结构。每一位表示一个状态,通常用于快速判断某个值是否存在,或者用来表示布尔类型的集合。特点节省空间:一个字节可以表示8个状态。高效操作:位操作(如按位与、或、非)速度极快。不支持重复元素:每个值只能映射到唯一的位。应用集合操作判断某个用户ID是否存在。插入一个用户ID。删除一个用户ID。计算两个用户ID集合的交集、并集和差集。#include#
- Java面试高阶篇:Spring Boot+Quarkus+Redis高并发架构设计与性能优化实战
杨不易呀
MCPSpringBootQuarkusRedis高并发分布式锁Java面试
Java面试高阶篇:SpringBoot+Quarkus+Redis高并发架构设计与性能优化实战面试官(严肃):Q1:你项目中如何实现高并发下的缓存优化?候选人(水货):我们用了Redis做缓存,设置了过期时间...不过有时候会出现缓存穿透的问题?面试官:你知道缓存穿透的解决方案吗?候选人:可能需要加布隆过滤器,或者用Redis的null值缓存?Q2:你如何对比SpringBoot和Quarkus
- 【C++】深入理解 unordered 容器、布隆过滤器与分布式一致性哈希
joker D888
C++c++分布式哈希算法
【C++】深入理解unordered容器、布隆过滤器与分布式一致性哈希在日常开发中,无论是数据结构优化、缓存设计,还是分布式架构搭建,unordered_map、布隆过滤器和一致性哈希都是绕不开的关键工具。它们高效、轻量,在性能与扩展性方面发挥着重要作用。本文将依次从这三者的原理、实现与应用场景进行讲解。一、STL中的unordered_*容器C++STL提供了四种以unordered_为前缀的容
- Python爬虫(24)Python分布式爬虫架构实战:Scrapy-Redis亿级数据抓取方案设计
一个天蝎座 白勺 程序猿
Python爬虫入门到高阶实战python爬虫分布式
目录一、背景:单机爬虫的五大瓶颈二、Scrapy-Redis架构深度解析1.架构拓扑图2.核心组件对比三、环境搭建与核心配置1.基础环境部署2.Scrapy项目配置四、分布式爬虫核心实现1.改造原生Spider2.布隆过滤器集成五、五大性能优化策略1.动态优先级调整2.智能限速策略3.连接池优化4.数据分片存储5.心跳监控系统六、实战:新闻聚合平台数据抓取1.集群架构2.性能指标七、总结1.核心收
- Bitmap 和 布隆过滤器分不清?你这不应该啊
javascript
有个兄弟私下跟我说,他在面试狗东时,有一道面试题没回答上来:Redis的Bitmap和布隆过滤器啥区别与关系?其实就是考小老弟对这两种工具的底层数据结构是否了解,不算太难的题。不过,bitmap和布隆过滤器在大数据量和高并发业务的使用频率不低,知识点应该掌握下,既然问了那咱们简单的梳理下它们的底层原理、应用场景以及它们之间的关联。BitmapRedis中的Bitmap(位图)是一种较为特殊数据类型
- Python爬虫(16)Python爬虫数据存储新维度:Redis Edge近端计算赋能实时数据处理革命
一个天蝎座 白勺 程序猿
Python爬虫入门到高阶实战python爬虫redis
目录引言一、背景:边缘计算重构爬虫数据存储范式1.1中心化存储的三大瓶颈1.2RedisEdge的核心能力1.3边缘存储架构对比二、实战:RedisEdge集成Python爬虫节点2.1环境部署与模块加载2.2近端去重与聚合(Python示例)2.2.1URL布隆过滤器去重2.2.2时序数据实时统计2.3边缘规则引擎(RedisGears)三、生产级边缘存储架构设计3.1高可用部署方案3.2数据同
- 数据结构——布隆过滤器
南川琼语
数据结构数据结构哈希算法算法
目录一、什么是布隆过滤器?二、布隆过滤器的原理三、布隆过滤器的特点一、什么是布隆过滤器?布隆过滤器是一种空间效率高、适合快速检索的数据结构,用于判断一个元素是否可能存在于一个集合中。它通过使用多个哈希函数和一个位数组来表示集合中的元素。当一个元素被加入到布隆过滤器中时,会通过多个哈希函数计算出多个哈希值,并在对应的位上标记为1;当判断一个元素是否在集合中时,同样会通过多个哈希函数计算出多个哈希值,
- Redis应用场景实战:穿透/雪崩/击穿解决方案与分布式锁深度剖析
听闻风很好吃
redisredis分布式数据库
一、缓存异常场景全解与工业级解决方案1.1缓存穿透:穿透防御的三重门典型场景恶意爬虫持续扫描不存在的用户ID参数注入攻击(如SQL注入式查询)业务设计缺陷导致无效查询泛滥解决方案进化论第一层防护:布隆过滤器(BloomFilter)#使用RedisBloom模块初始化过滤器fromredisbloom.clientimportClientrb=Client()#预热阶段加载有效用户IDuser_i
- Java 并发包之线程池和原子计数
lijingyao8206
Java计数ThreadPool并发包java线程池
对于大数据量关联的业务处理逻辑,比较直接的想法就是用JDK提供的并发包去解决多线程情况下的业务数据处理。线程池可以提供很好的管理线程的方式,并且可以提高线程利用率,并发包中的原子计数在多线程的情况下可以让我们避免去写一些同步代码。
这里就先把jdk并发包中的线程池处理器ThreadPoolExecutor 以原子计数类AomicInteger 和倒数计时锁C
- java编程思想 抽象类和接口
百合不是茶
java抽象类接口
接口c++对接口和内部类只有简介的支持,但在java中有队这些类的直接支持
1 ,抽象类 : 如果一个类包含一个或多个抽象方法,该类必须限定为抽象类(否者编译器报错)
抽象方法 : 在方法中仅有声明而没有方法体
package com.wj.Interface;
- [房地产与大数据]房地产数据挖掘系统
comsci
数据挖掘
随着一个关键核心技术的突破,我们已经是独立自主的开发某些先进模块,但是要完全实现,还需要一定的时间...
所以,除了代码工作以外,我们还需要关心一下非技术领域的事件..比如说房地产
&nb
- 数组队列总结
沐刃青蛟
数组队列
数组队列是一种大小可以改变,类型没有定死的类似数组的工具。不过与数组相比,它更具有灵活性。因为它不但不用担心越界问题,而且因为泛型(类似c++中模板的东西)的存在而支持各种类型。
以下是数组队列的功能实现代码:
import List.Student;
public class
- Oracle存储过程无法编译的解决方法
IT独行者
oracle存储过程
今天同事修改Oracle存储过程又导致2个过程无法被编译,流程规范上的东西,Dave 这里不多说,看看怎么解决问题。
1. 查看无效对象
XEZF@xezf(qs-xezf-db1)> select object_name,object_type,status from all_objects where status='IN
- 重装系统之后oracle恢复
文强chu
oracle
前几天正在使用电脑,没有暂停oracle的各种服务。
突然win8.1系统奔溃,无法修复,开机时系统 提示正在搜集错误信息,然后再开机,再提示的无限循环中。
无耐我拿出系统u盘 准备重装系统,没想到竟然无法从u盘引导成功。
晚上到外面早了一家修电脑店,让人家给装了个系统,并且那哥们在我没反应过来的时候,
直接把我的c盘给格式化了 并且清理了注册表,再装系统。
然后的结果就是我的oracl
- python学习二( 一些基础语法)
小桔子
pthon基础语法
紧接着把!昨天没看继续看django 官方教程,学了下python的基本语法 与c类语言还是有些小差别:
1.ptyhon的源文件以UTF-8编码格式
2.
/ 除 结果浮点型
// 除 结果整形
% 除 取余数
* 乘
** 乘方 eg 5**2 结果是5的2次方25
_&
- svn 常用命令
aichenglong
SVN版本回退
1 svn回退版本
1)在window中选择log,根据想要回退的内容,选择revert this version或revert chanages from this version
两者的区别:
revert this version:表示回退到当前版本(该版本后的版本全部作废)
revert chanages from this versio
- 某小公司面试归来
alafqq
面试
先填单子,还要写笔试题,我以时间为急,拒绝了它。。时间宝贵。
老拿这些对付毕业生的东东来吓唬我。。
面试官很刁难,问了几个问题,记录下;
1,包的范围。。。public,private,protect. --悲剧了
2,hashcode方法和equals方法的区别。谁覆盖谁.结果,他说我说反了。
3,最恶心的一道题,抽象类继承抽象类吗?(察,一般它都是被继承的啊)
4,stru
- 动态数组的存储速度比较 集合框架
百合不是茶
集合框架
集合框架:
自定义数据结构(增删改查等)
package 数组;
/**
* 创建动态数组
* @author 百合
*
*/
public class ArrayDemo{
//定义一个数组来存放数据
String[] src = new String[0];
/**
* 增加元素加入容器
* @param s要加入容器
- 用JS实现一个JS对象,对象里有两个属性一个方法
bijian1013
js对象
<html>
<head>
</head>
<body>
用js代码实现一个js对象,对象里有两个属性,一个方法
</body>
<script>
var obj={a:'1234567',b:'bbbbbbbbbb',c:function(x){
- 探索JUnit4扩展:使用Rule
bijian1013
java单元测试JUnitRule
在上一篇文章中,讨论了使用Runner扩展JUnit4的方式,即直接修改Test Runner的实现(BlockJUnit4ClassRunner)。但这种方法显然不便于灵活地添加或删除扩展功能。下面将使用JUnit4.7才开始引入的扩展方式——Rule来实现相同的扩展功能。
1. Rule
&n
- [Gson一]非泛型POJO对象的反序列化
bit1129
POJO
当要将JSON数据串反序列化自身为非泛型的POJO时,使用Gson.fromJson(String, Class)方法。自身为非泛型的POJO的包括两种:
1. POJO对象不包含任何泛型的字段
2. POJO对象包含泛型字段,例如泛型集合或者泛型类
Data类 a.不是泛型类, b.Data中的集合List和Map都是泛型的 c.Data中不包含其它的POJO
 
- 【Kakfa五】Kafka Producer和Consumer基本使用
bit1129
kafka
0.Kafka服务器的配置
一个Broker,
一个Topic
Topic中只有一个Partition() 1. Producer:
package kafka.examples.producers;
import kafka.producer.KeyedMessage;
import kafka.javaapi.producer.Producer;
impor
- lsyncd实时同步搭建指南——取代rsync+inotify
ronin47
1. 几大实时同步工具比较 1.1 inotify + rsync
最近一直在寻求生产服务服务器上的同步替代方案,原先使用的是 inotify + rsync,但随着文件数量的增大到100W+,目录下的文件列表就达20M,在网络状况不佳或者限速的情况下,变更的文件可能10来个才几M,却因此要发送的文件列表就达20M,严重减低的带宽的使用效率以及同步效率;更为要紧的是,加入inotify
- java-9. 判断整数序列是不是二元查找树的后序遍历结果
bylijinnan
java
public class IsBinTreePostTraverse{
static boolean isBSTPostOrder(int[] a){
if(a==null){
return false;
}
/*1.只有一个结点时,肯定是查找树
*2.只有两个结点时,肯定是查找树。例如{5,6}对应的BST是 6 {6,5}对应的BST是
- MySQL的sum函数返回的类型
bylijinnan
javaspringsqlmysqljdbc
今天项目切换数据库时,出错
访问数据库的代码大概是这样:
String sql = "select sum(number) as sumNumberOfOneDay from tableName";
List<Map> rows = getJdbcTemplate().queryForList(sql);
for (Map row : rows
- java设计模式之单例模式
chicony
java设计模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述单例模式的:
作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 单例模式的结构
单例模式的特点:
单例类只能有一个实例。
单例类必须自己创建自己的唯一实例。
单例类必须给所有其他对象提供这一实例。
饿汉式单例类
publ
- javascript取当月最后一天
ctrain
JavaScript
<!--javascript取当月最后一天-->
<script language=javascript>
var current = new Date();
var year = current.getYear();
var month = current.getMonth();
showMonthLastDay(year, mont
- linux tune2fs命令详解
daizj
linuxtune2fs查看系统文件块信息
一.简介:
tune2fs是调整和查看ext2/ext3文件系统的文件系统参数,Windows下面如果出现意外断电死机情况,下次开机一般都会出现系统自检。Linux系统下面也有文件系统自检,而且是可以通过tune2fs命令,自行定义自检周期及方式。
二.用法:
Usage: tune2fs [-c max_mounts_count] [-e errors_behavior] [-g grou
- 做有中国特色的程序员
dcj3sjt126com
程序员
从出版业说起 网络作品排到靠前的,都不会太难看,一般人不爱看某部作品也是因为不喜欢这个类型,而此人也不会全不喜欢这些网络作品。究其原因,是因为网络作品都是让人先白看的,看的好了才出了头。而纸质作品就不一定了,排行榜靠前的,有好作品,也有垃圾。 许多大牛都是写了博客,后来出了书。这些书也都不次,可能有人让为不好,是因为技术书不像小说,小说在读故事,技术书是在学知识或温习知识,有
- Android:TextView属性大全
dcj3sjt126com
textview
android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all) android:autoText 如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输
- tomcat虚拟目录安装及其配置
eksliang
tomcat配置说明tomca部署web应用tomcat虚拟目录安装
转载请出自出处:http://eksliang.iteye.com/blog/2097184
1.-------------------------------------------tomcat 目录结构
config:存放tomcat的配置文件
temp :存放tomcat跑起来后存放临时文件用的
work : 当第一次访问应用中的jsp
- 浅谈:APP有哪些常被黑客利用的安全漏洞
gg163
APP
首先,说到APP的安全漏洞,身为程序猿的大家应该不陌生;如果抛开安卓自身开源的问题的话,其主要产生的原因就是开发过程中疏忽或者代码不严谨引起的。但这些责任也不能怪在程序猿头上,有时会因为BOSS时间催得紧等很多可观原因。由国内移动应用安全检测团队爱内测(ineice.com)的CTO给我们浅谈关于Android 系统的开源设计以及生态环境。
1. 应用反编译漏洞:APK 包非常容易被反编译成可读
- C#根据网址生成静态页面
hvt
Web.netC#asp.nethovertree
HoverTree开源项目中HoverTreeWeb.HVTPanel的Index.aspx文件是后台管理的首页。包含生成留言板首页,以及显示用户名,退出等功能。根据网址生成页面的方法:
bool CreateHtmlFile(string url, string path)
{
//http://keleyi.com/a/bjae/3d10wfax.htm
stri
- SVG 教程 (一)
天梯梦
svg
SVG 简介
SVG 是使用 XML 来描述二维图形和绘图程序的语言。 学习之前应具备的基础知识:
继续学习之前,你应该对以下内容有基本的了解:
HTML
XML 基础
如果希望首先学习这些内容,请在本站的首页选择相应的教程。 什么是SVG?
SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
SVG 用来定义用于网络的基于矢量
- 一个简单的java栈
luyulong
java数据结构栈
public class MyStack {
private long[] arr;
private int top;
public MyStack() {
arr = new long[10];
top = -1;
}
public MyStack(int maxsize) {
arr = new long[maxsize];
top
- 基础数据结构和算法八:Binary search
sunwinner
AlgorithmBinary search
Binary search needs an ordered array so that it can use array indexing to dramatically reduce the number of compares required for each search, using the classic and venerable binary search algori
- 12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!
刘星宇
c面试
12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!
1.gets()函数
问:请找出下面代码里的问题:
#include<stdio.h>
int main(void)
{
char buff[10];
memset(buff,0,sizeof(buff));
- ITeye 7月技术图书有奖试读获奖名单公布
ITeye管理员
活动ITeye试读
ITeye携手人民邮电出版社图灵教育共同举办的7月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
7月试读活动回顾:
http://webmaster.iteye.com/blog/2092746
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《Java性能优化权威指南》