自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BOM 物料清单 Bill Of Materials

而对于模型BOM一般是ATO或PTO类型的,这类清单的子健都是可配置的,一般要根据实际订单的情况来挑选需要的子件。为了创建和维护BOM的方便性,有时把一类材料定义为一个虚拟件,虚拟件不存在具体的实物,因此不存在具体的出入库操作,也没有具体的库存。对于BOM级的替代则只在该BOM中起作用,而对于Item的替代则在所有BOM中都起作用。工程BOM和制造BOM分布存在于工程环境和制造环境,类似PDM的研发视图和制造视图,对于工程环境的BOM如果需要转化为制造BOM必须手工传递到制造环境形成制造BOM。

2022-10-31 18:02:17 797 1

原创 drools规则引擎通过数据库存储规则

springboot 整合drools,drools规则读取数据库配置

2022-03-04 11:23:07 3534 1

原创 countdownlatch与cyclicbarrier

CountDownLatch会阻塞主线程;CyclicBarrier不会阻塞主线程,只会阻塞子线程;

2022-02-25 15:47:45 420

原创 The WSL 2 Linux kernel is now installed using a separate MSI update package.

windows 10 安装docker desktop提示:The WSL 2 Linux kernel is now installed using a separate MSI update package. Please click the link and follow the instructions to install the kernel update: https://aka.ms/wsl2kernel旧版 WSL 的手动安装步骤 | Microsoft Docs...

2021-12-21 15:23:32 3576

原创 redis原理

redis内存模型常用数据类型string 字符串hash 哈希list 列表set 集合sorted set 有序集合redis 存储结构redisobject了解Redis 的内存模型,对 Redis 的使用有很大帮助:估算 Redis 内存使用量,选择合理的机器配置 优化内存占用,选择最合适的数据结构和编码 快速定位问题,当 Redis 出现阻塞、内存占用等问题时redis 数据存储细节 dictEntry。Redis 是 Key..

2021-12-12 22:20:28 1029

原创 使用httpclient发送https+ip调用

项目需求,向指定ip上传文件,刚开始http上传,没有任何问题,后来被调用方要求使用https调用,即向指定ip发送https请求。import org.apache.http.conn.ClientConnectionManager;import org.apache.http.conn.scheme.Scheme;import org.apache.http.conn.scheme.SchemeRegistry;import org.apache.http.conn.ssl.SSLSocke

2021-11-30 13:59:40 474

原创 审批流程设计

审批流程 | ProcessOn免费在线作图,在线流程图,在线思维导图 |todo...规则引擎

2021-11-29 19:30:11 771

原创 开放平台控制怎么做

1.开放平台业务逻辑//todo...2.网关控制//todo...3.动态配置(动态路由、动态限流)//todo...动态路由:InMemoryRouteDefinitionRepository该接口继承了RouteDefinitionWriter,RouteDefinitionWriter中定义了save、delete方法,通过方法名称可以知道是用来保存/添加/删除路由信息;使用 InMemoryRouteDefinitionRepository 来维护 RouteDefiniti.

2021-11-26 18:25:08 711

原创 docker

cmd给出的是一个容器的默认的可执行体。也就是容器启动以后,默认的执行的命令。重点就是这个“默认”。意味着,如果不指定启动容器后要执行的命令,那么,就会使用cmd指定的默认的执行命令执行。如果指定了启动容器后要执行的命令,那么就不会再执行cmd中的命令。 1.docker run可以指定执行命令; 2.dockerfile用entrypoint指定要执行的命令; 3.docker-compose.yml中的command命令;这也是为什么大多数网上博客论坛说的“cmd会被覆盖”,.

2021-11-26 18:10:00 258

原创 hashmap+concurrenthashmap(1.7+1.8)

concurrenthashmap 1.7:先扩容后插数据,segment(hashtable中syn锁住这个map)+hashentry+unsafe;node和hashentry的内容一样,但是HashEntry是一个内部类;需要定位2次(segments[i],segment中的table[i]);concurrentHashMap 使用的分段锁,如果一个线程占用一段,别的线程可以操作别的部分; 1.8:先插数据后扩容,synchronized+cas+node+unsafe,使用sy...

2021-11-23 12:31:16 199

原创 dubbo知识整理

dubbo工作原理:第一层:service层,接口层,给服务提供者和消费者来实现。 第二层:config层,配置层,主要对dubbo进行各种配置。 第三层:proxy层,服务代理层,无论是consumer还是provider,dubbo都会给你生成代理,代理之间进行网络通信。 第四层:registry层,服务注册层,负责服务的注册与返现。 第五层:cluster层,集群层,封装多个服务...

