自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis快速入门(一)

文章目录何为Redis安装步骤概念介绍参数配置介绍何为RedisRedis是一个使用ANSI C编写,遵守BSD协议,基于内存运行并支持日志持久化的Key-Value的nosql数据库。其value支持String,Hash,List,Sets和Sorted Sets。安装步骤1.下载地址:http://download.redis.io/releases/redis-6.0.6.tar.gz2.安装c相关应用,防止编译redis报错,如果已经安装可以跳过。yum install gcc使

2020-08-20 15:30:09 791 1

原创 JDK动态代理手写尝试

文章目录代理模式JDK动态代理使用手写JDK动态代理思路解析代码代理模式所谓代理模式,即为其他对象创建代理以控制对这个对象的访问。主要在于解决需要被访问的对象不适合直接访问的问题。静态代理的实现简单理解就是继承代理类通过重写方法扩展代理类,而动态代理的实现较为复杂,原理上是JDK通过字节码技术和IO流直接生成继承了代理对象的.class文件,再通过ClassLoader将字节码加载到JVM中进行使用的技术。JDK动态代理使用JDK动态代理一般指的是调用Proxy.newProxyInstance(C

2020-08-06 17:59:57 264

原创 ReentrantLock公平/非公平锁源码解析

文章目录公平锁lock()源码解析ReentrantLock.lock(),Sync.lock()acquire(int arg)tryAcquire(int acquires)非公平锁lock()源码解析公平锁lock()源码解析公平锁通过ReentrantLock的有参构造new ReentrantLock(true)创建,在释放对象的锁后等待时间最久的线程将获取到对象的锁。ReentrantLock.lock(),Sync.lock()没什么好说的,调用继承AQS的Sync类的lock方法

2020-07-23 22:09:31 1048 1

原创 Java线程池及相关类学习笔记(用法,相关类)

文章目录线程池状态五种状态ThreadPoolExecutor构造方法六大线程池FixedThreadPool相关类线程池状态五种状态ThreadPoolExecutor构造方法以参数最全的构造方法为例:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime,

2020-07-10 11:01:16 596

原创 Java Thread类解析(结合Java源码与openjdk源码)

文章目录Thread类本地方法注册流程及映射关系启动线程:start(),start0()Thread类本地方法注册流程及映射关系Thread类在类初始化阶段第一件事就是调用registerNatives()注册start0(),interrupt0()等本地方法。 private static native void registerNatives(); static { registerNatives(); }registerNatives()方法在虚拟机

2020-07-07 10:41:46 669

原创 基于Windows64位系统与JOL验证Java锁优化真实存在

文章目录前序准备JOL包大小端模式证明Hash值只有计算后才会存储到Mark Word中证明JAVA虚拟机在启动前4秒左右会关闭偏向锁证明对象在计算HashCode后不会进入可偏向状态证明对象在可偏向状态时加锁后会记录线程ID,且释放锁后对象头不发生变化证明对象在无锁状态时加锁会变成轻量锁,释放锁后回到无锁状态证明对象处于轻量锁时被大于1个线程竞争会膨胀为重量锁证明对象处于偏向锁时被大于1个线程竞争会膨胀为重量锁证明偏向锁效率碾压轻量级锁证明轻量锁效率碾压重量级锁前序  大家应该都知道,JAVA存在自适

2020-07-03 18:12:15 758 3

原创 JConsole监控Tomcat教程

Windows监控本地tomcat1.进入%JAVA_HOME%\bin目录,打开jconsole.exe。2.选中tomcat进程,点击连接,ok。Windows远程监控Linux tomcat1.编辑%CATALINA_HOME%\bin\catalina.sh,在如图“#JAVA_OPTS=…”与“#------ Execute The…之间”插入以下代码(请根据实际情况填写参数,不要无脑复制粘贴)JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.j

2020-05-29 17:20:25 839

原创 Tomcat部署笔记

文章目录系统及软件版本要求部署1.部署第一个tomcat2.部署第二个tomcat可能出现的问题1.tomcat启动日志乱码:2.org.apache.catalina.webresources.Cache.getResource缓存不足系统及软件版本要求Windows:Windowsxp或Windows7以上tomcat:tomcat8.0及以上java:建议1.7及以上linux:常...

2020-04-30 15:45:49 373

原创 jdk1.8HashMap与ConcurrentHashMap源码解析

文章目录一、基础知识1.1二叉搜索树和红黑树一、基础知识说实话,写文章是会上瘾的,就好像小时候去游戏厅投了一个币之后,忍不住想买十个一样。自从上次笔者写了Jdk1.7HashMap与ConcurrentHashMap源码解析之后,就一直手痒想写jdk1.8的,于是就有了这篇文章。1.1二叉搜索树和红黑树你以为jdk1.8的HashMap仅由数组和链表组成?Too young too sim...

2020-04-08 21:54:53 763

原创 JAVA实现二叉搜索树和红黑树

https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

2020-04-05 20:03:47 500

原创 Oralcle常用函数,关键字及查询SQL整理(不定期更新)

文章目录表参考一、时间相关二、字符处理三、流程判断四、遍历递归五、特殊函数表参考本文所使用的表t_org详情如下图,建表语句及数据的sql附于文末。一、时间相关二、字符处理三、流程判断四、遍历递归五、特殊函数...

2020-03-26 21:20:34 1342

原创 Jdk1.7HashMap与ConcurrentHashMap源码解析(put,get详解)

前言一.基础知识二.HashMap解析

2020-03-10 23:08:58 1125

空空如也

空空如也

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

TA关注的人

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