- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 mysql 记录一次查询的分组的问题
Mysql分组查询最后一条需求说明最终结果查询需要处理的数据老数据修改问题复盘第一次写法总结,注意使用,max()需求说明mysql查询分组中,排出最后一条数据,其他数据的某个字段修改某个值。最终结果查询需要处理的数据SELECT * from BI_STATISTICS.device_offline_logWHEREISNULL( onlineTime )AND id NOT IN (SELECT a.id FROM (SELECT max( max.id ) AS id FROM
2022-01-20 22:32:16 315
原创 多线程笔记一
多线程的学习笔记进程和线程进程线程线程的生命周期Java中对线程安全的处理synchronized定义锁升级锁标记volatile定义JMM内存模型指令重排序内存屏障lock锁定义实现原理线程的通讯方法原理juc中的队列SynchronousQueue 无限队列LinkedTransferQueue 无界阻塞队列.LinkedBlockingQueue 一个正常的基于链表结构的阻塞队列, 无界队列LinkedBlockingDeque 双向链表组成的队列.J.U.C 并发工具CountDownLatchSe
2021-11-27 14:39:38 325
原创 正则表达式的学习
正则表达式概要基本上java所有的正则表达式都可以需要转义一丶基础\d表示数字 如果我们只想匹配0~9这样的数字,可以用\d匹配String regex = "\\d\\d\\d\\d";System.out.println("2222".matches(regex));System.out.println("2A22".matches(regex));.表示所有通配符 String re3 = "a.c"; // 对应的正则是a\&cSystem.out.println(
2021-11-26 13:31:31 632
原创 linux上OpenResty安装
OpenResty安装OpenResty简介openResty安装OpenResty简介OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。OpenResty® 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web
2021-09-01 10:01:20 524
原创 linux上mysql安装配置全流程指南
1.下载mysqlwget http://mirrors.sohu.com/mysql/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-i686.tar.gz2.解压tar -zxvf mysql-8.0.11-linux-glibc2.12-i686.tar.gz3.将项目移动到 usr/local/mysqlmv mysql-8.0.11-linux-glibc2.12-i686 /usr/local/mysql4.添加用户信息groupadd mysqlu
2020-11-20 10:39:53 217
原创 一丶使用curator操作zookeeper进行分布式锁
使用zookeeper进行分布式锁zookeeper使用curator分布式锁源码分析lock.acquire()进行加锁释放锁合理的创建标题,有助于目录的生成zookeeper使用curator分布式锁源码分析项目中如何使用curator进行分布式锁进行处理不再阐述。lock.acquire()进行加锁释放锁合理的创建标题,有助于目录的生成public void release() throws Exception { /* Note on
2020-09-07 10:58:35 262
原创 Linux系统上安装docker详细
一丶检查内核版本uname -r (出现版本超过3即可)二丶更新yum 将yum更新到最新版本yum -update三丶添加阿里云镜像sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo四丶安装dockersudo yum install docker-ce五丶检测docker版本docker version...
2020-07-30 14:10:12 214
原创 五丶多线程之JUC(Lock)
一丶JUC是什么java.util.concurrent是我们java中常用的并发包,简称juc。二丶LOCK接口1.和synchronized对比:之前使用的锁都是synchronized关键字锁,来进行,但是这样锁不够灵活,而且不能自己控制,但是如使用lock锁,我们就可以进行自己来控制何时使用何时取消。2.关于lock锁的具体实现:1. ReentrantLock :重入锁表示已获取锁的线程重新进入的时候不会阻塞,但是会增加一次锁的次数。2. ReentrantReadWriteLoc
2020-05-27 10:45:07 316
原创 四丶多线程的基础补漏
四丶多线程的基础补漏一丶死锁产生的原因1.互斥:同一时间的只有一个线程可以占有资源2.占有且等待:线程T1占有用资源X,且等待着资源Y,但是不释放资源X3.不可抢占:线程T1占有资源X的时候,其他线程不能抢占当前资源4.循环等待:线程T1等待线程T2占用的资源,线程T2等待着线程T1占用的资源。二丶ThreadJoin()1.TreadJoin(),可以让线程结果对其他线程可见,并不是串行的执行。三丶ThreadLocal1.ThreadLocal其实是对共享变量进行了隔离,从而保证线程的
2020-05-25 10:13:10 169
原创 三丶多线程的进阶二(volatile)
三丶多线程的进阶二(volatile)1.volatile关键字的使用volatile关键字,用在我们的变量前可以保证我们的变量的可见性(一个线程操作这个变量的时候,可以对其他的线程可见)。2.volatile的原理通过添加这个关键字的,可以是我们的数据在底层执行的指令的时候加了一个lock标志。3.LOCK命令在底层的执行逻辑1.首先需要了解一下我们的线程是如何内存交互的这里可以看到,每个线程都会又有一个自己的高速缓存区,他们还会共享一个缓存区域,最后才会去修改主存。2.lock锁其实就
2020-05-22 10:42:35 189
原创 二丶多线程的进阶一(锁)
1.线程的安全的性问题?多个线程访问同一个数据的时候,就会操作线程的安全的问题,因为线程内部操作其实是先取值,然后修改,最后再更新内存中的数据。这样由于多个线程的切换就会导致线程安全的问题,比如我们的i++就不是线程安全。1.线程的安全的原因:由于原子性被破坏。2.如何避免线程安全的性的问题1.synchronized核心思想,对我们的资源进行加锁,当前只能有一个线程得到资源,从而保证数据原子性和安全性。①使用方式1:修饰类对象@Override public void run() {
2020-05-19 14:48:36 171
原创 一丶多线程的基础
一丶并发单位时间能够同时处理的请求数。二丶程序的吞吐量因素1.硬件CPU,内存,磁盘网络2.软件:线程,IO,jvm,网络通信策略三丶并发和并行并行:在同一时间多个工作同时进行。并发:多个事件在同一时间间隔内交替执行。四丶java多线程的实现三种方式1.继承Thread类,实际调用Runnable;2.实现Runnable接口。3。实现callable接口,又返回值。五丶线程的基础1.线程的生命周期及状态线程的状态及生命周期五丶线程创建和运行的真实逻辑...
2020-05-19 09:27:27 168
原创 单例模式的多个实现和区别
关于单例的理解和使用1.饿汉式单例优点:在类加载的时候就开始创建了对象,避免多线程带来的干扰,保证对象的唯一性。缺点如果对象未使用,浪费了内存空间。实现方式一:public class Hungry1 {public static final Hungry1 HUNGRY_1 = new Hungry1();private Hungry1(){}}实现方式二:public ...
2020-01-09 15:31:34 158
原创 springBoot整合mybatis连接mysql
springBoot整合mybatis连接mysql,自动配置一丶项目pom.xml配置说明<?xml version="1.0" encoding="UTF-8"?>4.0.0org.springframework.bootspring-boot-starter-parent2.2.0.RELEASE com.chenweispringboot_demo0....
2019-10-20 00:20:24 373
原创 springBoot学习一
idea快速创建一个springBoot项目一丶搭建Java环境,配置maven仓库二丶直接上干货1. idea创建项目选择spring,然后添加web接下来一直next到完成2. 项目创建完成之后,或自动生成目录和文件夹,我只需要启动项目main方法即可,默认访问8080看项目结构启动测试看看是否报错3.编写测试访问(这里直接写在类里面,希望大家不要学我懒)启动访问4.简单修改配置文件第一程序就...
2019-10-12 17:21:35 341
原创 oracle数据库实现自增,系列
由于oracle数据不像mysql那也点一下就可以实现自增的效果,那我们如何在oracle数据库中实现自增的。一丶我这里采用系列的方式进行自增操作1.先建立一个基本的表,然后在表里面进行数据处理CREATE TABLE “CHENWEI”.“DEMO”( “ID” NUMBER NOT NULL ENABLE,“NUM” VARCHAR2(32) NOT NULL ENABLE,“NA...
2019-01-25 17:57:37 987
原创 SSM框架(二)整合mybatis 和 oracle数据库
一丶引入pom.xml中的数据mybatis,和oracle依赖的包 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.3.5.RELEASE</vers...
2019-01-25 16:52:29 579
原创 一个SSM框架搭建(一),具体的配置文件详解,所需jar说明,Ideal + oracle+ssm+maven,整合springMVC
一丶首先创建一个maven-web工程下面就是一直点next,需要自己输入的自己项目名称空间,最后需要配置一下maven仓库,这个百度一下就OK了。建议把上面这个自动导入点上就OK了,不用每次点修改。****二丶构建项目结构****1.这路src的路径下面只有main/webapp。而我们需要的是这样的2.这里只是建立一个文件夹,需要配置下注意:这里是点击file,然后选择上...
2019-01-25 12:43:41 470
原创 SpringBoot学习笔记1————多线程的使用线程池
SpringBoot学习笔记1————多线程的使用线程池1. 配置线程池的配置1.可以使用配置文件的方式,我这里使用的是在类里面直接配置import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springf...
2018-12-21 15:40:42 266
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人