自定义博客皮肤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)
  • 收藏
  • 关注

原创 集合之HashMap

前言Map这样的Key Value形式在软件开发中是非常经典的结构,经常用于内存中存放数据。HashMap众所周知HashMap底层是基于数组+链表组成的,不过在JDK1.7和JDK1.8中具体实现稍有不同JDK1.8 /** * 初始化默认的桶大小为16,通常是为2次幂的大小,原因是: n-1 通过 二进制表示,永远都是尾端以连续1的形式表示(00001111,000...

2020-06-13 17:07:08 88

原创 ArrayList之线程不安全

一、为什么是线程不安全我个人认为原因主要有两个:1、我们先来看看JDK源码中的插入源码 public boolean add(E e) { ensureCapacityInternal(size + 1); // Increments modCount!! 验证是否能被插入 elementData[size++] = e; //2 return true; }从第二行可以看到,索引是自增型的,在单线程的环境中,这个死没有问题的,但是到

2020-06-13 16:53:40 108

原创 一、理解网络编程与套接字的相关概念

1、什么是套接字?现在的计算机都连接在一个巨大的因特网上,各个计算机之间的物理连接已经是小问题,那如何将某一台计算机的应用程序连接到因特网上呢?那么此时就通过“套接字”来完成。2、如何来创建套接字呢?以接受连接请求的服务端为例(用C语言的函数表示): 1、调用socket函数,返回值即为套接字的文件描述符。int socket(int domain, int type, int pro...

2020-04-14 16:33:39 133

原创 通过ReentrantLock来了解AQS

1、AQS的简单介绍AQS是一个抽象类,该类采用的是模板设计方式,内部维护了一个链表用于存储当时没有获取到的锁的线程,其底层实现是依靠着Unsafe类即实现了CAS算法的类和通过设置状态值来判断当前锁的使用情况。2、ReentrantLock的源码分析public class ReentrantLock implements Lock, java.io.Serializable { ...

2020-03-04 15:58:38 86

原创 创建型模式——单例模式

一、饿汉式(线程安全)1.1静态常量式public class Ehanshi_1 { private Ehanshi_1() {} private static Ehanshi_1 instance = new Ehanshi_1(); public static Ehanshi_1 getIntance() { return instance; }}优缺点:优点:这种...

2019-10-06 17:02:51 50

原创 一、synchronized关键字原理

众所周知synchronized关键字是解决并发问题常用的解决方案,有以下三种使用方式:同步普通方法,锁的是当前对象同步静态方法,锁的是当前Class对象同步块,锁的是()中的对象实现原理:JVM是通过进入、退出对象监视器(Monitor)来实现对方法、同步块的同步的。具体实现是在通过编译之后在同步方法之前加入一个monitor.enter指令,在退出方法和异常处插入monito...

2019-10-06 10:45:49 111

原创 基数排序

package cn.gs.radixsort;import java.util.Arrays;/** * 基数排序 * 桶排序的扩展 * @author Administrator * 实现思路:将整数按位数切割成不同的数字,然后按每个位数分别比较 * 出现的小bug:遇到负数会出现索引越界的异常 * 解决方案:1.对负数和正数分开处理,最后进行拼接 * 2.分别加...

2019-09-03 23:05:58 58

原创 数据库事务隔离级别及四大特性

数据库事务隔离级别的四大特性- 四大特性(1)原子性(Atomicity)原子性指的是事务操作要么全部成功,要么全部回滚。简单的来说就是操作成功,就完全应用到数据库中;操作失败,则不影响到数据库中的数据。(2)一致性(Consistency)一致性指的是一个事务执行前后必须保持一致性状态。打个比方:AB两人在银行的总金额为1000,他们之间不管如何转账,转账多少次,他们的总金额...

2019-07-27 12:19:44 144

空空如也

空空如也

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

TA关注的人

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