自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

万猫学社

欢迎关注微信公众号:万猫学社,每周一分享Java技术干货。

原创 详细解析Redis中的布隆过滤器及其应用

布隆过滤器(Bloom Filter)是由Howard Bloom在1970年提出的一种比较巧妙的概率型数据结构,它可以告诉你某种东西一定不存在或者可能存在。它可以更高效地插入和查询,并且占用空间更少。

2020-01-05 18:16:43

阅读数 1313

评论数 10

原创 面试中经常问到的Redis七种数据类型,你都真正了解吗?

Redis提供更加丰富的数据结构,如:字符串、列表、集合、有序集合、哈希、位图、HyperLogLogs,你都真正了解嘛?

2020-01-04 10:10:33

阅读数 1595

评论数 11

原创 详细解析Java虚拟机的栈帧结构

栈帧是Java虚拟机中的虚拟机栈的基本元素,它也是用于支持Java虚拟机进行方法调用和方法执行背后的数据结构,了解了它就可以更好地理解Java虚拟机执行引擎是如何运行的。

2020-01-04 10:04:19

阅读数 1604

评论数 7

原创 面试真题:求100万内的质数

一个头发稀少、穿着格子衬衣的中年男子走了进来,把手里拿的MAC放在桌子上,对我说:“我会用电脑记录面试过程,你不介意吧?”。

2020-01-04 10:01:35

阅读数 1925

评论数 9

原创 【Java并发编程实战】04对象的组合

在设计线程安全类的过程中,需要包含以下三个基本要素: 找出构成对象状态的所有变量。 找出约束变量的不变性条件。 建立对象状态的并发访问管理策略。

2020-01-03 19:14:32

阅读数 1274

评论数 0

原创 【Java并发编程实战】03对象的共享

上一篇介绍了如何通过同步多个线程避免同一时刻访问相同数据,本篇介绍如何共享和发布对象,使它们被安全地由多个进程访问。

2020-01-03 19:10:25

阅读数 826

评论数 1

原创 【Java并发编程实战】02线程安全性

当多个线程访问某个类时,不管运行时环境采用何种调用方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。

2020-01-03 19:03:00

阅读数 529

评论数 4

原创 【Java并发编程实战】01简介

多线程程序可以同时在多个处理器上执行。如果设计正确,多线程程序可以通过提高处理器资源的利用率来提升系统吞吐率。

2020-01-03 18:58:11

阅读数 486

评论数 2

原创 Java中三目运算符不为人知的坑

Java中三目运算符不为人知的坑,你知道吗?

2020-01-03 18:55:06

阅读数 510

评论数 1

原创 科学使用 Sublime Text 3

Notepad++又出幺蛾子了,还是用Sublime Text吧,不过Sublime Text是收费的,但本文介绍了如何科学使用Sublime Text 3,亲测有效!

2020-01-02 17:31:27

阅读数 1005

评论数 5

原创 月薪过万必会的:双亲委托模型

要想深入了解JVM,双亲委托模型是绕不过的,也是中高级开发面试时经常问到的。了解了它,你就会对JDBC、SPI、OSGi等的类加载机制有更深一层的理解。

2019-12-24 12:00:33

阅读数 1023

评论数 13

原创 Java虚拟机内存结构及编码实战

深度解析了JVM的内存结构,图文并茂,生动形象。并编写多个示例代码,展示了JDK中各个不同的内存结构,详细讲解了不同版本JDK对内存结构实现的区别。

2019-12-23 08:48:10

阅读数 3070

评论数 14

原创 CAT中实现异步请求的调用链查看

对于异步请求API,因为不在同一线程中,在子线程中无法获取到父线程消息树,所以在CAT服务端是无法看到的对应请求。这里分享了如何在CAT服务端像同步请求一样查看到异步请求。

2019-12-18 19:39:12

阅读数 543

评论数 0

原创 Hadoop完全分布式集群搭建

完全分布式集群模式,是真正的生产环境,这里详细讲解的就是如何搭建一个Hadoop完全分布式集群。

2019-12-13 14:22:52

阅读数 677

评论数 3

原创 全面解析JVM加载中初始化的时机

JVM类加载过程分为几个阶段,分别是加载、验证、准备、解析和初始化。初始化阶段都是在什么时候触发的呢?本文给你带来详细解析。

2019-12-10 10:22:13

阅读数 708

评论数 6

原创 详解在Linux系统中安装Tomcat

本文以在CentOS 7.6中安装Tomcat8.5为例进行安装,其他系统和版本都是大同小异的。

2019-12-06 11:31:05

阅读数 628

评论数 1

原创 Java虚拟机的类加载机制全面解析

JVM把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被JVM直接使用的Java类型,这就是JVM的类加载机制。

2019-12-04 08:42:36

阅读数 645

评论数 1

原创 详解在Linux系统中安装JDK

本文以在CentOS 7.6中安装JDK8为例进行安装,其他系统和版本都是大同小异的。

2019-11-27 20:02:24

阅读数 639

评论数 5

原创 Class文件结构全面解析(下)

上一篇文章分享了Class文件的主要构成,同时也详细分析了魔数、次版本号、主版本号、常量池集合、访问标志的构造,接下来继续详细分析类索引、父类索引、接口索引集合、字段表集合、方法表集合和属性表集合。

2019-11-26 09:20:17

阅读数 458

评论数 1

转载 CentOS安装MySQL详解

本文是介绍MySQL在CentOS上的安装几种方式:YUM、RPM、压缩包、源码编译。

2019-11-21 12:33:29

阅读数 474

评论数 1

原创 大话『字符串逆序』

面试官:“先来一点基础的吧,用Java写一个方法,入参是一个字符串,返回逆序后的字符串。”

2019-11-21 10:50:50

