11 varyall

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 939

mysql常用的hint(原创)

转自:http://linux.chinaunix.net/techdoc/database/2008/07/29/1021449.shtml对于经常使用Oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法。同样,在MySQL里,也有类似的hint功能。下面介绍一些常用的。强制索引 FORCE INDEXSELECT * FROM TABLE1 FORCE INDEX (FIELD1) …以上的SQL语句只使用建立在FIELD1上的索引,而不使用..

2020-07-11 18:14:28

COW奶牛!Copy On Write机制了解一下

前言只有光头才能变强在读《Redis设计与实现》关于哈希表扩容的时候,发现这么一段话:执行BGSAVE命令或者BGREWRITEAOF命令的过程中,Redis需要创建当前服务器进程的子进程,而大多数操作系统都采用写时复制(copy-on-write)来优化子进程的使用效率,所以在子进程存在期间,服务器会提高负载因子的阈值,从而避免在子进程存在期间进行哈希表扩展操作,避免不必要的内存写入操作,最大限度地节约内存。触及到知识的盲区了,于是就去搜了一下copy-on-write写时复制这个

2020-06-22 15:05:49

redis过期key回调代码

import com.alibaba.fastjson.JSONObject;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang3.StringUtils;import org.springframework.beans.factory.annotation.Autowired;.

2020-06-11 10:59:02

MongoDB命令行模式下,格式化find()的返回结果,pretty()

使用 db.demo.find() 返回数据,每一条占一整行,不便于阅读,寻找能格式化输出结果的方法,其实MongoDB本身提供了该方法,在find()方法后直接追加pretty()方法即可,如下:补充个一劳永逸的方法,在 shell 里执行下列代码:echo "DBQuery.prototype._prettyShell = true" >> ~/.mongorc.js这样随时随地都是 pretty() 了。转载自:https://my.oschina.net.

2020-05-25 11:12:01

一次 Young GC 的优化实践

这个 GC 案例比较有意思,排查问题有点像侦探断案,先分析各种可能性,再按照获得的一个个证据,去排除各种可能性、然后定位原因,最终解决问题。问题某同学在微信上问我,有没有办法排查 YoungGC 效率低的问题?听到这话,我也是不知从何说起,就让他说下具体情况。 具体情况是: 有个服务在没有 RPC 调用时,YoungGC 时间大约在 4-5ms,但是有 RPC 调用时,YoungGC 的耗时在 40ms 以上,几乎没有什么对象晋升,频率 4-5 秒一次。GC 日志截图如下。后来他为了排查问题.

2020-05-19 00:06:39

什么是JIT

一些其他解释的网站:http://www.sohu.com/a/169704040_4640841、动态编译(dynamic compilation)指的是“在运行时进行编译”;与之相对的是事前编译(ahead-of-time compilation,简称AOT),也叫静态编译(static compilation)。2、JIT编译(just-in-timecompilation)狭义来说是当某段代码即将第一次被执行时进行编译,因而叫“即时编译”。JIT编译是动态编译的一种特例。JIT编译一词后..

2020-05-09 20:33:55

JVM 默认参数

uintx AdaptiveSizeDecrementScaleFactor = 4 {product} uintx AdaptiveSizeMajorGCDecayTimeScale = 10 {product} ...

2020-05-07 16:21:09

垃圾优先型垃圾回收器调优

了解如何针对评估、分析和性能来调整和调优 G1 GC。2013 年 8 月发布垃圾优先型垃圾回收器 (G1 GC)是适用于 Java HotSpot VM 的低暂停、服务器风格的分代式垃圾回收器。G1 GC 使用并发和并行阶段实现其目标暂停时间,并保持良好的吞吐量。当 G1 GC 确定有必要进行垃圾回收时,它会先收集存活数据最少的区域(垃圾优先)。垃圾回收器 (GC) 是一个内存管理...

2020-05-06 16:48:31

jvm:优化-栈上分配

转载请注明博客来处:https://blog.csdn.net/qq_42709262/article/details/84800251几乎所有的对象实例,都是在堆上分配的,但存在部分例外,栈上分配就是这种除了堆上分配的例外。1.栈上分配指的是什么?①将线程中的私有对象打散(即图中user),让它在栈上分配,而不是在堆上分配比如方法中的user引用,就是方法的局部变量,n...

2020-05-06 13:58:54

关于栈上分配和TLAB的理解

引言我们知道,一般在java程序中,new的对象是分配在堆空间中的,但是实际的情况是,大部分的new对象会进入堆空间中,而并非是全部的对象,还有另外两个地方可以存储new的对象,我们称之为栈上分配以及TLAB栈上分配为什么需要栈上分配在我们的应用程序中,其实有很多的对象的作用域都不会逃逸出方法外,也就是说该对象的生命周期会随着方法的调用开始而开始,方法的调用结束而结束,对于这种对象...

