- 博客(376)
- 收藏
- 关注
原创 【精益管理】21个专业术语,让你的精益生产更专业
1节拍时间(Takt Time; TT )为满足客户需求所要求的速度或每件/双产品所的时间(秒)。可用的生产时间除以客户需求量。2在制品库存(Working in Process; WIP)即在制程中拥有附加价值的原物料或半成品。注:在制品库存越少越好。3前置时间/ 交期( Lead Time; LT )是指从原材料收货到成品离开成品仓出货给客户之间的全部时间(秒)。4周期时间( Cycle Time; CT )观察测量得出完成一个作业的时间。...
2023-02-02 15:07:28
1346
转载 MES系统主要有哪些模块
MES系统即制造企业生产过程执行管理系统,是一套面向制造企业车间执行层的生产信息化管理系统。MES能够通过信息的传递,对从订单下达到产品完成的整个产品生产过程进行优化管理,对工厂发生的实时事件,及时准确地做出相应的反应和报告,并进行相应地指导与处理
2023-02-02 15:00:45
720
转载 ERP系统的主要功能模块
erp系统的主要功能模块有:1、会计核算模块;2、财务管理模块;3、生产控制管理模块;4、物流管理模块;5、采购管理模块;6、分销管理模块;7、库存控制模块;8、人力资源管理模块。其中,会计核算是对企业的会计相关数据进行统一管理并自动整合。
2023-02-02 14:46:20
583
转载 SpringCloud服务注册与发现
1、介绍对于微服务的治理而言,其核心就是服务的注册和发现。在SpringCloud 中提供了多种服务注册与发现组件:Eureka,Consul,Zookeeper。官方推荐使用Eureka。说明:Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery实现。也是springcloud体系中最重要最核心的组件之一。管理的服务包含了Spring Cloud的其他服务组件如:熔断、负载、降级等。2、理解以往服务间资
2022-04-22 10:52:45
1535
转载 DDD分层架构的三种模式
引言在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和分层架构的相关知识。DDDDDD(Domain Driven Design,领域驱动设计)作为一种软件开发方法,它可以帮助我们设计高质量的软件模型。在正确实现的情况下,我们通过DDD完成的设计恰恰就是软件的工作方式。UL(Ubiquitous Language,通用语言)是团队共享的语言,是DDD中最具威力的特性之一。不管你在团队中的角色如何,只要你是团队的一员,你都将使用UL。由于UL的重要性,所以需要让每个概念在各自的上下文中是
2022-02-10 09:49:41
542
转载 ITIL 4讲解:ITIL4的设计框架解析
【摘要】 ITIL 4 自2019年2月正式推出Foundation考试,市场热度不算高,但是也是不少人再学习。ITIL 4的设计体系和ITIL 3不尽相同,了解一下ITIL 4的体系设计框架和亮点。ITIL4中服务管理的四个维度ITIL 4首先讲解了服务管理的四个维度组织和人员,信息和技术,合作伙伴和供应商,价值流和流程(输入,活动和输出)。同时,在服务管理中,不能忽视外部因素 - 著...ITIL 4 自2019年2月正式推出Foundation考试,市场热度不算高,但是也是不少人再学习。ITIL
2021-09-18 10:59:30
3084
转载 大概描述一下PDM、PLM、ERP的联系与区别
PDM是产品数据管理,属于研发产品数据管理的初级阶段,主要针对研发产品物料,BOM结构和文档的管理;PLM是产品生命周期管理,属于研发产品数据管理的高级阶段,主要针对研发产品项目的各个阶段所有数据的管理;ERP是企业需求计划,属于产品制造和财务资源管理和计划这三种都不是简单的软件,而是一套管理理念和解决方案,可以由不同的软件系统来实现,但是复杂度和程度不一样!PLM业内著名公司国外参数技术公司(PTC) 、达索公司(Dassault Systèmes )、西门子PLM公司(Siemens Pr
2021-09-14 13:13:29
2812
转载 IPD和PLM的区别与联系!
01IPD解读什么是IPD?IPD是一套产品及研发管理的体系,是从产品投资与开发的角度来审视产品与研发管理的思想和架构。通过构建优秀的管理体系来达到提升产品管理与研发绩效的目的。IPD涵盖了产品从概念到生命周期结束全过程的管理,而这一过程正是技术创新的过程。因此,通过实施IPD从而提高产品开发的效率和成功率,降低成本,提高企业效益,能够达到提升产品开发能力的作用,同时也达到了提高企业自主创新能力的作用。从国内企业实施IPD的案例来看,众多实施了IPD解决方案的企业都取得了预期
2021-09-14 11:32:39
905
转载 精益管理3大特征,5大步骤、7大浪费. 10大术语
精益管理3大特征,5大步骤、7大浪费. 10大专业术语总结篇。精益管理3大特征:这3个特征有助于我们快速了解精益管理的内涵,也对如何推行精益管理也有一定的参考价值。1、拉动式生产2、消除浪费3、自働化精益管理5个步骤:我们要如何以精益五步骤落地精益管理呢?彻底杜绝浪费,以最小缓冲成本,根据系统状态投料,限制在制品数量,由客户拉动价值,畅流价值流,交付价值。1、 定义/识别价值2、识别价值流3、流动4、拉动5、尽善尽美精益管理7大浪费:七大浪费的总结,可以让工作人员有针对性地快速消除生产
2021-09-14 10:52:20
1295
原创 HashMap、Hashtable、ConcurrentHashMap的原理与区别
下面直接来干货,先说这三个Map的区别:HashTable底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相关优化 初始size为11,扩容:newsize = olesize*2+1 计算index的方法:index = (hash & 0x7FFFFFFF) % tab.lengthHashMap底层数组+链表实现,可以存储null键和null值,线
2021-09-13 09:45:24
107
转载 RabbitMQ 的4种集群架构
1. 主备模式也称为 Warren (兔子窝) 模式。实现 rabbitMQ 的高可用集群,一般在并发和数据量不高的情况下,这种模式非常的好用且简单。也就是一个主/备方案,主节点提供读写,备用节点不提供读写。如果主节点挂了,就切换到备用节点,原来的备用节点升级为主节点提供读写服务,当原来的主节点恢复运行后,原来的主节点就变成备用节点,和 activeMQ 利用 zookeeper 做主/备一样,也可以一主多备。HaProxy 配置:listen rabbitm...
2021-08-25 10:31:54
353
原创 Java 多线程同步的五种方法
一、引言前几天面试,被大师虐残了,好多基础知识必须得重新拿起来啊。闲话不多说,进入正题。二、为什么要线程同步因为当我们有多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时,就会导致变量值或对象的状态出现混乱,从而导致程序异常。举 个例子,如果一个银行账户同时被两个线程操作,一个取100块,一个存钱100块。假设账户原本有0块,如果取钱线程和存钱线程同时发生,会出现什么结果 呢?取钱不成功,账户余额是100.取钱成功了,账户余额是0.那到底是哪个呢?很难说清楚。因此多线程同步
2021-08-25 10:28:27
1606
原创 Java中的多线程你只要看这一篇就够了
引如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现:比如最常见的“生产者,消费者模型”。很多人都对其中的一些概念不够明确,如同步、并发等等,让我们先建立一个数据字典,以免产生误会。多线程:指的是这个程序(一个进程)运
2021-08-24 16:28:37
133
原创 JAVA多线程--信号量(Semaphore)
简介信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施, 它负责协调各个线程, 以保证它们能够正确、合理的使用公共资源。一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。拿到信号量的线程可以进入代码,...
2021-08-24 16:27:16
5504
1
原创 Java多线程并发常用类实例之:CyclicBarrier
CyclicBarrier表示大家彼此等待,大家集合好后才开始出发,分散活动后又在i指定地点集合碰面,这就好比整个公司的人员利用周末时间集体郊游一样,先各自从家出发到公司集合后,再同时出发到公园游玩,在指定地点集合后再同时开始就餐……import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;import java.util.concurrent.ExecutorServ.
2021-08-24 16:26:29
104
原创 Java多线程之CountDownLatch学习
Java中concurrent包中的CountDownLatch类说白了就是一个计数器,我们可以通过设置参数来进行计数,每次只能有一个线程去操作这个计数器,通过CountDown这个函数使得计数器的值减小,当计数器的值为0时,阻塞于await方法的线程才能得以执行。例子:下面的程序中的主线程阻塞于await方法, 只有当5个线程都执行完了,主线程才能继续执行。packagecom.test; importjava.util.Random; importjava.util...
2021-08-24 16:25:20
126
原创 队列送券的实际应用--ConcurrentLinkedQueue并发队列
1、TicketQueue.java--队列封装类,负责如下职责:a、把活动登记对象放入队列中b、从队列中获取活动登记对象,并派券package com.ljq.test;import java.util.Iterator;import java.util.concurrent.ConcurrentLinkedQueue;import org.apache.commons.lang.math.NumberUtils;import org.apache.log4j.Logger;im
2021-08-24 16:24:08
144
原创 ConcurrentHashMap--锁的分段技术
ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。HashTable容器在竞争激烈的并发环境下表现出效率低下的原因,是因为所有访问HashTable的线程都必须竞争同一把锁,那假如容器里有多把锁,每一把锁用于锁容器其中一部分数据,那么当多线程访问容器里不同数据段的数据时,线程间就不会存在锁竞争,从而可以有效的提高并发访问效率,这就是ConcurrentHashMap所使用的锁分段技术,首先将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用
2021-08-24 16:23:07
322
原创 阻塞队列--LinkedBlockingQueue
什么叫线程安全?线程安全就是每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的。线程安全就是说多线程访问同一代码,不会产生不确定的结果。并行和并发区别1、并行是指两者同时执行一件事,比如赛跑,两个人都在不停的往前跑;2、并发是指资源有限的情况下,两者交替轮流使用资源,比如一段路(单核CPU资源)同时只能过一个人,A走一段后,让给B,B用完继续给A,交替使用,目的是提高效率。LinkedBlockingQueue是一个线程安全的阻塞队列,实现了先进先出等特性,是作为.
2021-08-24 16:21:17
7021
原创 阻塞队列BlockingQueue用法
多线程环境中,通过队列可以很容易实现数据共享,比如经典的“生产者”和“消费者”模型中,通过队列可以很便利地实现两者之间的数据共享。假设我们有若干生产者线程,另外又有若干个消费者线程。如果生产者线程需要把准备好的数据共享给消费者线程,利用队列的方式来传递数据,就可以很方便地解决他们之间的数据共享问题。但如果生产者和消费者在某个时间段内,万一发生数据处理速度不匹配的情况呢?理想情况下,如果生产者产出数据的速度大于消费者消费的速度,并且当生产出来的数据累积到一定程度的时候,那么生产者必须暂停等待一下(阻塞生产
2021-08-24 16:20:37
258
原创 java5 Exchanger数据交换
package com.ljq.test.thread;import java.util.concurrent.Exchanger;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class ExchangerTest { public static void main(String[] args) { ExecutorServi...
2021-08-24 16:16:33
68
转载 VMware虚拟机中CentOS 7的硬盘空间扩容
最近在搭一些集群,虚拟机上centos7虚拟机上的空间越发不可用了,决定对它扩空间在网上找了个案例,亲自操作可以成功查看centos7系统挂载点信息扩展VMWare-centos7硬盘空间对新增加的硬盘进行分区、格式化添加新LVM到已有的LVM组,实现扩容1.查看centos7系统挂载点信息df -h查看挂载点信息2.扩展VMWare-centos7硬盘空间关闭Vmware的centos7系统,才能在VMWare菜单中设置需要增加到的磁盘大小如
2021-08-24 13:21:11
496
原创 java5 CountDownLatch同步工具
好像倒计时计数器,调用CountDownLatch对象的countDown方法就将计数器减1,当到达0时,所有等待者就开始执行。java.util.concurrent.CountDownLatch一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数初始化CountDownLatch。由于调用了countDown()方法,所以在当前计数到达零之前,await方法会一直受阻塞。之后,会释放所有等待的线程,await的所有后续调用都将立即返回。这种现象只出现一次
2021-07-27 10:13:39
78
原创 java5 ReadWriteLock用法--读写锁实现
读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,这是由jvm自己控制的,你只要上好相应的锁即可。如果你的代码只读数据,可以很多人同时读,但不能同时写,那就上读锁;如果你的代码修改数据,只能有一个人在写,且不能同时读取,那就上写锁。总之,读的时候上读锁,写的时候上写锁!三个线程读数据,三个线程写数据示例:可以同时读,读的时候不能写,不能同时写,写的时候不能读。读的时候上读锁,读完解锁;写的时候上写锁,写完解锁。注意finally解锁。package com.ljq.test.thread;
2021-07-27 10:12:47
206
原创 java5 Lock用法
锁是控制多个线程对共享资源进行访问的工具。通常,锁提供了对共享资源的独占访问。一次只能有一个线程获得锁,对共享资源的所有访问都需要首先获得锁。不过,某些锁可能允许对共享资源并发访问,如 ReadWriteLock(维护了一对相关的锁,一个用于只读操作,另一个用于写入操作) 的读写锁。1、Lock提供了无条件的、可轮询的、定时的、可中断的锁获取操作,所有加锁和解锁的方法都是显式的。public interface Lock{ void lock(); //加锁 //优先考虑响应中断,而不是..
2021-07-27 10:12:13
102
原创 多个线程访问共享对象和数据的方式
多个线程访问共享对象和数据的方式有两种情况:1、每个线程执行的代码相同,例如,卖票:多个窗口同时卖这100张票,这100张票需要多个线程共享。2、每个线程执行的代码不同,例如:设计四个线程,其中两个线程每次对j增加1,另外两个线程每次对j减少1。a、如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个对象中有共享数据。卖票就可以这样做,每个窗口都在做卖票任务,卖的票都是同一个数据(点击查看具体案例)。b、如果每个线程执行的代码不同,就需要使用不同的Runnable对象,有两种方式实现
2021-07-27 10:11:41
880
原创 ThreadLocal线程范围内的共享变量
package com.ljq.test.thread;import java.util.HashMap;import java.util.Map;import java.util.Random;/*** 线程范围内的共享变量* 三个模块共享数据,主线程模块和AB模块* @author Administrator*/public class ThreadScopeShareData { // 准备共享的数据 private static int data = ..
2021-07-27 10:11:05
202
原创 同步、异步、阻塞和非阻塞区别
简单点说:阻塞就是干不完不准回来,一直处于等待中,直到事情处理完成才返回;非阻塞就是你先干,我先看看有其他事没有,一发现事情被卡住,马上报告领导。我们拿最常用的send和recv两个函数来说吧...比如你调用send函数发送一定的Byte,在系统内部send做的工作其实只是把数据传输(Copy)到TCP/IP协议栈的输出缓冲区,它执行成功并不代表数据已经成功的发送出去了,如果TCP/IP协议栈没有足够的可用缓冲区来保存你Copy过来的数据的话...这时候就体现出阻塞和非阻塞的不同之处了:对于阻塞..
2021-07-27 10:10:25
283
原创 java5 CyclicBarrier同步工具
CyclicBarrier是一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点(common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时CyclicBarrier很有用。因为该barrier 在释放等待线程后可以重用,所以称它为循环的barrier。CyclicBarrier支持一个可选的Runnable命令,在一组线程中的最后一个线程到达之后(但在释放所有线程之前),该命令只在每个屏障点运行一次。若在继续所有参与线程之前更新共享状态,此
2021-07-27 10:07:07
82
原创 java5 Condition用法--实现线程间的通信
Condition的功能类似在传统线程技术中的Object.wait()和Object.natify()的功能,传统线程技术实现的互斥只能一个线程单独干,不能说这个线程干完了通知另一个线程来干,Condition就是解决这个问题的,实现线程间的通信。比如CPU让小弟做事,小弟说我先歇着并通知大哥,大哥就开始做事。Condition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待
2021-07-27 10:06:02
137
原创 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列(先进先出)。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线程安全?这个首先要明确。线程安全就是说多线程访问同一代码,不会产生不确定的结果。并行和并发区别1、并行是指两者同时执行一件事,比如赛跑,两个人都在不停的往前跑
2021-07-27 10:03:38
192
转载 hadoop1.0 和 Hadoop 2.0 的区别
1.Hadoop概述在Google三篇大数据论文发表之后,Cloudera公司在这几篇论文的基础上,开发出了现在的Hadoop。但Hadoop开发出来也并非一帆风顺的,Hadoop1.0版本有诸多局限。在后续的不断实践之中,Hadoop2.0横空出世,而后Hadoop2.0逐渐成为大数据中的主流。那么Hadoop1.0究竟存在哪些缺陷,在它升级到Hadoop2.0的时候又做出了怎样的调整,最终使得Hadoop2.0成为大数据的基石呢?2.Hadoop1.0首先我们来看hadoop1.0的整体结构
2021-07-27 05:20:59
3102
转载 缓存穿透、缓存击穿、缓存雪崩区别和解决方案
一、缓存处理流程 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。 二、缓存穿透 描述: 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。 解决方案:接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的...
2021-07-22 11:45:00
76
转载 SAFe - 大规模敏捷入门必备知识(一)
关于大规模敏捷研发,目前业内较为常用的包括两类:一是上期我们介绍过的LeSS,以及今天我们将向大家介绍的SAFe(Scaled Agile Framework)。01为什么要使用SAFe?敏捷研发模式为很多组织带来了显著的改进。而仅仅在研发环节采用敏捷模式是不够的。这项起源于软件研发领域的技术,现在需拓展到对整个企业方向的导航、对转变组织成员工作方式的引导及企业运营的方方面面中。为了让组织能更快做出决策,包括分配资源、安排工作等,商业敏捷帮助企业将潜在的商业机会资本...
2021-03-30 11:16:45
1760
转载 SAFe - 大规模敏捷入门必备知识(二)
上一期我们介绍了何为SAFe,并对SAFe框架中七种实现商业敏捷的核心能力进行了概述。今天我们就来对这七种能力中的前两种进行详细阐述。01精益敏捷领导力组织中的经理、总监及领导者们需要为组织成功采用精益敏捷创造合适的环境。只有领导者才拥有被正式授权的,可以改变及持续改进组织效能体系的权利。也只有领导者能够为生成高效运作的敏捷团队创造合适的生长环境。组织的精益敏捷领导力可以通过不断引导领导者发展下图提及的3个维度的能力得以实现。一、以身作则通过内化更...
2021-03-30 11:15:48
1588
转载 SAFe - 大规模敏捷入门必备知识(三)
本期我们继续聊一聊SAFe的核心准则之敏捷产品交付、企业级解决方案交付及精益组合管理。1敏捷产品交付敏捷产品交付是一种以客户为中心的方法,它能够为客户定义、构建及发布持续的有价值的商品及服务。这些能力相互作用,为维护市场份额的稳定及领先的服务领导力创造机遇。敏捷产品交付有三个维度,如下图所示:1.1 以客户为中心及设计思维以客户为中心是一种思维方式,它要求在做决策时,要将客户放在心中。应用设计思维,组织能够确保提供的解决方案是令人满意的、可行的以及可持续...
2021-03-30 11:14:24
820
转载 SAFe - 大规模敏捷入门必备知识(四)
本期我们将对SAFe 5.0框架的基础知识进行收尾。一、组织敏捷除了掌握之前提到的能力外,企业还必须对市场做出足够迅速的响应以捉住机遇与挑战。这一现实需要企业的运营体系更为灵活以及更具适应性。SAFe能够帮助企业通过组织敏捷来应对这些挑战,它包括三个方面的内容:精益思维的人群及敏捷的团队 精益商业运营 战略敏捷1.精益思维的人群及敏捷的团队每个参与到提供商业解决方案活动中的人都需要针对精益及敏捷进行培训,他们需要拥抱相关的价值观、准则及实践。包括商业及技术领域的领导者,..
2021-03-30 11:12:23
835
转载 LeSS is more - 大规模Scrum浅析
在敏捷转型过程中,如何将在单个团队级别上取得的良好效果扩展至组织内的多团队上?启用一个有效的大规模敏捷框架是很有必要的。今天我们就来聊聊其中的一种 - LeSS(Large-Scale Scrum)。1、为什么基于Scrum?Scrum是一种基于经验过程控制的研发框架。其中,跨功能的自管理团队通过增量迭代的方式研发一款产品。每个Sprint都按约定交付潜在的产品增量。这种经验性的过程控制需要的是透明,而这种透明来自于团队短周期的迭代以及对迭代的定期回顾。它强调持续学习、观察以及不断适应。Scr.
2021-03-30 11:11:09
324
转载 Centos 7搭建Gitlab服务器超详细
硬件配置:阿里云ecs服务器2核8G,centos7.4系统,阿里云服务器必须配置安全组,确保外网可以访问到服务器指定端口:https://help.aliyun.com/document_detail/25475.html?spm=5176.2020520101.121.1.51704df5job5VH我因为是测试使用,配置的如下,并且我关闭了阿里云防火墙:一、安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知),wget...
2020-06-19 16:43:11
460
转载 Gitlab 项目上传
一,登陆gitab,新建rejectRepository name: 仓库名称Description(可选): 仓库描述介绍Public,Private: 仓库权限(公开共享,私有或指定合作者)Initialize this repository with a README: 添加一个README.mdgitignore: 不需要进行版本管理的仓库类型,对应生成文件.gitignorelicense: 证书类型,对应生成文件LICENSE二,复制gitlab项目ur...
2020-06-19 16:39:03
849
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人