加载中
JVM内存区域与垃圾回收

1、JAVA内存区域与内存溢出 1.1、概述 Java中JVM提供了内存管理机制,Java虚拟机在执行Java程序的过程中会把内分分为不同的数据区,如图: 1.2、程序计数器 程序计数器是当前线程所执行的字节码...

2019/12/24 21:11
8
JAVA线程池原理与源码分析

1、线程池常用接口介绍 1.1、Executor public interface Executor { void execute(Runnable command); } 执行提交的Runnable任务。其中的execute方法在将来的某个时候执行给定的任务,该任务...

2019/12/18 23:09
2.1K
面试【JAVA基础】其他

1、自定义注解 @target 说明了Annotation所修饰的对象范围: constructor、method、field、package、type等等。 @retention 定义了该Annotation被保留的时间长短, source(源文件保留)、c...

2019/12/18 22:54
36
面试【JAVA基础】JVM

1、内存模型 1.1、堆 堆是所有线程共享的,主要存放对象实例和数组。 新生代和老年代的比例是1:2。 新生代中三个区域的比例是 8 : 1 : 1。 1.1.1、新生代 对象分配在eden区中,当eden区满...

2019/12/18 22:52
37
面试【JAVA基础】Web与网络

1、转发与重定向的区别 转发是服务器请求资源,服务器直接访问目标地址url,把响应内容返回给浏览器。 重定向根据服务器返回的状态码重新请求地址。 转发是服务器行为,重定向是客户端行为。...

2019/12/18 22:51
13
面试【JAVA基础】类加载机制

1、类加载过程 1.1、加载 查找和导入class文件。 1.2、链接 验证 检验载入的class文件的正确性,完整性。 准备 给类的静态变量分配存储空间,会赋对象类型的默认值。 解析 将class常量池中的...

2019/12/18 22:50
38
面试【JAVA基础】锁

1、锁状态 锁的状态只能升级不能降级。 无锁 没有锁对资源进行锁定,所有线程都能访问并修改同一个资源,但同时只有一个线程能修改成功。其他修改失败的线程会不断重试,直到修改成功,如CAS...

2019/12/18 22:48
54
面试【JAVA基础】阻塞队列

1、五种阻塞队列介绍 ArrayBlockingQueue 有界队列,底层使用数组实现,并发控制使用ReentrantLock控制,不管是插入操作还是读取操作,都需要获取锁之后才能执行。 LinkedBlockingQueue 底层...

2019/12/18 22:47
48
面试【JAVA基础】集合类

1、ArrayList的扩容机制 每次扩容是原来容量的1.5倍,通过移位的方法实现。 使用copyOf的方式进行扩容。 扩容算法是首先获取到扩容前容器的大小。然后通过oldCapacity + (oldCapacity >> 1) ...

2019/12/18 22:46
50
面试【JAVA基础】多线程

本次整理的内容如下: 1、进程与线程的区别 进程是一个可执行的程序,是系统资源分配的基本单位;线程是进程内相对独立的可执行单元,是操作系统进行任务调度的基本单位。 2、进程间的通信方...

2019/12/18 01:01
52
LeetCode|234.回文链表

题目描述 等级: 简单 请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?...

2019/12/18 00:46
24
RedisTemplate: Failed to deserialize payload

问题 org.springframework.data.redis.serializer.SerializationException: Cannot deserialize; nested exception is org.springframework.core.serializer.support.SerializationFailedExc...

2019/12/13 21:08
121
分布式文件存储:FastDFS简单使用与原理分析

引言 FastDFS 属于分布式存储范畴,分布式文件系统 FastDFS 非常适合中小型项目,在我接手维护公司图片服务的时候开始接触到它,本篇文章目的是总结一下 FastDFS 的知识点。 用了 2 台 2 核 ...

2019/12/12 21:22
155
分布式锁的实现分析

1、设计目标 分布式部署的应用集群中保证数据更新的互斥性,且程序出现异常时,锁能够自动释放,避免死锁发生。 2、为什么要使用分布式锁 为了保证分布式部署的应用集群中同一时间只有一个客...

深入了解Redis【二】对象及数据结构综述

-- 引言 Redis中每个键值对都是由对象组成: 键总是一个字符串对象(string) 值可以是字符串对象(string)、列表对象(list)、哈希对象(hash)、集合对象(set)、有序集合对象(zset)。...

2019/12/10 23:21
101
深入了解Redis【一】源码下载与参考资料准备

引言 一直在使用redis,但是却没有系统的了解过它的底层实现,准备边学习边记录,深入了解redis。 打算分析以下几个方面: redis的基本类型及底层原理与java对比,每种数据类型的使用场景 re...

Java内存模型分析

在学习Java内存模型之前,先了解一下线程通信机制。 1、线程通信机制 在并发编程中,线程之间相互交换信息就是线程通信。目前有两种机制:内存共享与消息传递。 1.1、共享内存 Java采用的就是...

2019/12/10 23:09
67
精选PDF版本书籍第一期

福利概述 精选JAVA必读书籍的PDF版本(来源于网络,侵删)。 Effective java 中文版(第2版) Head First 设计模式(中文版) Java并发编程的艺术 Java技术手册(第6版) Java性能权威指南 ...

2019/12/08 22:55
116
关于`ClawHub的技术分享`公众号

生命不息,折腾不止! 该公众号的内容大部分为平时学习积累所整理的笔记,包括但不限于源码、原理、经验等。 如果感兴趣,也可以访问clawhub的博客主站https://clawhub.club...

2019/12/08 22:32
35
深入了解Kafka【五】Partition和消费者的关系

1、消费者与Partition 假设主题T1有四个分区。 1.1、一个消费者组 1.1.1、消费者数量小于分区数量 只有一个消费者时,消费者1将收到4个分区的全部消息。 当有两个消费者时,每个消费者将分别...

2019/12/08 22:00
32

没有更多内容

加载失败,请刷新页面

返回顶部
顶部