2021-10-25 16:38:49 553

原创 2021面试题整理

基础问题linux和⽹络基础(1)linux系统内核态和⽤户态是什么,有什么区别?(2)BIO、NIO、AIO都是什么,有什么区别?(3)TCP和UDP的区别?(4)详细叙述TCP3次握⼿,TCP和HTTP的区别,其中字节⾯试官问的最细,他会具体问TCP底层的3次握⼿的具体实现逻辑,第三次握⼿如果失败会怎样。建议把TCP关闭时的4次挥⼿也看看,敖丙的⽂章就有,看了⾄少表⾯的东⻄难不倒你们,由于这个是最基础的问题,如果回答不好,⾯试官的印象分就你懂得。(5)rpc和http的区别,你知道有什

2021-10-18 17:20:44 162

原创 ⽹络基础面试题整理

linux系统内核态和用户态是什么,有什么区别?用户空间,指的是用户可以操作和访问的空间,这个空间通常存放我们用户自己写的数据等。内核空间,是系统内核来操作的一块空间,这块空间里面存放系统内核的函数、接口等。在用户空间下执行,我们把此时运行的程序的这种状态称为用户态,而当这段程序在内核的空间执行时,这种状态称为内核态。用户态和内核态的转换系统调用异常外围设备的中断聊聊BIO、NIO、AIO分别都是啥?有什么区别?BIO:Block IO 同步阻塞式 IO,就是我们平常使用

2021-10-18 17:05:37 235

原创 零拷贝(Zero-copy)和mmap

磁盘可以说是计算机系统最慢的硬件之一,读写速度相差内存 10 倍以上,所以针对优化磁盘的技术非常的多,比如零拷贝、直接 I/O、异步 I/O 等等,这些优化的目的就是为了提高系统的吞吐量,另外操作系统内核中的磁盘高速缓存区,可以有效的减少磁盘的访问次数。这次,我们就以「文件传输」作为切入点,来分析 I/O 工作方式,以及如何优化传输文件的性能。为什么要有 DMA 技术?在没有 DMA 技术前,I/O 的过程是这样的:CPU 发出对应的指令给磁盘控制器,然后返回; 磁盘控制器收到指令后,于是

2021-10-15 14:55:03 2599 1

原创 Spring三级缓存解决循环依赖问题及实现Aop

循环依赖A类属性有B类,B类属性有A类,相互依赖。依赖注入主要有两种方式1、构造器;2、setter,其中构造器方式产生的循环依赖无解,会抛出异常。Spring类加载主要过程实例化->初始化,其中实例化是创建对象,初始化是填充属性。我们把实例化完成的类成为半成品,把初始化完成的类成为成品。Spring三级缓存缓存 map 存储对象 一级缓存 singletonObjects 用来存放已经完全创建好的单例bean 二级缓存 earlySi

2021-07-28 09:58:15 2561

原创 阿里云oss上传svg等格式的文件,返回的路径打开后是下载而不是预览

在做的一个项目,阿里云oss上传svg等格式的文件,返回的路径打开后是下载而不是预览。之后web同事跟产品说不好处理,换回了使用jpg格式的文件。但是最终这个问题都是要解决的,产品要求下期也要上传svg格式的文件。很巧的是另一个项目使用的也是阿里云的oss文件上传,就没有这个问题,而且是同一个项目,不同的bucket而已。而且这个oss账号跟我们的是同一个账号,代码也是一样的,就觉得问题可能出在了阿里云oss的bucket配置上。寻求运维同事帮助之后,最终解决了问题。阿里云有这样一个配置

2021-07-15 15:53:38 1634

原创 手机抓包fiddler

新开发的项目,app展示,pc后台,app看不了接口请求参数和返回参数,很不方便,所以就使用fiddler抓下包,挺好用的。安装包链接:https://pan.baidu.com/s/1mDhkX46yyCxylWAe9qv_gA提取码:1234直接点击FiddlerSetup.exe,一直下一步,直到成功。1、启动:2、配置允许监听https允许远程连接3、手机配置手机与电脑要在同一网段电脑ip手机wifi配置打开代理.

2021-07-06 11:45:05 1360

原创 项目涉及第三方账号记录

项目涉及第三方账号,持续更新。。。

2021-06-22 11:57:01 55

原创 从微服务到服务治理形态

