自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java铭的博客

私人博客:http://jianjieming.com

  • 博客(17)
  • 收藏
  • 关注

原创 CAS和ABA问题

CAS简介CAS 全称是 compare and swap,是一种用于在多线程环境下实现同步功能的机制。CAS 它是一条CPU并发原语。操作包含三个操作数 – 内存位置、预期数值和新值。CAS 的实现逻辑是将内存位置处的数值与预期数值想比较,若相等,则将内存位置处的值替换为新值。若不相等,则不做任何操作。这个过程是原子的。CAS并发原语体现在java语言中的sun.misc.Unsafe类中...

2019-12-27 14:49:40 155

原创 数据结构---树结构

为什么需要树这种数据结构数组存储方式的分析优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低。链式存储方式的分析优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,链接到链表中即可,删除效率也很好)。缺点:在进行检索时,效率仍然较低,比如(检索某个...

2019-11-27 17:06:35 196 1

原创 排序算法小汇总

排序算法的介绍排序也称排序算法 (Sort Algorithm),排序是将一 组数据,依指定的顺序进行排列 的过程。排序的分类内部排序:指将需要处理的所有数据都加载到内部存储器中进行。外部排序法:数据量过大,无法全部加载到内存中,需要借助外部存储进行 排序。冒号排序冒泡排序(BubbleSorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素...

2019-10-18 15:54:01 163 1

原创 JUC——线程同步辅助工具类(Semaphore,CountDownLatch,CyclicBarrier)

CountDownLatchCountDownLatch是一个计数器闭锁,通过它可以完成类似于阻塞当前线程的功能,即:一个线程或多个线程一直等待,直到其他线程执行的操作完成。CountDownLatch用一个给定的计数器来初始化,该计数器的操作是原子操作,即同时只能有一个线程去操作该计数器。调用该类await方法的线程会一直处于阻塞状态,直到其他线程调用countDown方法使当前计数器的值变为...

2019-10-08 11:22:43 307 1

原创 Lambda表达式

Lambda表达式以下是lambda表达式的重要特征:可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。可选的大括号:如果主体包含了一个语句,就不需要使用大括号。可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定明表达式返回了一个数值。方法引用:方法引用通过方法的名字来...

2019-09-25 14:17:51 439 1

原创 线程池的7个参数

线程池线程池做的主要工作是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量,超出数量的线程排队等待,等其他线程执行完毕,再从队列中取任务来执行。Executor 线程池的顶级接口。Executors 线程池相关的工具类。线程池的主要特点为:线程复用;控制最大并发数;管理线程降低资源消耗。通过重复利用已创建的线程,降低线程创建...

2019-08-08 11:21:42 1944

原创 java中的一些锁

java中的一些锁公平锁公平锁就是按照有序的顺序,去依次获取锁,不允许插队。非公平锁非公平锁就是所有线程去抢锁,谁抢到谁先用,抢不到在去排队。 // 默认是非公平锁 Lock lock1 = new ReentrantLock(); // 公平锁 Lock lock2 = new ReentrantLock(true);非公平锁源码如下: /**...

2019-08-01 18:00:32 79 1

原创 查找算法~

线性查找public class SeqSearch { public static void main(String[] args) { int[] arr = {1, 9, 11, -1, 34, 89}; int index = serSearch(arr, 11); if (index == -1) { Sy...

2019-12-06 12:11:36 119 1

原创 java中文api

链接: https://pan.baidu.com/s/1ZEWkvIcPftF-axY_MZj6Iw 提取码: 3sxq

2019-08-02 11:30:28 1662

原创 面向对象~

什么是面向过程?把问题分解成一个一个步骤,每个步骤用函数实现,依次调用即可。就是说,在进行面向过程编程的时候,不需要考虑那么多,上来先定义一个函数,然后使用各种诸如if-else、for-each等方式进行代码执行。最典型的用法就是实现一个简单的算法,比如实现冒泡排序。什么是面向对象将问题分解成一个一个步骤,对每个步骤进行相应的抽象,形成对象,通过不同对象之间的调用,组合解决问题。就...

2019-08-02 10:57:25 120 1

原创 springboot-gradle-token

token的使用基于springboot-gradle创建项目,不懂得小伙伴可以前往我的博客: springboot使用gradletoken官网: https://jwt.io/token概念 token 令牌: JWT: JSON Web Token 是一种标准 java-jwt 框架 是java实现的JWT标准的一个框架 JWT标准: token由三部分组...

2018-11-01 20:56:22 1632

原创 更改springboot启动图案

图形素材网址: http://patorjk.com/software/taag/#p=testall&f=Zodi&t=Type Something

2018-10-31 20:55:20 2150

原创 Docker

Docker的基本使用副本和下面推送的不一致,截图出错,我手打把,如下:docker tag 05635ee9e1c7 admin666/busybox:qqq注意admin666与dockerHub上面的id一致导入导出...

2018-10-31 08:52:51 151 1

原创 Redis

Redis一. Redis特性速度快基于内存, C语言实现, 单线程架构, 集性能和优雅于一身的代码基于键值对的数据结构服务器REmote DIctionary Server. 值可以是字符串/哈希/列表/集合/有序集合, Bitmap等等丰富的功能键过期功能. 发布-订阅功能(实现消息系统), Lua脚本, 简单的事务, 流水线(Pipeline)简单稳定代码少...

2018-10-31 08:10:16 148

原创 Java操作Redis缓存

Redis缓存一.注解@EnableCaching 在SpringRedisApplication类中加添加,开启高速缓存.@Cacheable(value = “roleService”, key = “#roleId”)在service实现类中的方法上添加,表示给某个方法开启缓存,后面的key就是在返回值中拿到插入之后的数据,是在redis中的缓存中拿到的,不用再查询数据库...

2018-10-30 20:42:20 463

原创 SpringAOP

AOP 实现原理一: 静态代理实现了接口的针对这样的类进行扩展功能,可以使用装饰者模式.没实现接口的可以直接创建它的子类,进行扩展功能,也可以使用装饰者模式.使用AspectJ框架弊端使用1和2两种方式有一个很大的弊端,如果一个类或者接口方法过多,写起来很麻烦,必须把所有的方法都进行扩展一遍.想要解决这个问题,可以使用动态代理的方式.二: 动态代理使...

2018-10-29 09:13:34 111

原创 Angular框架

Angular框架一. 安装node环境.使用npm install -g @Angular/cli 来全局的安装Angular库.使用ng new Demo-name来创建一个Angular工程.进入工程目录下,使用ng serve --open或者ng serve -o,来开启并自动打开浏览器.终端如果关闭或者使用ctrl+c来终止工程的运行.二.目录介绍根目录下的pac...

2018-10-29 09:08:31 411

空空如也

空空如也

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

TA关注的人

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