#
Git
Press
Login
Tag
#
JAVA
Tagged
Posts
Keaper
@ 2018/10/28
JAVA 日志简介
当我们开发应用程序时,它可能不会按照我们预期的运行,这个时候通常我们会DEBUG,来观察程序中的代码分支(if,else),观察一些变量在运行中的值等等以便确定程序的运行过程。但是,在生产环境,我们通常没有办法,或者不能够很容易去进行DEBUG。因此,更好的方法是使用日志工具。在生产环境中,日志是查找问题来源的重要依据。应用程序运行时的产生的各种信息,包括记录程序运行时产生的错误信息、状态信息、调试信息和执行时间信息等等,都可以通过日志来进行记录。在JAVA中,有哪些记录日志的方法呢?
Keaper
@ 2018/09/16
JSONObject.toBean不能正确反序列化thrift生成的java类
在使用json-lib中JSONObject.toBean将JsonObject转化为由thrift生成的Java类时,发现得到的javabean中的数据均为空(null或者默认值)。测试代码:pom.xml
Keaper
@ 2020/07/04
OpenJDK 编译调试指南(Ubuntu 16.04 + MacOS 10.15)
本篇文章主要介绍在MacOS系统和Ubuntu系统上如何编译OpenJDK项目代码,并使用IDE工具JetBrains CLion(下文简称CLion)来运行/调试OpenJDK。<!-- more --> 文中仅包含两种操作系统的特定版本(MacOS 10.15和Ubuntu 16.04)下的方法,不同版本下可能会略有差异。希望对读者有一定的参考价值。
Keaper
@ 2020/09/08
Java String 面面观
本文主要介绍Java中与字符串相关的一些内容,主要包括String类的实现及其不变性、String相关类(StringBuilder、StringBuffer)的实现 以及 字符串缓存机制的用法与实现。<!-- more --> String类的核心逻辑是通过对char型数组进行封装来实现字符串对象,但实现细节伴随着Java版本的演进也发生过几次变化。
Keaper
@ 2020/08/19
Java中的遍历(遍历集合或数组的几种方式)
本文主要总结了Java中遍历集合或数组的几种方式,并介绍了各种遍历方式的实现原理,以及一些最佳实践。最后介绍了Java集合类迭代器的快速失败(fail-fast)机制。<!-- more --> 遍历必然需要使用到循环结构,Java中有以下几种循环结构:
Keaper
@ 2020/09/15
如何编译"零汇编(Zero-Assembler)"的OpenJDK
在使用JetBrains CLion调试OpenJDK的过程中,有时候会发现Call Stack中有一部分是汇编代码,导致无法完全探究其内部实现。本文主要针对此问题给出了如何在不引入汇编代码(零汇编,Zero-Assembler)的情况下完成OpenJDK项目的编译和调试。<!-- more --> 在OpenJDK 编译调试指南一文中,已经详细介绍了编译调试OpenJDK的步骤,这里不再详述具体过程。