自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

原创 JAVA基础-voliate

可见性:是指线程之间的可见性,一个线程修改的状态对另一个线程是可见的。指令重排序:是指CPU采用了允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理volatile 原理:volatile 修饰的属性在修改后会直接将结果写回到主内存中volatile 防止指令重排,cpu为了提高性能,在编译代码时会将一些相同的操作放到一起执行,而volatile就会阻止这个操作对非 volatile 变量进行读写的时候,每个线程先从内存拷贝变量到CPU缓存中。如果计算机有多个CPU,每个线程可能在不同

2020-09-23 15:41:27 479

原创 JAVA基础-并发-CountDownLatch

今天来介绍一下CountDownLatch及其工作的原理,CountDownLatch也是AQS(AbstractQueuedSynchronizer)的子类,实现了共享功能CountDownLatch使用CountDownLatch的简单使用,主函数要等到CountDownLatch计数变为0时才会执行 private static void CountDownLatchUse(){ final CountDownLatch cd = new CountDownLatch(4);

2020-09-22 21:08:22 127

原创 JAVA基础-并发-线程池

线程池的核心参数int corePoolSize(核心线程数),默认1int maximumPoolSize(最大线程数),默认Integer.MAX_VALUElong keepAliveTime(线程空闲存活时间),默认 60sTimeUnit unit (存活时间单位),BlockingQueue workQueue(队列)ThreadFactory threadFactory(创建线程的工厂)RejectedExecutionHandler handler(淘汰策略), 默认Abor

2020-09-22 21:08:09 129

原创 JAVA基础-并发-ReentrantLock

本文介绍 ReentrantLock 及其实现原理,ReentrantLock和同步工具类的实现基础都是AQS什么是AQSAQS即是AbstractQueuedSynchronizer,一个用来构建锁和同步工具的框架,包括常用的ReentrantLock、CountDownLatch、Semaphore等。AQS没有锁之类的概念,它有个state变量,是个int类型,在不同场合有着不同含义。本文研究的是锁,为了好理解,姑且先把state当成锁。AQS围绕state提供两种基本操作“获取”和“释放”

2020-09-22 21:07:48 111

原创 JAVA基础-集合-介绍

说说常见的集合有哪些?Map接口和Collection接口是所有集合框架的父接口Collection接口的子接口包括:Set接口和List接口Mapt接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap、Properties等Set接口的实现类主要有:HashSet、TreeSet、LinkedHashSet等List接口的实现类主...

2020-09-22 20:34:12 70

原创 JAVA基础-ThreadLocal

内部类因数threadlocalMap使用的是静态内部类,所以这里也介绍一下内部类静态内部类和非静态内部类:内部类:就是我是你的一部分,我了解你,我知道你的全部,没有你就没有我。(所以内部类对象是以外部类对象存在为前提的)静态内部类:就是我跟你没关系,自己可以完全独立存在,但是我就借你的壳用一下,来隐藏自己。内部类只有是静态的,其内部类中才能有静态属性和静态方法;如果内部类非静态的,其内部类不能有静态属性和静态方法。实例化一个非静态内部类:OutClass.InnerClass inner

2020-09-22 20:27:38 113

原创 问题-idea中 lombok 报错

运行代码时突然报了lombok的错误,网上查了些资料也不知道是什么原因造成的,可能是idea自己内部有什么判断吧。问题:解决方案:加上lombok的具体路径

2020-09-18 11:50:00 291

原创 linux-mysql 使用 mysqldump 导出数据

安装 mysqldumpyum -y install holland-mysqldump.noarch导出数据和结构mysqldump -h127.0.0.1 -P3306 -uroot -p --add-locks -q dbname > dbname.sql导出数据mysqldump -h127.0.0.1 -P3306 -uroot -ppassword --add-locks -q -t dbname.user > dbname.sql导出表结构mysq.

2020-08-11 16:17:57 153

原创 linux-安装docker

docker 依赖包安装sudo yum install -y yum-utils device-mapper-persistent-data lvm2设置阿里云镜像源sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装docker-cesudo yum install docker-ce可能会报错解决方案开机启动..

2020-07-31 14:26:43 73

原创 ElaticSearch-error- java.lang.IllegalArgumentException

java.lang.IllegalArgumentException: The number of object passed must be even but was [1]这个是在使用TransportClient去添加数据时报的错String jsonStr = JSON.toJSONString(bean);ActionFuture future = transportClient...

2020-06-17 13:36:08 87

原创 JAVA基础-并发-线程

今天来介绍一下线程线程和进程进程是系统中正在运行的一个程序,程序一旦运行就是进程。进程是系统资源分配的独立实体,进程之间不能直接访问数据,需要通过进程间的通信,比如管道、文件、套接字等。一个进程可以拥有多个线程,线程之间可以直接访问数据线程是进程的一个实体,是进程的一条执行路径。进程和线程都是一个时间段的描述,是CPU工作时间段的描述,不过是颗粒大小不同线程的状态扭转图new:新建状态runnable:进入就绪状态,这个状态并没有分配cpu资源,只是说线程已经开始执行了,但还没有c

2020-06-15 20:24:08 86

原创 问题-Groovy在编译的时候报错Error:Groovy-Eclipse

刚入职的公司,代码git拉下来,maven clean install 都正常。但是在跑测试单元的时候报了错误Error:Groovy-Eclipse: Invalid jar path in the compiler settings:解决方案:图中两个圈的地方需要注意user compiler 选择javactarget bytecode version 这里要选择和你项目相同的版本...

2020-06-11 15:35:03 3841

原创 工具-google插件postman安装

现在在google的应用中去搜索postman,结果出来的并不是自己想要的东西,后面网上查说是现在google浏览器不支持postman插件了,所以这里分享一下是自己安装的。搜索的结果:下载postman插件你可以下载压缩的,直接解压后通过google的扩展程序—》加载已解压的扩展程序添加,别忘了把开发者模式打开,默认是关闭的可以通过下载crx文件,这里给一个下载连接https://download.csdn.net/download/qq_30184197/12510464解压后是一个文件

2020-06-10 15:15:34 368

原创 groovy-学习-1-介绍

groovy介绍Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性,Groovy也可以使用其他非Java语言编写的库。Groovy 是用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。使用该种语言不必编写过多的代码,同时又具有闭包和动态语言中的其他特性

2020-06-05 16:16:57 129

原创 环境搭建-Linux-Mysql安装-10.3.7-MariaDB-log MariaDB Server

10.3.7-MariaDB-log MariaDB Server 安装记录linux 系统CentOS7无脑安装sudo yum install -y redhat-lsbsudo yum install -y net-tools关闭selinux设置机器名sudo setenforce 0sudo vi /etc/selinux/config 下的 SELINUX=disabledsudo /usr/sbin/sestatus -vhostnamectl set-hostnam

2020-05-19 16:28:10 721

原创 JAVA-并发-TreadLocal

什么是TreadLocal我们知道,在多线程程序中,同一个线程在某个时间段只能处理一个任务.我们希望在这个时间段内,任务的某些变量能够和处理它的线程进行绑定,在任务需要使用这个变量的时候,这个变量能够方便的从线程中取出来.ThreadLocal能很好的满足这个需求,用ThreadLocal变量的程序看起来也会简洁很多,因为减少了变量在程序中的传递.因为每个 Thread 内有自己的实例副本,且该副本只能由当前 Thread 使用。这是也是 ThreadLocal 命名的由来。既然每个 Thread

2020-05-09 17:18:52 191

原创 SpringCloud微服务-gateway-介绍

API网关基本功能单点入口路由转发限流熔断日志监控安全认证zuul网关的使用场景红绿部署开发者测试分支(开发人员到线上做测试,不使用生产的流量)埋点测试(调用链埋点,metircs埋点)压力测试(复制生产流量打到测试服务,返回的数据会丢掉)调试路由金丝雀测试(分一些流量到V2版本,如果正常就全部切换)失败注入测试(输入一些错误的信息,去测试有没有问题)zuul网...

2020-04-28 08:44:22 190

原创 SpringCloud微服务-OAuth2-介绍

OAuth2 是基于开放系统之前的授权访问提出来的OAuth 历史OAuth2解决问题域和场景开放系统间授权(社交平台、开放API平台等)现代微服务安全(微服务之间的调用等)企业内部应用认证授权(IAM/SSO等)OAuth2 的定义和原理用户在请求获取资源时会向授权服务器获取Access Token (吃鸡游戏获取用户微信资源)授权服务器会询问资源拥有者允不允许访问(向微...

2020-04-27 21:09:48 570

原创 mysql-学习-sql语句执行过程

Mysql组成部分1、Server层连接器查询缓存分析器优化器执行器等2、存储引擎层负责数据的存储和提取,其架构模式是插件式的,支持InnoDB、MyISAM、Memory等连接器连接器负责跟客户端建立连接、获取权限、维持和管理连接。连接命令一般是:mysql -hip−Pip -Pip−Pport -u$user -p查询缓存MySQL拿到一个查询请求后,会先到...

2020-04-27 19:38:45 109

原创 分布式CAP介绍

分布式CAP一致性 C可用性 A分区容错性 PCAP原理是指这三个要素最多只能同时实现两点,不可能三者兼顾。因此在进行分布式架构设计时,必须做出取舍。而对于分布式数据系统,分区容忍性是基本要求,否则就失去了价值。因此设计分布式数据系统,就是在一致性和可用性之间取一个平衡。对于大多数WEB应用,其实并不需要强一致性,因此牺牲一致性而换取高可用性,是多数分布式数据库产品的方向。一致性...

2020-04-20 21:33:11 326

原创 大文件分割上传

问题描述问题描述:在上传大文件时,返回了504 time out阿里SLB负载有一个参数 ‘连接请求超时时间’,这个时间最大是180s,也就是说slb负载在等待服务端返回结果不能超过180s否则会向客户返回504错误。经过排查发现文件经过NG转发到TOMCAT容器时,TOMCAT容器会接收文件并写入磁盘(临时文件),发现写临时文件的速度太慢,测试观察到差不多是3-4m/s但检测又发现没有...

2020-04-03 12:01:22 648

原创 linux-docker从零使用-制作一个centos(tomcat+jdk)镜像

一、安装centOS7 (别用6.x的了装了好几个6.x没装好) 内核需要 3.10以上 (内核不达标的可以升级)二、无脑执行安装命令1、yum update2、卸载旧版本(如果有) yum remove docker docker-common docker-selinux docker-engine3、安装需要的软件包,yum-util 提供 yum-config-manager功能...

2019-04-16 16:17:54 269

postman.zip

google插件postman crx 文件,Postman_v4.1.3.crx,可以使用的google插件

2020-06-10

jdk-7u80-windows-x64

JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK.   因此掌握 JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。   其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。但不管怎么说,我们还是需要先把Sun JDK掌握好。

2018-03-12

空空如也

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

TA关注的人

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