加载中
Spring Cloud Config 配置中心的学习

什么是Spring Cloud Config? Spring Cloud Config简称配置中心。用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持, 它分为服务端与客户端两个部分。 其中服务端也称为分...

多线程学习(6)几种锁机制

CAS 机制 适用场景:乐观认为并发不高,不需要阻塞,可以不上锁。 特点:不断比较更新,直到成功。 缺点:高并发cpu压力大;ABA问题。 ABA问题: CAS机制生效的前提是,取出内存中某时刻的数...

2020/04/10 16:42
142
ThreadLocal与其他变量的区别

今天学习了ThreadLocal,一直不知道它的用法,所以自己花时间写了个demo来理清楚ThreadLocal修饰的成员变量和类的普通成员变量的区别。 其实很简单,使用ThreadLocal<T>变量,一定要用publi...

2020/04/07 16:24
432
jvm如何加载class文件

编译期: javac是JDK自带的编译器, 可以将java文件编译为class字节码文件, javap是JDK自带的反编译器,将.class字节码反编译为.java文件,javap -help是javap常用指令,javap -c XXX.clas...

用户登录的几种认证方式

基于验证码登录 1.检查验证码 数据库建一个存储验证码的表,img_code,它的字段包括: 1.1获取验证码 提供获取验证码接口,给前端使用。 有相关的验证码生成工具包和类,配置验证码规则,比如...

2020/01/17 18:17
1.2K
可达性算法

一、可达性分析算法 在Java中,是通过可达性分析(Reachability Analysis)来判定对象是否存活的。该算法的基本思路就是通过一些被称为引用链(GC Roots)的对象作为起点,从这些节点开始向下...

Java中finalize()方法

finalize()方法是Object类中提供的一个方法,在GC准备释放对象所占用的内存空间之前,它将首先调用finalize()方法。其在Object中定义如下: protected void finalize() throws Throwable { }...

2020/01/16 16:20
186
垃圾回收算法和垃圾收集器

垃圾回收常见算法 1.引用计数法(Reference Counting) 比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个应用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此...

2020/01/16 15:50
52
堆的内存模型

堆内存模型如下图 堆内存中,分为年轻代,老年代。 new出来的对象,放在堆内存中,具体会放到eden区。 当堆的内存设置为600M时,老年代会占400M内存,年轻代会占200M。而eden区,会占160M内存...

2020/01/13 17:30
184
JVM的内存模型

上图是JAVA虚拟机大致的内存示意图。 栈空间也称为线程栈,当一个应用运行在服务器容器中,每进来一个新的请求,容器便会创建一个新的线程来处理请求,java虚拟机便会给该线程分配一小块属于...

2020/01/13 15:42
120
设计模式的学习 状态模式

状态模式 状态模式(State Pattern)属于行为型模式。 包含角色 当一个对象的内在状态改变时允许改变其行为。 状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态...

2020/01/09 15:00
27
高并发之api接口,分布式,防刷限流,如何做?

在开发分布式高并发系统时,我们通常有三种方法保护系统:缓存、降级、限流。 缓存 缓存的目的是提升系统访问速度和增大系统处理容量 降级 降级是当服务出现问题或者影响到核心流程时,需要暂...

Transactional 事物小计

最近在使用事物,记一下事物如何才能生效: 1.事物想要生效,首先需要给方法添加事物注解, @Transactional 2.添加注解后,默认只有RuntimeException才会触发事物,如果希望任何异常都触发事...

2019/11/12 13:54
166
浅析VO、DTO、DO、PO的概念、区别和用处

概念: VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。 DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原...

学习《数据结构与算法》笔记04 哈希表

哈希表 哈希表是一种数据结构,提供快速的插入操作和查找操作。不论哈希表中有多少数据,它的插入和删除(有时候包括删除)只需要接近常量的时间:O(1)的时间级。 哈希表查找非常快,如果需...

2019/08/05 17:44
64
学习《数据结构与算法》笔记03 二叉树

二叉树 为什么要用到二叉树? 先来看看有序数组的优缺点: 在有序数组中做查询,可以使用二分查找法,会提高查找效率,缩短查找次数,而用二分查找法的效率是O(logN)。也可以使用顺序遍历访问...

2019/07/23 17:42
146
学习《数据结构与算法》笔记02 链表 和 递归

链表 数组结构的缺点: 1.数组的大小是固定的; 2.无序数组中,查找效率很低;查找O(N),插入O(1) 3.有序数组中,插入效率又很低;查找O(logN)使用二分法,提高查找效率,减少查找次数logN=...

2019/07/19 18:10
301
学习《数据结构与算法》笔记01 栈和队列

Day1: java对象之间的赋值: // 两个对象使用"="号相连,意味着它们指向同一个地址,当A对象对属性进行操作后,B对象的值也会改变; People A = new People (); People B = new People (); ...

2019/07/15 17:48
125
分布式架构 实现分布式锁的常见方式

一、我们为什么需要分布式锁? 在单机时代,虽然不需要分布式锁,但也面临过类似的问题,只不过在单机的情况下,如果有多个线程要同时访问某个共享资源的时候,我们可以采用线程间加锁的机制...

2019/06/26 19:10
206
分布式架构 共享session的常见解决方案

在使用分布式架构时,会遇到分布式架构常见的几个问题: 分布式事务、接口幂等性、分布式锁和分布式 session。 分布式session 一、什么是session 浏览器在访问一个web服务的时候,会在浏览器...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部