
java
文章平均质量分 91
未曾路过
不忘初心,方得终始!
展开
-
String类不可变以及不可变类总结
String类在java中是immutable(不可变),因为它被关键字final修饰。当String实例创建时就会被初始化,并且以后无法修改实例信息。String类是工程师精心设计的艺术品。一、String为什么不可变? 要了解String类创建的实例为什么不可变,首先要知道final关键字的作用:final的意思是“最终,最后”。final关键字可以修饰类、方法...原创 2017-10-01 20:11:38 · 7285 阅读 · 4 评论 -
创建多线程的4种方式
线程被称为轻量级进程,是程序执行的最小单位,它是指在程序执行过程中,能够执行代码的一个执行单位。每个程序程序都至少有一个线程,也即是程序本身。线程的状态有5种:新建、运行、等待、阻塞和结束;创建线程的方式有4种。原创 2017-10-25 09:00:14 · 8604 阅读 · 1 评论 -
Java与线程实现
并发不一定要依赖多线程,但在Java中谈论并发时,大多数都与线程脱不了关系。一、线程的实现 线程是比进程更轻量级的调度执行任务,线程的引入,可以把一个进程的资源分配和执行调度分开,各个进程既可以共享进程资源,又可以独立调度(线程是CPU调度的基本单位)。 主流操作系统都提供了线程的实现,Java语言则提供了在不同硬件和操作系统平台下对线程操...原创 2017-10-29 10:15:49 · 1191 阅读 · 0 评论 -
Java中Object类之clone()方法详解
一、clone()方法 clone意思是克隆、复制。在Java语言中,当对象调用clone()方法时,就会复制已有的对象。clone()方法在根类Object中定义如下。/** * Class Object is the root of the class hierarchy. Every class has Object as a superclass. * Al...原创 2017-10-16 08:40:40 · 11474 阅读 · 1 评论 -
Java中Object类之finalize()方法的详解
程序员都知道“初始化”的重要性,但通常都会忘记清除的重要性。当然Java可用垃圾收集器回收不再使用的对象所占据的内存。但对于一个“特殊”的内存区域--没有使用new关键字来分配,垃圾收集器只知道释放那些由new分配的内存(垃圾收集器简介),那该如何回收这“特殊”的内存呢? Java提供了一个被称为收尾的机制。使用这个机制,你可以定义一些特殊的操作,这些操作将在一个...原创 2017-10-08 09:57:12 · 3419 阅读 · 0 评论 -
Java 枚举(enum)用法详解
Java1.5发行版本中增加了新的引用类型--枚举类型(enumtype)。枚举类型是指由一组固定的常量组成合法值的类型。在Java虚拟机中,枚举类是以用语法糖实现的,在进行编译时会转变成普通的Java类。 创建枚举类型要使用enum关键字,隐含了所创建的类型都是java.lang.Enum类的子类(java.lang.Enum是一个抽象类)。枚举类型的通用格式...原创 2017-10-13 18:04:17 · 2820 阅读 · 0 评论 -
浮点数运算精度问题分析与解决方案
最近在项目中遇到精度计算问题,用Double类型的数据减去Double类型的数据,得出的结果在预期之外,经过一番思考与学习,最后找到解决问题的方案。一、浮点数运算导致精度问题现象代码如下:Double num1 = 2.1;Double num2 = 2.0;System.out.println(num1 - num2);用人类的口算可以知道,结果是0.1。可是...原创 2019-08-04 22:19:50 · 4704 阅读 · 0 评论