流程 结构java

Java面试专题

Java面试专题 面试题背后的逻辑->拆分问题讲解->回答方式及参考问题 Redis篇 使用场景 1、你在最近的项目中哪些场景使用了redis? 缓存:缓存击穿,缓存穿透,缓存雪崩,双写一致性,数据过期策略,数据淘汰策略 分布式锁:setnx,redission 2、什么是缓存穿透,怎么解决? 缓存 ......
专题 Java

Java基础 多线程的 6 种状态

Java 的虚拟机当中没有定义运行状态,因为当线程抢夺到 CPU 执行权的时候,虚拟机会把当前线程交给操作系统管理,虚拟机就不管了。 ......
线程 状态 基础 Java

Java基础 阻塞队列的方式实现等待唤醒机制,哪里体现了等待?哪里又体现了唤醒?

Java的阻塞队列(Blocking Queue)可以用来实现等待唤醒机制,其中等待和唤醒的操作在队列的不同方法中体现: 1.等待: 在阻塞队列中,等待通常发生在以下情况: 2.当队列为空时,消费者线程试图从队列中取出元素时,它会被阻塞,直到队列中有元素可供消费。这种等待是通过阻塞队列的take() ......
队列 机制 方式 基础 Java

Java基础 等待唤醒机制(阻塞队列方式实现)

等待唤醒机制还可以用 阻塞队列的方式进行实现 练习:利用阻塞队列完成生产者和消费者(等待唤醒机制)的代码 细节:生产者和消费者必须使用同一个阻塞队列 阻塞队列的创建方式(泛型:队列里面数据的类型):ArrayBlockingQueue<String> queue = new ArrayBlockin ......
队列 机制 方式 基础 Java

数据结构与算法(LeetCode) 第二节 链表结构、栈、队列、递归行为、哈希表和有序表

