2020年3月1日

Java基础之如何取舍Joda与 Java8 日期库

摘要:在 Java8 以前,时间和日期的类库很难用,而且有线程安全等诸多问题。 Joda time 弥补了 Java 在这方面的不足,但是在 Java8 时,增加了 java.time 包,对 Java 在日期 API 方面的进行了增强,这些代码实现了 JSR-310 的标准。Joda 的官方推荐迁移到 阅读全文

posted @ 2020-03-01 08:38 Java团长 阅读 (73) 评论 (0) 编辑

2020年2月29日

深入理解Java虚拟机3——垃圾回收

摘要:《深入理解Java虚拟机》第3章读书笔记 本文介绍了如何判断对象是否存活,三种垃圾回收算法,分析比较了几种垃圾收集器的特点。本文并非原创,是《深入理解Java虚拟机》第3章的整理、总结和补充。 对象已死? 垃圾收集器在对堆进行回收前,要先判断哪些对象“存活”,哪些已经“死去”。 引用计数算法 给对象 阅读全文

posted @ 2020-02-29 08:08 Java团长 阅读 (49) 评论 (0) 编辑

剖析Java OutOfMemoryError异常

摘要:在JVM中,除了程序计数器外,虚拟机内存中的其他几个运行时区域都有发生OutOfMemoryError异常的可能,本篇就来深入剖析一下各个区域出现OOM异常的情形,以及如何解决各个区域的OOM问题。 本篇主要包括如下内容: Java堆溢出 运行时常量池和方法区溢出 本地内存溢出 Java堆溢出 Ja 阅读全文

posted @ 2020-02-29 07:55 Java团长 阅读 (14) 评论 (0) 编辑

2020年2月28日

教你如何理解JAVA的I/O类库

摘要:花括号MC(huakuohao-mc):关注JAVA基础编程及大数据,注重经验分享及个人成长。 Java 的 I/O 流,说简单也简单,说复杂也复杂。复杂是因为进行一次常规的文件 I/O 操作通常要用到很多 I/O 基础类,这很容易让新手产生困惑。简单是因为它的设计思想其实很简单。只要理解了它的设计 阅读全文

posted @ 2020-02-28 17:11 Java团长 阅读 (15) 评论 (0) 编辑

2020年2月24日

Java源码解读系列(一):ArrayList

摘要:本文简单介绍了 ArrayList,并对扩容,添加,删除操作的源代码做分析。能力有限,欢迎指正。 ArrayList是什么? ArrayList 就是数组列表,主要用来装载数据。底层实现是数组 Object[] elementData,当我们装载的是基本数据类型 int, long, boolean 阅读全文

posted @ 2020-02-24 07:19 Java团长 阅读 (22) 评论 (0) 编辑

2020年2月23日

Java 并发之 Executor 框架

摘要:1 前言 在学习 JUC 的过程中我发现,JUC 这个包下面的文档写的十分的好,清楚又易于理解,这篇博客便是参考 JUC 中和 Executor 框架相关的一些类文档汇总出来的。 当然了,Executor 框架涉及到的类还是不少的,全部汇总的话时间成本太高,有点亏,所以这里主要就集中在了 Execu 阅读全文

posted @ 2020-02-23 17:34 Java团长 阅读 (22) 评论 (0) 编辑

使用Gradle但不使用Java插件构建Java项目

摘要:本文目标是探索在没有使用任何额外插件的情况下,如何使用 Gradle 构建一个 Java 项目,以此对比使用 Java 插件时得到的好处。 初始化项目 使用 Gradle Init 插件提供的 init task 来创建一个 Gradle 项目: gradle init --type basic - 阅读全文

posted @ 2020-02-23 09:48 Java团长 阅读 (43) 评论 (0) 编辑

2020年2月8日

《 Java 编程思想》CH02 一切都是对象

摘要:尽管Java中一切都看作为对象,但是操纵的标识符实际上对象的一个“引用”。 String s; // 这里只是创建了一个引用,而不是一个对象 String s = new String("abcd"); // 使用`new`操作符来创建一个对象,并将其与一个引用相关联 String s = "abc 阅读全文

posted @ 2020-02-08 16:29 Java团长 阅读 (18) 评论 (0) 编辑

2019年11月29日

&和&&的区别?

摘要:&运算符有两种用法:(1)按位与;(2)逻辑与。&&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true整个表达式的值才是true。&&之所以称为短路运算是因为,如果&&左边的表达式的值是false,右边的表达式会被直接短路掉,不会进行运算。很多时候 阅读全文

posted @ 2019-11-29 19:02 Java团长 阅读 (76) 评论 (0) 编辑

2019年11月28日

Java多线程看这一篇就足够了(吐血超详细总结)

摘要:进程与线程 进程是程序的一次动态执行过程,它需要经历从代码加载,代码执行到执行完毕的一个完整的过程,这个过程也是进程本身从产生,发展到最终消亡的过程。多进程操作系统能同时达运行多个进程(程序),由于 CPU 具备分时机制,所以每个进程都能循环获得自己的CPU 时间片。由于 CPU 执行速度非常快,使 阅读全文

posted @ 2019-11-28 15:03 Java团长 阅读 (386) 评论 (0) 编辑

导航