- 两级缓存 Caffeine + Redis 架构:原理、实现与实践
大只鹅
缓存redis架构
一、前言在高性能服务架构设计里,缓存是关键环节。常规做法是将热点数据存于Redis/MemCache等远程缓存,缓存未命中时再查数据库,以此提升访问速度、降低数据库压力。随着发展,架构有了改进,部分场景下单纯远程缓存不够,需结合本地缓存(如Guavacache、Caffeine),形成本地缓存(一级缓存)+远程缓存(二级缓存)的两级缓存架构,进一步提升程序响应与服务性能,其基础访问流程如下(暂不考
- 高并发限流方案
1.nginx2.网关3.代码层级3.1.计数器限流(固定窗口)原理:统计单位时间内的请求数,超过阈值则拒绝请求。实现:使用原子计数器(如RedisINCR+EXPIRE)。例如:1秒内限制1000次请求。优点:简单高效。缺点:窗口临界问题(如第1秒末和第2秒初的突发请求可能双倍通过)。工具:Redis、GuavaAtomicLong。3.2.滑动窗口限流原理:将固定窗口细分为多个小窗口(如1秒分
- Ehcache、Caffeine、Spring Cache、Redis、J2Cache、Memcached 和 Guava Cache 的主要区别
MonkeyKing.sun
springredismemcached
主流缓存技术Ehcache、Caffeine、SpringCache、Redis、J2Cache、Memcached和GuavaCache的主要区别,涵盖其架构、功能、适用场景和优缺点等方面:Ehcache类型:本地缓存(JVM内存缓存)特点:轻量级,运行在JVM内部,易于集成到Java应用中。支持堆内、堆外和磁盘缓存,适合处理中小型数据集。提供丰富的缓存配置,如TTL(生存时间)、TTI(空闲时
- 使用Guava Cache做缓存
randy.lou
guava缓存spring
文章目录1.概述1.1适用场景1.2Helloworld2.数据加载使用2.1CacheLoader.load(Kkey)2.2CacheLoader.loadAll(keys)批量加载2.3Callable.call2.4手工写入3.缓存清除3.1基于maximumSize的清除3.2基于maximumWeight的清除3.3基于时间的清除3.4使用WeakReferenct、SoftRefer
- 本地缓存之Guava Cache
一介布衣+
中间件缓存guavaspring
1.GuavaCache是什么简介Guavacache是一个支持高并发的线程安全的本地缓存。多线程情况下也可以安全的访问或者更新Cache。这些都是借鉴了ConcurrentHashMap的结果。不过,guavacache又有自己的特性当cache中不存在要查找的entry的时候,它会自动执行用户自定义的加载逻辑,加载成功后再将entry存入缓存并返回给用户未过期的entry,如果不存在或者已过期
- SpringBoot 整合 Guava Cache 实现本地缓存
m0_74824170
springbootguava缓存
目录1、背景2、手写一个简单的本地缓存3、GuavaCache简介4、GuavaCache使用4.1、创建LoadingCache缓存4.2、创建CallableCache缓存4.3、可选配置分析4.3.1、缓存的并发级别4.3.2、缓存的初始容量设置4.3.3、缓存失效回收策略4.3.3.1、基于容量/权重回收4.3.3.2、定时回收4.3.3.3、基于引用回收4.3.3.4、显式清除4.3.4
- Google Guava Cache高效本地缓存
boonya
架构师Guava高效缓存策略
目录GuavaCache使用需求和场景需求场景缓存设置缓存的并发级别缓存的初始容量设置设置最大存储缓存清除策略基于存活时间的清除策略基于容量的清除策略基于权重的清除策略显式清除基于引用的清除策略数据内存加载CacheLoadingCacheGuavaCache使用需求和场景GuavaCache是GoogleFuava中的一个内存缓存模块,用于将数据缓存到JVM内存中。需求提供了get、put封装操
- 一站式讲解本地缓存Caffeine
想用offer打牌
后台缓存缓存
文章目录theme:condensed-night-purple引言本地缓存的必要性多级缓存访问流程使用Caffeine作为本地缓存️添加**SpringCache和Guava依赖**配置Caffeine缓存启用缓存使用缓存注解总结❤️theme:condensed-night-purple引言上次我们讲了本地缓存guava,那么有没有比它更加优秀的本地缓存呢?有的,兄弟,有的。这次我们来讲本地
- Github 2024-08-09 Java开源项目日报 Top10
老孙正经胡说
githubjava开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2024-08-09统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量Java项目10Python项目1Guava:谷歌Java核心库创建周期:3725天开发语言:Java协议类型:ApacheLicense2.0Star数量:49867个Fork数量:10822次关注人数:49867人贡献人数:313人OpenIss
- 本地缓存Caffeine的基本使用
海光之蓝
工具类spring
1.本地缓存有ehcache,guavacache,caffein这几种常用的实现,下面介绍caffeine在springboot中的使用caffeine官网:github-caffeinjsr-107缓存规范与spring的对照:jsr-107缓存规范与spring的对照caffeine-plus:caffeine-plus单独使用:2.添加依赖com.github.ben-manes.caff
- Web 架构之缓存策略实战:从本地缓存到分布式缓存
互联网搬砖工老肖
web架构原力计划前端架构缓存
文章目录一、思维导图二、正文内容(一)本地缓存1.简介2.常见实现3.使用场景4.优缺点(二)分布式缓存1.简介2.常见实现3.使用场景4.优缺点5.缓存问题及解决方案三、总结一、思维导图缓存策略实战本地缓存分布式缓存简介常见实现使用场景优缺点GuavaCacheCaffeine简介常见实现使用场景优缺点RedisMemcached缓存穿透缓存击穿缓存雪崩解决方案解决方案解决方案二、正文内容(一)
- 关于Arrays.asList()方法的使用
桐花思雨
java#集合list
目录`Arrays.asList()`返回的`list`如何正确的将数组转换为`ArrayList`最简便的方法(推荐)使用`Java8`的`Stream`使用`Guava`Arrays.asList()返回的listArrays.asList()方法生成的ArrayList类对象,在调用add(),remove()等方法时会报错publicstaticvoidmain(String[]args)
- Redis缓存问题与解决方案
小折耳猫_
缓存redis数据库
缓存穿透问题大量请求查询不存在的数据,绕过缓存直接访问数据库,导致数据库压力过大。解决方案:使用布隆过滤器(BloomFilter)预先过滤无效请求,避免查询不存在的数据。对空结果进行短时间缓存,减少重复无效查询。Java实现布隆过滤器使用Guava库的BloomFilter类可以高效过滤无效请求,以下是完整代码示例。importcom.google.common.hash.BloomFilter
- Java集合初始化:Lists.newArrayList vs new ArrayList()
李少兄
Javajavapython开发语言
文章目录前言一、核心区别全景图二、代码实现深度对比1.初始化方式对比2.容量预分配机制三、性能与底层原理1.内存分配策略2.基准测试数据(JMH)四、Guava的进阶功能生态1.集合转换2.集合分片3.不可变集合创建五、最佳实践指南六、源码级实现解析1.Guava`newArrayList`源码2.JDK`ArrayList`构造函数七、结语前言作为一名资深Java开发工程师,我们在日常开发中常常
- 多级缓存架构深度解析:从设计原理到生产实践
Pasregret
缓存缓存架构
多级缓存架构深度解析:从设计原理到生产实践一、多级缓存架构核心定位与设计原则1.架构分层与角色定位多级缓存通过分层存储、流量削峰、数据分级实现性能与成本的平衡,典型三层架构如下:层级代表组件存储介质数据特征命中目标成本级别一级缓存Caffeine/Guava本地堆内存热数据(访问量前10%)70%+高二级缓存Redis远程内存温数据(访问量20%-30%)25%+中三级缓存MySQL/ES磁盘/S
- 基于DolphinScheduler抽取通用EventBus组件:支持延迟与事件驱动
数据库
一、思路来源虽然guava中的eventbus已经很方便了,但是还是想要实现一个更为方便,同时支持延迟事件、同时带eventbus的组件。在ApacheDolphinScheduler项目中,有一个eventbus的组件,这个组件写得挺好的,想着用在业务系统上,因此自己抽取了一下,拿到业务系统中来用。话不多说,我们把它抽取出来吧,同时进行demo的运行。还是要感谢ApacheDolphinSche
- 搭建Caffeine+Redis多级缓存机制
moxiaoran5753
缓存redis数据库
本地缓存的简单实现方案有HashMap,CucurrentHashMap,成熟的本地缓存方案有Guava与Caffeine,企业级应用推荐下面说下两者的区别1.核心异同对比特性GuavaCacheCaffeine诞生背景GoogleGuava库的一部分(2011年)基于GuavaCache重构的现代缓存库(2015+)性能中等(锁竞争较多)极高(优化并发设计,吞吐量提升5~10倍)内存管理基于LR
- 【Java-EE进阶】SpringBoot针对某个IP限流问题
贰拾wan
【Java-EE进阶】springbootjava后端idea
目录简介1.使用Guava的RateLimiter实现限流添加Guava依赖实现RateLimiter限流逻辑限流管理类控制器中应用限流逻辑2.使用计数器实现限流限流管理类控制器中应用限流逻辑简介针对某个IP进行限流以防止恶意点击是一种常见的反爬虫和防止DoS的措施。限流策略通过对某个IP的访问频率进行控制,防止恶意用户对应用造成负面的影响。以下是实现限流的步骤和方法,在Java后端通常这样实现:
- 3.JVM调优与内存管理
zizisuo
java
目录一、缓存场景下的内存管理核心挑战堆内缓存与堆外缓存的取舍•堆内缓存(Caffeine/Guava)的GC压力分析•堆外缓存(EhcacheOffheap/MapDB)的内存泄漏防护•混合缓存架构的性能与资源平衡高并发下的内存分配优化•TLAB(Thread-LocalAllocationBuffer)与缓存对象分配效率•大对象(缓存Value)直接进入老年代的策略•年轻代与老年代比例调优(避免
- 查找一个目录下,所有文件中数字、字母(大小写不区分)、汉字、空格的个数、行数。
heymysweetheart
汉字在java中占两个字符(char).处理字符,汉字,字母不要通过inputStream来操作.最开始,对于处理数字,字母,空格还可以通过inputStream来处理,但是对于汉字就不行了.inputStream.read()返回类型为int,遇到汉字时不能一次性返回两个字符的类型,所以正则表达式总是匹配不到.对于汉字匹配等相关字符串处理,直接通过guava的readLines()方法,将文件读
- Spring Boot 引入 Guava Retry 实现重试机制
Java雪荷
Guavaguavajavaspringjava-ee
为什么要用重试机制在如今的系统开发中,为了保证接口调用的稳定性和数据的一致性常常会引入许多第三方的库。就拿缓存和数据库一致性这个问题来说,就有很多的实现方案,如先更新数据库再删除缓存、先更新缓存再更新数据库,又或者是异步缓存写入。然而某些场景下出现更新数据库成功,但删除缓存失败,又或者是更新缓存失败但更新数据库失败了。因此为保证缓存数据库的一致性,我们可以尝试引入重试机制来实现,当数据库更新成功后
- Guava Retryer实现方法的重试
hero.fei
guava
API接口调用异常,网络异常在我们日常开发中经常会遇到,这种情况下我们需要先重试几次调用才能将其标识为错误并在确认错误之后发送异常提醒。guava-retry可以灵活的实现这一功能。Guavaretryer在支持重试次数和重试频度控制基础上,能够兼容支持多个异常或者自定义实体对象的重试源定义,让重试功能有更多的灵活性。GuavaRetryer也是线程安全的,入口调用逻辑采用的是Java.util.
- 1.多级缓存架构
zizisuo
缓存数据库
目录一、多级缓存基础与核心概念缓存的定义与价值•缓存的应用场景(高并发、低延迟、减轻数据库压力)•多级缓存vs单级缓存的优劣对比多级缓存核心组件•本地缓存(Caffeine、GuavaCache)•分布式缓存(Redis、Memcached)缓存一致性挑战•数据一致性模型(强一致、最终一致)•常见问题:缓存穿透、雪崩、击穿二、多级缓存架构设计模式经典三级缓存模型•L1:JVM堆内缓存(Caffei
- Redis史上最全的面试题
黄妹妹儿
redis数据库缓存
redis面试题1、redis的数据类型及应用场景?2、incr的命令是原子性的么?3、redis的操作是原子性的么?4、hash类型存用户信息是怎么存的?5、redis的value的长度限制?6、redis如何实现延时消息的?7、单线程如何提高多核cpu的利用率?8、redis为什么这么快?9、redis和memecache的区别?10、为什么用redis而不用map和guava做缓存?11、什
- Flume启动报错,guava.java包冲突
Lion-ha
大数据
Flume启动时报错如下:(SinkRunner-PollingRunner-DefaultSinkProcessor)[ERROR-org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:459)]processfailedjava.lang.NoSuchMethodError:com.google.common.b
- Sentinel源码—9.限流算法的实现对比一
东阳马生架构
Sentinel原理与源码sentinel算法
大纲1.漏桶算法的实现对比(1)普通思路的漏桶算法实现(2)节省线程的漏桶算法实现(3)Sentinel中的漏桶算法实现(4)Sentinel中的漏桶算法与普通漏桶算法的区别(5)Sentinel中的漏桶算法存在的问题2.令牌桶算法的实现对比(1)普通思路的令牌桶算法实现(2)节省线程的令牌桶算法实现(3)Guava中的令牌桶算法实现(4)Sentinel中的令牌桶算法实现(5)Sentinel中
- spark引用jar包_spark程序jar与spark lib jar冲突,加载顺序
编程奇才
spark引用jar包
用户编写的spark程序打包成jar后提交到yarn执行时,经常会遇到jar包中明显存在某个类,但任务提交到yarn运行时却找不到类或方法(java.lang.NoSuchMethodError)的问题。本文总结下产生此类问题的原因及解决方案。例子比如我们有个spark程序用到了guava的Splitter类:importcom.google.common.base.Splitter;...Lis
- 缓存,内存,本地缓存等辨析
我的golang之路果然有问题
缓存笔记学习内存redismemcache
快速辨析缓存,内存,本地缓存,memcache,redis等(个人临时记录)缓存泛指所有用于暂存数据以提升访问速度的技术,包括本地缓存、分布式缓存、CPU缓存等。核心目标是减少对慢速存储(如磁盘、数据库)的直接访问本地缓存属于缓存的一种,特指与应用程序同进程的内存存储(如Java的HashMap、GuavaCache)。数据仅在当前进程有效,无法跨节点共享,访问速度极快(纳秒级)但容量有限技术举例
- 6.1.多级缓存架构
zizisuo
缓存架构
目录一、多级缓存基础与核心概念缓存的定义与价值•缓存的应用场景(高并发、低延迟、减轻数据库压力)•多级缓存vs单级缓存的优劣对比多级缓存核心组件•本地缓存(Caffeine、GuavaCache)•分布式缓存(Redis、Memcached)缓存一致性挑战•数据一致性模型(强一致、最终一致)•常见问题:缓存穿透、雪崩、击穿二、多级缓存架构设计模式经典三级缓存模型•L1:JVM堆内缓存(Caffei
- Redis高频面试题完整版
Java烟雨
后端面试java系统架构java开发语言职场和发展面试
文章目录:Redis概述什么是Redis?Redis的优缺点?Redis为什么常常用做缓存?相比于guava有什么优势?Redis和Memcached的区别与共同点?Redis是单线程还是多线程?Redis为什么这么快?Redis6.0之后为什么引入了多线程?Redis的数据类型有哪些?Redis的数据结构有哪些?Redis的应用场景有哪些?Redis是单线程的,如何提高CPU的利用率?过期键的删
- 怎么样才能成为专业的程序员?
cocos2d-x小菜
编程PHP
如何要想成为一名专业的程序员?仅仅会写代码是不够的。从团队合作去解决问题到版本控制,你还得具备其他关键技能的工具包。当我们询问相关的专业开发人员,那些必备的关键技能都是什么的时候,下面是我们了解到的情况。
关于如何学习代码,各种声音很多,然后很多人就被误导为成为专业开发人员懂得一门编程语言就够了?!呵呵,就像其他工作一样,光会一个技能那是远远不够的。如果你想要成为
- java web开发 高并发处理
BreakingBad
javaWeb并发开发处理高
java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。 一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(
- mysql批量更新
ekian
mysql
mysql更新优化:
一版的更新的话都是采用update set的方式,但是如果需要批量更新的话,只能for循环的执行更新。或者采用executeBatch的方式,执行更新。无论哪种方式,性能都不见得多好。
三千多条的更新,需要3分多钟。
查询了批量更新的优化,有说replace into的方式,即:
replace into tableName(id,status) values
- 微软BI(3)
18289753290
微软BI SSIS
1)
Q:该列违反了完整性约束错误;已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“不能将值 NULL 插入列 'FZCHID',表 'JRB_EnterpriseCredit.dbo.QYFZCH';列不允许有 Null 值。INSERT 失败。”。
A:一般这类问题的存在是
- Java中的List
g21121
java
List是一个有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
与 set 不同,列表通常允许重复
- 读书笔记
永夜-极光
读书笔记
1. K是一家加工厂,需要采购原材料,有A,B,C,D 4家供应商,其中A给出的价格最低,性价比最高,那么假如你是这家企业的采购经理,你会如何决策?
传统决策: A:100%订单 B,C,D:0%
&nbs
- centos 安装 Codeblocks
随便小屋
codeblocks
1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yum install gccyum install gcc-c++
2.安装gtk2-devel,因为默认已经安装了正式产品需要的支持库,但是没有安装开发所需要的文档.yum install gtk2*
3. 安装wxGTK
yum search w
- 23种设计模式的形象比喻
aijuans
设计模式
1、ABSTRACT FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:
- 开发管理 CheckLists
aoyouzi
开发管理 CheckLists
开发管理 CheckLists(23) -使项目组度过完整的生命周期
开发管理 CheckLists(22) -组织项目资源
开发管理 CheckLists(21) -控制项目的范围开发管理 CheckLists(20) -项目利益相关者责任开发管理 CheckLists(19) -选择合适的团队成员开发管理 CheckLists(18) -敏捷开发 Scrum Master 工作开发管理 C
- js实现切换
百合不是茶
JavaScript栏目切换
js主要功能之一就是实现页面的特效,窗体的切换可以减少页面的大小,被门户网站大量应用思路:
1,先将要显示的设置为display:bisible 否则设为none
2,设置栏目的id ,js获取栏目的id,如果id为Null就设置为显示
3,判断js获取的id名字;再设置是否显示
代码实现:
html代码:
<di
- 周鸿祎在360新员工入职培训上的讲话
bijian1013
感悟项目管理人生职场
这篇文章也是最近偶尔看到的,考虑到原博客发布者可能将其删除等原因,也更方便个人查找,特将原文拷贝再发布的。“学东西是为自己的,不要整天以混的姿态来跟公司博弈,就算是混,我觉得你要是能在混的时间里,收获一些别的有利于人生发展的东西,也是不错的,看你怎么把握了”,看了之后,对这句话记忆犹新。 &
- 前端Web开发的页面效果
Bill_chen
htmlWebMicrosoft
1.IE6下png图片的透明显示:
<img src="图片地址" border="0" style="Filter.Alpha(Opacity)=数值(100),style=数值(3)"/>
或在<head></head>间加一段JS代码让透明png图片正常显示。
2.<li>标
- 【JVM五】老年代垃圾回收:并发标记清理GC(CMS GC)
bit1129
垃圾回收
CMS概述
并发标记清理垃圾回收(Concurrent Mark and Sweep GC)算法的主要目标是在GC过程中,减少暂停用户线程的次数以及在不得不暂停用户线程的请夸功能,尽可能短的暂停用户线程的时间。这对于交互式应用,比如web应用来说,是非常重要的。
CMS垃圾回收针对新生代和老年代采用不同的策略。相比同吞吐量垃圾回收,它要复杂的多。吞吐量垃圾回收在执
- Struts2技术总结
白糖_
struts2
必备jar文件
早在struts2.0.*的时候,struts2的必备jar包需要如下几个:
commons-logging-*.jar Apache旗下commons项目的log日志包
freemarker-*.jar  
- Jquery easyui layout应用注意事项
bozch
jquery浏览器easyuilayout
在jquery easyui中提供了easyui-layout布局,他的布局比较局限,类似java中GUI的border布局。下面对其使用注意事项作简要介绍:
如果在现有的工程中前台界面均应用了jquery easyui,那么在布局的时候最好应用jquery eaysui的layout布局,否则在表单页面(编辑、查看、添加等等)在不同的浏览器会出
- java-拷贝特殊链表:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
bylijinnan
java
public class CopySpecialLinkedList {
/**
* 题目:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
拷贝pNext指针非常容易,所以题目的难点是如何拷贝pRand指针。
假设原来链表为A1 -> A2 ->... -> An,新拷贝
- color
Chen.H
JavaScripthtmlcss
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD>&nbs
- [信息与战争]移动通讯与网络
comsci
网络
两个坚持:手机的电池必须可以取下来
光纤不能够入户,只能够到楼宇
建议大家找这本书看看:<&
- oracle flashback query(闪回查询)
daizj
oracleflashback queryflashback table
在Oracle 10g中,Flash back家族分为以下成员:
Flashback Database
Flashback Drop
Flashback Table
Flashback Query(分Flashback Query,Flashback Version Query,Flashback Transaction Query)
下面介绍一下Flashback Drop 和Flas
- zeus持久层DAO单元测试
deng520159
单元测试
zeus代码测试正紧张进行中,但由于工作比较忙,但速度比较慢.现在已经完成读写分离单元测试了,现在把几种情况单元测试的例子发出来,希望有人能进出意见,让它走下去.
本文是zeus的dao单元测试:
1.单元测试直接上代码
package com.dengliang.zeus.webdemo.test;
import org.junit.Test;
import o
- C语言学习三printf函数和scanf函数学习
dcj3sjt126com
cprintfscanflanguage
printf函数
/*
2013年3月10日20:42:32
地点:北京潘家园
功能:
目的:
测试%x %X %#x %#X的用法
*/
# include <stdio.h>
int main(void)
{
printf("哈哈!\n"); // \n表示换行
int i = 10;
printf
- 那你为什么小时候不好好读书?
dcj3sjt126com
life
dady, 我今天捡到了十块钱, 不过我还给那个人了
good girl! 那个人有没有和你讲thank you啊
没有啦....他拉我的耳朵我才把钱还给他的, 他哪里会和我讲thank you
爸爸, 如果地上有一张5块一张10块你拿哪一张呢....
当然是拿十块的咯...
爸爸你很笨的, 你不会两张都拿
爸爸为什么上个月那个人来跟你讨钱, 你告诉他没
- iptables开放端口
Fanyucai
linuxiptables端口
1,找到配置文件
vi /etc/sysconfig/iptables
2,添加端口开放,增加一行,开放18081端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 18081 -j ACCEPT
3,保存
ESC
:wq!
4,重启服务
service iptables
- Ehcache(05)——缓存的查询
234390216
排序ehcache统计query
缓存的查询
目录
1. 使Cache可查询
1.1 基于Xml配置
1.2 基于代码的配置
2 指定可搜索的属性
2.1 可查询属性类型
2.2 &
- 通过hashset找到数组中重复的元素
jackyrong
hashset
如何在hashset中快速找到重复的元素呢?方法很多,下面是其中一个办法:
int[] array = {1,1,2,3,4,5,6,7,8,8};
Set<Integer> set = new HashSet<Integer>();
for(int i = 0
- 使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL
lanrikey
history
后退时关闭当前页面
<script type="text/javascript">
jQuery(document).ready(function ($) {
if (window.history && window.history.pushState) {
- 应用程序的通信成本
netkiller.github.com
虚拟机应用服务器陈景峰netkillerneo
应用程序的通信成本
什么是通信
一个程序中两个以上功能相互传递信号或数据叫做通信。
什么是成本
这是是指时间成本与空间成本。 时间就是传递数据所花费的时间。空间是指传递过程耗费容量大小。
都有哪些通信方式
全局变量
线程间通信
共享内存
共享文件
管道
Socket
硬件(串口,USB) 等等
全局变量
全局变量是成本最低通信方法,通过设置
- 一维数组与二维数组的声明与定义
恋洁e生
二维数组一维数组定义声明初始化
/** * */ package test20111005; /** * @author FlyingFire * @date:2011-11-18 上午04:33:36 * @author :代码整理 * @introduce :一维数组与二维数组的初始化 *summary: */ public c
- Spring Mybatis独立事务配置
toknowme
mybatis
在项目中有很多地方会使用到独立事务,下面以获取主键为例
(1)修改配置文件spring-mybatis.xml <!-- 开启事务支持 --> <tx:annotation-driven transaction-manager="transactionManager" /> &n
- 更新Anadroid SDK Tooks之后,Eclipse提示No update were found
xp9802
eclipse
使用Android SDK Manager 更新了Anadroid SDK Tooks 之后,
打开eclipse提示 This Android SDK requires Android Developer Toolkit version 23.0.0 or above, 点击Check for Updates
检测一会后提示 No update were found