一、链表结构 1.单向链表节点结构 public class Node{ public int value; public Node next; public Node(int data){ value=data; } } 2.双向链表节点结构 public class DoubleNode{ pu ......
结构 数据结构 队列 算法 LeetCode

数据结构与算法(LeetCode)第一节:认识复杂度,对数器,二分法与异或运算

一、认识复杂度 1.评估算法优劣的核心指标: 时间复杂度:当完成了表达式的建立,只要把最高阶项留下即可。低阶项都去掉,高阶项的系数也去掉,记为O(去掉系数的高阶项); ​ 时间复杂度是衡量算法流程的复杂度的一种指标,该指标只与数据量有关,与过程之外的优化无关 常见的时间复杂度(从好到坏) O(1) ......

Java基础 Java 为什么非要在 锁对象身上调用 wait()方法 和 notifyAll()方法

在Java中,wait()和notify()方法必须在同步块或同步方法内部使用,通常在锁对象上调用,有以下原因: 1.互斥性: 当你在同步块内部使用wait()和notify()方法时,它们与锁对象紧密相关,确保在调用wait()和notify()时能够维持互斥性。这意味着在调用wait()时,当前 ......
方法 Java notifyAll 对象 基础

Java基础 什么是生产者和消费者

在Java中,"生产者-消费者"(Producer-Consumer)是一种常见的并发编程模型,用于协调多个线程之间的工作,其中一些线程充当生产者,而其他线程充当消费者。这模型通常用于处理共享数据的情况,其中生产者线程生成数据并将其放入共享缓冲区,而消费者线程则从缓冲区中取出数据并进行处理。主要特点 ......
生产者 消费者 基础 Java

Java基础 等待唤醒机制——生产者代码实现

package pojo.xc01;public class Cook extends Thread{ @Override public void run() { while (true) { synchronized (Desk.lock) { if (Desk.count == 0) break ......
生产者 机制 代码 基础 Java

[考研] 数据结构

针对数据结构的部分学习笔记。 栈 出栈排列个数:\(C_{2n}^n\),卡特兰数 栈模拟 中缀转后缀 原理: 中缀转后缀的原理是单调栈(维护一个优先级递增的栈),从栈底到栈顶的优先级必然递增,输出时可以保证优先级高的先输出(出栈)。中缀表达式和后缀表达式的不同仅在于符号位置不同,数字之间相对顺序是 ......
数据结构 结构 数据

IDEA项目结构

目录IDEA项目结构projectmoduleLibraryFacetartifactjar、war、exploded总结 IDEA项目结构 project idea中没有工作空间的概念,每一个项目都是一个工作空间,一个项目将一个项目的所有源代码、库和指令封装到一个单独的组织单元中。使用Intell ......
结构 项目 IDEA

Java基础 等待唤醒机制——消费者代码实现

等待唤醒机制的三个角色:生产者、消费者、控制生产者和消费者的第三者 代码: package pojo.xc01;//用来控制生产者和消费者的执行public class Desk { //桌子上是否有面条(0:没有面条 1:有面条) //用布尔类型表示的话有一个小弊端,因为布尔类型只有两个值,只能控 ......
机制 消费者 代码 基础 Java

Java基础 生产者和消费者(等待唤醒机制)

生产者和消费者完整的执行过程: ......
生产者 机制 消费者 基础 Java

java——redis随笔——实战——优惠券秒杀

黑马视频地址:https://www.bilibili.com/video/BV1cr4y1671t?p=49&spm_id_from=pageDriver&vd_source=79bbd5b76bfd74c2ef1501653cee29d6 csdn地址:https://blog.csdn.net ......
优惠券 实战 随笔 redis java

Java基础 当某一个线程执行代码时发现锁已经被锁住了,该线程会怎么样?

当一个线程尝试获取一个已经被其他线程锁住的锁时,它的行为取决于所使用的编程语言和锁的类型。一般情况下,有以下几种可能的行为: 1.阻塞等待:线程会被阻塞,直到锁变为可用。这是最常见的情况,通常用于互斥锁。在Java中,可以使用synchronized关键字或ReentrantLock类来实现这种行为 ......
线程 代码 基础 Java

西北电专大二电院_数据结构上机报告记录_第二次上机报告

第二次上机报告 只要求提交了顺序串和顺序栈的基本操作的实现,这里把剩下两个也补充上去 顺序栈——进制转换 1. 问题描述 本程序基于栈功能实现一个进制转换程序。(用顺序栈完成此题) InitStack()函数用于构造一个空栈; StackEmpty()函数用于判断栈是不是空栈; Push()函数实现 ......
报告 数据结构 结构 数据

Java中的Set集合

Set集合的特点:不能存储相同元素。 Set接口两大实现(常用):HashSet TreeSet Set是一个抽象接口,不能对Set进行实例化。 (Set set = new Set(); )错误 该接口主要继承于Collection接口,所以具有Collection的一些常见的方法。 1.add( ......
Java Set

西北电专大二电院_数据结构上机报告记录_第一次上机报告

数据结构是最近纳入电院的必修主课,但是其期末考核是笔试形式(,日常有上机安排。 这门课还是需要一定的课后上机练习和调试来增加对其的认识程度、发现自己欠缺的知识、可能犯下的错误,包括但不限于语法等 这里主要收录几次上机安排的报告和自己的答案,作为记录 第一次上机 问题一:顺序表的合并 1.问题描述: ......
报告 数据结构 第一次 结构 数据

C++ 语法结构--堆

1.堆介绍 「堆 heap」是一种满足特定条件的完全二叉树,主要可分为图 8-1 所示的两种类型。 「大顶堆 max heap」:任意节点的值 其子节点的值。 「小顶堆 min heap」:任意节点的值 其子节点的值。 堆作为完全二叉树的一个特例,具有以下特性。 最底层节点靠左填充,其他层的节点都被 ......
语法 结构

你知道Java21中的顺序集合吗?

在Java 21中,处理集合的方式得到了改进,因为三个新的接口已经融入了现有的类型层次结构。这些顺序集合为我们提供了一个统一的API来访问第一个和最后一个元素,并以相反的顺序处理集合。 为了更好地理解顺序集合是什么,让我们回顾一下集合之前的样子。 Java集合框架在Java 1.2中引入的Colle ......
顺序 Java 21

Java反序列化之URLDNS链

URLDNS链是java原生态的一条利用链,通常用于存在反序列化漏洞进行验证的,因为是原生态,不存在什么版本限制。 ......
序列 URLDNS Java

Java 垃圾回收机制

目录垃圾回收的基础知识堆空间的基本结构内存分配和回收原则对象优先在 Eden 区分配大对象直接进入老年代长期存活的对象将进入老年代GC 分类对象是否可被回收引用计数算法可达性分析算法引用类型强引用(StrongReference)软引用(SoftReference)弱引用(WeakReference ......
机制 垃圾 Java

指针的基础认识及其结构

#include <iostream> using namespace std; int main(int argc, char** argv) { int a=10; //声明指针p int *p; //将指针p指向变量a的内存地址 p=&a; cout<<"a的值="<<a<<endl; cou ......
指针 结构 基础

java redis 短信业务应用

java redis 短信业务应用 短信业务场景:根据实际业务来通知客户,在短信的MQ中新增字段:是否需要发送短信的标识,短信微服务可以接收到MQ后根据该字段来判断是否发送。 如果发送端MQ的事件的操作是分开的,比如步骤1:修改订单, 步骤2:产生修改后的费用去支付,在支付成功之后才发送该MQ消息。 ......
短信 业务 redis java

实现动态大数结构

大数结构是一种常见的数据结构,在C++当中,我们常用vector来动态实现。除此之外,我们也可以仿照vector的思路,自己实现内存的动态分配,当内存容量达到上限时,用C-api realloc进行内存的重新分配。 #define REQUIRE2(p, q) assert((p) || (q)) ......
大数 结构 动态

Java提升技术,进阶为高级开发和架构师的路线

​ 原文网址:Java提升技术,进阶为高级开发和架构师的路线-CSDN博客 简介 Java怎样提升技术?怎样进阶为高级开发和架构师?本文介绍靠谱的成长路线。 首先点明,只写业务代码是无法成长技术的。提升技术的两个方法是: 有技术大佬带 有技术大佬的资料 本文介绍靠谱的技术进阶资料,让你比其他人更有竞 ......
架构 路线 技术 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 ......
Obejects JAVA api

vue 使用filter 把无限极分类遍历为树形结构

<script setup lang="ts"> interface listType { id: number url: string } const data = [ { id: 1, url: '/_nuxt/assets/images/america.png' }, { id: 2, url ......
树形 结构 filter vue

Java拾贝第十二天——IO流之对象序列化与对象流

把一个对象转换为二进制流就是对象的序列化。(对象👉二进制流) 二进制流转换为一个对象就是对象的反序列化。(二进制流👉对象) 二进制流也就是byte[]数组 如果一个类的对象想要被序列化,则这个类必须要实现java.io.Serializable接口。 该接口定义如下: public interf ......
对象 序列 Java

c# winfom从0学习开发OA、BPM工作流程与自定义表单系统(十三)新建工作

1,新建一个工作 2,填写表单 3,当时表单设置的可写字段,在这里就体现出来了,这里设置的第一个节点开始是字段全部可写的,其他节点只能看不能写 4,转交下一步工作,也就是我们流程图连线箭头指向的节点 5,确定转交下一步工作 6,需要登录张三 的账号,去代办工作里查看有没有需要办理的工作 6,张三当前 ......
工作流程 表单 流程 winfom 系统