自定义博客皮肤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 1182

原创 排序算法之归并排序

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 219

原创 记一次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 2481

原创 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 1619

原创 记一次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 24394 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 241

原创 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 335

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

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

2018-03-11 17:01:10 512

空空如也

空空如也

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

TA关注的人

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