自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 终身学习读书笔记

终身学习读书笔记终身学习一、人的两种思维模式1、固定型思维模式2、 成长型思维模式二、两种思维模式的区别1.对自身评价的准确度不同2.对成功的看法不同3.对失败的看法不同4.对努力的看法不同5.脑波不同三、能力和成就的真相1.固定型思维模式限制人的成就2.成长型思维模式帮助人们发展能力、获得成就四、思维模式在不同领域的体现1.体育:冠军的思维模式2.商业:思维模式和领导力3.人机关系:人们相处的思维模式爱情关系中的思维模式社交中的思维模式4.教育:思维模式和教育父母教育孩子的思维模式教师教育孩子的思维模式五

2021-09-13 00:28:01 311

原创 Java并发编程基础

Java并发编程基础1 线程的简介1.1 什么是线程现代操作系统调度的最小单元是线程1.2 为什么使用多线程更多的处理器核心更快的响应时间更好的编程模型1.3 线程的优先级现代操作系统采用基本采用时分形式调度运行的线程,操作系统会分出一个个的时间片,线程会分配到若干个时间片,当线程的时间片用完后就会发生线程调度,并等待下次分配线程分配到的时间片多好决定了线程使用处理器资源的多少,而线程优先级就是决定线程需要多或者少分配一些处理器资源的线程属性注意:线程的优先级不能作为线程正确性的依

2020-06-08 20:35:22 185

原创 zookeeper-curator分布式锁实现及源码分析(三)

