目录

Life in Flow

知不知,尚矣;不知知,病矣。
不知不知,殆矣。

项目管理

项目管理的重要性 给企业带来的益处   企业的成功有赖于每个项目的成功,项目管理是企业商业目标的达成和战略实现的手段。 缩短项目周期:通过项目管理中的工作方法和技术,缩短项目周期:WBS、关键路径PDM、资源平衡等 降低成本:合理安排项目的进度和使用项目资源,有效的降低项目成本 减少风险、提高成功率:通过风险管理可以有效降低项目的不确定因素对项目的影响,提高项目实施的成功率 提高企业的应变能力:系统化的项目管理,提高企业对客户的响应速度和应变能力 有效的控制项目范围,增强可控性:可以通过有效的方法控制项目范围,增强项目的可控性,降低变更次数,达成项目目标 积累沉淀组织过程资产:通过项目总结,有效的将项目知识和经验进行积累和沉淀,再转化为企业的财富 案例说明 超出预算/成本 项目半路夭折 项目质量不合格 未达到客户的预期 客户不予验收 客户不买单 项目的启动:立项 项目为什么要立项? 合理合法的建设项目 申请资源、预算、权限的依据 激励方案和分配任务确认的依据 财务角度:成本和利润更清晰 管理者的角度:决策的重要依据 项目范围确认的依据 SMART法则   如何确定项目目标,如何衡量项目....

Activiti7

ll# 工作流引擎Activiti7    多数互联网和IT公司里面用的技术,钉钉、飞书等效能工具、企业OA、ERP、CRM 需求背景    公司规定连续加班3天,去按摩可以报销一定比例的费用。 什么是工作流(WorkFlow) 就是通过计算机对业务流程自动化执行管理。 主要解决的是使在多个参与者之间按照某种预定义的规则自动进行传递文档或任务的过程,促使此目标的实现 企业日常中很多工作流程,比如:请假流程、报销流程、报价处理、合同审核 使用行业 消费品行业,制造业,电信服务业,银证险等金融服务业,物流服务业,物业服务业 物业管理,大中型进出口贸易公司,政府事业机构,研究院所及教育服务业等,特别是大的跨国企业和集团公司。 具体应用 关键业务流程:合同审核、客户电话处理、供应链管理等 行政管理类:出差申请、加班申请、请假申请、用车申请、各种办公用品申请 等凡是原来手工流转处理的行政表单。 财务相关类:付款请求、应收款处理、日常报销处理、出差报销、预算和计划申请等 特殊服务类:贸易公司报关处理、物流公司货物跟踪处理等各种通过表单逐步手工流转均可应用工作流软件自动规范地实施 基于上面的需求,就....

汴梁晚报

该文章已经加密。

Concurrent Programming

并发编程三要素 原子性 一个不可再被分割的颗粒,原子性指的是一个或多个操作要么全部执行成功要么全部执行失败 期间不能被中断,也不存在上下文切换,线程切换会带来原子性的问题。 有序性 程序执行的顺序按照代码的先后顺序执行,因为处理器可能会对指令进行重排序。 可见性 一个线程A对共享变量的修改,另一个线程B能够立刻看到 锁分类 悲观锁、乐观锁 悲观锁适合写操作多的场景 乐观锁适合读操作多的场景 乐观锁的吞吐量会比悲观锁多 悲观锁 当线程去操作数据的时候,总认为别的线程会去修改数据,所以它每次拿数据的时候都会上锁,别的线程去拿候就会阻塞,比如synchronized、ReentrantLock 乐观锁 每次去拿数据的时候都认为别人不会修改,更新的时候会判断别人是否回去更新数据 通过版本判断如果数据被修改了就拒绝更新,比如CAS是乐观锁,但严格来说并不是锁,通过原子性来保证数据的问步。 比如说数据库的乐观锁,通过版本控制来实现,乐观的认为在数据更新期间没有其他线程影响 公平锁、非公平锁 公平锁 指多个线程按照申请锁的顺序来获取锁,简单来说如果一个线程组里,能保证每个线程都能拿到锁。比如Reen....

JVM

线程状态转换图 线程状态(State枚举值代表线程状态) 新建状态( NEW): 线程刚创建, 尚未启动。Thread thread = new Thread()。 可运行状态(RUNNABLE): 线程对象创建后,其他线程(比如 main 线程)调用了该对象的 start 方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取 cpu 的使用权。 运行(running): 线程获得 CPU 资源正在执行任务(run() 方法),此时除非此线程自动放弃 CPU 资源或者有优先级更高的线程进入,线程将一直运行到结束 阻塞状态(Blocked): 线程正在运行的时候,被暂停,通常是为了等待某个时间的发生(比如说某项资源就绪)之后再继续运行。sleep,suspend,wait等方法都可以导致线程阻塞 等待(WAITING): 进入该状态的线程需要等待其他线程做出一些特定动作(通知或中断)。 超时等待(TIMED_WAITING): 该状态不同于WAITING,它可以在指定的时间后自行返回。 终止(TERMINATED): 表示该线程已经执行完毕,如果一个线程的run方法执行结束或者....

Annotation

annotation 注解是在JDK5 时引入的新特性,其实就是代码里的特殊标记 注解也被称为元数据,是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用 允许开发人员在不改变源代码的情况下,在源代码中添加一些元数据 以便让编译器或者其他工具可以读取这些元数据,从而实现更高级的功能 应用场景 生成文档 编译时进行格式检查,如@Override 替代配置文件功能,比如spring的注解 和反射组合应用,自己封装框架组件 Java自带的标准注解 这些注解后编译器就会进行检查 @Override 标记覆写父类的方 @Deprecated 标记被修饰的类或类成员、类方法已废弃、过时 @SuppressWarnings 用于关闭对类、方法、成员编译时产生的特定警告, 元注解 用于定义注解的注解 元注解也是Java自带的标准注解,只不过用于修饰注解,比较特殊。 @Target:表示该注解用于什么地方 ElementType.CONSTRJCTOR 用在构造器 ElementType.FIELD 用于描述域-属性上 ElementType.METHOD 用在方法上 ElementTy....

Reflection

Reflection java的反射(reflection)机制是指在程序的运行状态中 可以构造任意一个类的对象 可以了解任意一个类的成员变量和方法 可以了解任意一个对象所属的类 可以调用任意一个对象的属性和方法 这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制 反射核心:得到编译以后得class文件对象,提供了一个Class类型,就是编译后的class类对象 Base类 package com.soulboy.reflection; public class Base { private String job; public String getJob() { return job; } public void setJob(String job) { this.job = job; } } User类 package com.soulboy.reflection; public class User extends Base { private int age; public String name; public User() { } public User....