- 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
- C/C++Win32编程基础详解视频下载
择善Zach
编程C++Win32
课题视频:C/C++Win32编程基础详解
视频知识:win32窗口的创建
windows事件机制
主讲:择善Uncle老师
学习交流群:386620625
验证码:625
--
- Guava Cache使用笔记
bylijinnan
javaguavacache
1.Guava Cache的get/getIfPresent方法当参数为null时会抛空指针异常
我刚开始使用时还以为Guava Cache跟HashMap一样,get(null)返回null。
实际上Guava整体设计思想就是拒绝null的,很多地方都会执行com.google.common.base.Preconditions.checkNotNull的检查。
2.Guava
- 解决ora-01652无法通过128(在temp表空间中)
0624chenhong
oracle
解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程
一个sql语句后,大约花了10分钟,好不容易有一个结果,但是报了一个ora-01652错误,查阅了oracle的错误代码说明:意思是指temp表空间无法自动扩展temp段。这种问题一般有两种原因:一是临时表空间空间太小,二是不能自动扩展。
分析过程:
既然是temp表空间有问题,那当
- Struct在jsp标签
不懂事的小屁孩
struct
非UI标签介绍:
控制类标签:
1:程序流程控制标签 if elseif else
<s:if test="isUsed">
<span class="label label-success">True</span>
</
- 按对象属性排序
换个号韩国红果果
JavaScript对象排序
利用JavaScript进行对象排序,根据用户的年龄排序展示
<script>
var bob={
name;bob,
age:30
}
var peter={
name;peter,
age:30
}
var amy={
name;amy,
age:24
}
var mike={
name;mike,
age:29
}
var john={
- 大数据分析让个性化的客户体验不再遥远
蓝儿唯美
数据分析
顾客通过多种渠道制造大量数据,企业则热衷于利用这些信息来实现更为个性化的体验。
分析公司Gartner表示,高级分析会成为客户服务的关键,但是大数据分析的采用目前仅局限于不到一成的企业。 挑战在于企业还在努力适应结构化数据,疲于根据自身的客户关系管理(CRM)系统部署有效的分析框架,以及集成不同的内外部信息源。
然而,面对顾客通过数字技术参与而产生的快速变化的信息,企业需要及时作出反应。要想实
- java笔记4
a-john
java
操作符
1,使用java操作符
操作符接受一个或多个参数,并生成一个新值。参数的形式与普通的方法调用不用,但是效果是相同的。加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语言类似。
操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的
- 从裸机编程到嵌入式Linux编程思想的转变------分而治之:驱动和应用程序
aijuans
嵌入式学习
笔者学习嵌入式Linux也有一段时间了,很奇怪的是很多书讲驱动编程方面的知识,也有很多书将ARM9方面的知识,但是从以前51形式的(对寄存器直接操作,初始化芯片的功能模块)编程方法,和思维模式,变换为基于Linux操作系统编程,讲这个思想转变的书几乎没有,让初学者走了很多弯路,撞了很多难墙。
笔者因此写上自己的学习心得,希望能给和我一样转变
- 在springmvc中解决FastJson循环引用的问题
asialee
循环引用fastjson
我们先来看一个例子:
package com.elong.bms;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import co
- ArrayAdapter和SimpleAdapter技术总结
百合不是茶
androidSimpleAdapterArrayAdapter高级组件基础
ArrayAdapter比较简单,但它只能用于显示文字。而SimpleAdapter则有很强的扩展性,可以自定义出各种效果
ArrayAdapter;的数据可以是数组或者是队列
// 获得下拉框对象
AutoCompleteTextView textview = (AutoCompleteTextView) this
- 九封信
bijian1013
人生励志
有时候,莫名的心情不好,不想和任何人说话,只想一个人静静的发呆。有时候,想一个人躲起来脆弱,不愿别人看到自己的伤口。有时候,走过熟悉的街角,看到熟悉的背影,突然想起一个人的脸。有时候,发现自己一夜之间就长大了。 2014,写给人
- Linux下安装MySQL Web 管理工具phpMyAdmin
sunjing
PHPInstallphpMyAdmin
PHP http://php.net/
phpMyAdmin http://www.phpmyadmin.net
Error compiling PHP on CentOS x64
一、安装Apache
请参阅http://billben.iteye.com/admin/blogs/1985244
二、安装依赖包
sudo yum install gd
- 分布式系统理论
bit1129
分布式
FLP
One famous theory in distributed computing, known as FLP after the authors Fischer, Lynch, and Patterson, proved that in a distributed system with asynchronous communication and process crashes,
- ssh2整合(spring+struts2+hibernate)-附源码
白糖_
eclipsespringHibernatemysql项目管理
最近抽空又整理了一套ssh2框架,主要使用的技术如下:
spring做容器,管理了三层(dao,service,actioin)的对象
struts2实现与页面交互(MVC),自己做了一个异常拦截器,能拦截Action层抛出的异常
hibernate与数据库交互
BoneCp数据库连接池,据说比其它数据库连接池快20倍,仅仅是据说
MySql数据库
项目用eclipse
- treetable bug记录
braveCS
table
// 插入子节点删除再插入时不能正常显示。修改:
//不知改后有没有错,先做个备忘
Tree.prototype.removeNode = function(node) {
// Recursively remove all descendants of +node+
this.unloadBranch(node);
// Remove
- 编程之美-电话号码对应英语单词
bylijinnan
java算法编程之美
import java.util.Arrays;
public class NumberToWord {
/**
* 编程之美 电话号码对应英语单词
* 题目:
* 手机上的拨号盘,每个数字都对应一些字母,比如2对应ABC,3对应DEF.........,8对应TUV,9对应WXYZ,
* 要求对一段数字,输出其代表的所有可能的字母组合
- jquery ajax读书笔记
chengxuyuancsdn
jQuery ajax
1、jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()
- JWFD工作流拓扑结构解析伪码描述算法
comsci
数据结构算法工作活动J#
对工作流拓扑结构解析感兴趣的朋友可以下载附件,或者下载JWFD的全部代码进行分析
/* 流程图拓扑结构解析伪码描述算法
public java.util.ArrayList DFS(String graphid, String stepid, int j)
- oracle I/O 从属进程
daizj
oracle
I/O 从属进程
I/O从属进程用于为不支持异步I/O的系统或设备模拟异步I/O.例如,磁带设备(相当慢)就不支持异步I/O.通过使用I/O 从属进程,可以让磁带机模仿通常只为磁盘驱动器提供的功能。就好像支持真正的异步I/O 一样,写设备的进程(调用者)会收集大量数据,并交由写入器写出。数据成功地写出时,写入器(此时写入器是I/O 从属进程,而不是操作系统)会通知原来的调用者,调用者则会
- 高级排序:希尔排序
dieslrae
希尔排序
public void shellSort(int[] array){
int limit = 1;
int temp;
int index;
while(limit <= array.length/3){
limit = limit * 3 + 1;
- 初二下学期难记忆单词
dcj3sjt126com
englishword
kitchen 厨房
cupboard 厨柜
salt 盐
sugar 糖
oil 油
fork 叉;餐叉
spoon 匙;调羹
chopsticks 筷子
cabbage 卷心菜;洋白菜
soup 汤
Italian 意大利的
Indian 印度的
workplace 工作场所
even 甚至;更
Italy 意大利
laugh 笑
m
- Go语言使用MySQL数据库进行增删改查
dcj3sjt126com
mysql
目前Internet上流行的网站构架方式是LAMP,其中的M即MySQL, 作为数据库,MySQL以免费、开源、使用方便为优势成为了很多Web开发的后端数据库存储引擎。MySQL驱动Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,常用的有如下几种:
http://code.google.c...o-mysql-dri
- git命令
shuizhaosi888
git
---------------设置全局用户名:
git config --global user.name "HanShuliang" //设置用户名
git config --global user.email "
[email protected]" //设置邮箱
---------------查看环境配置
git config --li
- qemu-kvm 网络 nat模式 (四)
haoningabc
kvmqemu
qemu-ifup-NAT
#!/bin/bash
BRIDGE=virbr0
NETWORK=192.168.122.0
GATEWAY=192.168.122.1
NETMASK=255.255.255.0
DHCPRANGE=192.168.122.2,192.168.122.254
TFTPROOT=
BOOTP=
function check_bridge()
- 不要让未来的你,讨厌现在的自己
jingjing0907
生活 奋斗 工作 梦想
故事one
23岁,他大学毕业,放弃了父母安排的稳定工作,独闯京城,在家小公司混个小职位,工作还算顺手,月薪三千,混了混,混走了一年的光阴。 24岁,有了女朋友,从二环12人的集体宿舍搬到香山民居,一间平房,二人世界,爱爱爱。偶然约三朋四友,打扑克搓麻将,日子快乐似神仙; 25岁,出了几次差,调了两次岗,薪水涨了不过百,生猛狂飙的物价让现实血淋淋,无力为心爱银儿购件大牌
- 枚举类型详解
一路欢笑一路走
enum枚举详解enumsetenumMap
枚举类型详解
一.Enum详解
1.1枚举类型的介绍
JDK1.5加入了一个全新的类型的”类”—枚举类型,为此JDK1.5引入了一个新的关键字enum,我们可以这样定义一个枚举类型。
Demo:一个最简单的枚举类
public enum ColorType {
RED
- 第11章 动画效果(上)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Eclipse中jsp、js文件编辑时,卡死现象解决汇总
ljf_home
eclipsejsp卡死js卡死
使用Eclipse编辑jsp、js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲。将所有用过的方法罗列如下:
1、取消验证
windows–>perferences–>validation
把 除了manual 下面的全部点掉,build下只留 classpath dependency Valida
- MySQL编程中的6个重要的实用技巧
tomcat_oracle
mysql
每一行命令都是用分号(;)作为结束
对于MySQL,第一件你必须牢记的是它的每一行命令都是用分号(;)作为结束的,但当一行MySQL被插入在PHP代码中时,最好把后面的分号省略掉,例如:
mysql_query("INSERT INTO tablename(first_name,last_name)VALUES('$first_name',$last_name')");
- zoj 3820 Building Fire Stations(二分+bfs)
阿尔萨斯
Build
题目链接:zoj 3820 Building Fire Stations
题目大意:给定一棵树,选取两个建立加油站,问说所有点距离加油站距离的最大值的最小值是多少,并且任意输出一种建立加油站的方式。
解题思路:二分距离判断,判断函数的复杂度是o(n),这样的复杂度应该是o(nlogn),即使常数系数偏大,但是居然跑了4.5s,也是醉了。 判断函数里面做了3次bfs,但是每次bfs节点最多