标签:深入解析

Java

深入解析Java的运行时数据区

18

Harries 发布于 2020-01-13

前言 Java程序运行的过程中,JVM会将其所管理的内存划分成若干个区域,统称为是 运行时数据区 。其中,一些线程间共享的区域,随着JVM的启动而创建,JVM的退出而销毁;另一些线程私有的区域,则随着线程的开始而创建,线程的结束而销毁。如图所示,运行时数据区由以下几个区域所组成:...

阅读(16)评论(0)赞 (0)

Java

你真的了解 String 吗?

1

hellas 发布于 2019-12-23

前几天在某乎上面看到了一些关于 String 的讨论:String 能否能够被继承?底层的 char array 会不会被共享?以及字符串常量池的一些问题。仔细一想,对于平时频繁的用到 String,还真没有深入的去了解过。于是就开始查询资料,进行深入的学习。 不查不知道,一查吓...

阅读(25)评论(0)赞 (0)

Java

史上最全Spring锦集(学习指南+实战+ 源码解析+架构与设计原理)

18

xiaoli.he 发布于 2019-12-16

前言 Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。 目的:解决...

阅读(37)评论(0)赞 (0)

Java

【搞定Jvm面试】 Java 内存区域揭秘附常见面试题解析

11

zhuangli 发布于 2019-12-15

本文已经收录自笔者开源的 JavaGuide: https://github.com/Snailclimb (【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识)如果觉得不错的还,不妨去点个Star,鼓励一下! Java 内存区域详解 如果没有特殊说明,...

阅读(31)评论(0)赞 (0)

Java

计算机电子书 2016 BiliDrive 备份

dulong 发布于 2019-12-15

下载方式 根据你的操作系统下载不同的 BiliDrive 二进制 。 执行: bilidrive download <link> 链接 <!–more–> 文档 链接 Go入门指南.epub (1.87 MB) bdrive://b...

阅读(87)评论(0)赞 (0)

Java

SpringMVC源码深入解析

6

yeseng 发布于 2019-12-11

通过前面 SpringAOP源码深度解析 , SpringIOC源码深度解析 加上本文的SpringMVC的源码阅读,我从中收获很多,学习了各种设计模式,各种抽象思想,以及各种底层原理,比如动态代理,反射等等,虽然前前前后后大概花了一个多月,但是我不后悔,并不觉得是浪费时间。 本...

阅读(60)评论(0)赞 (0)

Spring

什么是反射?

3

Harries 发布于 2019-12-10

本文基于 JDK8, Oracle官网 对反射的解释是 Reflection enables Java code to discover information about the fields, methods and constructors of loaded classe...

阅读(34)评论(0)赞 (0)

Java

一篇文章彻底搞懂volatile关键字

8

xiaoli.he 发布于 2019-12-06

volatile关键字 和 synchronized关键字 一样,在Java多线程开发中,是一道必须要跨越的槛。之前有篇文章已经分析过 synchronized关键字 的原理, synchronized关键字的原理 ,这一次,我们来一步一步分析下 volatile关键字 的工作原...

阅读(45)评论(0)赞 (0)

Java

类加载器 – 类的加载、连接与初始化

wenming.gapo 发布于 2019-11-21

类的加载、连接与初始化 概述 在Java代码中,类型的加载、连接与初始化过程都是在程序运行期间完成的 类型:可以理解为一个class 加载:查找并加载类的二进制数据,最常见的情况是将已经编译完成的类的class文件从磁盘加载到内存中 连接:确定类型与类型之间的关系,对于字节码的相...

阅读(57)评论(0)赞 (0)

Java

面试官:JVM对锁进行了优化,都优化了啥?

2

hellas 发布于 2019-11-20

从JDK1.6开始,JVM对锁进行了各种优化,目的就是为了在线程间更高效的共享数据和解决互斥同步的问题。 从锁优化的话题开始,可以引申出很多考点面试题,比如锁优化的技术、各优化技术的细节、CAS实现原理、CAS的ABA问题及如何解决等,持续发散还会引发更多问题,例如逃逸分析等,可...

阅读(43)评论(0)赞 (0)

Java

死磕 java线程系列之ForkJoinPool深入解析

6

songhua.gao 发布于 2019-11-08

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 注:本文基于ForkJoinPool分治线程池类。 简介 随着在硬件上多核处理器的发展和广泛使用,并发编程成为程序员必须掌握的一门技术,在面试中也经常考查面试者并发相关的知识。 今天,我们就...

阅读(56)评论(0)赞 (0)

Java

死磕 java线程系列之线程池深入解析——定时任务执行流程

2

Harries 发布于 2019-11-05

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 注:本文基于ScheduledThreadPoolExecutor定时线程池类。 简介 前面我们一起学习了普通任务、未来任务的执行流程,今天我们再来学习一种新的任务——定时任务。 定时任务是...

阅读(41)评论(0)赞 (0)

Java

死磕 java线程系列之线程池深入解析——普通任务执行流程

3

xiaoli.he 发布于 2019-11-03

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 注:线程池源码部分如无特殊说明均指ThreadPoolExecutor类。 简介 前面我们一起学习了Java中线程池的体系结构、构造方法和生命周期,本章我们一起来学习线程池中普通任务到底是怎...

阅读(48)评论(0)赞 (0)

Java

深入解析JVM源码 – 创建HotSpot

2

changyuan.xu 发布于 2019-10-30

1 程序主入口 src/java.base/share/native/launcher/main.c main函数返回了 JLI_Launch ()函数,位于 src/java.base/share/native/libjli/java.c 2 java.c # JLI_Laun...

阅读(44)评论(0)赞 (0)

Java

死磕 java线程系列之线程池深入解析——生命周期

3

wenming.gapo 发布于 2019-10-27

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 注:线程池源码部分如无特殊说明均指ThreadPoolExecutor类。 简介 上一章我们一起重温了下线程的生命周期(六种状态还记得不?),但是你知不知道其实线程池也是有生命周期的呢?! ...

阅读(33)评论(0)赞 (0)

Java

为何Mybatis将Integer为0的属性解析成空串?

2

likai 发布于 2019-10-15

最近公司做了几次CodeReview,在大家一起看代码的过程中,互相借鉴,学到了很多,也各自说了点平时遇到的所谓的“坑”,其中有一个同事遇到的问题,蛮有意思的。 <if test="age != null and age != ''"> age =...

阅读(77)评论(0)赞 (0)

Java

死磕 java线程系列之线程池深入解析——体系结构

4

xiaoli.wang 发布于 2019-10-15

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 Java的线程池是块硬骨头,对线程池的源码做深入研究不仅能提高对Java整个并发编程的理解,也能提高自己在面试中的表现,增加被录取的可能性。 本系列将分成很多个章节,本章作为线程池的第...

阅读(54)评论(0)赞 (0)

Java

EurekaServer自动装配及启动流程解析

1

xiaoli.he 发布于 2019-10-11

在开始本篇文章之前,我想你对SpringCloud和SpringBoot的基本使用已经比较熟悉了,如果不熟悉的话可以参考我之前写过的文章 @EnableEurekaServer 注解 我们知道,在使用Eureka作为注册中心的时候,我们会在启动类中增加一个 @EnableEure...

阅读(49)评论(0)赞 (0)