自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 如何显示IntelliJ IDEA工具的Run Dashboard功能

从 JetBrains released IntelliJ IDEA 2017.2.1 版本之后,新出的功能Run Dashboard,它能非常方便的提供开发人员查看本地springboot服务运行的一些参数,功能相当优秀。但IDEA默认不显示此功能,可以通过下面的方式来打开它点击IDEA上面工具栏View—Tool Windows—Run Dashboard 即可打开界面如果Tool Windows的子选项里没有Run Dashboard,可以在工程目录下找.idea文件夹下的workspace

2021-04-30 15:04:47 175 1

原创 基于SpringBoot的跨域解决方案-CORS

什么是CORSCORS是一个W3C标准,全称是"跨域资源共享”(Cross-origin resource sharing)。它允许浏览器向跨源(协议 + 域名 + 端口)服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。CORS需要浏览器和服务器同时支持。它的通信过程,都是浏览器自动完成,不需要用户参与。浏览器做了什么浏览器将CORS请求分成两类:简单请求(simple request)和非简单请求(not-so-simple request)。浏览器发出CORS

2021-01-07 10:23:42 182 1

原创 Tomcat 启动日志乱码

场景再现修改后打开logging.propertiesvi tomcat/conf/logging.properties修改java.util.logging.ConsoleHandler.encoding = utf-8>>>java.util.logging.ConsoleHandler.encoding = GBK

2020-09-14 10:58:09 207

原创 Git回滚远程分支

本地代码回滚到上一版本(或者指定版本)git reset --hard HEAD~1加入-f参数,强制提交,远程端将强制跟新到reset版本git push -f origin master

2020-09-03 10:01:16 385

原创 Nginx locaion配置指令介绍

概述location配置指令的功能是用来匹配不同的url请求,进而对请求做不同的处理和响应location匹配参数参数解释空location后没有参数直接跟着URI,表示前缀匹配,代表跟请求中的URI从头开始匹配。~执行一个正则匹配,区分大小写。~*执行一个正则匹配,不区分大小写。^~普通字符匹配,多用来匹配目录。=执行普通字符精确匹配。@“@” 定义一个命名的 location,@定义的locaiton名字一般用在内部定向,例如error

2020-06-13 16:34:32 149

原创 Nginx 配置详解

配置文件结构#全局配置events { #events配置}http { #http块 server { #server块 location [PATTERN] { #location块 } location [PATTERN] { } } server { }}全局配置:配置影响nginx全局的指令。包括运行nginx服务器的用户组,ngi

2020-06-13 16:22:54 329

原创 Linux运行jar包

同步运行java -jar demo.jar --server.port=8080执行后窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口退出程序后台运行java -jar demo.jar --server.port=8080 &执行后窗口不被锁定,但是当窗口关闭时,程序中止运行不中断运行#缺省执行(执行日志输出到nohup.out的文件中)nohup java -jar demo.jar --server.port=8080 &#自定义日志文件执行noh

2020-06-13 15:08:57 144

原创 运行和控制Nginx

Nginx命令参数# 当前位置[root@localhost sbin]# pwd/usr/local/nginx/nginx-1.4.2/sbin# 缺省的方式启动 Nginx./nginx# 为 Nginx 指定一个配置文件,来代替缺省的./nginx -c </path/nginx.cnof># 不运行,仅测试配置文件./nginx -t# 显示 nginx 的版本./nginx -v# 显示 nginx 的版本,编译器版本和配置参数./nginx -V使用信

2020-06-11 08:21:24 374

原创 Nginx安装

编译环境准备ubuntuapt-get install build-essentialapt-get install libtoolCentOS#安装makeyum -y install gcc automake autoconf libtool make#安装g++yum install gcc gcc-c++#安装PCRE库yum install -y pcre pcre-devel#安装zlib库yum install -y zlib zlib-devel##也可一步完成

2020-06-10 19:56:50 112

