12 zs742946530

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 11w+

【转】拦截器(Interceptor)和过滤器(Filter)的执行顺序和区别

https://blog.csdn.net/zxd1435513775/article/details/80556034

2019-03-26 22:08:35

什么情况下发发生full gc

Minor GC后存活的对象晋升到老年代时由于悲观策略的原因,有两种情况会触发Full GC,1、是之前每次晋升的对象的平均大小 > 老年代剩余空间2、是Minor GC后存活的对象超过了老年代剩余空间。这两种情况都是因为老年代会为新生代对象的晋升提供担保,而每次晋升的对象的大小是无法预测的,所以只能基于统计,1个是基于历史平均水平,一个是基于下一次可能要晋升的最大水平。这两种情况都...

2019-03-25 19:45:00

设计模式(建造者模式)

建造者模式 建造者模式可以将部件和其组装过程分开,一步一步创建一个复杂的对象。用户只需要指定复杂对象的类型就可以得到该对象,而无须知道其内部的具体构造细节.使用场景 建造者模式的使用场合是当创建复杂对象时,把创建对象成员和装配方法分离出来,放在建造者类中去实现,用户使用该复杂对象时,不用理会它的创建和装配过程,只关心它的表示形式优点: 1. 将一个复杂对象的创建...

2019-03-23 16:07:49

设计模式(六大原则)

1、单一职责原则 一个类只负责一个功能领域中的相应职责,或者可以定义为,就一个类而言,应该只有一个引起它变化的原因。2、开闭原则一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。3、里氏替换原则 所有引用基类(父类)的地方必须能透明地使用其子类的对象。4、依赖倒置原则 抽象不应该依赖于细节,细节应当依赖于抽象...

2019-03-23 15:37:02

设计模式(模板模式)

模板设计模式 定义:模板设计模式就是把某些类似算法或者业务提供一个统一的执行框架,把这些业务种共同的部门抽取出来进行具体实现,而某些业务中特定的部分推迟到子类中进行重写实现。 使用场景: 当不变的和可变的行为在方法的子类实现中混合在一起的时候,不变的行为会在子类中重复出现,我们可以通过模板方法把这些行为搬移到单一的地方(方法)中,这样就帮助子类摆脱重复的不变行为的...

2019-03-23 15:01:54

【转】深入理解B树和B+树(二)B+树的优点

有了B树,为什么还需要B+树呢?那就要先说下B树的缺点了,人类对于性能的追求是无止境的,B树相比二叉树虽好,但还是存在以下问题:1.每个节点中既要存索引信息,又要存其对应的数据,如果数据很大,那么当树的体量很大时,每次读到内存中的树的信息就会不太够。2.B树遍历整个树的过程和二叉树本质上是一样的,B树相对二叉树虽然提高了磁盘IO性能,但并没有解决遍历元素效率低下...

2019-03-09 15:50:16

【转】Java中的OutOfMemoryError的各种情况及解决和JVM内存结构

在JVM中内存一共有3种:Heap(堆内存),Non-Heap(非堆内存)[3]和Native(本地内存)。[1]堆内存是运行时分配所有类实例和数组的一块内存区域。非堆内存包含方法区和JVM内部处理或优化所需的内存,存放有类结构(如运行时常量池、字段及方法结构,以及方法和构造函数代码)。本地内存是由操作系统管理的虚拟内存。当一个应用内存不足时就会抛出java.lang.OutOfMemor...

2019-03-09 12:36:50

【转】Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结

ava.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的原因大都出于以下原因:JVM内存过小、程序不严密,产生了过多的垃圾。导致OutOfMemoryError异常的常见原因有以下几种:内存中加载的数据量过于庞大,如一次从数据库取出过多数据; 集合类中有对对象的引用,使用完后未清空,使得JVM不能回收; 代码中存在死循环或循环产生过多重复的...

2019-03-09 10:07:49

Kafka很早笔记

1、kafka是什么 类JMS消息队列,结合JMS中的两种模式,可以有多个消费者主动拉取数据,在JMS中只有点对点模式才有消费者主动拉取数据。 kafka是一个生产-消费模型。 Producer:生产者,只负责数据生产,生产者的代码可以集成到任务系统中。 数据的分发策略由producer决定,默认是defaultPartition Utils...

2019-02-28 09:40:55

【转】RabbitMQ和kafka从几个角度简单的对比

业界对于消息的传递有多种方案和产品,本文就比较有代表性的两个MQ(rabbitMQ,kafka)进行阐述和做简单的对比,在应用场景方面,RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上。kafka是Linkedin于2010年12月份开源的消息发布订阅系统,它主要用于处理活跃的流式数据,大数据量的数据处理上。1)在架...

2019-02-28 09:34:33

【转】如何防订单重复提交策略方法

