自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_16570607的博客

热爱技术的一枚妹子

  • 博客(202)
  • 资源 (2)
  • 收藏
  • 关注

原创 java技术面试题

java线程的创建方式有哪几种?java如何创建线程池?线程池七大参数是什么?如何确定核心线程数?java线程池的submit()和excute()方法有什么区别?java有几种锁?分别是什么?java线程安全类有那些?java集合?java线程通信方式有几种?(线程按顺序执行/线程互相等待/线程交叉执行)java线程的状态有哪几种?jvm预设参数有那些?gc回收算法有那些?gc垃圾收集器有那些?它们之间有什么区别?数据库索引结构?B+树了解多少?vue的生命周期。

2024-08-08 15:56:57 431

原创 存储过程简要开发指引

注意:查看存过时一般会使用PL/SQL工具,但开发环境的存储过程不一定是最新的,所以在分析问题时先把存过copy到本地的PL/SQL再编译一次。一个批量作业包含一个或多个批量任务,如汇总一级行的总账数据(广东省) 就是一个批量任务。对系统内部数据进行分析、加工、统计、汇总等处理,处理后数据主要用于:系统内联机交易、给外围应用提供数据文件。实现一个具体业务功能的批量程序,如汇总各一级行的总账数据,对应一个程序入口,简称作业。批量:大量业务数据的更新处理。一个批次的批量根据执行时间点不同,划分为不同的场次。

2024-08-06 11:14:15 197

原创 spring事务讲解

PROPAGATION_REQUIRES_NEW:创建一个新的事务,如果当前存在事务,则把当前事务挂起。也就是说不管外部方法是否开启事务,内部方法都会开启自己的事务,且开启的事务与外部的事务相互独立。3、同个类中的调用被@transaction修饰的方法,会失效,因为只有当事务方法被当前类以外的代码调用,才会由spring生成的代理对象来管理。也就是说如果A类的a方法和B类的b方法都添加了注解,在默认传播模式下,a方法内部调用b方法,会把两个方法的事务合并为一个事务。如果当前没有事务,则创建一个新的事务。

2024-08-04 16:06:38 348

原创 vuex知识

将getMoviesRankingInDouban的action用promise包装一下, 在此次请求结束后, 根据此次请求返回的电影的id, 根据id再次请求电影的信息。数据请求,在action中, 根据传入的参数(数字1-250)异步请求电影数据, 在请求完成后提交mutation。例子:在action中, 根据传入的参数(数字1-250)异步请求电影数据, 在请求完成后提交mutation。状态更改,在mutation中,将查询的结果(传入的参数), 赋值给state中声明的变量。

2024-08-04 11:49:14 443

原创 springboot分环境打包jar

转载:http://t.csdnimg.cn/e5ATU。

2024-08-04 11:18:05 103

原创 Springboot启动流程

Spring Boot 默认会加载 application.yml 和 application.properties 文件作为应用程序的配置文件,也可以通过 spring.config.name 和 spring.config.location 属性指定其他的配置文件名称和路径。Spring Boot 提供了大量的 Starter 和 Auto-Configuration 类,用于自动配置应用程序所需的各种组件,如 WebMVC、JPA、MyBatis、Redis、RabbitMQ 等。

2024-08-04 11:04:23 193

原创 vue知识

Vue2使⽤的是选项类型API(Options API),Vue3使⽤的是合成型API(Composition API)。vue3:数据和⽅法都定义在setup中,并统⼀进⾏return{}。

2024-08-04 10:26:11 411

原创 JVM参数设置和GC算法

XX:SurvivorRatio=n: 年轻代中Eden区与两个Survivor区的比值。-XX:NewRatio=n: 设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4。-XX:ParallelGCThreads=n: 设置并发收集器年轻代收集方式为并行收集时,使用的CPU数。-XX:ParallelGCThreads=n: 设置并行收集器收集时使用的CPU数。-XX:GCTimeRatio=n: 设置垃圾回收时间占程序运行时间的百分比。

2024-08-03 15:43:44 268

原创 线程池的七大核心参数

ArrayBlockingQueue 和 LinkedBlockingQueue 里面的put()和take()方法都是用 ReentrantLock 和 Condition来实现。两者的区别:ArrayBlockingQueue没有设置最大容量,ReentrantLock有设置最大容量。

2024-08-03 11:40:47 150

原创 java线程知识

