Java

贪心国王游戏

贪心 耍杂技的牛 国王游戏同款思路 大部分贪心用的都是已经被证明过的知名的数学模型 贪心得到的答案 >= 最优解 贪心得到答案 <= 最优解

JAVA(集合)

集合 集合和已经学过的数组比较类似,本身也是一种引用类型,而且可以保存很多个数据 区别于数组长度不可以改变,集合长度可以任意改变。 集合包含很多种,ArrayList,HashSet,linkedList,HashMap. ArrayList 导包 import java.util.ArrayList ArrayList常用的构造方法。 public ArrayList(),默认无参数构造方

阿里面试:说说Rocketmq推模式、拉模式?

文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 实现技术自由,完成职业升级, 薪酬猛涨!加尼恩免费领 免费赠送 经典图书:《Java高并发核心编程(卷1)加强版》 面试

kettle从入门到精通 第二十九课 job 循环 检验字段的值

1、平常我们在用kettle设计job的时候,会用到循环来处理一些业务逻辑,比如循环检测某个表中的数据条数等。这个时候就会用到一个特别重要的步骤:检验字段的值。 下图是一个的通过初始化DNOE变量为false,等待3s之后更新DONE变量为true的一个循环demo。  2、设置变量步骤,可以从属性文件中读取,也可以自行设置。    3、步骤检验字段的值,该步骤的

MQ和线程池

盘一盘这个没资格出现在面试环节的场景题。   你好呀,我是歪歪。 前两天在一个技术群里看到有人抛出一张图片,提出了这样的一个问题: 请教一下,线程池可以做到根据任务的类型,来指定特定线程执行吗? 了解了一下背景,是批量任务触发,从订单表中查询出“处理中”状态的订单,订单可能属于不同的通道,所以需要调用不同通道的接口。 现在的方案是把订单查出来之后,往线程池里面扔,在异步任务里面

动态代理和静态代理

先说一下代理模式的好处: 隐藏真实对象的复杂性:Java 代理模式可以隐藏真实对象的复杂性,客户端只需要与代理对象交互即可,不需要了解真实对象的复杂实现细节,从而简化了客户端的代码实现和维护。 增强真实对象的功能和可靠性:Java 代理对象可以在访问真实对象之前或之后执行一些额外的操作,例如日志记录、性能监控、安全控制等,从而增强了真实对象的功能和可靠性。 缓存机制:Java

人脸识别系统【从0到1完成一个小项目】【5】【后端环境搭建】

建议版本一致,不然遇到问题要自己去解决 1.安装jdk1.8 https://www.oracle.com/java/technologies/downloads/#java8-windows 官网下载比较麻烦,要注册oracle账号,觉得麻烦的可以找别人要一个已经下载好的 cmd窗口输入java -version出现版本号即为安装成功,没有安装可能是环境变量没有配置 2.安装maven 下载

类的加载器和双亲委派机制

引导类加载器:负责加载支撑JVM运行的位于JRE的lib目录下的核心类库,比如rt.jar、charsets.jar等,java中无法获取因为它是由c++编写的。 扩展了加载器:负责加载支撑JVM运行的位于JRE的lib目录下的ext扩展目录中的JAR类包。 应用程序类加载器:负责加载ClassPath路径下的类包,主要就是加载你自己写的那。 自定义加载器:负责加载用户自定义路径下

ActiveMQ RCE CVE-2023-46604分析

一、漏洞触发点 org.apache.activemq.openwire.v12包下BaseDataStreamMarshaller类的createThrowable方法。 这里通过反射,实现了一个类的构造执行。所以需要找到这样一个类传递进去,类的构造方法参数为String,且能达到攻击效果。 activemq包含Spring,而ClassPathXmlApplicationContext类刚好

lottery lec8

Lottery lec8 首先,需要将domain对infrastructure的依赖转变为infrastructure依赖domain 刚开始看到这个需求感觉很奇怪,通过观察代码 目前的repository是在domain当中的,其内部调用dao来访问数据库。可以将这个repository的实现放在infrastructure中,其依赖于domain中repository的接口。而在domain

对Java中new关键字的理解

在编写Java程序中,最常用的就是new,那么new这个关键字到底做了什么(目前的理解,后续再补充) 在Java中,new关键字用于创建对象的实例。当使用new关键字时,它会在堆内存中为对象分配空间,并调用对象的构造方法来初始化对象的状态。相当于分配了一个内存地址,每new一个就有一个新地址, 当使用new关键字创建对象时,实际上发生了几个重要的步骤: 分配内存空间: new关键字会在堆内存中

3. Idea的高效利用(快捷键、设置、插件等) -- 长期更新版

IDEA 作为Java开发工具领域的绝对霸主,其优秀的性能和众多的内置功能让人又爱又恨.所以正确高效地利用idea成为程序员进阶的必经之路. 注: 本文中的IDEA版本为2020.2. 快捷键 导包/卸包 手动导包: alt + enter 手动卸包: crtl + alt + o 自动导包/卸包的设置: 说明: 推荐使用自动导包/卸包; IntelliJ IDEA 将在我们书写代

java基础问题

数组 一维数组:   1.使用new 指定一个数组大小 int[] number = new int[8]; number[0] = 1; number[1] = 2; number[2] = 3; number[3] = 5; number[4] = 8; 其中,int表示数据类型,并且给每个元素进行赋值。 2.使用 new 指定数组元素的值 int[] number =