阅读数 462

评论数 1

原创 Class文件结构全面解析(上)

一般对于数据结构的分享难免比较枯燥,但是了解Class文件结构是了解Java虚拟机的重要基础之一。如果想比较深入地了解Java虚拟机,那么Class文件结构是不能不接触的。我会力求在保证逻辑准确的基础上,尽量通俗易懂地分享,并结合实际案例。

2019-11-19 09:02:10

阅读数 517

评论数 0

原创 怎么把CAT客户端的RootMessageId记录到每条日志中?

在日志中记录RootMessageId,可以更加方便地做性能优化,可以更快速地定位线上bug,那么怎么把CAT客户端的RootMessageId记录到每条日志中?

2019-11-18 08:34:15

阅读数 475

评论数 3

原创 阅读JDK源码后,我有了优化它的冲动!

最近在看concurrent包下线程池的源码,当我看到ThreadPoolExecutor类的时候,发现了JDK源码的一个问题。

2019-11-13 08:40:15

阅读数 574

评论数 17

原创 CAT客户端如何从Apollo中读取配置?

CAT客户端如何从Apollo中读取配置?总共分三步!

2019-11-09 19:41:37

阅读数 457

评论数 0

原创 通俗易懂地给女朋友讲:线程池的内部原理

餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”

2019-11-04 09:16:49

阅读数 72110

评论数 153

原创 五分钟后,你将学会在SpringBoot项目中如何集成CAT调用链

CAT(Central Application Tracking),是美团点评基于 Java 开发的一套开源的分布式实时监控系统。在SpringBoot项目中如何集成CAT的分布式调用链功能呢?

2019-10-31 09:36:40

阅读数 670

评论数 3

原创 分布式监控CAT服务端的本地部署

CAT是美团点评基于 Java 开发的一套开源的分布式实时监控系统,如何在本地部署CAT服务端呢?

2019-10-30 09:16:16

阅读数 451

评论数 0

原创 如何优雅地设置线程池的大小?

假如线程池的大小设置过大,线程上线文切换过于频繁,造成大量资源开销,反而会使性能降低;假如设置的太小,存在很多可用的处理器资源却未在工作,会造成资源的浪费和对吞吐量造成损失。如何优雅的设置线程池的大小呢?

2019-10-29 09:27:36

阅读数 885

评论数 2

原创 Java中线程与堆栈的关系

栈是线程私有的,每个线程都是自己的栈,每个线程中的每个方法在执行的同时会创建一个栈帧用于存局部变量表、操作数栈、动态链接、方法返回地址等信息。每一个方法从调用到执行完毕的过程,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。其中局部变量表,存放基本类型(boolean、byte、char、shor...

2019-10-28 11:22:46

阅读数 449

评论数 0

原创 Java中常用的四种线程池

在Java中使用线程池,可以用ThreadPoolExecutor的构造函数直接创建出线程池实例,如何使用参见之前的文章Java线程池构造参数详解。不过,在Executors类中,为我们提供了常用线程池的创建方法。接下来我们就来了解常用的四种: newFixedThreadPool 首先,看一下这...

2019-10-26 08:09:58

阅读数 1215

评论数 3

原创 Java线程池构造参数详解

在ThreadPoolExecutor类中有4个构造函数,最终调用的是如下函数: public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, ...

2019-10-25 12:21:06

阅读数 914

评论数 12

原创 POJ 2524 Ubiquitous Religions

/*********************************** Problem: POJ 2524 Ubiquitous Religions Time: 266MS Memory: 352K Accepted Time: 2009-08-19 20:52:35 Tip: 并查集 http...

2009-08-19 20:56:00

阅读数 518

评论数 0

原创 POJ 1611 The Suspects

/*********************************** Problem: POJ 1611 The Suspects Time: 16MS Memory: 276K Accepted Time: 2009-08-19 20:26:36 Tip: 并查集 http://hi.ba...

2009-08-19 20:34:00

阅读数 534

评论数 0

原创 POJ 1088 滑雪

/*********************************** Problem: POJ 1088 滑雪 Time: 32MS Memory: 220K Accepted Time: 2009-08-07 18:03:14 Tip: 多次DP *********************...

2009-08-07 19:40:00

阅读数 1528

评论数 4

原创 POJ 1080 Human Gene Functions

/*********************************** Problem: POJ 1080 Human Gene Functions Time: 0MS Memory: 176K Accepted Time: 2009-08-07 16:05:15 Tip: 做过的题也不会做了 ...

2009-08-07 16:15:00

阅读数 585

评论数 0

原创 POJ 1050 To the Max

/*********************************** Problem: POJ 1050 To the Max Time: 0MS Memory: 180K Accepted Time: 2009-08-07 13:44:01 Tip: http://hi.baidu.com...

2009-08-07 13:48:00

阅读数 623

评论数 0

原创 HEU 3014 Piggy-Bank

/*********************************** Problem: HEU 3014 Piggy-Bank Time: 0.1010 s Memory: 572 k Accepted Time: 2009-08-06 11:02:19 Tip: 完全背包问题 dp[i][...

2009-08-06 11:13:00

阅读数 594

评论数 0

原创 HEU 5011 Max Use Of CPU

/*********************************** Problem: HEU 5011 Max Use Of CPU Time: 0.0020 s Memory: 536 k Accepted Time: 2009-08-05 19:26:45 Tip: ********...

2009-08-06 09:52:00

阅读数 502

评论数 0

原创 POJ 1837 Balance

/*********************************** Problem: POJ 1837 Balance Time: 16MS Memory: 748K Accepted Time: 2009-08-05 15:56:57 Tip: http://www.cppblog.com...

2009-08-05 16:01:00

阅读数 569

评论数 2

提示
确定要删除当前文章?
取消 删除