这里我们介绍几个常用的分析jvm内存使用情况的工具 jmap: jmaps是JDK自带的一个工具软件,主要用于打印堆内存细节image.png jhat是用来将jmap导出的...
这里我们介绍几个常用的分析jvm内存使用情况的工具 jmap: jmaps是JDK自带的一个工具软件,主要用于打印堆内存细节image.png jhat是用来将jmap导出的...
@琥珀光 多谢指正
跳表(skip list)我们知道二叉搜索算法能够高效的查询数据,但是需要一块连续的内存,而且增删改效率很低。跳表,是基于链表实现的一种类似“二分”的算法。它可以快速的实现增,删,改,查操作。我们先来...
mybatis鼓励我们自己写sql,而不是自动生成sql,这样的好处是我们可以对sql进行管理和优化。如果我们懂sql开发和调优,那么这种方式是一个很好的方式。我们可以定义一...
Web 容器: 早期的web应用主要是浏览静态页面,想Apache, Nginx 都是向浏览器返回html文件,然后浏览器解析并展示html文件。后来随着网络的发展,人们希望...
mybatis 因为其简单易用性,被广泛使用。它既简化了我们对DB curd操作,同时也保留了我们写sql语句的权利(不是自动生成),这样我们就可以基于sql做更多的优化(如...
zookeeper提供了两种语言的api,一种是java的一种是c的,这里我们学习java api, c语言的api接口和java的结构是一样的。在使用之前首先我们需要将用到...
Log4j 包括三个核心对象:Logger对象: 负责获取日志信息Layout对象: 用指定形式格式化日志信息对象Appender对象: 负责将日志信息发布到不同的目的地,如...
zookeeper的主要用来协同多个应用直接的合作。它通过暴露一些类似文件系统的API,让用户调用来定义自己的协同原则。如下图所示,zookeeper维护一个类似树形结构的目...
我们在学习一个东西的时候,往往只有真正了解它背后的含义,才能一步一步的掌握它,直到运筹帷幄。对于Kafka来说,我也是一个小白,本篇文章我就以一个小白的角度来初探一下Kafk...
JDK7 中将StringPool从永久代移动到了老生代,并且可以通过-XX:StringTableSize=99991来改变常量池的大小。 jdk7下面第一段代码打印的是t...
Golang的数据声明格式如下data := [7]int{}data:=[3]int{1, 2, 3}data := [...]int{1, 2, 3}我们注意到,与其他语...
我们都知道大部分数据库都支持事务操作,而事务操作最引以为傲的的就是ACID(Atomicity, Consistency, Isolation, Durability), 今...
Java加载类的方式有两种: 通过BootstrapClassLoader 加载,该类是由c++代码实现的,加载lib下面的jar; 通过继承ClassLoader来加载类。...
JMM描述了Java多线程对共享变量的访问规则,以及在JVM中将变量存储到内存和从内存中读取变量这样的底层细节。 java内存模型如上图所示,每个线程都有自己独立的工作内存,...
java 虚拟机简称JVM(Java Virtual Mechine),是一个虚构出来的计算机,可以运行class文件。 JVM内存结构 jvm内存包含以下几部分: 堆内存堆...
在ES3时代, JavaScript本身没有异步执行代码的能力,所以就是宿主环境(浏览器)传递给它一段代码,它就顺序的执行这段代码。宿主环境顺序的发送一系列任务,JavaSc...
当我们需要在不同的应用直接传到数据时,我们通常需要encode数据(将内存中的数据转换成字符流或者写到文件)然后发送给接收端,接收端再decode数据(将流数据或者文件数据转...
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式。在 GOF 书中给出的定义为:保证一个类仅有一个实例,并...