微服务是以一组小型服务来开发单个应用程序的方法,每个服务都 运行在自己的进程中,服务间采用轻量级通信机制(通常用 HTTP 资源API)。这些服务围绕业务能力构建并可通过全自动部署机制独立部署,还共用一个最小型的集中式管理,可用不同的语言开发,并使用不同的数据存储技术...

2021-06-01 11:44:28 181

原创 springcloudgateway跨域及跨域配置不起作用

使用的是springcloud gateway遇到了跨域问题,配置了下面的跨域过滤器,不起作用。package com.ph.crm.gateway.filter;import org.springframework.cloud.gateway.filter.GatewayFilterChain;import org.springframework.cloud.gateway.filter.GlobalFilter;import org.springframework.context.anno

2021-05-19 13:48:46 1983 2

原创 解决MySQL Connector Net 8卸载不掉

解决MySQL Connector Net 8卸载不掉。本来安装的mysql-installer-community-8.0.23.0.msi,由于各种原因,需要调整为mysql-installer-community-5.7.34.0.msi,然后卸载mysql。但是MySQL Connector Net 8.0.23总是卸载不掉。解决:将同事的Connector NET 8.0 复制到电脑C:\Program Files (x86)\MySQL中,之后再卸载就可以卸载成功了。C.

2021-04-27 16:55:32 5412 5

原创 postman获取返回值并设置为环境变量

postman获取返回值并设置为环境变量var jsonData=JSON.parse(responseBody);pm.environment.set("token_cur", jsonData.data.access_token); #给当前环境设置环境变量pm.globals.set("token_gloals", jsonData.data.access_token); #给全局设置环境变量赋值成功使用...

2021-04-25 17:01:33 2059

原创 xxl-job使用 docker部署xxl-job-admin及项目集成xxl-job-core

xxl-job安装拉取镜像docker pull xuxueli/xxl-job-admin:2.2.0启动命令docker run -d --name xxl-job-admin2.2.0-v D:\WorkData\Docker\Xxl-job\applogs:/data/applogs -e PARAMS="--spring.datasource.url=jdbc:mysql://192.168.2.101:3306/xxl_job?useUnicode=true&chara.

2021-04-16 14:10:24 2228

原创 基于Mybatis-Plus和dynamic-datasource-spring-boot-starter-多租户多商户多数据源动态切换

多数据源多租户-动态切换数据源

2021-04-13 15:49:25 2203 2

原创 java多环境控制 spring.profiles.active/spring.config.location

