Java
软件过程与管理——贴现现金流技术
DCF的英文全称是Discounted Cash Flow,当然如果是模型就加上Model,如果是估值就加上Valuation,翻译过来就是现金流贴现。 DCF方法的内涵就是把企业未来特定期间内的预期现金流还原为现值。很显然企业价值的真髓还是它未来盈利的能力,而盈利能力则体现为经营活动带来的现金流,因此理论界通常把现金流量贴现法作为企业价值的方法,在评估实践中也得到了大量的应
基于苍穹外卖写的springboot学习笔记,私聊拿源码
一.关于md5加密的了解与使用 1.分析 MD5加密是一种不可逆的加密算法。也就是说我们只能正向加密,无法反向解密。 于是乎,当我们用它作为密码加密方式时,我们只能加密码从数据库拿来与前端传来的数据加密后进行比较。 2.使用方法 他是由springboot框架提供 二.关于swagger的了解与使用 1.导包 Knife4j是为Java MVC 框架集成Swagger 生成Api
spring -mvc - @EnableWebSocket
@EnableWebSocket 1.在Spring中启用WebSocket 首先,我们启用 WebSocket 功能。为此,我们需要向应用程序添加配置并使用@EnableWebSocketMessageBroker注释此类。 顾名思义,它支持 WebSocket 消息处理,并由消息代理支持: 这里我们可以看到configureMessageBroker方法用于配置消息代理。 首先,我们启用内存
SpringCloud Gateway实战
SpringCloud Gateway 目录SpringCloud Gateway认识SpringCloud GatewaySpringCloud Gateway和Zuul最核心的区别SpringCloud Gateway工作模型图及解读SpringCloud Gateway三大核心概念Route、Predicate、FilterSpring Cloud Gateway 过滤器全局过滤器和局部过滤
【vue3】学习对store中数据的使用
src/store/modules/nav.js import {defineStore} from 'pinia'; import {handleTree} from '@/utils/ruoyi' import {list} from "@/api/nav/node"; const store = defineStore( 'nav', { state: () => ({
解决easyexcel合并单元格数组求和重复问题
背景 EasyExcel(根据条件动态合并单元格的重复数据))_Violet-CSDN博客_easyexcel动态合并单元格现有的订单导出是使用的easyExcel完成的.对于相同单元格的合并是自定义的策略,问题是对于重复单元格的值会合并,表格求和时值会虚高现需要对合并格做修改,做到值只有一个。 思路 sheet合并代码主要为: sheet.addMergedRegionUnsafe(c
Java ArrayList 与 LinkedList 的灵活选择
Java ArrayList Java ArrayList 类是一个可变大小的数组,位于 java.util 包中。 创建 ArrayList 添加元素 访问元素 修改元素 删除元素 ArrayList 大小 循环遍历 ArrayList for 循环: for-each 循环: 使用其他类型 对 ArrayList 进行排序 ArrayList 是 Java 中常用的数据结构
5~10年高级Java程序员面试题:Spring Bean 的生命周期
5~10年Java程序员面试计划,收录各大厂高级Java程序员的真实面试题和参考答案+实践案例, 帮助大家在面试过程中能做到有理论有实践, 在面试官心里建立一个立体的形象。 参考答案由理论+实践组成。 理论是对问题最全面、最准确的解答。 实践是理论在生产过程中的应用。 理论答案:Spring Bean的生命周期(非常详细) 实践案例:一次由八股文引起的内存泄漏
java程序设计环境
本文主要介绍如何安装Java开发工具包(JDK)以及如何编译和运行不同类型的程序;控制台程序、图形化应用程序以及applet。运行JDK工具的方法是在终端窗口中键入命令。然而、很多程序员更喜欢使用集成开发环境。为此,将在稍后介绍如何使用免费的开发环境编译和运行 Java 程序。尽管学起来很容易,但集成开发环境需要吞噬大量资源,编写小型程序时也比较烦琐。一旦掌握了本章的技术,并选定了自己的开发工具,
5~10年高级Java程序员面试题:MySQL 的锁 有哪些?
5~10年Java程序员面试计划,收录各大厂高级Java程序员的真实面试题和参考答案+实践案例, 帮助大家在面试过程中能做到有理论有实践, 在面试官心里建立一个立体的形象。 参考答案由理论+实践组成。 理论是对问题最全面、最准确的解答。 实践是理论在生产过程中的应用。 理论答案:一文详解MySQL的锁机制 实践案例:慎用,Mybatis-Plus这个方法可能导致死锁
来说说看到的求职路上可以提高的地方——简历
要进行求职的时候应该遇到的第一件事情就是简历。 随着看到的简历越来越多,也发现了一些问题,来开个帖子来说说这些问题。 格式 让参加面试的人最头疼的地方就是简历格式没有空格。 最近发现好多人的简历格式上都不空格,很多内容完全都在一起,找起来特别费劲。 比如有求职者说自己是全栈工程师,后端使用的是 Java,然后在简历从上到下读下来完全都没有找到和 Java 相关的。 为了不漏掉相关细节,我们也只能开
[Redis] 03-缓存异常问题
引入了缓存层,就会有缓存异常的三个问题:分别是缓存雪崩、缓存击穿、缓存穿透。 一、缓存穿透 访问一个缓存和数据库都不存在的key,此时请求会直接访问到数据库,并且查不到数据,没法写缓存,所以下次请求同样会访问到数据库上。 此时,缓存起不到作用,请求每次都会走到数据库,流量大时数据库可能会被打垮,此时缓存就好像被"穿透"了一样,成为一个摆设起不到任何作用。 二、解决缓存穿透的几种方案 参数校验 在
0day-seeyonOA-zipslip(win)
Incorrect decompression exists in seeyonOA v8. An attacker can gain access to the server through zipslip after obtaining ordinary user privileges. Route Analyse The vulnerability lies in WorkFlowDesi
java接收数组并解析
核心代码 需求 1、终端生成本地运行的mock数据 2、数据基于患者信息和设备信息结合生成 3、前端拼接好字符串,传给服务端,写入文件 package com.example.myblog.api; import com.example.myblog.entity.YHMock; import io.swagger.annotations.Api
react-router路由懒加载/路由守卫
路由懒加载 目前在网络上搜到的路由懒加载方式基本都是通过React.lazy()方法配合Suspense的方式,可能是受vue-router的影响,我很不喜欢这种方式,不喜欢就改变。 上代码 有几个注意点: 组件导出方式不能使用默认导出,而使用分别导出的方式,在引入的时候用解构引入 这种路由懒加载方式不能在外层套自高阶组件,我暂时想不到怎么做,如果有人能解决希望分享出来 套高阶组件无非是想实现
笔记(五):MySQL之事务概述
一、什么是事务 事务(Transaction):访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。当在数据库中更改数据成功时,在事务中更改的数据便会提交,不再改变。否则,事务就取消或者回滚,更改无效。 二、事务的四大特性 1、原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能
MATLAB简单美化
听着音乐🎵慢慢品!😘 更换界面颜色主题 众所周知,MATLAB的界面颜色主题目前只有系统默认的一套白色背景的主题,如果想更改代码颜色、背景颜色或字体,不借助外部工具的话只能手动一个一个去试颜色搭配和字体搭配,对于一般人显的很麻烦,不过有需求就会有解决办法,这不,Github上scottclowe大神专门制作了一个辅助工具:“MATLAB Schemer🥕🥕🥕”。 此 MATLAB 软件包
Java Spring Redis 如何向Set中添加List?
调用list.toArray方法将list转成数组,再使用add方法参数传入数组,即可批量添加。 redisTemplate.opsForSet().add(key,collect.toArray(new String[0]));
spring-event-事件监听机制实现
1. 事件监听机制概述 1. 场景 模型版本更新了,新版本需要继承老版本的构件分享、自定义属性、着色数据,以后还可能有其他数据要继承,这些数据之间没有直接联系,就是当模型版本变更的时候,他们各自需要执行。 2. 涉及的三个对象 事件源(提供事件处理时的元数据) 这里就是模型版本更新了 监听器(事件处理者) 构件分享继承是一个监听者,监听到版本更新的事件,需要自己处理点东西 自定义属性继承也
熟悉又陌生的JavaWeb 第3天
传送门 Servlet编程 第2天的开头部分已经看过Servlet 这里再介绍一下注解方式,可以不用配置web.xml 使用注解的前提是web.xml的version是4.0(3.0以上应该就行) 认识Servlet 编写Servlet Servlet的生命周期 Servlet与JSP内置对象 设置欢迎页面 不配置默认就是index.jsp web.xml 在Servlet中读取参数 使用
CompletableFuture Demo
CompletableFuture Demo 题目:有一个数据库client,从数据库中取数据A和数据B,然后求和。请使用并发的知识,尽快的完成操作。 main函数中是我们自己写的代码,我们通过CompletableFuture异步的从DataClient获取数据,然后求和,放到resultList中。我这里只模拟了10次。最终结果大概耗时 1.6s 左右。 如果是串行的话,是10s左右。 如果
区块链钱包-android篇
1:使用Protocol Buffers 首先根目录gradle中添加依赖: classpath "com.google.protobuf:protobuf-gradle-plugin:0.8.3" 然后项目文件中添加plugin,添加依赖包: apply plugin: 'com.google.protobuf' protobuf { protoc { artifact = 'c
java中函数式编程,Consumer类
在 Java 中,Consumer 接口是函数式接口,它定义了一个接收一个参数并且不返回任何结果的操作。Consumer 接口通常用于对一个对象进行操作,例如打印对象、修改对象属性等。 以下是 Consumer 接口的简单示例用法: 在上面的示例中,我们创建了一个 Consumer 对象,用 lambda 表达式实现了 a
Java登陆第三十二天——ES6(一)let、const、模板字符串、解构表达式、箭头函数
所谓ECMAScript6也就是JS6。这次更新带来了大量的新特性,使JS代码更简洁,更强大。 复习JS请走:JS入门 JS6文档请走:JS6菜鸟教程 ES6新增了let和const关键字,用作声明变量 let 相较于var,let声明的变量更规范。ES6更推荐使用let。 let不可重复声明 let可以作为成员变量:(let遇见非函数的 {} 时,其作用是成员变量) let不可预解析
Vue3 组合函数拖拽
代码 export function useDragMouse(dom, container) { let containerX = 0; let containerY = 0; let startX = 0; let startY = 0; function dragPage(e) { container.value.style.left = e.pageX - s