自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (8)
  • 问答 (2)
  • 收藏
  • 关注

原创 ES bool查询

bool查询是一种组合查询,可以通过组合多个查询条件来实现更复杂的查询需求。上面的查询条件表示查询标题中包含“Elasticsearch”并且作者为“CSDN”,或者分类为“Apple”或“Banana”,但不包括状态为“1”的文档。3. must_not查询:表示必须不满足的查询条件,相当于逻辑运算中的“非”。2. should查询:表示可选的查询条件,相当于逻辑运算中的“或”。1. must查询:表示必须满足的查询条件,相当于逻辑运算中的“与”。如果某条文档满足所有的must查询条件,才会被返回。

2024-05-30 13:58:25 348

原创 activity操作时对应表数据变化

select * from act_hi_procinst where PROC_DEF_ID_='审批流程-3:2:e98211ea-9fd5-11ee-a759-acde48001122';select * from act_ru_task where PROC_DEF_ID_='审批流程-3:2:e98211ea-9fd5-11ee-a759-acde48001122';-- 执行流程实例表,核心,启动后会生成一个流程实例和待执行的任务节点。-- 待执行的用户任务节点换成下一个用户任务节点。

2023-12-23 17:39:28 37

原创 elasticsearch集群搭建-windows

elasticsearch集群搭建-windows1、下载elasticsearch到本地并解压下载地址:https://www.elastic.co/cn/downloads/elasticsearch解压之后复制两份,node1当作主节点,node2、node3当作从节点2、修改主节点配置文件#集群名字cluster.name: my-es#节点名字node.name: node-1#是否作为主机node.master: true#是否作为数据节点node.data..

2020-09-21 22:23:42 89

转载 一文彻底理解ReentrantLock可重入锁的使用

java除了使用关键字synchronized外,还可以使用ReentrantLock实现独占锁的功能。而且ReentrantLock相比synchronized而言功能更加丰富,使用起来更为灵活,也更适合复杂的并发场景。这篇文章主要是从使用的角度来分析一下ReentrantLock。一、简介ReentrantLock常常对比着synchronized来分析,我们先对比着来看然后再一点一点分析。(1)synchronized是独占锁,加锁和解锁的过程自动进行,易于操作,但不够灵活。Reentra

2020-06-17 20:50:19 660

原创 synchronized与Lock的区别

1.首先synchronized是java内置关键字,在jvm层面,Lock是个java类;2.synchronized无法判断是否获取锁的状态,Lock可以判断是否获取到锁;3.synchronized会自动释放锁(a线程执行完同步代码会释放锁 ;b 线程执行过程中发生异常会释放锁),Lock需在finally中手工释放锁(unlock()方法释放锁),否则容易造成线程死锁;4.用synchronized关键字的两个线程1和线程2,如果当前线程1获得锁,线程2线程等待。如果线程1阻塞,线程2.

2020-06-17 17:30:19 168

原创 Atomic、volatile、ThreadLocal

volatile:轻量级的synchronized,高并发下保证变量的可见性。可见性:在一个线程的工作内存中修改了该变量的值,该变量的值能立即回显到主内存中,从而保证所有线程看到这个变量的值是一致的。CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做Atomic正是采用了CAS算法,所以可以在多线程环境下安全地操作对象ThreadLocal提供线程内的局部变量。每个线程都自己管理自己的局部变量,互不影响。...

2020-06-04 20:26:59 152

原创 线程池

JDK1.8创建线程池有的几种方式:newFixedThreadPool :定长线程池,每当提交一个任务就创建一个线程,直到达到线程池的最大数量,这时线程数量不再变化,当线程发生错误结束时,线程池会补充一个新的线程。newCachedThreadPool:可缓存的线程池,如果线程池的容量超过了任务数,自动回收空闲线程,任务增加时可以自动添加新线程,线程池的容量不限制newScheduledThreadPool:定长线程池,可执行周期性的任务newSingleThreadExecutor:单.

