自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

年少青山的博客

JAVA工程师,WMS,WCS系统开发工程师,持续关注软件,物流,自动化行业的最新技术和资讯。

  • 博客(140)
  • 收藏
  • 关注

原创 Linux NFS文件挂载服务常用命令

Linux NFS文件挂载服务常用命令

2022-10-11 18:59:18 1218

原创 Git常用命令收藏

Git常用命令收藏

2022-09-09 11:41:21 73

原创 Linux常用命令收藏

df -hl 查看磁盘剩余空间df -h 查看每个根路径的分区大小du -sh [目录名] 返回该目录的大小du -sm [文件夹] 返回该文件夹总M数du -h [目录名] 查看指定文件夹下的所有文件大小(包含子文件夹)...

2021-08-23 14:47:40 202

原创 经常用Redis,这些坑你知道吗?

经常用Redis,这些坑你知道吗?

2023-02-24 22:18:17 43

原创 单核CPU, 1G内存,也能做JVM调优吗?

单核CPU, 1G内存,也能做JVM调优吗?

2023-02-24 22:14:05 1392

原创 一次线上JVM Young GC调优,搞懂了这么多东西!

一次线上JVM Young GC调优,搞懂了这么多东西!

2023-02-24 22:07:29 60

原创 JVM GC G1垃圾回收器配置

JVM GC G1垃圾回收器配置

2023-02-23 22:52:39 301

原创 JVM参数GC线程数ParallelGCThreads设置

JVM参数GC线程数ParallelGCThreads设置

2023-02-23 22:32:06 304

原创 JVM优化常用命令

JVM优化常用命令

2023-02-22 16:42:24 333

原创 jvm mat分析dump文件

jvm mat分析dump文件

2023-02-10 18:23:09 614

原创 Linux查看JVM FULL GC频率

Linux查看JVM FULL GC频率

2023-02-10 16:23:36 865

原创 Java进程CPU高负载排查步骤

Java进程CPU高负载排查步骤

2023-02-10 16:01:14 740

原创 Redis集群和Lettuce 配置

lettuce、jedis、Redisson、集群

2023-02-09 17:02:22 1196

原创 Redis事务操作实例

Redis事务操作实例

2023-02-09 16:17:23 27

原创 Linux umount报错:device is busy

linux nfs umount报错:device is busy

2023-01-09 15:22:29 406

原创 解决Gateway设置context-path无效

解决Gateway设置context-path无效

2022-11-16 14:21:05 661

原创 解决Devops部署Java应用中文乱码

解决Devops部署Java应用中文乱码

2022-11-09 01:18:03 405

原创 Java8使用stream分组和排序的实现

Java8使用stream分组和排序的实现

2022-08-30 10:32:42 1086

转载 浅析MySQL里char、varchar、text的区别及应用场景

在存储字符串时, 可以使用char、varchar或者text类型, 那么具体使用场景呢?1、char长度固定, 即每条数据占用等长字节空间;适合用在身份证号码、手机号码等定。2、varchar可变长度,可以设置最大长度;适合用在长度可变的属性。3、text不设置长度, 当不知道属性的最大长度时,适合用text。  按照查询速度: char最快, varchar次之,text最慢。1、char:char(n)中的n表示字符数,最大长度是255个字符; 如果是utf8编码方式, 那么char类型占255 *

2022-07-05 14:08:35 2411 1

原创 上位机与MES对接的常见方式

数据库是任何一个开发人员都必须掌握的技能,因此,对于一些简单的交互,通过数据库应该是双方都能够接受的,这里要注意,尽量避免操作生产数据表,可以根据实际业务场景,通过新增一个专门用于交互的数据表,来减少操作失误。有的时候,上位机也可以通过文件来与MES交互,可以是各种格式的文件,文本文件、excel、xml都可以。比如,上位机或MES定时生成文本文件,对方检测文件的生成时间,来判断是否流程完成,进而实现后续流程。这里的TCP指的是传输层TCP,双方约定好协议内容,通过Socket连接,发送和接收,来实现数据通

2022-06-30 11:49:38 636

原创 Jackson2JsonRedisSerializer和GenericJackson2JsonRedisSerializer

Jackson2JsonRedisSerializer和GenericJackson2JsonRedisSerializer

2022-06-15 17:35:13 1007 1

原创 Ubuntu16.04解决文件名中文变问号

"测试GZKLLT2022.PDF"文件名显示为:???GZKLLT2022.PDFJava创建文件到Ubuntu16.04服务器,发现文件名,中文全部为“?”问号,直接导致文件无法下载解决方案如下:#查看当前操作系统字符编码localeen_US.UTF-8或zh_CN.UTF-8为正常,显示en_US则为异常#查看当前操作系统支持的字符集locale -a#编辑配置,添加语言字符集,i开启编辑,esc退出编辑,shift+zz保存退出vi /etc/def

