摘要:
简介 最近看到一篇文章,关于一道面试题,先看一下题目,如下: public static void main(String[] args) { Integer a = 1; Integer b = 2; System.out.printf("a = %s, b = %s\n", a, b); swa 阅读全文
摘要:
一、Java中创建线程主要有三种方式: 1、继承Thread类创建线程类 定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。 创建Thread子类的实例,即创建了线程对象。 调用线程对象的start()方法来启动该线程。 阅读全文
摘要:
Redis占用内存大小 我们知道Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大小。 1、通过配置文件配置 通过在Redis安装目录下面的redis.conf配置文件中添加以下配置设置内存大小 //设置Red 阅读全文
摘要:
一、finally一定会执行吗? 先给答案:肯定不是。 我们可以看两种情况: 1.在执行try块之前直接return,我们发现finally块是不会执行的 public class TryCatchTest { private static int total() { int i = 11; if 阅读全文
摘要:
在实际的业务中,难免会跟第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安全呢(防窃取)?除了https的协议之外,能不能加上通用的一套算法以及规范来保证传输的安全性呢?下面我们就来讨论下常用的一些API设计的安全方法,可能不一定是最好的,有更牛逼的实现方式,但是这篇是我自己的经验分享 阅读全文
摘要:
背景 首先,来谈谈B树。为什么要使用B树?我们需要明白以下两个事实: 【事实1】 不同容量的存储器,访问速度差异悬殊。以磁盘和内存为例,访问磁盘的时间大概是ms级的,访问内存的时间大概是ns级的。有个形象的比喻,若一次内存访问需要1秒,则一次外存访问需要1天。所以,现在的存储系统,都是分级组织的。 阅读全文