test-02-java 单元测试框架 junit5 入门介绍

拓展阅读 junit5 系列 基于 junit5 实现 junitperf 源码分析 Auto generate mock data for java test.(便于 Java 测试自动生成对象信息) Junit performance rely on junit5 and jdk8+.(java 性能测试框架。性能测试。压测。测试报告生成。) junit5 的入门例子 maven 引入 方法

test-01-java 单元测试框架 junit 入门介绍

拓展阅读 junit5 系列 基于 junit5 实现 junitperf 源码分析 Auto generate mock data for java test.(便于 Java 测试自动生成对象信息) Junit performance rely on junit5 and jdk8+.(java 性能测试框架。性能测试。压测。测试报告生成。) JUnit JUnit 是一个用于编写可重复测试的

1. spring中,为什么前端明明传了值,后端却接收不到

问题场景 在进行前后端的联调时,有时候会出现,前端明明传了值,后端接口却接收不到的情况 可能原因: 前后端字段名不匹配 -- 粗心 后端接收数据的实体类缺少对应属性的get、set方法.特别是当前的开发大环境下,开发者较为依赖Lombok注解,即可能在实体类上遗忘添加相关注解. -- 要注意 下面的情况较为特殊和复杂.下面重点讨论该情况 问题重现 控制层代码: 参数实体类:UserVO 用

网站优化之favicon.ico

本文于2015年底完成,发布在个人博客网站上。 考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来。 背景 某一天在办公室分析产品首页加载速度时,无意中从Chrome浏览器的调试窗口看到浏览器在请求一个名为favicon.ico文件,由于Web系统的根路径下不存在这个文件,Chrome仅报了404访问失败,但当时没有太关注。 直到后来在某一次版本上线结束后的下午,还是在

链表中等题(下)

链表中等题(下) LCR 028. 扁平化多级双向链表 142. 环形链表 II 2095. 删除链表的中间节点 2816. 翻倍以链表形式表示的数字 2058. 找出临界点之间的最小和最大距离 641. 设计循环双端队列 92. 反转链表 II 面试题 16.25. LRU 缓存 LCR 021. 删除链表的倒数第 N 个结点 82. 删除排序链表中的重复元素 II

实验16:命令模式

  [实验任务一]:多次撤销和重复的命令模式 某系统需要提供一个命令集合(注:可以使用链表,栈等集合对象实现),用于存储一系列命令对象,并通过该命令集合实现多次undo()和redo()操作,可以使用加法运算来模拟实现。 实验要求: 1.      提交类图;     2.   &nb

28_二叉树的最近公共祖先

236.二叉树的最近公共祖先 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 示例 1: 示例 2: 示例 3:

实验19:中介者模式

  [实验任务一]:虚拟聊天室 在“虚拟聊天室”实例中增加一个新的具体聊天室类和一个新的具体会员类,要求如下: 1. 新的具体聊天室中发送的图片大小不得超过20M。 2. 新的具体聊天室中发送的文字长度不得超过100个字符。 3. 新的具体会员类可以发送图片信息和文本信息。 4. 新的具体会员类在发送文本信息时,可以在信息后加上时间。 修改客户端测试类,注意原有系统类代码和客户端代码的

实验 20:备忘录模式

  [实验任务一]:多次撤销 改进课堂上的“用户信息操作撤销”实例,使得系统可以实现多次撤销(可以使用HashMap、ArrayList等集合数据结构实现)。 实验要求: 1.      提交源代码; package rjsj.no20;   public class Client {     p

实验18:迭代器模式

  [实验任务一]:JAVA和C++常见数据结构迭代器的使用 信1305班共44名同学,每名同学都有姓名,学号和年龄等属性,分别使用JAVA内置迭代器和C++中标准模板库(STL)实现对同学信息的遍历,要求按照学号从小到大和从大到小两种次序输出学生信息。 实验要求: 1.      搜集并掌握JAVA和C++中常见的数据结构和迭代器的使

实验 23:策略模式

  [实验任务一]:旅行方式的选择 旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。 实验要求: 1.  提交源代码; package test23;   public class AirplaneStrategy implements TravelStrategy{   &

实验 21:观察者模式

  [实验任务一]:股票提醒 当股票的价格上涨或下降5%时,会通知持有该股票的股民,当股民听到价格上涨的消息时会买股票,当价格下降时会大哭一场。 实验要求: 1.      提交源代码; package test21;   // 观察者接口,股民 interface Observer {    

实验 22:状态模式

  [实验任务一]:银行账户 用Java代码模拟实现课堂上的“银行账户”的实例,要求编写客户端测试代码模拟用户存款和取款,注意账户对象状态和行为的变化。 实验要求: 1.      提交源代码; package test22;     public class Account {    

实验 25:访问者模式

  [实验任务一]:打包员 在我们课堂上的“购物车”的例子中,增加一个新的访问者:打包员,负责对购物车中货物装包。 实验要求: 1.  提交源代码,不要提交类图; package test25;   public abstract class AbstractGoods implements Goods{       priv

记一次Thrift+swift踩坑经历

最近来了个thrift+swift的分布式架构项目、所以就研究了一下这套远程调度框架的使用、中间踩了很多坑 首先介绍一下用到的几个插件和jar包 Exception in thread "main" org.apache.thrift.transport.TTransportException: Could not find sequenceId in Thrift messag

<<  <  655  656  657  658  659  660  661  662  663  664  665  >  >>