2022-05-27 17:05:49 718

原创 MySQL与PostGreSQL的区别

MySQL与PostGreSQL的区别一.PostgreSQL相对于MySQL的优势1、在SQL的标准实现上要比MySQL完善,而且功能实现比较严谨;2、存储过程的功能支持要比MySQL好,具备本地缓存执行计划的能力;3、对表连接支持较完整,优化器的功能较完整,支持的索引类型很多,复杂查询能力较强;4、PG主表采用堆表存放,MySQL采用索引组织表,能够支持比MySQL更大的数据量。5、PG的主备复制属于物理复制,相对于MySQL基于binlog的逻辑复制,数据的一致性更加可靠,复制性能更.

2022-05-27 09:13:03 5794

原创 CompletableFuture最佳实践

本文安利一个 Java8 的工具 CompletableFuture,这是 Java8 带来的一个非常好用的用于异步编程的类。还没使用过的小伙伴,赶紧用起来吧。本文不介绍它的实现源码,仅介绍它的接口使用,本文也不做它和 RxJava 等其他异步编程框架的对比。实例化首先,不管我们要做什么,我们第一步是需要构造出 CompletableFuture 实例。最简单的,我们可以通过构造函数来进行实例化:CompletableFuture<String> cf = new Comp

2022-05-25 11:48:12 540

原创 2021年国内上市物流集成商业绩

今天国际今天国际近日发布2021年度业绩预告,预计业绩同向上升。报告期内归属于上市公司股东的净利润6,600万元–8,400万元,比上年同期增长9.10%-38.86%。报告称,2021年度归属于上市公司股东的净利润较上年同期增长的主要原因为本年度公司新能源、商超及烟草行业完成项目确认营业收入均较上年同期增加。德马科技德马科技公布2021年度业绩快报,报告期内,公司实现营业收入14.90亿元,同比增长94.30%;利润总额7563.94万元,同比增长1.19%;实现归属于母公司所有者的净利润

2022-05-19 23:20:38 140

原创 2021年全球20大物流系统集成商营收排行榜

美国物料搬运杂志MMH近期公布了全球20大物流系统集成商的最新排名及其在2021年的营收情况。2021年仓库自动化系统供应商的上升轨迹仍在继续,在上榜的所有20家供应商中,营收总额为319亿美元,高于去年前20名供应商的259亿美元,增长了23%。这主要得益于电子商务压力以及随之而来的对电商履约运营中更多自动化的需求。 公司 2020年全球收入 (百万美元) 2021年全球收入 (百万美元) 2020-2021年

2022-05-19 23:16:07 695

原创 MongoDB常用命令收藏