zookeeper分布式锁实现zookeeper分布式锁实现1.zookeeper-curator实现分布式锁2.源码分析2.1锁的初始化2.2 获取锁2.3 释放锁zookeeper分布式锁实现1.zookeeper-curator实现分布式锁public class DistributedLockDemo { public static void main(String[] ar...

2020-03-07 17:00:16 411

原创 Xshell在linux和windows之间传输文件

Xshell在linux和windows之间传输文件Xshell在linux和windows之间传输文件1.简介2.安装lrzsz3.rz/sz设置3.1 sz设置3.2 rz设置4.rz/sz使用Xshell在linux和windows之间传输文件最近发现了一个很好用的工具lrzsz推荐给大家1.简介rz,sz 是 Linux/Unix 同 Windows 进行 ZModem 文件传输的...

2020-03-04 23:21:15 733

原创 zopkeeper-curator基本操作(二)

zopkeeper-curator基本操作zopkeeper-curator操作1. zookeeper节点特性2. 查看node节点状态3. curator基本操作3.1 依赖jar包3.2 建立连接3.3 增删改查4. ACL权限4.1 ACL权限种类4.2zopkeeper-curator操作zookeeper环境信息请参考上一篇zookeeper环境搭建1. zookeeper节点特...

2020-03-04 00:26:20 348

原创 HttpClient连接池问题定位总结

HttpClient连接池问题定位总结1.问题现象2.问题定位3.模拟问题重现4.代码修复1.问题现象文件服务器在运行一段时间后,大量文件下载失败2.问题定位查看服务器日志,发现大量的连接池异常org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection from pool导致从O...

2020-02-28 20:19:07 799 1

原创 软件设计原则

软件设计原则软件设计原则1. 开闭原则2. 依赖倒置原则3. 单一职责原则4. 接口隔离原则5. 迪米特法则6. 里氏代换原则7. 合成复用原则软件设计原则1. 开闭原则定义:一个软件实体如类/模块和函数应该对拓展开放,对修改关闭用抽象构建框架,用实现扩展细节优点:提高软件系统的可复用性以及可维护性2. 依赖倒置原则定义:高层模块不应该依赖底层模块,二者都应该依赖其抽象抽象...

2020-02-23 17:36:45 185

原创 Java中SPI机制

Java中SPI机制Java中SPI机制1.SPI机制简介2.使用场景3. 使用介绍4.SPI案例4.1 生成接口和实现类jar包4.2 测试spiJava中SPI机制1.SPI机制简介SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架扩展和替换组件。Java SPI 实际上是“基于接口的编程+策略模式+...

2020-01-06 20:28:20 261

原创 RMI基本原理与实现

RMI基本原理与应用RMI基本原理与应用1. RMI基本原理2. 直接使用Registry实现rmi2.1 发布 RMI 服务2.1.1 定义一个 RMI 接口2.1.2 编写 RMI 接口的实现类2.1.3 发布 RMI 服务2.2 调用 RMI 服务3. 使用zookeeper实现rmi3.1 定义一个 RMI 接口3.2 编写 RMI 接口的实现类3.3 服务提供者3.4 发布服务3.5 服...

2020-01-04 16:04:13 1671

原创 zookeeper环境搭建(一)

zookeeper环境搭建zookeeper环境搭建1.下载安装包2.单机搭建3.集群环境搭建3.1配置zoo1服务3.2配置zoo2服务3.3配置zoo3服务4.测试集群zookeeper环境搭建1.下载安装包下载安装包登录zookeeper官网:https://zookeeper.apache.org/可以从官网上下载,流程如下地址:https://zookeeper.apache...

2019-12-16 18:43:28 201

原创 分布式系统中的幂等性

分布式系统中的幂等性分布式系统中的幂等性1.幂等性介绍2.幂等性场景3.crud操作的幂等性分析4.如何解决幂等性问题分布式系统中的幂等性1.幂等性介绍幂等的概念来自数学,比如对于一元函数来说满足:f(f(x))=f(x)即可称为满足幂等性在计算机科学中,一个操作如果多次执行产生的影响与一次执行产生的影响相同,这样的操作即符合幂等性在分布式系统中,服务消费方调用服务提供方的接口,多次调...

2019-11-19 11:12:38 513

原创 JVM垃圾收集算法

JVM垃圾收集算法JVM垃圾收集算法1 对象是否是垃圾1.1 引用计数算法1.2 可达性分析算法1.3 再谈引用1.4 finalize方法1.5 回收方法区2. 垃圾收集算法2.1 标记-清除算法2.2 复制算法2.3 标记-整理算法2.4 分代收集算法JVM垃圾收集算法1 对象是否是垃圾判难断对象是够是垃圾一般有两种算法:引用计数算法和可达性分析算法,JVM使用的可达性分析算法1.1 ...

2019-11-10 15:18:39 107

原创 JVM类加载机制

JVM类加载机制JVM类加载机制1.类加载的过程1.1加载1.2验证1.2.1文件格式校验1.2.2 元数据验证1.2.3 字节码验证1.2.4 符号引用验证1.3 准备1.4 解析1.5 初始化2 类加载器2.1 类与类加载器2.2 双亲委派模型2.3 破坏双亲委派模型JVM类加载机制虚拟机把描述类的数据从Class文件加载到内存中,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直...

2019-11-04 08:21:16 214

原创 JVM内存结构

JVM内存结构JVM内存结构JVM内存结构

2019-11-03 20:37:15 470

原创 力扣142:环形链表II

环形链表II:给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。解答方法1:思路:我们可以使用一个set集合来存储元素,当如果set中有重复值出现是代表有环且为环的入口算法:首先,我...

2019-10-29 19:33:24 203

原创 Java并发机制的底层实现原理

Java并发机制的底层实现原理Java并发机制的底层实现原理1.volatile的应用1.1 volatile的定义和实现原理2.synchronized实现原理与应用2.1Java对象头2.2锁的升级与对比2.2.1偏向锁2.2.2轻量级锁3.原子操作的实现原理3.1处理器如何实现原子操作Java并发机制的底层实现原理1.volatile的应用volatile是轻量级的synchroniz...

2019-10-27 21:22:15 279

原创 Mysql锁机制

Mysql锁机制MySQL锁机制1. 锁定义2.MySQL存储引擎3.InnoDB锁3.1 事务介绍3.2 事务的四特性(ACID)3.3 并发事务带来的问题3.4 事务隔离级别3.5 对行锁算法进行分析3.6 InnoDB锁使用情况MySQL锁机制1. 锁定义锁是计算机协调多个进程或线程并发访问某一资源的机制MySQL最显著的特点是不同的存储引擎支持不同的锁机制。例如:MyIsAM和ME...

2019-10-27 14:36:54 306

原创 Redis主从复制

Redis复制1 配置1.1 建立复制1.2 断开复制1.3 安全性1.4 只读1.5 传输延迟在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他机器,满足故障恢复和负载均衡等需求。1 配置1.1 建立复制参与复制的Redis实例划分为主节点和从节点。默认情况下,Redis都是主节点,复制的数据是单向的,只能由主节点复制到从节点。配置复制有三种方式在配置文件中加入sla...

2019-10-24 00:39:39 117

原创 Mysql-5.7.27-winx64 安装配置教程

Mysql-5.7.27-winx64 免安装版配置教程1.下载安装包2.配置环境变量3.配置my.ini文件4.安装MySQL5.设置mysql密码最近换了台电脑,重新安装下mysql还是遇到点问题,记录下1.下载安装包mysql历史版本下载地址https://downloads.mysql.com/archives/community/本教程下载的是Mysql-5.7.27-winx...

2019-10-22 14:57:32 852

原创 Redis内存管理

Redis内存管理1.内存消耗1.1内存使用统计1.2.Redis进程内内存消耗自身内存对象内存缓存内存内存碎片1.3子进程内存消耗2.内存管理2.1设置内存上限2.2 动态调整内存上限2.3内存回收策略2.3.1删除过期键对象2.3.2 内存溢出控制策略3 内存优化3.1 redisObject对象3.2 缩减键值对象3.3 共享对象池3.4 字符串优化3.4.1 字符串结构3.4.2 预分配机...

2019-10-22 00:35:47 313

原创 Mybatis之Interceptor原理分析

Mybatis之Interceptor原理分析Mybatis之Interceptor原理分析Interceptor介绍Interceptor具体使用1.新增实现类2.配置文件配置拦截器源码分析1.读取配置文件plugins加载到内存中2.执行sql的命令时从内存中获取拦截器,执行拦截操作Mybatis之Interceptor原理分析Interceptor介绍Mybatis提供了一种插件plu...

2019-10-20 08:33:05 306

原创 Spring之PropertyPlaceholderConfigurer加载配置文件

Spring源码之PropertyPlaceholderConfigurer1.是什么2.工作场景3.使用方法工作场景1的使用方法工作场景2的使用方法代码中不通过注解获取配置属性4.源码分析1.是什么PropertyPlaceholderConfigurer是spring中bean的后置处理器的实现类,也就是BeanFactoryPostProcessor接口的一个实现类2.工作场景工程...

2019-10-16 19:42:42 1290

原创 RSA鉴权算法

RSA鉴权算法代码代码package com;import org.apache.commons.codec.binary.Base64;import java.io.IOException;import java.security.GeneralSecurityException;import java.security.KeyFactory;import java.secur...

2019-10-14 18:13:18 724

原创 Redis集群

Redis集群Redis集群数据分布数据分区理论基础Redis数据分区集群功能限制Redis集群Redis Cluster是redis的分布式解决方案,在3.0版本正式推出后,有效地解决了Redis分布式方面的需求。Redis分布式的方案一般由两种:客户端分区方案,优点是分区逻辑可控,缺点是需要自己处理数据路由,高可用,故障转移等问题;代理方案,优点是简化客户端分布式逻辑和升级维护便利,...

2019-10-14 00:39:32 1293

原创 Redis主从复制和哨兵环境搭建

Redis哨兵机制新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入本文进行哨兵机制的测试,在一个单板上搭建三个...

2019-10-09 20:11:00 120

原创 Redis持久化

Redis持久化Redis持久化1 RDB1.1 RDB触发机制1.2 流程说明1.3 RDB文件的处理1.3 RDB优缺点Redis持久化Redis支持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时,利用之前持久化的文件即可实现数据恢复。1 RDBRDB持久化是把当前进程数据生成快照保存在磁盘的过程,触发RDB持久化的过程分为手动触发和自动触...

2019-10-09 00:06:28 1218 2

原创 Integer实现

今天抽时间对Integer的源码实现进行研究下从一道经典的题目开始讲起:我们如何进行两个Integer类型的交换?首先我来演示一种错误的做法 public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException { Integer a =1, b =2...

2019-01-27 21:57:40 231

原创 Java集合

数据结构关注点(1)数组和链表的区别(2)链表的操作,如反转,链表环路检测,双向链表,循环链表相关操作(3)队列,栈的应用(4)二叉树的遍历方式以及其递归和非递归的实现(5)红黑树的旋转算法关注点(1)内部排序:如递归排序、交换排序(冒泡、快排)、选择排序、插入排序;(2)外部排序:应掌握如何利用有限的内存配合海量的外部存储来处理超大的数据集拓展(1)哪些排序是不稳定的,稳...

2019-01-25 20:35:29 143

原创 Java异常体系

一.异常处理机制主要回答三个问题(1)what:异常类型回答了什么被抛出(2)where:异常堆栈跟踪回答了在哪抛出(3)why:异常信息回答了为什么被抛出二.Java异常体系类的继承关系Error和Exception区别(1)Error:程序无法处理的系统错误,编译器不做检查,如系统奔溃,虚拟机错误,系统内存不足(2)Exception:程序可以处理的异常,捕获后可以...

2019-01-24 22:05:44 355

原创 面试题目总结

1.Object中finalize()方法的作用是否和c++中的析构函数作用相同?(1)与C++的析构函数不同,析构函数调用明确,而它的是不确定的(2)将未被引用的对象放置与F-Queue队列(3)方法执行随时可能会被终止(4)给予对象最后一次重生的机会2.java中强引用,软引用,弱引用,虚引用有什么用?级别:强引用>软引用>弱引用>虚引用Java引用类型...

2019-01-22 22:50:10 124

原创 jvm垃圾收集器

一.垃圾收集器之间的联系其中,连线之间代表能够相互配合使用二.新生代垃圾收集器介绍1.serial收集器(-XX:+UserSerialGC,复制算法)(1)java最基础也是最基本的收集器(2)单线程收集,进行垃圾收集时,必须暂停所有的工作线程(3)简单高效,client模式下默认的年轻代收集器2.ParNew收集器(-XX:+UserParNewGC,复制算法)...

2019-01-22 22:12:15 168

原创 javax.imageio.IIOException: Unsupported Image Type异常

 [2018-07-23 14:45:58.699] [http-nio-28080-exec-6] ERROR  - paserThemeZip IOException. javax.imageio.IIOException: Unsupported Image Type        at com.sun.imageio.plugins.jpeg.JPEGImageReader.read...

2019-01-16 22:11:46 6621

原创 SUSE通过rsync+inotify实现文件同步

最近现网出现了一个现网问题,有主备两个文件存储系统,其中主文件存储系统占用大小为15T,备用的文件存储系统占用大小为21T,导致备用文件存储系统告警现网中采用的文件同步系统是rsync+inotify-tools实现的问题的原因在与同步的脚本有问题,主文件存储系统导致文件被删除后没有同步到备用文件存储系统。本人决定在开发环境进行搭建改系统验证脚本的正确性。科普一下:rsync是Li...

2019-01-16 22:10:51 475

原创 liunx上JDK安装配置

一.拷贝JDK安装包拷贝JDK的安装包到执行目录下(例如://usr/java)把JDK进行压缩tar -cvzf jdk1.8.0_172.tar.gz jdk1.8.0_172把压缩包传到指定单板上 scp jdk1.8.0_172.tar.gz [email protected]:/usr/java/二.解压JDK安装包tar -xzvf jdk1.8.0_172....

2019-01-16 22:09:47 168

原创 Processing of multipart/form-data request failed. Unexpected EOF read on the socket异常分析

一.异常信息描述现网中出现上传过程中加载文件流异常错误的异常日志 二.具体定位过程 org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. Unexpected EOF read on the...

2019-01-16 22:08:18 17916 2

原创 File.mkdirs()现网并发创建失败

一.现网问题描述现网在同一文件分片上传的过程中发生创建目录失败,抛出异常二,定位问题从日志中能够看出上传分片的顺序是1,2,0,3,4第二个分片请求上传首先到达进行创建目录第三个分片请求上传进行创建目录失败 看代码进行分析已经很明显啦,导致的问题是分片上传的过程中并发上传分片,同时创建相同目录,导致在下面代码红色标记的地方发生并发。而file...

2019-01-16 22:07:09 3266

原创 SpringMVC工作原理

一.SpringMVC工作原理二.SpringMVC工作流程1.用户发送http请求至前端控制器DispatchServlet2.前端控制器调用处理器映射器HandlerMapping3.处理器映射器找到具体处理器(可通过xml,注解进行查找),生成处理器以及处理器拦截器一并返回给DispatchServlet4.前端控制器调用处理器适配器5.处理器适配器找到具体的处理...

2019-01-16 22:05:36 2996

原创 HashMap原理理解

HashMap是基于hashing原理来实现的,在java中是通过Map接口来实现的,以key-value形式存在。通过get和set方法来获取和存储对象。当我们把键值传递给put方法时,它会调用键对象的hashcode方法来计算hashcode,然后找到对应数组位置来存储Entry对象。当获取对象时,通过对象的equals方法找到正确的键值对,然后返回对象。HashMap在JDK1.7是通过链表...

2019-01-16 22:04:00 106

原创 设计模式--------单例模式

一.单例模式概述单例模式(singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点通常我们可以让一个全局变量使得一个对象被访问,但它不能防止被实例化多个对象,一个最好的办法就是:让类自身负责保存它的唯一实例,这个类可以保证没有其他实例可以被创建,并且它可以提供一个该实例的方法。单例模式的构造方法是private,这就堵死了外界利用new来创建此类型实例的可能,提供一个获取该实例的...

2018-06-10 19:09:12 102

原创 java基础学习-泛型

一.泛型出现的背景在泛型出现以前,让我们一起来先看一个例子package com.company;import java.util.ArrayList;import java.util.Iterator;public class GenericTest { public static void main(String[] args) { ArrayList...

2018-06-10 15:59:40 112

pytorch Elastic

pytorch Elastic

2023-11-29

空空如也

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

TA关注的人

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