4、当 其他线程 的 countDown() 方法把计数值变成 0 时,等待线程 里的 countDownLatch.await() 立即退出,继续执行下面的代码。submit(Runnable task)提交任务的方式 ,是存在“隐患”的:FutureTask内部的run()代码块会把异常给吞进去。正确做法:FutureTask内部的run()代码块用try-catch来截获抛出的异常,然后通过get()方法获取到异常。execute()方法,当子线程执行异常时会中断退出,打印异常信息。

2024-08-03 10:50:53 691

原创 中等难度算法题—字符串加密

有一种技巧可以对数据进行加密,它使用一个单词作为它的密匙。下面是它的工作原理:首先,选择一个单词作为密匙,如TRAILBLAZERS。如果单词中包含有重复的字母,只保留第1个,将所得结果作为新字母表开头,并将新建立的字母表中未出现的字母按照正常字母表顺序加入新字母表。在对信息进行加密时,信息中的每个字母被固定于顶上那行,并用下面那行的对应字母一一取代原文的字母(字母字符的大小写状态应该保留)。数据范围:1≤n≤100 ,保证输入的字符串中仅包含小写字母。请实现下述接口,通过指定的密匙和明文得到密文。

2024-06-27 16:15:15 191

原创 WCS立体仓

【自动仓储系统】共分为三层,最上层是WMS仓库管理系统,主要负责仓储业务逻辑处理,最下层是具体的物流设备,比如全自动(AGV)小车、机器人等,而WCS位于WMS与物流设备之间,负责协调调度各个物流设备,执行仓储系统的业务流程需要使用底层物流设备,该过程全权由预设的程序执行,全程无须人工。WCS设备调度系统在自动化立体库上的不断实践,优化,升级目前已经具备相当完善的功能,WCS系统功能包含:上位系统同步、任务准备、步骤执行、监控看板、设备单机控制、设备通讯、设备运行日志、日志存档方式。

2024-06-07 16:54:26 1050

原创 银企直连业务

银行回单指银行在办理业务后出示的一个有效凭证,用来证明在银行办理了某种业务。企业每天发生的收付款业务都会有银行回单与之对应,用来企业日常的账务处理。电子回单记载了企业网上付款交易的各种详细信息。当流水和回单记录到系统后,根据流水号、账户号、金额等信息自动搜寻到系统中对应的流水或回单。

2024-05-26 18:00:44 353 1

原创 CRM系统业务学习

在CRM销售域里的账号都要和HR系统关联,如果离职了,CRM这里也会不允许登陆。线索与线索池、客户与公海池、跟进计划与跟进记录、联系人、商机等。线索管理、客户管理、商机管理、订单管理、财务管理、薪酬管理。通知公告、待办消息、线索跟进、日历任务。录入、领取、跟进、转换。

2024-05-14 15:51:47 199

原创 WMS系统业务学习

需求—采购申请—报价请求—供应商报价—采购订单—接收—付款。业务流程:采购订单—到货预约—货物交接—(质检)—上架。销售订单审核—任务拆解分配任务—拣货确认—出库交接。销售订单审核—波次管理—拣货—验货打包—称重交接。核心功能聚焦于入库及出库管理的各个作业环节。库位管理—盘点—批次/SN—动态库存。仓内转移—仓间调拨—补货—库内加工。销售定价—订单—发运—收款—开票。

2024-05-14 11:21:29 283

原创 ERP与MES与WMS集成

刚好最近接入了一些KA型客户,这些客户希望A海外仓能提供一套对外的OpenAPI,然后通过接口可以实现从客户的ERP或者后台管理系统直接推送商品数据、业务单据到WMS。A零售公司,之前都是做线下的批发和零售业务,对接的都是一些主要做B2B业务的仓库。最近根据业务的规划要开拓电商业务,所以想要对接B2C的电商相关的仓库,目前已经找好了一家意向的仓库,对方用的是B公司的WMS,所以需要对接B公司的WMS接口。终端用户使用RFID(无线射频技术)平台,来查看供应链中流通的货品,以实现简化的自动化操作。

2024-05-13 00:24:06 496

原创 mes系统业务学习

有那些车间,车间里有那些产线,产线上有那些工序,工序上的工位是什么,安排的是设备还是人员。系统对即将进行生产的物料进行预占库存,并在物料实际使用之前,进行扣减。mes线边库预占量可以减少因物料不足导致的工人停工、加班等情况。叫料是指生产过程中向上级工序提出的原材料或零部件的请求,以便下一步制作。从产品原材料到成品的各环节追溯。每个产品在生产过程中都被赋予一个唯一的标识码或批次号,系统可以记录该产品的生产过程和相关信息。通过批次管理,可以精确追踪每个产品的原材料来源、生产工艺、生产人员等关键信息。