统计 MongoDB 某字段数据量 db.集合名.aggregate([{$group : {_id : "$待统计字段", num_tutorial : {$sum : 1}}}]) WHERE语句 操作 格式 范例 RDBMS中的类似语句 等于 {< key>:< value>} db.coll.find({“by”:“java”}).pretty() where by = ‘java’ 小于 {< ke..

2022-05-16 10:18:56 285

转载 SpringCloud组件的停更和替换说明

SpringCloud的Hoxton版本,和之前的版本相比,用新的组件替换掉了原来大部分的组件,老的组件现在处于停更不停用的状况。详情见下图(×的表示之前的组件,现在停更了的;√的表示新的替换后的组件):描述:服务注册中心:Eureka:官方停止更新,并且已经有更好的替代产品了,可以使用,但是官方已经不建议使用了(重度患者)。Zookeeper:某些老系统,以前是用的Zookeeper + Dubbo,后来做技术升级,结果发现SpringCloud的Eureka停更了,然后就...

2022-05-07 15:51:15 1582

转载 万字总结,RPC 项目相关问题及解答

RPC什么是 RPCRPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。比如两个不同的服务 A、B 部署在两台不同的机器上,那么服务 A 如果想要调用服务 B 中的某个方法该怎么办呢?使用 HTTP请求 当然可以,但是可能会比较慢而且一些优化做的并不好。 RPC 的出现就是为了解决这个问题。最终解决的问题:让分布式或者微服务系统中不同服务之间的调用像本地调用一样简单。RPC 简要原理服务消费方

2022-05-07 11:20:54 542

转载 Retrofit、Volley、HttpClient比较

Retrofit作为现在大家用的最多HTTP请求框架,非常流行,Github上star 3w+。它为什么能超越Volley、HTTPClient能够一枝独秀呢?那先看看其他两个HTTP栈的实现。HTTPClientJava界老牌HTTP栈实现,由Apache维护,它支持HTTP1.0/1.1、极其丰富的API来支持各种子协议,代码庞大臃肿也变成了它的缺点,虽然它的创建一开始是为了弥补Java SDK中java.net包HTTP请求的简单实现,Android在6.0以后彻底弃用了它,转而推荐使用HTT

2022-04-22 15:16:26 228

原创 优质博客文章地址收藏

Spring4.x 手动事务,监听处理未关闭事务的几点思路,文末彩蛋 - 简书乐观锁加重试,并发更新数据库一条记录导致:Lock wait timeout exceeded_earthhour的博客-CSDN博客数据库连接池配置(案例及排查指南)debug记录:连接池和事务引发的bug - 六道漫步的博客 | Liudaomanbu BlogDruid数据库连接池支持闲时检测吗? - 张恒的网络日志DruidDataSource配置属性列表 · alibaba/druid Wiki ·...

2022-04-14 20:20:31 974

原创 @Transaction注解及失效详解

@Transaction注解回滚失效详解

2022-04-14 09:33:27 4507

原创 Cause: java.sql.SQLException: connection closed

近期系统频繁报java.sql.SQLException: connection closed

2022-04-14 00:40:48 5801

原创 Java 8新特性及常见用法

现在越来越多的项目使用Java 8 的新用法和类库,函数式编程的思想操作对象和集合类时,使代码简洁易读,本篇将介绍Lambda表达式,流Stream,类库,高级集合类和收集器,数据并行,测试和重构,设计和架构,并发等新特性。...

2022-03-11 00:23:24 293

转载 Git 分支开发规范

分支命名master 分支master 为主分支,也是用于部署生产环境的分支,确保master分支稳定性 master 分支一般由develop以及hotfix分支合并,任何时间都不能直接修改代码develop 分支develop 为开发分支,始终保持最新完成以及bug修复后的代码 一般开发的新功能时,feature分支都是基于develop分支下创建的feature 分支开发新功能时,以develop为基础创建feature分支 分支命名: feature/ 开头的为特性分支,

2022-03-03 14:35:32 286

原创 Redis TTL说明

Redis的key,通过TTL命令返回key的过期时间,一般来说有3中:1. 当前key没有设置过期时间,所以会返回-1.2. 当前key有设置过期时间,而且key已经过期,所以会返回-2.3. 当前key有设置过期时间,且key还没有过期,故会返回key的正常剩余时间.4. 当前key过期,但没有被删除,返回0...

2022-02-24 18:29:29 311

原创 ForkJoinPool处理集合

ForkJoinPool 为了并行计算使用(也就是新增加的并行流),也适合IO密集型的场景比如大规模的并行查询,下面介绍并行处理List的用法:List<xxx> list = xxx;ForkJoinPool forkJoinPool = new ForkJoinPool(核心线程数量);try { forkJoinPool.submit(() -> list.parallelStream().forEach(t-> { xxx逻辑; }))

2022-02-24 00:00:27 526

原创 Netty实现连接西门子PLC

西门子PLC支持以太网通信,常用的通信协议是S7协议,S7协议本质上也属于TCP/IP的一种,TCP/IP通信一般是基于Socket实现的,考虑到Socket通信是I/O阻塞模式,在连接大批量PLC节点是效率不佳的,Netty是基于NIO基础上的封装,是一个高性能NIO框架,项目中立库需要连接上百个点位的PLC,由此引入Netty实现。

2022-01-07 14:47:45 1327 9

转载 Netty理解及使用场景(深度解析)

简单来说可以分为以下几个步骤:基于TCP协议建立网络通信。 开始向服务端端传输数据。 服务端接受到数据进行解析,开始处理本次请求逻辑。 服务端处理完成后返回结果给客户端。在这个过程中,会涉及到网络IO通信,在传统的BIO模式下,客户端向服务端发起一个数据读取请求,客户端在收到服务端返回数据之前,一直处于阻塞状态,直到服务端返回数据后完成本次会话。这个过程就叫同步阻塞IO,在BIO模型中如果想实现异步操作,就只能使用多线程模型,也就是一个请求对应一个线程,这样就能够避免服务端的链接被一个客户端占用

2022-01-06 17:37:27 4285

原创 上位机与西门子PLC通信协议

前言最近西门子PLC价格大幅上调,在工控界引起了不小的风波,不仅涨价,甚至还缺货,导致很多人不得不更改方案。听说最近已经完成了芯片替换,希望不久能够恢复供货,并把价格回调。通过这件事,从侧面可以看出,西门子在工控领域的市场占有率很大,那么对于上位机开发人员来说,使用西门子PLC作为下位机,我们应该如何与之进行通信呢?西门子PLC支持很多种通信协议,主要分为两种,一种是串口通信,一种是以太网通信,同时也可以通过OPC实现数据通信。串口通信西门子PLC支持串口通信,在S7-200和S7-20

2022-01-06 15:56:59 11462

空空如也

空空如也

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

TA关注的人

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