• 欢迎访问天天编码网站,Java技术、技术书单、开发工具,欢迎加入天天编码
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏天天编码吧
  • 我们的淘宝店铺已经开张了哦,传送门:https://shop145764801.taobao.com/

Java高级内容,包括JVM内幕、分布式服务等。

最详细的Java的ClassLoader机制讲解

ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见。理解ClassLoader的加载机制,也有利于我们编写出更高效的代码。ClassLoader的具体作用就是将class文件加载到jvm虚拟机中去,程序就可以正确运行了。但是,jvm启动的时候,并不会一次性加载所有的class文件,而是根据需要去……继续阅读 »

812浏览 1评论 6个赞

使用 Spring 进行单元测试

单元测试和集成测试在我们的软件开发整个流程中占有举足轻重的地位,一方面,程序员通过编写单元测试来验证自己程序的有效性,另外一方面,管理者通过持续自动的执行单元测试和分析单元测试的覆盖率等来确保软件本身的质量。这里,我们先不谈单元测试本身的重要性,对于目前大多数的基于 Java 的企业应用软件来说,Spring 已经成为了标准配置,一方面它实现了程序之间的低耦……继续阅读 »

800浏览 0评论 2个赞

真正理解线程上下文类加载器

前言 此前我对线程上下文类加载器(ThreadContextLoader)的理解仅仅局限于下面这段话: Java 提供了很多服务提供者接口(Service Provider Interface,SPI),允许第三方为这些接口提供实现。常见的 SPI 有 JDBC、JCE、JNDI、JAXP 和 JBI 等。 这些 SPI 的接口由 Java 核心库来提供,而……继续阅读 »

876浏览 0评论 1个赞

AOP 的利器:ASM 3.0 介绍

ASM 是一个 Java 字节码操控框架。它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。 ……继续阅读 »

922浏览 0评论 1个赞

JVM 如何装载和初始化一个Java class(类)

在Java中,首先编写一个 .java 的源文件;然后,使用Java编译器编译成 .class 的字节码文件。Java在运行时加载 .class 字节码文件。那么,装载 与 初始化 有什么区别呢?一个Java类是什么时候被装载和初始化的?又是如何被装载和初始化的?本文将利用代码示例的方式,详细地阐述这些迷惑问题。 ……继续阅读 »

2431浏览 0评论 6个赞

深入分析Java的HelloWorld程序

在IT界,学习任何一门新技术都是从 HelloWorld 程序开始的。对于Java中的HelloWorld程序,我相信每个Java程序员都不会不熟悉。它非常地简单,但就是这个简单的程序代码背后隐藏着很多比较复杂的概念和原理。本文将深入分析Java中的HelloWorld程序,看看能挖掘出什么有深度的知识。 ……继续阅读 »

1870浏览 0评论 6个赞

深入分析Java规范中JVM的内存布局模型

Java是一门结合了编译执行与解释执行的语言。首先,Java编译器把Java源码编译成Java字节码(byte-code),然后,Java字节码在Java虚拟机(JVM)上解释执行。实际上,Java虚拟机在执行Java代码的过程中,会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时机,有些区域随着虚拟机进程的启动而存在,……继续阅读 »

1823浏览 0评论 3个赞

深入讲解Java的wait()与notify()方法

作为一门现代的高级编程语言,Java中提供和很多与多线程相关的特性。除了最基本的同步方法(synchronized methods)和同步代码块(synchronized statements)之外,还提供了用于多线程之间进行通信的 wait() 和 nitify() 机制。本文将从两个代码示例出发,详细讨论Java中的并发机制(Java concurren……继续阅读 »

2650浏览 0评论 4个赞

如何创建一个线程安全的Java方法

Java作为当今世界上使用人数最多的语言,在电脑硬件往多CPU多核发展的今天,Java也在慢慢地优化和增强多线程相关的特性。想成为一名合格,甚至优秀的Java工程师,必须熟练掌握Java多线程相关的知识。本文将从一个Google的Java面试题出发,详细讲述如何创建出一个线程安全的Java方法。 ……继续阅读 »

1924浏览 0评论 6个赞

深入分析Java中基于监视器(Monitor)的同步(Synchronization)机制

如果读者在大学期间学习过操作系统相关课程,并且没有在课堂上睡着的话。那么可能知道,监视器(monitor)是操作系统中用于实现同步(synchronization)机制非常重要的基础数据结构。幸运的是,Java中对于同步(synchronization)机制的实现,同样是基于监视器。本文将使用类比的方式来讲述Java中同步(synchronization)机……继续阅读 »

3174浏览 1评论 8个赞

深入讲解Java泛型中通配符的功能

了解Java泛型的读者可能知道,一个包含有无限通配符的 Set< ? > 可以存储任何数据类型的元素。同时,一个原始的 Set< ? > 也可以存储任何数据类型的元素。那么,各位读者是否能够明白它们之间的区别和联系呢?在具体的编程实践中,我们更应该选择哪个方式呢?本文将深入浅出地阐述该问题。 ……继续阅读 »

1744浏览 0评论 4个赞

深入讲解Java的泛型擦除机制

Java的泛型机制是在 JDK 5 中引入的一个重要特性。这个特性允许我们在定义 类(Class) 和 接口(Interface) 的时候,可以使用 类型参数(type parameter)。而且,泛型机制被广泛地应用在JDK的集合框架(Collection framework)中。泛型机制有着这样、那样的好处,但是对于初学者来说,泛型机制可能不好理解,特别……继续阅读 »

1956浏览 1评论 3个赞

深入详解Java的泛型方法

现代的很多编码语言都有泛型的概念,正如我们所知,泛型可以带来编译时的强类型安全。自然,Java语言在很早的版本中就引入了泛型的概念,不仅有泛型类的概念,还有泛型方法的概念。对于泛型类的引入和作用,建议参看本站的[这篇文章]()。本文将深入浅出地讲解泛型方法的概念和功能。 ……继续阅读 »

1518浏览 0评论 3个赞