2020-06-04 17:32:28 105

转载 守护线程和非守护线程

基本概念守护线程:和主线程一起结束的线程,叫守护线程。 非守护线程:主线程的结束不影响线程的执行的线程,也叫用户线程。示例代码非守护线程:public class MyThread extends Thread{ @Override public void run() { //重写run方法 for(int i=1;i<11;i++){ try { Thread.sleep

2020-06-04 16:33:55 441

原创 并发、并行、串行

并发是同时处理(dealing)很多的事情并行是同时做(doing)很多的事情并发是在同一实体上的多个事件并行是在不同实体上的多个事件串行是多个任务,执行时一个执行完再执行另一个。比喻:吃完饭再看视频。并发处理都有排队等候,唤醒,执行至少三个这样的步骤.所以并发肯定是宏观概念,在微观上他们都是序列被处理的,只不过资源不会在某一个上被阻塞(一般是通过时间片轮转),所以在宏观上看多个几乎同时到达的请求同时在被处理。如果是同一时刻到达的请求也会根据优先级的不同,而先后进入队列排队等候执行。.

2020-06-04 16:09:03 215

转载 Java 实现线程安全的三种方式

一个程序在运行起来的时候会转换成进程,通常含有多个线程。通常情况下,一个进程中的比较耗时的操作(如长循环、文件上传下载、网络资源获取等),往往会采用多线程来解决。比如显示生活中,银行取钱问题、火车票多个售票窗口的问题,通常会涉及到并发的问题,从而需要多线程的技术。当进程中有多个并发线程进入一个重要数据的代码块时,在修改数据的过程中,很有可能引发线程安全问题,从而造成数据异常。例如,正常逻辑下,同一个编号的火车票只能售出一次,却由于线程安全问题而被多次售出,从而引起实际业务异常。第一种实现..

2020-06-03 18:02:31 457

原创 MySQL 悲观锁和乐观锁

悲观锁悲观锁(Pessimistic Lock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。Java synchronized 就属于悲观锁的一种实现,每次线程要修改数据时都先获得锁,保证同一时刻只有一个线程能操作数据,其他线程则会被block。悲观锁乐观锁(Optimistic Lock),顾名思义,就是很乐观,每次去拿数据的时候

2020-06-03 17:48:57 81

原创 windows下安装两个mysql主从同步

1.配置ini文件[mysqld]#设置3310端口port = 3310#server-id和log-bin必须设置#设置master的serveridserver-id=1#log-bin=mysql-bin 表示开启二进制日志,并把二进制日志前缀改为mysql-binlog-bin = mysql-bin#要同步的数据库binlog-do-db=demodb#不同步的...

2020-05-29 22:04:40 71

原创 安装多个mysql

1.编辑my.ini文件,文件内容如下:安装目录最好用\\,防止转义[mysql]# 设置mysql客户端默认字符集default-character-set=utf8[mysqld]#设置3306端口port = 3307# 设置MYSQL安装目录basedir=E:\\dev\\DB\\slave\# 设置MYSQL数据目录datadir=E:\\dev\\DB\\slave\\data# 允许最大连接数max_connections=200# 服务端使用的字符集默认.

2020-05-29 17:33:05 97

原创 Redis-sentinel

Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance),Redis 的 Sentinel 为Redis提供了高可用性。使用哨兵模式创建一个可以不用人为干预而应对各种故障的Redis部署。该系统执行以下三个任务:监控(Monitoring):Sentinel会不断地检查你的主服务器和从服务器是否允许正常。提醒(Notification):当被监控的某个Redis服务器出现问题时,Sentinel可以通过API向管理员或者其他应用程序发送通知。自动故障迁移(Aut

2020-05-26 20:38:02 258

转载 redis.conf 配置文件介绍

redis.conf 配置项说明如下:1: Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no2: 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定 pidfile /var/run/redis.pid3: 指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上ME...

2020-05-15 15:39:20 85

原创 Redis集群搭建

1.一个Master可以有多个Slaves 默认配置下,master节点可以进行读和写,slave节点只能进行读操作,写操作被禁止 不要修改配置让slave节点支持写操作,没有意义,原因一,写入的数据不会被同步到其他节点;原因二,当master节点修改 同 一条数据后,slave节点的数据会被覆盖掉 slave节点挂了不影响其他slave节点的读和mas...

2020-05-08 11:05:21 105

原创 redis主从搭建

1.复制一份 redis.windows-service.conf 成 redis.windows-service-6380.conf2.修改redis.windows-service-6380.conf中的端口:port 6380, logfile "server_log_6380.txt", dbfilename dump_6380.rdb, appendfilename "appendo...

2020-05-07 16:29:05 91

转载 isAnnotationPresent()方法

isAnnotationPresent()方法官方释义:java.lang.Package.isAnnotationPresent(Class<? extends Annotation> annotationClass)方法返回true,如果指定类型的注释存在于此元素上,否则返回false。这种方法的设计主要是为了方便访问标记注释.例:A.isAnno...

2019-07-26 15:37:19 6584

转载 同步、异步、阻塞、非阻塞

本文为转载文章,原文链接:https://www.jianshu.com/p/3d603166f54d1、从I/O说起这些概念之所以容易令人迷惑,在于很多人对I/O就没有清晰准确的理解,后面的理解自然不可能正确。我想用一个具体的例子来说明一下I/O。设想自己是一个进程,就叫小进吧。小进需要接收一个输入,我们不管这个输入是从网络套接字来,还是键盘,鼠标来,输入的来源可以千千万...

2019-07-12 13:31:25 91

转载 Spring Boot项目在多环境下调用不同配置文件

我们知道,一个项目在开发环境、测试环境、生产环境,不同的环境会有不同的配置,比如数据库的配置就不同,那么怎么样才能做到,不用每次换环境的时候,都去修改这些配置呢,下面以我写的一个小案例来作说明。如下图是我项目的三个配置文件,其中,application.yml是启动服务时,服务器会自动加载的配置文件,而application-dev.yml代表的是开发环境的配置文件,application-p...

2019-07-10 17:34:55 1016

转载 tomcat+nginx+redis实现均衡负载、session共享(二)

1.redis简介及下载安装作为这次的主角,相信大家对redis应该都一定印象,redis是一款开源的高性能key-value数据库,拥有丰富的键值储存类型,并提供多种语言的API。与一般数据库不同,redis是使用内存作为主存,而使用硬盘来实现数据持久化,而且redis是周期性的将数据写到硬盘上。这就意味着一旦我们服务器出现断电、重启之类的情况,我们很可能会出现数据丢失的情况,所以不建议...

2019-06-19 21:36:32 205

转载 session共享方式

第一种方式:nginx配置 ip_hash轮询机制实现,这个实现方式简单,但是有很大的局限性,同一个ip,会被分配始终访问同一个tomcat,因为ip不变,nginx计算出来的hash也就不变,除非这个tomcat挂了,才会分配到另外一个tomcat访问,万一出现这种情况,session就会丢失,分配到的新tomcat并没有它在前一个tomcat里的session,所有,这并不是session共享...

2019-06-19 14:19:55 320

转载 Mysql的my.ini文件

第一步,我们找到mysql安装文件下面的my.ini文件,打开可以看到第一句:# MySQL Server Instance Configuration FileMysql服务实例配置文件好,咱们撇开那些不是那么重要的字幕,直接进入重点,看看它可以配置些什么,和到底配置了些什么,那么带着这样的心态,我们往下看。CLIENT SECTION客户端章节:[client]po...

2019-06-06 16:27:10 2344

转载 windows设置tomcat定时重启(关闭,启动)设置成服务,并重启服务

一、配置windows设置tomcat定时重启1.首先将tomcat注册为服务,先打开tomcat的bin目录下service.bat文件,修改下面的值,这是sevvice的注册名称和显示名称,一般可使用默认值。set SERVICE_NAME=tomcat-7.0.59   (注册名称)set PR_DISPLAYNAME=tomcat-7.0.59(显示名称)打开cmd命令窗口,...

2018-10-26 14:25:25 130

转载 IntelliJ Idea 常用快捷键列表

Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择Ctrl+N,可以快速打开类C...

2018-09-18 13:07:49 72

转载 利用JAXB实现java实体类和xml互相转换

1、应用场景在使用WebService实现数据上传下载,数据查询时,可以利用JAXB实现java实体类和xml互相转换2、Demo2.1 student.java 实体类,包含list(set同理)、map、Teacher、Date 类型的属性package jaxb;import java.util.Date;import java.util.List;import ...

2018-09-18 11:34:29 817

转载 java使用省略号代替多参数(参数类型... 参数名)

J2SE 1.5提供了“Varargs”机制。借助这一机制,可以定义能和多个实参相匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参。本文介绍这一机制的使用方法,以及这一机制与数组、泛型、重载之间的相互作用时的若干问题。到J2SE 1.4为止,一直无法在Java程序里定义实参个数可变的方法——因为Java要求实参(Arguments)和形参(Parameters)的数量和类型都必须...

2018-09-18 10:14:46 205

转载 hibernate基于注解的维护权反转:@OneToMany(mappedBy=)

hibernate基于注解的维护权反转:@OneToMany(mappedBy=)背景说明:首先是SSH环境下,对象基于注解的方式映射到数据库;昨天遇到一个比较纠结的问题,@OneToMany(mappedBy="xxx"), mappedBy属性有什么用,然后是写在哪一边?还有一个问题是:@JoinColumn(name="xxxxx"),JoinColumn有什么用? 先贴...

2018-09-14 10:12:11 571

转载 WebService中的WSDL详细解析

WebService中的WSDL详解       有人在WebService开发的时候,特别是和第三方有接口的时候,走的是SOAP协议,然后用户(或后台)给你一个WSDL文件(或网址),说按照上面的进行适配, 这时就要对WebService的WSDL有一定的理解,本文将对WSDL(WebService描述语言)进行详细总结。        WSDL (Web Services Descrip...

2018-07-19 20:18:15 10233

转载 JaxWsProxyFactoryBean 与 JaxWsDynamicClientFactory

1、 JaxWsProxyFactoryBean    简介:调用方式采用了和RMI类似的机制,即客户端直接服务器端提供的服务接口(interface),CXF通过运行时代理生成远程服务的代理对象,在客户端完成对webservice的访问;几个必填的字段:setAddress-这个就是我们发布webservice时候的地址,保持一致     缺点:这种调用service的好处在于调用过程非常简单,...

2018-07-16 14:00:56 1945

转载 Java 对象的生命周期

在Java中,对象的生命周期包括以下几个阶段:1.      创建阶段(Created)2.      应用阶段(In Use)3.      不可见阶段(Invisible)4.      不可达阶段(Unreachable)5.      收集阶段(Collected)6.      终结阶段(Finalized)7.      对象空间重分配阶段(De-allocated) 图1. Java...

2018-05-11 09:59:50 108

转载 Java的GC机制及算法

GC的阶段 对每个对象而言,垃圾回收分为两个阶段:finalization和reclamation。 finalization: 指运行这个对象的finalize的方法。reclamation: 回收被这个对象使用的内存。GC的过程的基本步骤 首先确认对象是不可达的,即将被回收。其次,如果对象有finalize方法,那么对象被添加进finalization queue中;然后在某个时间点final...

2018-05-10 15:24:12 256

转载 HashMap实现原理分析

1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。      数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。哈希表那么我们能不能综...

2018-05-10 14:27:04 73

转载 Java 泛型

Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。Java泛型中的标记符含义:  E - Element (在集合中使用,因为集合中存放的是元素) T - Type(Java 类) K - Key(键) V - Value(值) N - Number(数值类型)? -  表示不确定的java类型泛型的...

2018-05-09 10:28:39 72

转载 JAVA集合类汇总

一、集合与数组数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。二、层次关系如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却让其被继承产生了两个接口,就是...

2018-05-08 16:14:02 109

转载 java wait和notify及 synchronized sleep 总结

java 中线程我一直弄不清线程锁等 所以写了一些例子验证看法:在这之前先看下API中wait中的解释:wait:方法来之java.lang.Objetc方法翻译:在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量前,导致当前线程等待。并释放所有同步锁 //当前线程必须拥有此对象监视器。 (sleep不会释放)sleep:休眠当前线程 并且不释放同...

2018-05-07 14:47:10 97

转载 Java内存模型

Java的内存模型JMM(Java Memory Model)JMM主要是为了规定了线程和内存之间的一些关系。根据JMM的设计,系统存在一个主内存(Main Memory),Java中所有实例变量都储存在主存中,对于所有线程都是共享的。每条线程都有自己的工作内存(Working Memory),工作内存由缓存和堆栈两部分组成,缓存中保存的是主存中变量的拷贝,缓存可能并不总和主存同步,也就是缓存中变...

2018-05-04 17:25:40 91

转载 Java线程池使用说明

一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。二:线程池线程池的作用:线程池作用就是限制系统中执行线程的数量。     根据系...

2018-05-04 17:04:20 87

转载 中sleep()、wait()和notify()和notifyAll()、yield()、join()等方法的用法和区别

Java线程中sleep()、wait()和notify()和notifyAll()、suspend和resume()、yield()、join()、interrupt()的用法和区别 从操作系统的角度讲,os会维护一个ready queue(就绪的线程队列)。并且在某一时刻cpu只为ready queue中位于队列头部的线程服务。 但是当前正在被服务的线程可能觉得cpu的服务质量不够好,于是提前...

2018-05-04 15:53:35 81

转载 线程阻塞的原因

     线程在运行的过程中因为某些原因而发生阻塞,阻塞状态的线程的特点是:该线程放弃CPU的使用,暂停运行,只有等到导致阻塞的原因消除之后才回复运行。或者是被其他的线程中断,该线程也会退出阻塞状态,同时抛出InterruptedException。        导致阻塞的原因有很多种,大致分为三种来讨论,分别是一般线程中的阻塞,Socket客户端的阻塞,Socket服务器端的阻塞。一般线程中的...

2018-05-04 15:51:37 534

docker学习操作文档

docker学习操作文档

2024-04-29

springboot与mybatis整合

springboot与mybatis简单整合,适合新手理解springboot的结构

2018-04-20

idea汉化包

把下载的resources_cn.jar直接丢在idea的lib包下即可,简单粗暴

2018-01-05

PLSQL汉化版

PLSQL 汉化版客户端。。PLSQL 汉化版客户端。。PLSQL 汉化版客户端。。

2017-12-12

正版最新python3.6.3amd64.exe

无私奉献windows版python3.6.2 64位安装包。不为赚积分,只为开源

2017-11-28

jquery-1.8.3.min.js

jquery-1.8.3.min.js,jquery-1.8.3.min.js,jquery-1.8.3.min.js

2017-11-28

jQuery api 1.8 中文版

jQuery api 1.8 中文版 。。。。。jQuery api 1.8 中文版

2017-11-28

mysql-connector-java-5.1.6.jar

mysql-connector-java-5.1.6.jar,mysql-connector-java-5.1.6.jar

2017-11-15

mysql-5.6.38.0.msi

mysql-5.6.38.0.msi 安装包。。。。。。。。。。。。。。。。。。。。

2017-11-15

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

TA关注的人

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