java
张大教主
怪我咯!!!
展开
-
乐观锁和悲观锁剖析
怎么定义乐观锁和悲观锁?乐观和悲观是一种态度,展示了站在不同的角度看待问题的方式。乐观的人认为事情总会往好的方向发展,悲观的人认为事情总会往坏的方向发展,角度不同,采取的措施也不同。不能说谁好谁坏,各有优缺点。悲观锁共享的资源每次只能给一个线程使用,其他线程处于阻塞状态,用完之后才释放资源给其他线程使用。传统的关系型数据库里就用了很多这种锁机制,比如:行锁、表锁、读锁、写锁等,都是...原创 2019-03-25 17:17:52 · 218 阅读 · 0 评论 -
HashMap内部存取原理详解
一 简介Java开发中,HashMap是我们比较普遍使用的集合类。它继承了abstractMap并且实现了Map接口,内部是基于哈希表实现了键值对的存储。它的put/get方法虽然很容易,但部分同学可能没有关注过HashMap内部是怎么实现的,原理又是什么,下面就给大家好好介绍一下。二 HashMap几个相关参数initialCapacity:初始容量。指的是HashMap初始化时的...原创 2019-03-22 16:58:32 · 708 阅读 · 0 评论 -
Sychronized和Lock对比剖析
一 开篇客观的讲,synchronized 和 lock都属于悲观锁(共享的资源每次只能给一个线程使用,其他线程处于阻塞状态,用完之后才释放资源给其他线程使用)。都能够实现数据的同步访问,sychronized是java中的一个关键字,属于java内置的语言特性,在Java1.5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。...原创 2019-03-26 15:03:33 · 451 阅读 · 0 评论 -
Redis 缓存相关
一 Redis可缓存的数据类型String,List,Hash,Set,ZSet二 Redis常见的命令2.1 String类型的命令GET-获取key值,存在返回value,不存在返回特殊字符:nil INCR-将key中储存的数字值增一。如果key不存在,那么key的值会先被初始化为0,然后再执行INCR操作。如果值包含错误的类型,或字符串类...原创 2019-03-28 16:55:00 · 349 阅读 · 1 评论 -
IDEA+Gradle+SpringBoot 创建spring web项目,SpringBoot集成html,JSP
前提:本地安装了jdk,并配置系统变量JAVA_HOME,Path 本地下载了gradle-4.10u并配hu系统变量GRAhuLEchHOME,Path1.打开IDEA,创建project项目2.项目管理工具选择gradle,点击Next3.勾选项目基本组成部分4.点击Finish创建项目5.项目目录结构如下,标红部分是自己创的注意,如果...原创 2019-05-14 14:40:32 · 1321 阅读 · 0 评论