原文链接:https://www.cnblogs.com/jett010/articles/9056567.html背景在业务开发中,我们常会面对防止重复请求的问题。当服务端对于请求的响应涉及数据的修改,或状态的变更时,可能会造成极大的危害。重复请求的后果在交易系统、售后维权,以及支付系统中尤其严重。前台操作的抖动,快速操作,网络通信或者后端响应慢,都会增加后端重复处理的概率。前台操作...

2019-02-27 11:40:05

Synchronized和ReentrantLock

Synchronized和ReentrantLock的区别原理弄清楚了,顺便总结了几点Synchronized和ReentrantLock的区别:Synchronized是JVM层次的锁实现,ReentrantLock是JDK层次的锁实现; Synchronized的锁状态是无法在代码中直接判断的,但是ReentrantLock可以通过ReentrantLock#isLocked判断;...

2019-02-14 17:14:52

java中final和static的一点理解

1.final:final修饰类:该类不可继承final修饰方法:该方法不能被子类覆盖(但它不能修饰构造函数)final修饰字段属性:属性值第一次初始化后不能被修改使用final可以提高程序执行的效率,将一个方法设成final后编译器就可以把对那个方法的所有调用都置入嵌入调用里。static不能修饰构造函数、函数参数、局部成员变量2.static:static修饰成员函数则该函数不...

2019-01-13 17:17:18

【转】mysql中explain的type的解释

导语:很多情况下,有很多人用各种select语句查询到了他们想要的数据后,往往便以为工作圆满结束了。这些事情往往发生在一些学生亦或刚入职场但之前又没有很好数据库基础的小白身上,但所谓闻道有先后,只要我们小白好好学习,天天向上,还是很靠谱的。当一个sql查询语句被写出来之后,其实你的工作只完成了一小半,接下来更重要的工作是评估你自己写的sql的质量与效率。mysql为我们提供了很有用的辅助...

2019-01-12 19:50:29

B-Tree索引 和 hash索引区别

1:索引类型  1.1 B-tree索引  注: 名叫btree索引,大的方面看,都用的平衡树,但具体的实现上, 各引擎稍有不同,比如,严格的说,NDB引擎,使用的是T-tree  Myisam,innodb中,默认用B-tree索引 但抽象一下---B-tree系统,可理解为”排好序的快速查找结构”.  1.2 hash索引     在memory表里,默认是...

2019-01-05 21:02:44

表的优化与列类型的选择

表的优化与列类型选择 表的优化:1: 定长与变长分离如 id int, 占4个字节, char(4) 占4个字符长度,也是定长, time即每一单元值占的字节是固定的.核心且常用字段,宜建成定长,放在一张表. 而varchar, text,blob,这种变长字段,适合单放一张表, 用主键与核心表关联起来. 2:常用字段和不常用字段要分离.需要结合网站具体...

2019-01-05 17:35:13

mysql优化思路

为什么别人问你MySQL优化的知识 总是没有底气, 因为你只是回答一些大而化之的调优原则, 比如:1、”建立合理索引”(什么样的索引合理?)2、“分表分库”(用什么策略分表分库?)3、“主从分离”(用什么中间件?)并没有从细化到定量的层面去分析.如qps提高了%N? 有没有减少文件排序?语句的扫描行数减少了多少?没有大量的数据供测试,一般在学习环境中,只是手工添加几百上万条数据...

2019-01-05 17:17:39

【转】Java -- 偏向锁、轻量级锁、自旋锁、重量级锁

之前做过一个测试,详情见这篇文章《多线程 +1操作的几种实现方式,及效率对比》,当时对这个测试结果很疑惑,反复执行过多次,发现结果是一样的: 1. 单线程下synchronized效率最高(当时感觉它的效率应该是最差才对); 2. AtomicInteger效率最不稳定,不同并发情况下表现不一样:短时间低并发下,效率比synchronized高,有时甚至比LongAdder还高出一点,但是高并...

2018-12-29 16:02:42

员工工资sql

创建表create table bm(id int,mc varchar(50))create table ry(id int,mz varchar(50), gz double ,mcid int)insert into bm values (1,'it')insert into bm (id,mc) values (2,'sales')insert into ry value...

2018-12-26 18:08:56

【转】幂等性

幂等操作:是其任意多次执行所产生的影响均与一次执行的影响相同(不用担心重复执行会对系统造成改变)业务场景:1.绑定银行卡发送短信接口。如果APP重复点击调用后台接口,后台重复调用第三方接口,造成用户收到多条短信,一般情况下控制在60s内再重发短信,如果不做控制,每一次调用第三方接口都会收费。2.创建订单接口。如果APP端因网络问题用户重复点击多次,会生成多个订单号,会造成系统业务问题。...

2018-11-23 11:00:35

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。