2024-05-11 17:03:24 1325

原创 CRM(客户关系管理系统)

在CRM套件的基础上自定义编辑/搭建了适合公司业务的CRM+ERP 两大应用,将两大管理环节进行联动,实现信息互通、高效管理。很多客户有复杂的订单成本计算方式,复杂多变的审批流程,个性化/流程化的数据结构,没有自定义能力就很难满足。数据导入->公海池/客户->商机填写->合同审批->仪表盘数据呈现。管理线索/客户->管理商机->管理合同执行。可新增:询价、招投标、项目管理等。

2024-05-08 16:52:34 272

原创 银行ETL-监管报送

事实表就是你要关注的内容。维度表就是你观察该事务的角度。拉链表是为了保留历史数据,并且使存储最为节约。不需要保留历史记录的表一般不做拉链表。

2024-05-04 21:15:43 1089

原创 SQL学习与优化

多级分类下的自链接查询一级分类下总的销售额及订单总数加索引-性能优化

2024-05-03 14:23:32 139

原创 CountDownLatch锁的应用

【代码】CountDownLatch锁的应用。

2023-09-06 10:07:49 167

原创 java任务太大,分批执行

【代码】java任务太大,分批执行。

2023-08-08 09:26:09 266 1

原创 java线程池的使用

【代码】java线程池的使用。

2023-08-08 09:20:31 208

原创 redis分布式锁的使用

