InfoQ

InfoQ

主题/标签专用视图

Java深度历险相关的内容


最新“Java深度历险”相关专题内容

专栏合集(一):Java深度历险

主题
面向对象编程,
代码分析,
Java,
语言,
调试,
方法论,
Java深度历险,
编程,
文件I/O,
专栏

本迷你书源自成富先生为InfoQ中文站撰写的《Java深度历险》专栏。本专栏的十篇文章,是关于Java不同方面但深入浅出的主题内容。在几乎每篇专栏的结尾,都有多于平均数量的积极的评论,在InfoQ内部月度内容排行上尤为突出。同样是出于读者的呼声,才有了这本迷你书面世的可能。

“Java深度历险”相关文章

Java深度历险(十)——Java对象序列化与RMI

主题
Java,
代码分析,
面向对象编程,
语言,
调试,
方法论,
Java深度历险,
编程,
专栏,
RMI

对于一个存在于Java虚拟机中的对象来说,其内部的状态只保持在内存中。JVM停止之后,这些状态就丢失了。在很多情况下,对象的内部状态是需要被持久化下来的。对象序列化机制是Java语言内建的一种对象持久化方式,可以很容易的在JVM中的活动对象和字节数组(流)之间进行转换。

Java深度历险(九)——Java安全

主题
加密,
Java,
代码分析,
调试,
密码学,
语言,
编程,
安全,
授权,
专栏,
认证,
Java深度历险

安全性是Java应用程序的非功能性需求的重要组成部分,如同其它的非功能性需求一样,安全性很容易被开发人员所忽略。当然,对于Java EE的开发人员来说,安全性的话题可能没那么陌生,用户认证和授权可能是绝大部分Web应用都有的功能。类似Spring Security这样的框架,也使得开发变得更加简单。本文并不会讨论Web应用的安全性,而是介绍Java安全一些底层和基本的内容。

Java深度历险(八)——Java I/O

主题
Java,
代码分析,
语言,
调试,
编程,
专栏,
Java深度历险,
文件I/O

在应用程序中,通常会涉及到两种类型的计算:CPU计算和I/O计算。对于大多数应用来说,花费在等待I/O上的时间是占较大比重的。通常需要等待速度较慢的磁盘或是网络连接完成I/O请求,才能继续后面的CPU计算任务。因此提高I/O操作的效率对应用的性能有较大的帮助。本文将介绍Java语言中与I/O操作相关的内容,包括基本的Java I/O和Java NIO,着重于基本概念和最佳实践。

Java深度历险(七)——Java反射与动态代理

主题
Java,
代码分析,
语言,
调试,
编程,
专栏,
Java深度历险

在上一篇文章中介绍Java注解的时候,多次提到了Java的反射API。与javax.lang.model不同的是,通过反射API可以获取程序在运行时刻的内部结构。反射API中提供的动态代理也是非常强大的功能,可以原生实现AOP中 的方法拦截功能。

Java深度历险(六)——Java注解

主题
Java,
代码分析,
调试,
语言,
编程,
Java深度历险,
专栏

JDK 5中引入了源代码中的注解(annotation)这一机制。注解使得Java源代码中不但可以包含功能性的实现代码,还可以添加元数据。注解的功能类似于代码中的注释,所不同的是注解不是提供代码功能的说明,而是实现程序功能的重要组成部分。Java注解已经在很多框架中得到了广泛的使用,用来简化程序中的配置。

Java深度历险(五)——Java泛型

主题
代码分析,
Java,
语言,
调试,
编程,
泛型,
Java深度历险,
专栏

开发人员在使用泛型的时候,很容易根据自己的直觉而犯一些错误。比如一个方法如果接收List作为形式参数,那么如果尝试将一个List的对象作为实际参数传进去,却发现无法通过编译。虽然从直觉上来说,Object是String的父类,这种类型转换应该是合理的。但是实际上这会产生隐含的类型转换问题,因此编译器直接就禁止这样的行为。本文试图对Java泛型做一个概括性的说明。

Java深度历险(四)——Java垃圾回收机制与引用类型

主题
Java,
代码分析,
垃圾回收,
C++,
.NET,
语言,
调试,
编译器,
编程,
专栏,
Java深度历险

Java语言的一个重要特性是引入了自动的内存管理机制,使得开发人员不用自己来管理应用中的内存。Java平台通过垃圾回收器来进行自动的内存管理。本文讲述了Java垃圾回收机制与引用类型。

Java深度历险(三)——Java线程​:基本概念、可见性与同步

主题
Java,
代码分析,
语言,
调试,
专栏,
编程,
进程,
同步框架,
Java深度历险,
线程

对于Java来说,在语言内部提供了线程的支持。但是Java的多线程应用开发会遇到很多问题。首先是很难编写正确,其次是很难测试是否正确,最后是出现问题时很难调试。一个多线程应用可能运行了好几天都没问题,然后突然就出现了问题,之后却又无法再次重现出来。如果在正确性之外,还需要考虑应用的吞吐量和性能优化的话,就会更加复杂。本文主要介绍Java中的线程的基本概念、可见性和线程同步相关的内容。

Java深度历险(二)——Java类的加载、链接和初始化

主题
JVM,
虚拟机,
运行时,
代码分析,
Java,
调试,
语言,
编程,
专栏,
Java深度历险

上一篇文章中介绍了Java字节代码的操纵,其中提到了利用Java类加载器来加载修改过后的字节代码并在JVM上执行。本文接着上一篇的话题,讨论Java类的加载、链接和初始化。

Java深度历险(一)——Java字节代码的操纵

主题
JVM,
虚拟机,
运行时,
Java,
代码分析,
语言,
调试,
Java深度历险,
专栏,
编程

Java类文件中包含的字节代码可以被不同平台上的JVM所使用。Java字节代码不仅可以以文件形式存在于磁盘上,也可以通过网络方式来下载,还可以只存在于内存中。JVM中的类加载器会负责从包含字节代码的字节数组(byte[])中定义出Java类。在某些情况下,可能会需要动态的生成 Java字节代码,或是对已有的Java字节代码进行修改。这个时候就需要用到本文中将要介绍的相关技术。

“Java深度历险”相关迷你书

专栏合集(一):Java深度历险

主题
面向对象编程,
代码分析,
Java,
语言,
调试,
方法论,
Java深度历险,
编程,
文件I/O,
专栏

本迷你书源自成富先生为InfoQ中文站撰写的《Java深度历险》专栏。本专栏的十篇文章,是关于Java不同方面但深入浅出的主题内容。在几乎每篇专栏的结尾,都有多于平均数量的积极的评论,在InfoQ内部月度内容排行上尤为突出。同样是出于读者的呼声,才有了这本迷你书面世的可能。