自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 float类型的存储形式

通过这篇文章将弄清楚以下几个问题: 1.任意一个小数如何用二进制表示 2.小数在计算机中如何存储 3.float类型的数为什么会有可能存在精度丢失 4.float类型的数的大小范围以及精度 1. 任何一个小数如何用二进制表示 我们先回顾一下一个十进制整数如何转换为二进制,写一个简单的将一个正整数转换为二进制的代码如下: public static String toBinaryString(long n) { StringBuilder s = new StringBui

2022-02-17 17:22:19 1267

原创 排序算法之归并排序

public class MergeSortTest { public static void main(String[] args){ int[] arrs = new int[]{3,5,6,2,4,1,6,8,4,3,0}; mergeSort(arrs,0,arrs.length - 1); System.out.println(A...

2019-04-07 17:25:38 256

原创 记一次JDK1.8HashMap resize()方法线程不安全验证

HashMap线程安全性问题算是老生常谈的问题了,HashMap的线程不安全性主要就体现在resize()方法中了,本文就针对HashMap resize()方法做一些线程安全性的测试,注意JDK版本为1.8,1.7不适用 1.先上JDK1.8 HashMap源代码 final Node<K,V>[] resize() { Node<K,V>[] ol...

2019-01-01 23:52:13 2530

原创 java return与finally执行顺序测试

       今天面试一家公司,笔试题目有一道是考察finally块与return的执行顺序,由于以前没去关注,这次又正好遇见,所以做一次记录。 先看代码: public class Test2 { private static int i = 0; public static int finallyTest(){ try{ System.out.println("enter ...

2018-10-31 13:51:42 1658

原创 记一次spring5源码完整编译过程

学习java已有3年之久,spring一直停留在应用阶段,两次面试阿里的经历让我深感学习spring源码的重要性,废话不多说,开搞! 1、环境: jdk1.8+spring5+gradle4.7+eclipse4.6 如果要参考该教程,环境最好一样(eclipse除外),因为以前编译过spring3,由于环境问题折腾了好久 2、检测jdk版本java -version 由于此次编译的...

2018-10-23 22:34:55 24549 12

原创 全面解析ThreadLocal类

考虑有下面的工具类:import java.text.SimpleDateFormat; import java.util.Date; public class DateUnits { private final static SimpleDateFormat sdf = new SimpleDateFormat(FormatType.TYPE1.type); public static...

2018-03-25 22:13:32 265

原创 java I/O之File类:遍历目录树

     《Java编程思想》第十八章看到的一个工具类,觉得有些作用,mark一下,主要是对一个指定目录下所有的文件进行遍历,主要代码如下:public class FileUtils { public static File[] local(File dir,final String regex){ return dir.listFiles(new FilenameFilter(){ ...

2018-03-18 20:05:50 359

原创 利用线程池来创建和管理线程

        传统的创建线程的方式有两种:继承Thread类和实现Runnable接口,Java SE5的java.util.concurrent包中放入执行器(Executor)将为你管理Thread对象,先来回顾以传统方法创建线程的方式:public class CreateThreadByImplRunnable implements Runnable{ protected int co...

2018-03-11 17:01:10 556

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除