- 博客(27)
- 收藏
- 关注
原创 @Validated注解对单个实体类与List集合的验证
文章目录@Validated注解对单个实体类与List集合的验证@Validated对单个实体类的验证在实体类上属性上添加对应的注解Controller中开启验证自定义异常处理器,捕获错误信息@Validated对List集合的验证@Valid嵌套校验@Valid与@Validated注解位置上的区别其他注解的含义参考@Validated注解对单个实体类与List集合的验证@Validated...
2020-03-16 15:05:32
14279
8
原创 JVM内存模型
可以在我的个人网站中查看该文章JVM内存模型该篇文章是 极客时间 《Java性能调优实战》中的内容,以下是自己整理的算是笔记吧。文章目录JVM内存模型JVM内存模型的具体设计堆(Heap)程序计数器(Program Counter Register)方法区Java8为什么使用元空间替代永久代?虚拟机栈(VM stack)本地方法栈(Native Method Stack)JVM的运行原理总...
2019-11-29 16:42:03
501
原创 高性能队列Disruptor
可以在我的个人网站中查看该文章????高性能队列Disruptor该篇文章是 极客时间 《Java并发编程实战》中的内容,以下是自己整理的算是笔记吧。文章目录高性能队列Disruptor简单使用RingBuffer如何提升性能程序的局部性原理Disruptor对比ArrayBlockingQueueArrayBlockingQueueRingBuffer如何避免“伪共享”Disruptor中的无...
2019-10-27 18:10:16
633
原创 JMH(Java基准测试工具套件)
文章目录JMH(Java基准测试工具套件)入门官网创建JMH测试JMH的基本概念NextJMH(Java基准测试工具套件)入门官网http://openjdk.java.net/projects/code-tools/jmh/创建JMH测试创建maven项目,添加依赖<?xml version="1.0" encoding="UTF-8"?><project x...
2019-10-24 22:34:38
965
原创 Java高并发与多线程
文章目录高并发与多线程线程synchronized关键字(**悲观锁**)那什么时候用自旋,什么时候用重量级锁?volatile关键字CAS (无锁优化 **乐观锁、自旋锁**)ReentrantLock 重入锁synchronized和ReentrantLock有什么不同?CountDownLatch 门闩CyclicBarrier(栅栏)Phaser(阶段)ReadWriteLock 读写锁S...
2019-10-22 13:34:38
2000
2
原创 ThreadPoolExecutor源码解析
文章目录ThreadPoolExecutor源码解析常用变量的解释构造方法提交执行task的过程addWorker源码解析(添加线程)线程池worker任务单元核心线程执行逻辑-runworkerThreadPoolExecutor源码解析以下是ThreadPoolExecutor源码,我是看不太懂,慢慢看吧。还有最近学的多线程高并发代码,很详细。JUC常用变量的解释// 1. `ctl...
2019-10-21 23:01:05
356
转载 彻底搞懂synchronized(从偏向锁到重量级锁)
文章转载自公众号苦逼的码农,作者 帅地。原文链接最近在学习多线程,被一堆锁弄得很烦,前几天发现一篇文章写的挺好,就转载来。还有这是我在学习多线程时的代码,其中也记了一些笔记,可以参考,代码还在持续更新。JUC彻底搞懂synchronized(从偏向锁到重量级锁)接触过线程安全的同学想必都使用过synchronized这个关键字,在java同步代码快中,synchronized的使用方式...
2019-10-14 11:47:23
745
转载 并发的核心:CAS 是什么?Java8是如何优化 CAS 的?
文章转载自公众号苦逼的码农,作者 帅地。原文链接最近在学习多线程,被一堆锁弄得很烦,前几天发现一篇文章写的挺好,就转载来。还有这是我在学习多线程时的代码,其中也记了一些笔记,可以参考,代码还在持续更新。JUC文章目录并发的核心:CAS 是什么?Java8是如何优化 CAS 的?synchronized:大材小用CAS:这种小事交给我CAS:谁偷偷更改了我的值来个版本控制吧Java8 对 ...
2019-10-11 11:32:57
222
转载 重量级锁、自旋锁、轻量级锁、偏向锁、悲观、乐观锁等各种锁
文章转载自公众号苦逼的码农,作者 帅地。原文链接最近在学习多线程,被一堆锁弄得很烦,前几天发现一篇文章写的挺好,就转载来。还有这是我在学习多线程时的代码,其中也记了一些笔记,可以参考,代码还在持续更新。JUC文章目录重量级锁、自旋锁、轻量级锁、偏向锁、悲观、乐观锁等各种锁重量级锁自旋锁自适应自旋锁轻量级锁偏向锁悲观锁和乐观锁总结重量级锁、自旋锁、轻量级锁、偏向锁、悲观、乐观锁等各种锁...
2019-10-09 15:43:00
462
2
原创 03-zookeeper理论相关——watch及API操作
也可以在我的个人网站中查看该文章????03-zookeeper理论相关——watch及API操作文章目录03-zookeeper理论相关——watch及API操作zookeeper中的事件和状态zookeeper客户端与zookeeper server连接的状态zookeeper中的watch事件(当zookeeper客户端监听某个znode节点"/node-x"时)watch机制watch特性...
2019-09-27 22:02:30
240
原创 02-Zookeeper理论相关——Paxos和ZAB
也可以在我的个人网站中查看该文章????02-Zookeeper理论相关——Paxos和ZAB文章目录02-Zookeeper理论相关——Paxos和ZABPaxos和ZABPaxos算法ZAB协议协议介绍消息广播崩溃恢复zookeeper选主流程(basic paxos)zookeeper选主流程(fast paxos)数据同步小结zookeeper工作原理参考文章02-Zookeeper理论...
2019-09-27 00:05:22
622
原创 01-Zookeeper集群安装及配置介绍
也可以在我的个人网站中查看该文章????01-Zookeeper集群安装及配置介绍文章目录01-Zookeeper集群安装及配置介绍不多bb,先安装(集群环境)zookeeper是什么文件系统监听通知机制zoo.cfg配置文件说明zookeeper使用查询相关指令创建相关指令修改相关指令删除指令最后参考文章01-Zookeeper集群安装及配置介绍不多bb,先安装(集群环境)下载链接zook...
2019-09-22 19:07:49
185
原创 深入浅出HashMap的设计与优化
可以在我的个人网站中查看该文章????深入浅出HashMap的设计与优化该篇文章是 极客时间 《Java性能调优实战》中的内容,以下是自己整理的算是笔记吧。文章目录深入浅出HashMap的设计与优化常用的数据结构HashMap的实现结构HashMap的重要性HashMap添加元素优化HashMap获取元素优化HashMap扩容优化问:实际应用中,设置初始容量,一般得是2的整数次幂,为什么?总结...
2019-09-19 17:36:11
259
原创 Mac连接远程服务器
Mac连接远程服务器在Mac下打开终端,进入/Users/wwr/.ssh (就是进入到自己的家目录,wwr是我的用户名,按自己实际情况改)查看文件 cat id_rsa.pub 复制内容。在想要连接的服务器里,进入 /root/.ssh编辑文件,authorized_keys,将刚刚复制的粘贴进该文件中。回到Mac,创建文件 config 写入以下内容:host 标识名称 ...
2019-09-12 15:47:49
1480
转载 Spring循环依赖的解决办法——带源码分析
原文链接:Spring IOC 容器源码分析 - 循环依赖的解决办法Spring循环依赖的解决办法前言在工作中,经常由于设计不佳或各种原因,导致类之间相互依赖。这些类可能单独使用时不会出现问题,但是在使用Spring进行管理的时候可能就会抛出BeanCurrentlyInCreationException等异常。当抛出这种异常时表示Spring解决不了该循环依赖。本文将说明Spring对...
2019-08-19 22:38:51
1415
原创 ArrayList还是LinkedList?使用不当性能差千倍
该篇文章是 极客时间 《Java性能调优实战》中的内容,以下是自己整理的算是笔记吧。文章目录ArrayList还是LinkedList?使用不当性能差千倍初始List接口ArrayList是如何实现的?ArrayList实现类ArrayList属性ArrayList构造函数ArrayList新增元素ArrayList删除元素ArrayList遍历元素LinkedList是如何实现的?Link...
2019-08-18 14:24:40
932
原创 MySQL(一)——重新认识MySQL
该篇文章是MySQL 是怎样运行的:从根儿上理解 MySQL的第二章内容,原文讲的非常好,推荐看原文,以下都是个人整理,不是很全。文章目录重新认识MySQLMySQL的客户端/服务端架构MySQL的安装启动MySQL服务器程序Unix里启动服务器程序mysqldmysqld_safemysql.servermysqld_multi启动MySQL客户端程序客户端与服务器连接的过程TCP/IP服...
2019-08-04 23:25:37
228
原创 Nginx 的安装和启动
文章目录Nginx 的安装和启动Nginx 和 TengineNginxTengineNginx 和 Apache 的优缺点Nginx相对于Apache的优点Apache相对于Nginx的优点Nginx解决的问题安装准备工作启动注意,这里有个坑Nginx 的安装和启动Nginx 和 TengineNginxNginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务...
2019-07-26 00:56:12
398
原创 FastDFS单机安装及Java API
文章目录FastDFS单机安装版本安装FastDFS依赖上传文件后解压缩编译安装创建软连接FastDFS主程序安装上传并解压缩编译安装服务配置程序脚本配置文件Tracker服务修改配置文件启动Tracker查看服务状态停止服务重启服务启动Storage配置文件启动服务查看服务状态停止服务重启服务Client修改配置文件删除文件Nginx组件fastdfs-nginx-module模块编译安装Ngi...
2019-07-25 00:45:01
1021
原创 FastDFS介绍及架构流程
文章目录FastDFS介绍架构上传流程下载流程binlogFastDFS和其他文件存储的简单对比FastDFS介绍技术论坛:http://bbs.chinaunix.net/forum-240-1.htmlFAQ:http://bbs.chinaunix.net/thread-1920470-1-1.html资源地址:https://sourceforge.net/projects/f...
2019-07-24 00:57:32
1218
原创 强大的Stream API以及并行流与串行流
文章目录Stream APIStreamStream操作的三个步骤创建Stream中间操作终止操作创建StreamStream的中间操作筛选与切片映射排序Stream的终止操作查找与匹配归约收集并行流与串行流了解Fork/Join框架Fork/Join框架与传统线程池的区别Stream APIStream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的...
2019-07-23 14:53:46
4094
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人