原创 CentOS 7防火墙管理

防火墙基本操作#查看防火墙状态firewall-cmd --state#打开防火墙systemctl start firewalld#停止防火墙systemctl stop firewalld防火墙开机启动#设置开机自启systemctl enable firewalld#禁止开机自启systemctl disable firewalld#查看是否为开机自启systemctl is-enabled firewalld防火墙端口操作#查看当前防火墙开放的端口firewall

2020-06-10 08:27:43 87

原创 CentOS 7 下 ifconfig command not found

报错内容[root@localhost ~]# ifconfig-bash: ifconfig: command not found查看ifconfig命令是否存在如果ifconfig命令存在,查看环境变量设置不存在则直接安装工具包[root@localhost ~]# yum install net-tools

2020-06-07 17:54:53 252

原创 Centos 7 安装修改yum数据源(使用aliyun数据源)

备份数据源mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak下载aliyun数据源wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repowget指令不存在[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo h

2020-06-07 17:33:55 739

原创 搭建otter水獭-Canal访问数据库权限问题

异常信息pid:1 nid:1 exception:canal:test_canal:com.alibaba.otter.canal.parse.exception.CanalParseException: command : 'show master status' has an error! pls check. you need (at least one of) the SUPER,REPLICATION CLIENT privilege(s) for this operation解决创建用

2020-05-29 17:05:12 1092

原创 解决Mysql用户无Grant权限

修改配置参数vi /etc/my.cnf[mysqld] 下面追加skip-grant-tables配置# For advice on how to change settings please see# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html[mysqld]skip-grant-tables## Remove leading # and set to the amount of

2020-05-29 16:40:11 1368

原创 修改Mysql数据库默认字符集

查询当前字符集mysql> show variables like 'character%';+--------------------------+----------------------------+| Variable_name | Value |+--------------------------+----------------------------+| character_set_client | u

2020-05-29 15:47:47 447

原创 JUC并发容器类

ArrayListArrayList是一个可变长度的数组,构造时可以指定一个数组初始长度,不指定则默认为0扩容机制扩容过程创建一个新的数组,长度为newCapacity把旧的数组数据elementData拷贝到新数组elementData = Arrays.copyOf(elementData, newCapacity);扩容算法ArrayList第一次执行添加操作...

2020-03-20 17:17:20 136

原创 ReadWriteLock使用及抢锁原理

概述概念维护一对关联锁,一个只能用来读操作,一个只能用来写操作;读锁可以由多个读线程共同持有(共享锁),写锁是排他的(独享锁)。同一时间,两把锁不能被不同线程持有使用场景适合读取操作多于写入操作的场景,改进互斥锁的性能,比如:集合的并发线程安全性改造、缓存组件。为什么读的时候还需要加锁?当写的操作为需要保证原子性的多步操作时,此时如果只是在写上加锁而未在读上加锁,...

2020-03-20 17:11:58 351

原创 Lock接口原理及使用总结

Lock接口void lock()如果锁被占用则会一直等待,直到其他线程释放锁,当前线程获取到锁为止示例代码:package com.hzw.subject1.lock;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class LockDe...

2020-03-20 17:08:43 491

原创 Synchronized从使用到原理

概述使用:用于修饰实例方法、静态方法时,隐式指定锁对象;用于代码块时,显示指定锁对象作用域:对象锁、类锁、分布式锁特性:可重入、独享、悲观锁锁优化:锁消除如何记录加锁状态默认情况下JVM锁会经历:未锁定 -> 偏向锁 -> 轻量级锁 -> 重量级锁 这四个状态对象在堆里面是如何存储的?什么是Mark Word加锁过程偏向锁在JDK6以后,默认已将开启...

2020-03-20 17:05:38 90

原创 Java中锁的概念

Java中锁的概念**自旋锁:**是指当一个线程在获取锁的时候,如果锁已经被其他线程获取,那么该线程将循环等待 ,然后不断的判断锁是否能够被成功获取,知道获取到锁才会退出循环。**乐观锁:**假定所有操作都没有冲突,在修改数据时如果发现数据和之前获取的不一致,则先读取最新数据然后重试修改**悲观锁:**假定所有操作都会发生并发冲突,同步所有对数据的相关操作,从读数据就开始上锁。...

2020-03-20 16:59:01 141

原创 Atomic原子操作类

Atomic*Atomicboolean:原子更新布尔类型AtomicInteget :原子更新整形AtomicLong:原子更新长整型AtomicReference:原子更新引用类型AtomicStampedReference:原子更新带有版本号的引用类型(可解决ABA问题)AtomicMarkableReference:原子更新带有标记位的引用类型(可解决ABA问题)下面以Ato...

2020-03-20 16:56:29 143

原创 CAS的三个问题

CAS的三个问题循环+CAS,自旋的实现让所有线程都处于高频运行,争抢CPU执行时间的状态。如果操作长时间不成功,会带来很大的CPU资源消耗针对单个变量的操作,不能用于多个变量来实现原子操作ABA问题ABA问题由于CAS操作进行比较替换时只比较了旧值是否相等,比较不够充分导致操作依旧是不够安全的thread1、thread2同时读取到i=0thread1、thread2都要执行...

2020-03-20 16:54:05 166

原创 线程安全之原子操作

什么是原子操作原子操作可以是一个步骤,也可以是多个步骤,但是其顺序不可以被打乱,也不可以被切割只执行其中的一部分(不可中断性)。将整个操作视作一个整体,资源在该次操作中保持一致,这是原子性的核心特征下面我们看一段代码:package com.hzw;public class Counter { volatile int i = 0; public void add()...

2020-03-06 09:01:45 213

原创 优雅的线程中止

不正确的线程中止-StopStop:中止线程,并清除监控器锁的信息,但是可能导致线程安全问题,JDK不建议使用线程安全问题:当子线程未执行完时在主线程使用stop终止了子线程会导致线程安全问题代码示例:package com.hzw;public class Demo2 { public static void main(String[] args) throws Interr...

2020-03-05 10:51:05 79

原创 便携的文件操作-Files

便携的文件操作-Files分隔符在Windows系统中使用反斜杠 ‘’ 或者斜杠 '/'来当作路径的分隔符,但是使用反斜杠需要注意: 单个反斜杠代表转义字符,所以在使用反斜杠充当路径的分隔符时需要成对出现File file1 = new File("E:\\aaa\\1.java");File file2 = new File("E:/aaa/1.java");在Linux,U...

2020-03-04 15:26:56 323

原创 线程池应用

作用为了方便控制线程的数量线程池的原理线程池管理器:用于创建并管理线程池,包括创建线程池,销毁线程池,添加新任务工作线程:线程池中线程,在没有任务的时候处于等待状态,可以循环的执行任务任务接口:每个任务必须实现的借口,以提供工作仙尘调度任务的执行,它主要规定了任务的入口,任务执行完成后的首位工作,任务的执行状态等任务队列:用于存放没有处理的任务,提供一种缓存机制线程池APIE...

2020-03-04 07:11:12 77

原创 Java内存模型

定义Java内存模型不是JVM运行时数据区,Java内存模型是由Java语言规范提出,用来描述Java多线程程序在执行时的一些规则,JVM运行时数据区是由Java虚拟机规范提出,用来描述JVM虚拟机的特性。解决什么问题所见非所得无法肉眼去检测程序的准确性不同的运行平台有不同的表现错误很难重新package com.hzw.subject1;public class DemoV...

2020-03-03 17:47:49 79

CentOS repo文件.zip

yum阿里数据源,解决yum安装后无法使用。 报错: Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile There are no enabled repos.

2020-06-07

空空如也

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

TA关注的人

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