- 博客(14)
- 资源 (2)
- 收藏
- 关注
转载 Java高并发系统的限流策略
概要在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统崩溃。此时你需要使用的技术手段之一就是限流,当请求达到一定的并发数或速率,就进行等待、排队、降级、拒绝服务等。在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存缓存比较好理解,在大型高并发系统中,如果没有缓存数据库将分分钟被爆,系统也会瞬间瘫痪。使用缓存不单单能够提升系统访问速度...
2018-05-12 23:03:33
19235
2
转载 使用canal进行mysql数据同步到Redis
写这篇博文时,自己一定是含着误删数据库的眼泪写完的,文中的后续部分会谈到这个“从删库到**”的悲惨故事,这个故事深刻地教训了我,我也想以此来警示大家,注意数据安全和数据备份。1. 可行方案回归正题:我们的标题为《使用canal进行mysql数据同步到Redis》,那就先来说说我们的目的:mysql数据同步到Redis,想达到读写分离,Redis只做缓存,MySQL做持久化。刚开始想这样干的时候就去...
2018-05-12 17:23:41
316
转载 为什么在定义hashcode时要使用31这个数呢?
散列计算就是计算元素应该放在数组的哪个元素里。准确的说是放到哪个链表里面。按照Java的规则,如果你要想将一个对象放入HashMap中,你的对象的类必须提供hashcode方法,返回一个整数值。比如String类就有如下方法:[java] view plaincopypublic int hashCode() { int h = hash; int len = ...
2018-05-11 22:29:28
3299
1
转载 Tomcat参数的优化
这边讨论的JVM优化是基于Oracle Sun的jdk1.6版有以上,其它JDK或者低版本JDK不适用。Tomcat启动行参数的优化Tomcat 的启动参数位于tomcat的安装目录\bin目录下,如果你是Linux操作系统就是catalina.sh文件,如果你是Windows操作系统那么你需要改动的就是catalina.bat文件。打开该文件,一般该文件头部是一堆的由##包裹着的注释文字,找到注...
2018-05-11 22:01:31
1225
转载 mysql单列索引、多列索引的使用
一、简介 数据库的索引可以加快查询速度,原因是索引使用特定的数据结构(B-Tree)对特定的列额外组织存放,加快存储引擎(索引是存储引擎实现)查找记录的速度。 索引优化是数据库优化的最重要手段。 如果查询语句使用索引(通常是where条件匹配索引)就会利用树的结构加快查找,索引会按值查找到要查找的行在表中位置,不需回表查询数据的就是聚簇索引(索引和数据...
2018-04-23 17:51:49
717
转载 MySQL索引背后的数据结构及算法原理
本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主要从数据...
2018-04-23 17:49:36
163
原创 Jedis封装工具类JedisUtil(含geo)
pom.xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency> &am
2018-04-16 11:11:52
7555
转载 springMVC form表单提交---包含时间类型的数据
当form表单中的数据是基本类型的时,直接请求action中的url,一点问题都没有。但是当form表单总有时间类型的数据时,且对应的controller是用一个java对象来绑定对应form提交的数据时,就会出现问题。无法提交成功。解决办法:在对应的controller中新增下面的方法:/** * form表单提交 Date类型数据绑定
2017-11-15 10:18:12
452
原创 Javascript闭包
1.闭包:函数嵌套函数,内部函数可以引用外部函数的参数和变量,参数和变量不会被垃圾回收机制所收回2.变量的作用域变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量,在函数外部自然无法读取函数内的局部变量。这里有一个地方需要注意,函数内部声明变量的时候,一定要使用var命令。如果不用的话,你实际上声明了一个全局
2017-09-19 16:22:18
255
转载 如何通过索引来提高数据库查询效率
索引是数据库优化所必需的工具,在面试的时候一般不会问概念性的问题,会问什么问题又如何回答呢?如果我们需要招个Java方面的高级程序员,一方面看年限(本科3年),具体到数据库方面的技能要求,包括如下三个方面:第一,是否会基本的增删改查,存储过程等技能,是否会用些groupby,having,distinct,exist,in,with等高级点的语句。这点一般都没问题,甚至一个刚毕业的大学生或工作经验...
2017-09-19 16:06:54
2015
原创 for循环优化 测试
public static void main(String[] args) { ArrayList list_str=new ArrayList(); int len=(int) Math.pow(2, 22); System.out.println("运行次数:"+len); for(int i=0;i
2016-12-05 13:50:36
258
原创 WeixinJSBridge
下面分别通过简单的几行代码,说明这几个API的用法:1、隐藏微信网页右上角的按钮document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { // 通过下面这个API隐藏右上角按钮 WeixinJSBridge.call(
2014-12-12 17:24:34
511
翻译 ModelAndView
java.lang.Object org.springframework.web.servlet.ModelAndViewpublic class ModelAndViewextends Object持有人在web框架两种模型和视图。注意,这些是完全不同的。这个类仅仅保持既有可能使一个控制器在一个返回值返回两个模型和视图。代表的模型和视图由处理器返回,要由Disp
2014-12-03 12:01:42
1072
转载 ModelAndView详解
ModelAndView的构造方法有7个。但是它们都是相通的。这里使用无参构造函数来举例说明如何构造ModelAndView实例。 ModelAndView类别就如其名称所示,是代表了MVC Web程序中Model与View的对象,不过它只是方便您一次返回这两个对象的holder,Model与View两者仍是分离的概念。 最简单的ModelAndView是持有View的名称返回
2014-12-03 11:53:43
836
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人