分布式锁工具类LockUtils.javapackage com.shein.pmj.utils;import lombok.extern.slf4j.Slf4j;@Slf4jpublic final class LockUtils { /** * 分布式锁,根据业务情况传入缓存失效时间 * PS:上面的tryGetLock,自增和设置失效时间不是原子的,如果redis自增后, * 系统正好挂了,此时还未设置时效时间,那么定时任务当天就无法执行了(出现概率

2023-08-08 09:11:39 169

原创 复杂SQL优化实例

重写为 JOIN 之后,子查询的选择模式从 DEPENDENT SUBQUERY 变成 DERIVED,执行速度大大加快,从7秒降低到2毫秒。比如下面 UPDATE 语句,MySQL 实际执行的是循环/嵌套子查询(DEPENDENT SUBQUERY),其执行时间可想而知。这种写法不仅存在额外的开销,还使得整个语句显的繁杂。在前端数据浏览翻页,或者大数据分批导出等场景下,是可以将上一页的最大值当成参数作为查询条件的。不难看出子查询 c 是全表聚合查询,在表数量特别大的情况下会导致整个语句的性能下降。

2023-06-06 17:21:56 785 1

原创 复杂SQL实践-MYSQL

题目:现在运营想要查看用户在某天刷题后第二天还会再来刷题的平均概率。窗口函数总体上可以分为序号函数, 分布函数, 前后函数, 首尾函数和其他函数。MySQL从8.0版本开始支持窗口函数。限定条件:第二天再来。会过滤掉不符合的记录。

2023-05-30 21:24:39 626

原创 ERP与MES集成

下面我们以ERP与MES集成为例,与大家分享下系统间的数据集成,常见的接口方式如下图所示:

2023-05-22 15:46:14 179

原创 物联网网络通讯知识

RS485是一个物理接口,DTU和传感器就是通过RS485接口进行连接的。标准的串行工业协议。可以支持RS485,RS232接口。举个简单的例子,服务器下发读取雨量计的命令:分别对应的该传感器的通信id,功能码等。如下图,这是一串指令。

2023-05-20 11:08:06 540

原创 实现布隆过滤器

它实际上是由一个很长的二进制数组+一系列hash算法映射函数,用于判断一个元素是否存在于集合中。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。

2023-05-16 11:27:08 158

原创 k8s简单记录

while true;每隔3秒向文件中写入当前时间。创建一个/tmp/hello.txt 文件。“/bin/sh”,“-c”, 使用sh执行命令。

2023-05-15 15:45:27 595

原创 spring项目里的大事务优化

少用@Transactional注解将查询(select)方法放到事务外事务中避免远程调用事务中避免一次性处理太多数据非事务执行异步处理。

2023-05-15 10:22:18 592

原创 oracle的OLAP 函数

*OLAP(On-line Analytical Processing,联机分析处理)**是在基于数据仓库多维模型的基础上实现的面向分析的各类操作的集合。

2023-05-11 22:26:04 208

原创 Dockerfile部署java项目

要想退出 container 时,让 container 仍然在后台运行着,可以使用“docker exec -it”命令。这是一个多步骤的dockerfile,第一步git下载代码,第二步使用maven进行打包,第三步将运行时环境准备好,并设置命令。将DockerFile 配置文件放到 maven项目目录内,和pom.xml同级。/bin/bash:在container中启动一个bash shell。自动检测的文件名为Dockerfile ,使用。: 保持标准输入打开,默认为false;

2023-05-09 16:06:13 1260

原创 SQL知识汇总

为了应对这种业务场景,MySQL有一种专有语法,一条SQL语句实现插入或更新,可单条可批量。使用要点表要求必须有主键或唯一索引才能起效果,否则insert或update无效。该语法是根据主键或唯一键来判断是新增还是更新。VALUES() 后面应为需要更新的字段,不需要更新的字段不用罗列。遇到已存在记录(根据唯一键或主键)时,自动更新已有的数据;如果表中有多个唯一键(可以是单列索引或复合索引),则任意一个唯一键冲突时,都会自动更新数据。

2023-05-03 17:32:54 1969

原创 SpringBoot单元测试断言 assertions

断言(assertions)是测试方法中的核心部分,用来对测试需要满足的条件进行验证。这些断言方法都是 org.junit.jupiter.api.Assertions 的静态方法。加断言可以避免对数据库的误操作,以及缩短测试流程(断言失败就不再执行之后的代码了)上面一个是我测试建的,如果要新建应该选第二个:Create New Test…待测试的Service方法就不贴了,根据自己的实际情况写逻辑就行;也可以设置异常报文,第一个参数是期望值,第二个参数是实际值。会弹出新建测试类的框。

2023-04-18 15:00:10 1756

转载 sql优化总结

在结果集中包括“合计”的例程通常要比使用游标执行的速度快。如果开发时间允许,基于游标的方法和基于集的方法都可以尝试一下,看哪一种方法的效果更好。

2023-04-18 14:30:55 375

原创 JAVA代码优化实践

这样做的好处是,减少了读写文件的次数,而我们都知道读写文件是非常耗时的操作。最关键的地方是定义了一个buffer字节数组,把从1.txt文件中读取的数据临时保存起来,后面再把该buffer字节数组的数据,一次性批量写入到2.txt中。IO流想必大家都使用得比较多,我们经常需要把数据写入某个文件,或者从某个文件中读取数据到内存中,甚至还有可能把文件a,从目录b,复制到目录c下等。因为这个例子中,从1.txt文件中读一个字节的数据,就会马上写入2.txt文件中,需要非常频繁的读写文件。

2023-04-17 18:05:15 385

原创 Java Stream API的使用

日常编程工作中,Java集合会经常被使用到,且经常需要对集合做一些类似过滤、排序、对象转换之类的操作。为了简化这类操作,Java8添加了一套新的Stream API,使用方式就像写SQL一样,大大简化了这类处理的实现代码量与可读性。

2023-04-17 17:19:54 368

原创 多线程事务怎么回滚?

1,最近有一个大数据量插入的操作入库的业务场景,需要先做一些其他修改操作,然后在执行插入操作,由于插入数据可能会很多,用到多线程去拆分数据并行处理来提高响应时间,如果有一个线程执行失败,则全部回滚。2,在spring中可以使用@Transactional注解去控制事务,使出现异常时会进行回滚,在多线程中,这个注解则不会生效,如果主线程需要先执行一些修改数据库的操作,当子线程在进行处理出现异常时,主线程修改的数据则不会回滚,导致数据错误。3,下面用一个简单示例演示多线程事务。

2023-04-17 15:41:56 329

原创 Java的CPU 飙升700%优化的真实案例

最近负责的一个项目上线,运行一段时间后发现对应的进程竟然占用了700%的CPU,导致公司的物理服务器都不堪重负,频繁宕机。那么,针对这类java进程CPU飙升的问题,我们一般要怎么去定位解决呢?

2023-04-17 11:14:47 367

《Java并发编程实战》

《Java并发编程实战》深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。 《Java并发编程实战》适合Java程序开发人员阅读。

2017-10-20

spring-framework-reference

spring-framewok api 文档

2017-08-26

空空如也

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

TA关注的人

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