自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java大数BigInteger的原理

引言在java中,整型分为Integer(4 bytes 32位)和Long(8 bytes 64位)两种类型,因此java中一个整数最多只能占64个bits,并且java中不存在无符号数,无论是Integer类型还是Long类型都是有符号数。当我们需要表示一个超过64 bits的数时,就需要用到BigInteger类型,BigInteger是java包提供的一个大数类型,它的原理就是将大数拆分成一个int[]表示,理论上该int[]数组的长度可以无限增大,该类提供了普通整型具有的所有运算方法,包括加减

2020-12-07 16:15:19 2442

原创 Mysql批量插入数据时是否为原子操作

摘要mysql支持批量插入,即insert into values(),().. ,可以一次插入多条数据,那么这一次插入是否为原子操作呢?通过测试验证一下mysql一次批量插入结果是不是要么全部插入成功,要么全部插入失败建立测试表建立一个带unique key的表作为实验表,当插入重复uk的数据mysql会插入失败CREATE TABLE `uk_test` ( `id` bigint(32) NOT NULL AUTO_INCREMENT, `ip` varchar(3.

2020-11-17 15:05:42 1844

原创 Java源码阅读之HashMap

目录putVal方法迭代器的实现方法迭代器迭代器的获取putVal方法final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] tab; Node<K,V> p; in...

2019-07-17 14:36:24 102

原创 详细解释HashMap中tableSizeFor函数

最近在看一些集合的源码,看到HashMap感觉用到了很多移位运算的技巧,看了好一会儿才明白,记一下以免以后再忘了后面有时间会整理完整的源码HashMap中有这样一段代码,当初始化HashMap时,如果指定了初始容量initialCapacity,由于哈希桶的数目必须是2的n次幂,因此要把initialCapacity转化为比它大的最小的2的n次幂数,例如initialCapacity = ...

2019-07-10 16:30:27 1210

原创 JVM学习之类加载过程

类加载过程发生在java程序编译和运行之间,java运行过程可以分为 编译 -> 类加载 -> 执行类加载由jvm完成,可以分为三步:加载 -> 链接-> 初始化 (这里的加载和类加载不同)1. 加载我们知道编译.java文件之后会生成.class文件,这一步就是将编译生成的.class二进制文件加载到内存,放在运行时区域的方法区内供程序使用,然后在堆中创建该类...

2019-07-09 21:37:42 80

原创 Java多线程学习之ThreadLocal类的简单理解

ThreadLocal提供了线程本地变量,当创建一个ThreadLocal变量后,每个线程访问ThreadLocal变量的时候访问的都是自己线程中的变量,而不是共享变量。1ThreadLocal类的使用先看一个例子public class TestThreadLocals { static ThreadLocal<String> local = new Thre...

2019-07-04 21:14:16 144

原创 Java多线程学习之内存模型

目录1. Java的内存模型1.1 JVM内存结构1.2 多线程下Java的内存模型1.3 多线程的不可见问题1. Java的内存模型1.1 JVM内存结构Java中的每个线程拥有独立的栈空间,但是同一个进程中的多线程共享一块堆内存,JVM的内存结构:1)程序计数器:每个线程私有的,当前线程执行字节码的行号指示器2)虚拟机栈:每个线程被分配一段栈,线程...

2019-07-04 20:24:56 79

原创 Java集合框架之ArrayList源码解析

目录成员变量及构造方法Add方法Add(int index)方法addAll(Collection c)方法remove(int index)方法成员变量及构造方法public class ArrayList<E> extends AbstractList<E> implements List<E>, Rand...

2019-07-03 20:40:49 106

原创 servlet+ajax+json实现前后端分离

这里写自定义目录标题1. 前后端分离的理解1.1 以一个简单的例子说明后端渲染的过程1.2 前后端分离1.2.1 Servlet产生json数据1.2.2 前端通过ajax获取json数据,并渲染到前端界面1. 前后端分离的理解1.1 以一个简单的例子说明后端渲染的过程示例:提交表单信息,返回提交的信息点击提交后:注意看url已经发生变化以下是表单html代码 <f...

2019-05-14 15:55:15 2837 1

空空如也

空空如也

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

TA关注的人

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