2020-05-06 13:44:52

Kafka提交offset机制

在kafka的消费者中,有一个非常关键的机制,那就是offset机制。它使得Kafka在消费的过程中即使挂了或者引发再均衡问题重新分配Partation,当下次重新恢复消费时仍然可以知道从哪里开始消费。它好比看一本书中的书签标记,每次通过书签标记(offset)就能快速找到该从哪里开始看(消费)。Kafka对于offset的处理有两种提交方式:(1) 自动提交(默认的提交方式) (2) 手...

2020-04-24 21:30:13

java new一个对象的过程中发生了什么

java在new一个对象的时候,会先查看对象所属的类有没有被加载到内存,如果没有的话,就会先通过类的全限定名来加载。加载并初始化类完成后,再进行对象的创建工作。我们先假设是第一次使用该类,这样的话new一个对象就可以分为两个过程:加载并初始化类和创建对象。一、类加载过程(第一次使用该类)  java是使用双亲委派模型来进行类的加载的,所以在描述类加载过程前,我们先看一下它的工作过程:...

2020-04-23 18:15:15

Java new一个对象的过程

1,首先到常量池中找类的带路径全名,然后检查对应的字节码是否已被加载,解析,验证,初始化,如果没有先执行类加载过程(class.forname())。2,类加载过程完成后,虚拟机会为对象分配内存。分配内存有两种方式,根据使用的垃圾收集器的不同使用不同的分配机制。(1)指针碰撞,当虚拟机使用复制算法或标记整理算法实现的垃圾收集器时,内存区域都是规整的,这时候使用指针碰撞分配内存,用过的内存放...

2020-04-23 18:13:48

Java中new一个对象是一个怎样的过程?JVM中发生了什么?

Java中new一个对象的步骤:1.当虚拟机遇到一条new指令时候,首先去检查这个指令的参数是否能在常量池中能否定位到一个类的符号引用(即类的带路径全名),并且检查这个符号引用代表的类是否已被加载、解析和初始化过,即验证是否是第一次使用该类。如果没有(不是第一次使用),那必须先执行相应的类加载过程(class.forname())。2.在类加载检查通过后,接下来虚拟机将为新生的对...

2020-04-23 18:12:02

Java中new一个对象是一个怎样的过程?JVM中发生了什么?

Java中new一个对象的步骤:1.当虚拟机遇到一条new指令时候,首先去检查这个指令的参数是否能在常量池中能否定位到一个类的符号引用(即类的带路径全名),并且检查这个符号引用代表的类是否已被加载、解析和初始化过,即验证是否是第一次使用该类。如果没有(不是第一次使用),那必须先执行相应的类加载过程(class.forname())。2.在类加载检查通过后,接下来虚拟机将为新生的对...

2020-04-23 18:11:31

Java中SPI机制详解

本文转载于高级开发必须理解的Java中SPI机制本文通过探析JDK提供的,在开源项目中比较常用的Java SPI机制,希望给大家在实际开发实践、学习开源项目提供参考。一、 SPI是什么SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架扩展和替换组件。整体机制图如下:Java SPI 实际上是“基...

2020-04-19 17:59:51

SpringFactoriesLoader ServiceLoader区别

两者实现的功能很类似,不过 Spring 提供的功能更灵活一些。IoC 并不仅限于解决模块内类与类之间的依赖耦合问题,其同样适用于模块与模块之间。OSGi 一直致力于这方面的工作。但其实 Java 和 Spring 都提供了对 IoC 的支持。Java Service LoaderJava 本身提供了一种很简便的方式来支持 IoC,它通过使用 [Service Loader] (htt...

2020-04-19 17:57:26

Serializable:明明就一个空接口!为什么还要实现它?

文章来源:https://mp.weixin.qq.com/s/d2lagx9uPjGUZzkfyie29w作者:沉默王二对于 Java 的序列化,我一直停留在最浅显的认知上——把那个要序列化的类实现 Serializbale 接口就可以了。我不愿意做更深入的研究,因为会用就行了嘛。但随着时间的推移,见到 Serializbale 的次数越来越多,我便对它产生了浓厚的兴趣。是时候花...

2020-04-18 15:50:55

JMX monitoring + Java custom metrics.

In this tutorial we are going to learn how to instrument Java code to expose application metrics using JMX monitoring. Following the code examples, you can monitor the availability, health and perform...

2020-04-18 15:08:26

RestTemplate设置通用header

增加interceptorpublic static class UserAgentInterceptor implements ClientHttpRequestInterceptor { @Override public ClientHttpResponse intercept(HttpRequest request, byte[] body, Clie...

2020-04-16 15:41:18

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享王者
    分享王者
    成功上传51个资源即可获取