首页
学习
活动
专区
工具
TVP
发布

爱撸猫的杰

专栏作者
98
文章
181148
阅读量
13
订阅数
SpringBoot如何实现全链路调用日志跟踪
MDC(Mapped Diagnostic Context,映射调试上下文)是 log4j 、logback及log4j2 提供的一种方便在多线程条件下记录日志的功能。MDC 可以看成是一个与当前线程绑定的哈希表,可以往其中添加键值对。MDC 中包含的内容可以被同一线程中执行的代码所访问。当前线程的子线程会继承其父线程中的 MDC 的内容。当需要记录日志时,只需要从 MDC 中获取所需的信息即可。MDC 的内容则由程序在适当的时候保存进去。对于一个 Web 应用来说,通常是在请求被处理的最开始保存这些数据
爱撸猫的杰
2021-02-05
1.8K0
ZooKeeper原理解析
  每个Server在工作过程中有三种状态:     LOOKING:当前Server不知道leader是谁,正在搜寻     LEADING:当前Server即为选举出来的leader     FOLLOWING:leader已经选举出来,当前Server与之同步
爱撸猫的杰
2020-03-19
8450
JVM内存分配与回收
大多数情况下,对象在新生代中 Eden 区分配。当 Eden 区没有足够空间进行分配时,虚拟机将发起一次Minor GC。我们来进行实际测试一下。
爱撸猫的杰
2020-03-12
1.5K0
ThreadLocal分析
ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不通的变量值完成操作的场景。
爱撸猫的杰
2019-08-07
7040
Java并发机制的底层实现原理之volatile应用,初学者误看!
  Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和CPU的指令。本章我们将深入底层一起探索下Java并发机制的底层实现原理。 
爱撸猫的杰
2019-06-15
6060
HashMap 实现及原理
HashMap是一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射 HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改 HashMap是非synchronized,所以HashMap很快 HashMap可以接受null键和值,而Hashtable则不能(原因就是equlas()方法需要对象,因为HashMap是后出的API经过处理才可以) 2、HashMap的工作原理是什么?
爱撸猫的杰
2019-05-10
7040
ACM算法基础
N3/6-N2/2+N/3 ~ N3/6。使用 ~f(N) 来表示所有随着 N 的增大除以 f(N) 的结果趋近于 1 的函数。
爱撸猫的杰
2019-03-29
1.8K0
动态代理的两种方式,以及区别(静态代理、JDK与CGLIB动态代理、AOP+IoC) Spring学习总结(二)——静态代理、JDK与CGLIB动态代理、AOP+IoC
AOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
爱撸猫的杰
2019-03-28
9900
HashMap,HashTable,ConcurrentHashMap异同比较
(3)因为线程安全、哈希效率的问题,HashMap效率比HashTable的要高。
爱撸猫的杰
2019-03-28
4840
动手实现一个 LRU cache
LRU 是 Least Recently Used 的简写,字面意思则是最近最少使用。
爱撸猫的杰
2019-03-28
3990
google的GCM推送使用简介
转载请注明出处:http://blog.csdn.net/newhope1106/article/details/54709916
爱撸猫的杰
2019-03-28
6.4K0
Java虚拟机详解02----JVM内存结构
Java程序在运行时,需要在内存中的分配空间。为了提高运算效率,就对数据进行了不同空间的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。
爱撸猫的杰
2019-03-28
3510
一段JAVA代码了解多线程,JUC、CAS原子性操作。
1、保证变量在线程间可见,对volatile变量所有的写操作都能立即反应到其他线程中,换句话说,volatile变量在各个线程中是一致的(得益于java内存模型—"先行发生原则");
爱撸猫的杰
2019-03-28
5530
互联网视频直播技术(广电总局、优酷土豆、XX直播)
互联网直播是目前最火的技术之一,涵盖了很多方面的知识(网络,CDN,GPU,算法,图像处理),以下我介绍互联网直播的大体框架和关键技术点:
爱撸猫的杰
2019-03-28
1.9K0
Java虚拟机详解----JVM内存结构
http://www.cnblogs.com/smyhvae/p/4748392.htm
爱撸猫的杰
2019-03-28
3190
一篇笔记整理JVM工作原理
  想提高Java开发,了解jvm是必不可少的。它让开发者了解他们的代码,jvm是如何变异与运行。深入了解jvm:会让你的代码写的高效,逐步成为大神
爱撸猫的杰
2019-03-28
4040
初探Google Guava
第一次接触我是在16年春github上,当时在找单机查缓存方法,google guava当初取名是因为JAVA的类库不好用,所以谷歌工程师自己开发一套,想着google出品必属精品理念,我们一起来了解一下。
爱撸猫的杰
2019-03-28
1K0
对象并不一定都是在堆上分配内存的
关于JVM的内存结构及内存分配方式,不是本文的重点,这里只做简单回顾。以下是我们知道的一些常识:
爱撸猫的杰
2019-03-28
6680
虚拟机类加载机制
类从被加载到虚拟机内存开始,到卸载出内存为止,它整个生命周期包括了:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using) 和 卸载(Unloading)七个阶段。 其中验证、准备和解析三个部分统称为连接(Linking)。这七个阶段的发生顺序如下所示。
爱撸猫的杰
2019-03-28
4480
Java 的强引用、弱引用、软引用、虚引用
        强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下:
爱撸猫的杰
2019-03-28
3.6K0
点击加载更多
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档