java工程师 精华 知识
系统集成易混淆知识点汇总-变更请求、批准的变更请求、确认的变更
概念: (1)变更请求:变更请求是在项目启动、规划、执行与监控过程中,提出的关于修改任何文档、可交付成果或基准的正式提议。 (2)批准的变更请求:批准的变更请求是指经过实施整体变更控制过程审查和批准的变更请求。 (3)确认的变更:对变更或补救过的对象进行检查,做出接受或拒绝的决定,并把决定通知干系人 ......
Java Hotspot G1 GC 原理
目录原理概念初始堆占用情况标记Remember Set原理Card TableCollect Set停顿预测模型G1的垃圾回收过程对象分配线程本地分配缓冲区Eden 区中分配Humongous 区分配堆内存结构传统的 GC 收集器G1 收集器G1 垃圾收集周期Young GCYoung GC 总结M ......
系统集成易混淆知识点汇总-直接成本、间接成本
概念: (1)直接成本:直接成本是专为某个项目而开展的工作的成本。如:项目团队差旅费、工资、项目使用的物料及设备使用费等。 (2)间接成本:间接成本是为两个或以上项目,或者为项目和运营而开展的工作的成本。如:税金、额外福利和保卫费用等。 区别: (1)直接成本是项目经理可以直接掌控的,间接成本一般是 ......
系统集成易混淆知识点汇总-项目成本、质量成本
概念: (1)项目成本:项目成本是指整个项目生命周期中所发生的全部成本。项目成本可以分为直接成本和间接成本。 (2)质量成本:质量成本是指用于项目质量管理工作的成本。 质量成本由一致性成本和非一致性成本构成。 一致性成本又分为预防成本和评价成本。 非一致性成本又分为内部失败成本和外部失败成本。 区别 ......
系统集成易混淆知识点汇总-项目管理计划、项目文件
概念: (1)项目管理计划:项目管理计划是项目的主计划或称为总体计划,它确定了执行、监控和结束项目的方式和方法,包括项目需要执行的过程、项目生命周期、里程碑和阶段划分等全局性内容。 例如:范围管理计划、进度管理计划等各类子管理计划、三大基准。 (2)项目文件:项目文件是会影响项目管理工作但不属于项目 ......
系统集成易混淆知识点汇总-项目、运营
概念: -(1)项目:项目是为达到特定目的,使用一定资源,在确定的期间内,为特定发起人而提供独特的产品、服务或成果而进行的一次性努力。 -(2)运营:运营是组织为实现目标而在标准化的生产线上或根据标准化的服务流程而开展的持续性工作,重复性地生产出同样的产品或提供同样的服务。 区别: -(1)运营是持 ......
系统集成易混淆知识点汇总-事业环境因素、组织过程资产
概念: (1)事业环境因素:事业环境因素是指项目团队不能控制的,将对项目产生影响、限制或指令作用的各种条件。 包括:组织文化、结构和治理;设施和资源的地理分布;政府或行业标准(如监管机构条例、行为准则、产品标准、质量标准和工艺标准); 基础设施(如现有的设施和固定资产);现有人力资源状况(如人员在设 ......
系统集成易混淆知识点汇总-职能型、矩阵型、项目型组织结构
概念: (1)职能型:职能型组织结构是按职能来组织部门分工,即从企业高层到基层,均把承担相同职能的管理业务及其人员组合在一起,设置相应的管理部门和管理职务。 (2)矩阵型:矩阵型组织结构是把按职能划分的部门和按产品(或项目、服务等)划分的部门结合起来组成一个矩阵,使同一个员工既同原职能部门保持组织与 ......
RT-Thread Studio刚新建工程后直接打开main.c编译就board.c里产生报错,解决办法
如题,RT-Thread Studio刚新建工程后直接打开main.c编译就产生报错。 具体为:刚新建了一个stm32F407ZGT6和一个STM32F103RCT6的工程,之后啥代码也没有改,直接打开main.c文件然后编译,直接报错。 报错定位在“drivers/board.c”,再具体定位在代 ......
Java面试专题
Java面试专题 面试题背后的逻辑->拆分问题讲解->回答方式及参考问题 Redis篇 使用场景 1、你在最近的项目中哪些场景使用了redis? 缓存:缓存击穿,缓存穿透,缓存雪崩,双写一致性,数据过期策略,数据淘汰策略 分布式锁:setnx,redission 2、什么是缓存穿透,怎么解决? 缓存 ......
系统架构工程师考点
case 4 操作系统概述 计算机软件分类: - 系统软件 用来支持应用软件的运行 常见的系统软件**:操作系统**,**语言处理系统**,**连接程序,诊断程序和数据库管理系统**等等 其中**操作系统是计算机系统最核心的系统软件**,**其他软件是建立操作系统的基础上,由操作系统统一管理和支持下 ......
Java基础 多线程的 6 种状态
Java 的虚拟机当中没有定义运行状态,因为当线程抢夺到 CPU 执行权的时候,虚拟机会把当前线程交给操作系统管理,虚拟机就不管了。 ......
Java基础 阻塞队列的方式实现等待唤醒机制,哪里体现了等待?哪里又体现了唤醒?
Java的阻塞队列(Blocking Queue)可以用来实现等待唤醒机制,其中等待和唤醒的操作在队列的不同方法中体现: 1.等待: 在阻塞队列中,等待通常发生在以下情况: 2.当队列为空时,消费者线程试图从队列中取出元素时,它会被阻塞,直到队列中有元素可供消费。这种等待是通过阻塞队列的take() ......
Java基础 等待唤醒机制(阻塞队列方式实现)
等待唤醒机制还可以用 阻塞队列的方式进行实现 练习:利用阻塞队列完成生产者和消费者(等待唤醒机制)的代码 细节:生产者和消费者必须使用同一个阻塞队列 阻塞队列的创建方式(泛型:队列里面数据的类型):ArrayBlockingQueue<String> queue = new ArrayBlockin ......
Java基础 Java 为什么非要在 锁对象身上调用 wait()方法 和 notifyAll()方法
在Java中,wait()和notify()方法必须在同步块或同步方法内部使用,通常在锁对象上调用,有以下原因: 1.互斥性: 当你在同步块内部使用wait()和notify()方法时,它们与锁对象紧密相关,确保在调用wait()和notify()时能够维持互斥性。这意味着在调用wait()时,当前 ......
Java基础 什么是生产者和消费者
在Java中,"生产者-消费者"(Producer-Consumer)是一种常见的并发编程模型,用于协调多个线程之间的工作,其中一些线程充当生产者,而其他线程充当消费者。这模型通常用于处理共享数据的情况,其中生产者线程生成数据并将其放入共享缓冲区,而消费者线程则从缓冲区中取出数据并进行处理。主要特点 ......
Java基础 等待唤醒机制——生产者代码实现
package pojo.xc01;public class Cook extends Thread{ @Override public void run() { while (true) { synchronized (Desk.lock) { if (Desk.count == 0) break ......
运维工程师学习路线
运维工程师在前期是一个很苦逼的工作,在这期间可能干着修电脑、掐网线、搬机器的活,显得没地位!时间也很碎片化,各种零碎的琐事围绕着你,很难体现个人价值,渐渐的对行业很迷茫,觉得没什么发展前途。 这些枯燥无味工作的确会使人匮乏,从技术层面讲这些其实都是基本功,对后期的运维工作会无形中带来一定的帮助,因为 ......
Java基础 等待唤醒机制——消费者代码实现
等待唤醒机制的三个角色:生产者、消费者、控制生产者和消费者的第三者 代码: package pojo.xc01;//用来控制生产者和消费者的执行public class Desk { //桌子上是否有面条(0:没有面条 1:有面条) //用布尔类型表示的话有一个小弊端,因为布尔类型只有两个值,只能控 ......
java——redis随笔——实战——优惠券秒杀
黑马视频地址:https://www.bilibili.com/video/BV1cr4y1671t?p=49&spm_id_from=pageDriver&vd_source=79bbd5b76bfd74c2ef1501653cee29d6 csdn地址:https://blog.csdn.net ......
Java基础 当某一个线程执行代码时发现锁已经被锁住了,该线程会怎么样?
当一个线程尝试获取一个已经被其他线程锁住的锁时,它的行为取决于所使用的编程语言和锁的类型。一般情况下,有以下几种可能的行为: 1.阻塞等待:线程会被阻塞,直到锁变为可用。这是最常见的情况,通常用于互斥锁。在Java中,可以使用synchronized关键字或ReentrantLock类来实现这种行为 ......
Java中的Set集合
Set集合的特点:不能存储相同元素。 Set接口两大实现(常用):HashSet TreeSet Set是一个抽象接口,不能对Set进行实例化。 (Set set = new Set(); )错误 该接口主要继承于Collection接口,所以具有Collection的一些常见的方法。 1.add( ......
你知道Java21中的顺序集合吗?
在Java 21中,处理集合的方式得到了改进,因为三个新的接口已经融入了现有的类型层次结构。这些顺序集合为我们提供了一个统一的API来访问第一个和最后一个元素,并以相反的顺序处理集合。 为了更好地理解顺序集合是什么,让我们回顾一下集合之前的样子。 Java集合框架在Java 1.2中引入的Colle ......
Java 垃圾回收机制
目录垃圾回收的基础知识堆空间的基本结构内存分配和回收原则对象优先在 Eden 区分配大对象直接进入老年代长期存活的对象将进入老年代GC 分类对象是否可被回收引用计数算法可达性分析算法引用类型强引用(StrongReference)软引用(SoftReference)弱引用(WeakReference ......
java redis 短信业务应用
java redis 短信业务应用 短信业务场景:根据实际业务来通知客户,在短信的MQ中新增字段:是否需要发送短信的标识,短信微服务可以接收到MQ后根据该字段来判断是否发送。 如果发送端MQ的事件的操作是分开的,比如步骤1:修改订单, 步骤2:产生修改后的费用去支付,在支付成功之后才发送该MQ消息。 ......
Java提升技术,进阶为高级开发和架构师的路线
原文网址:Java提升技术,进阶为高级开发和架构师的路线-CSDN博客 简介 Java怎样提升技术?怎样进阶为高级开发和架构师?本文介绍靠谱的成长路线。 首先点明,只写业务代码是无法成长技术的。提升技术的两个方法是: 有技术大佬带 有技术大佬的资料 本文介绍靠谱的技术进阶资料,让你比其他人更有竞 ......
JAVA - Obejects api
package com.demo2; import com.demo.Demo1; import java.util.Objects; public class Test { public static void main(String[] args) { String name = null; S ......
Java拾贝第十二天——IO流之对象序列化与对象流
把一个对象转换为二进制流就是对象的序列化。(对象👉二进制流) 二进制流转换为一个对象就是对象的反序列化。(二进制流👉对象) 二进制流也就是byte[]数组 如果一个类的对象想要被序列化,则这个类必须要实现java.io.Serializable接口。 该接口定义如下: public interf ......