spring.config.locationspring.profiles.activedev/application2.ymltest/application1.ymlmvn clean package -Ptest -Udev/application2.ymltest/application1.ymlapplication1.ymlapplication-test.ymljava -jar --spring.profiles.active=test(1、因为没有指定配

2021-03-17 16:13:44 1627 1

原创 Java线上应用故障排查:高CPU占用CPU飚满

//top 显示进程信息top//ps aux|grep [进程号],查看进程信息,定位到项目ps aux|grep 13122//top -H -p [进程号],cpu使用最高的几个线程,定位到线程top -H -p 13122//printf“%x”[线程号],将十进制的线程号转为16进制的线程号printf“%x”13254//->33c6//jstack [进程号] |grep [16进制线程号] -A 30,查询指定线程号后30行代码jstack...

2021-03-17 16:09:54 220

原创 根据子ID查询所有的父ID、根据父ID查询所有的子ID

SELECT T2.func_id, T2.func_name ,T1.parent_id,lvlFROM ( SELECT @r AS _id, (SELECT @r := parent_id FROM bp_func WHERE func_id = _id) AS parent_id, @l := @l + 1 AS lvl FROM (SELECT @r := 147, @l := 0) vars, .

2021-02-25 22:48:00 940

原创 数据库查询不包含某个字段的表

SELECT table_name, column_name FROM information_schema.COLUMNS WHERE table_schema = 'database1' AND table_name NOT IN ( SELECT table_name FROM information_schema.COLUMNS WHERE table_schema = 'database1' AND column_name = 'sss_id' GROUP BY table_na.

2020-08-17 16:39:46 6939

原创 自定义注解实现(AOP Aspect)-多租户多商户多数据源动态切换

偶现,从数据源中取不到jdbc连接org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Conn

2020-08-14 15:24:35 703 1

原创 跨数据库实例比对数据

-- dev手机号与userid的对应关系与test手机号与userid的对应关系不一致,希望查询出不一致的数据。-- dev库执行show variables like 'group_concat_max_len';SET SESSION group_concat_max_len = 102400000;SELECT GROUP_CONCAT( "'", user_id, "_", mobile, "'" ) AS usercodeFROM dev.user;-- 查询结...

2020-08-12 17:19:30 551

原创 批量替换数据库某个字段中部分字符串

UPDATE 表名 SET 字段名 = REPLACE ( 字段名, '被替换字符串', '用来替换的字符串' );UPDATE table_1SET url= REPLACE ( url, 'http://baidu.com', 'https://baidu.com' );

2020-07-28 17:16:41 1004

原创 数据库中表的记录数、数据容量、索引 容量查询

查询 指定数据库 表数据量记录一下SELECT table_schema AS '数据库', table_name AS '表名', table_rows AS '记录数', TRUNCATE ( data_length / 1024 / 1024, 2 ) AS '数据容量(MB)', TRUNCATE ( index_length / 1024 / 1024, 2 ) AS '索引容量(MB)'FROM information_schema.tab...

2020-06-29 18:48:10 575

原创 MYSQL跨表批量更新及JOIN连表字段编码不一致问题

A表 员工部门中间表B表 员工考勤表背景:员工考勤表 部门id字段缺失,批量修复B表数据,填充部门idsqlUPDATE BbINNER JOIN A aON a.staff_id = CONVERT ( b.staff_id USING utf8 ) COLLATE utf8_unicode_ciSET a.dept_id = b.dept_idWHERE...

2020-04-20 15:09:02 310

原创 JDK及CGLIG动态代理学习笔记

代理模式中,Proxy角色在执行代理业务的时候,无非是在调用真正业务前后做一些额外的业务。由上图可以看出,代理类处理的逻辑很简单:在调用某个方法前后做一些额外的业务。换一个思路就是:在Proxy代理对象调用/触发(invoke)真实类的方法前后做一些额外的业务。那么,为了构造出具有通用性和简单性、侵入性低的代理类,可以将所有的触发真实角色方法的动作交给一个触发的管理器统一管理真实类所有的动作/...

2019-10-10 11:41:40 344

原创 mysql大数据量分页查询

只查id:A:id,titleselect * from A where id > (select id from A limit 100000,1) limit 100;select * from A where id between (select id from A limit 100000,1) and(select id from A limit 100100,1);...

2019-06-18 14:01:55 794

原创 i++ 是线程安全的吗?volatile是否是原子性操作?

i++ 是线程安全的吗?不是!(经典的内存不可见问题)i++和++i: { int i = 1; int j1 = i++; System.out.println("j1=" + j1); // 输出 j1=1 System.out.println("i=" + i); // 输出...

2019-05-27 09:22:00 3832

原创 Java集合类

Java集合类:Java结合类基本概念:Java容器类类库的用途是“保存对象”,并将其划分为两个不同的概念:Collection:一组"对立"的元素,通常这些元素都服从某种规则List必须保持元素特定的顺序 Set不能有重复元素 Queue保持一个队列(先进先出)的顺序Map一组成对的"键值对"对象Collection和Map的区别在于容器中每个位置保存的元素个数:Coll...

2019-05-24 13:40:21 237

原创 Elasticsearch原理

es中存储数据的基本单位时索引,比如说你现在要在 es 中存储一些订单数据,你就应该在 es 中创建一个索引order_idx,所有的订单数据就都写到这个索引里面去,一个索引差不多就是相当于是 mysql 里的一张表。index(表类别/表) -> type(表) -> mapping(type的表结构定义,7.X 已被完全移除) -> document(mysql 中某个...

2019-05-22 19:15:07 286

原创 进程及线程间通信,数据交互

每个进程有自己的地址空间,两个进程中的地址即使值相同,实际指向的位置也不同。进程间的通信一般通过操作系统的公开区进行。同一进程中的线程因属于同一地址空间,可直接通信,不仅是系统内部独立运行的实体,而且是独立竞争资源的实体。线程也被称为轻权进程,同一进程的线程共享地址空间,没有通信的必要,但是要做好同步/互斥,保护共享的全局变量。线程拥有自己的栈。同步/互斥是原语primitives(在...

2019-05-22 15:22:03 1549

原创 自定义字段/表头,简单自定义表单

项目需求,自定义表头,自由增减字段表结构:查询sql:SELECTCONCAT('{',GROUP_CONCAT(CONCAT('"',l.form_item_code,'"'),':',CONCAT('"',l.value,'"')),'}') dataFROMlottery_charge_form lWHERE l.campaign_id = 217GROUP BY...

2019-05-22 11:52:55 2131

空空如也

空空如也

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

TA关注的人

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