Java
这波操作看麻了!十亿行数据,从71s到1.7s的优化之路。
你好呀,我是歪歪。 春节期间关注到了一个关于 Java 方面的比赛,很有意思。由于是开源的,我把项目拉下来试图学(白)习(嫖)别人的做题思路,在这期间一度让我产生了一个自我怀疑: 他们写的 Java 和我会的 Java 是同一个 Java 吗? 不能让我一个人怀疑,所以这篇文章我打算带你盘一下这个比赛,并且试图让你也产生怀疑。 赛题 在 2024 年 1 月 1 日,一个叫做 Gunnar
大学JavaWeb项目发送邮件功能
发送邮件:25端口 阿里云报错 解决方案一 错误原因:jdk版本过高,1.8_131版本无此错误,1.8_301有此错误 把javax.mail的包换成com.sun.mail 2023-06-20T13:28:05.398469Z 1 [Note] A temporary password is generated for root@localhost: irFNfg0lI1(W
大学JavaWeb项目加载静态资源的优化方法
在我大二与同学开发的JavaWeb项目时,我使用阿里云进行项目上线,但我们项目中有视频音频资源非常占空间,并且因为是免费的服务器,服务器配置差,在我们正常使用的过程中加载时间非常长,所以我针对项目静态资源进行优化。 javaweb项目加载静态资源的优化方法: 压缩静态资源:使用gzip或其他压缩工具对静态资源进行压缩,减小文件大小,加快加载速度。 缓存静态资源:将静态资源缓存在浏览器中,下
总结的Java知识点集合
这是我读大学时的Java知识点总结,还不全面,后续会逐渐增加完善。 知识点集合 实例变量 实例变量是指在类中声明的变量,其值是针对类的每个实例而独立存储的。每个类的实例都有自己的一组实例变量,它们的值可以在对象创建时初始化,并在整个对象的生命周期中保持不变或者随着对象的状态而改变。 实例变量也被称为对象变量,因为它们是在类的对象实例化时创建的,并且每个对象都有自己的一组实例变量。 实例变量的特点包
ES ik分词器热加载词库
1、下载 elasticsearch-analysis-ik 源码包 下载地址: https://github.com/medcl/elasticsearch-analysis-ik/releases 2、修改源码 修改pom.xml中对应版本号 org.wltea.analyzer.dic.Dictionary 单例类的初始化方法 initial,所有词库都是在这里进行创建 新增类Hot
[转帖]HTTP 请求头的 Referrer-Policy 到底是什么?
当我们打开 Chrome 的网络面板,查阅它的任意一个请求,可以看到,请求中有一个 General 选项。 除了第四个,前三个我们都很熟悉。今天我们就来介绍一下第四个到底是什么。 Referrer Policys 是 HTTP 的一个请求头,通常结合着 Referer 来使用。直接讲这个属性可能会有点懵,我们一点点的逐层深入,
dom 元素的查找方式
JavaScript 提供了多种方法可以在 DOM(文档对象模型)结构中查找元素,以下是一些常见的方法: 1. `getElementById(id)`: 通过元素的 id 属性查找元素。每个 id 在一个页面中应是唯一的,所以这个方法总是返回单个元素(或 null,如果没有找到元素)。 2. `getElementsByClassName(className)`: 通过元素的 class 属性查
黑马程序员JavaWeb学习笔记-JavaScript
JavaScript --JavaScript引入方式 --书写语法 --输出语句 window可以省略 --变量 var特点1 :作用域比较大,全局变量 特点2 :可以重复定义 --数据类型 原始数据类型相当于java中基础数据类型 --函数 --JS对象 --Array --String --JSON --BOM 概念:Browser Object Mode
Graphics2D的属性有哪些,分别实现什么功能?
Graphics2D对象有6种属性,包括paint、stroke、 font、 transform、 clip和composite。(1) paint—该属性确定所绘制线条的颜色,以及填充图形的颜色和图案等。(2) stroke—该属性可以确定线条的类型以及粗细 ,还有线段端点的形状。(3) font—该属性可以确定所显示字符串的字体。(4) transform—该属性确定了图形绘制过程中要应用的
AWT和Graphics的关系
在 AWT 绘图中 , Canvas 是绘图所在的画布 , Graphics 是绘图使用的画笔 ; AWT 绘图步骤如下 : 首先 , 自定义 Canvas 组件类 , 重写其中的 Component#paint(Graphics g) 函数 , Component 组件 与 Graphics 是由 paint(Graphics g) 函数 进行关联的 ; 然后 , 在自定义的 Canvas 组件
String key = null, value = null;
String key = null, value = null; String key = null, value = null; String key = null, value = null; &
springboot3+vue3(二)注册接口
为了方便实体类操作,这里添加一下lombok的依赖,添加好以后右键重新加载maven lombok注解含义大全:https://www.jianshu.com/p/41c4a226e955 编写接口顺序 Controller(控制器) => Service(接口层) => impl(实现层) => Mapper(与数据库交互层)
redis自学(10)Set
Set是Redis中的单列集合,满足下列特点: 不保证有序性 保证元素唯一(可以判断元素是否存在) 求交集、并集、差集 以上操作,都需要判断元素是否存在,因此可以看出,Set对查询元素的效率要求非常高 Set是Redis中的集合,不一定确保元素有序,可以满足元素唯一、查询效率要求极高。 为了查询效率和唯一性,set采用HashTable编码(Dict)。
黑马程序员JavaWeb学习笔记-拦截器
拦截器 --Interceptor --快速入门 @Component注解 交给ioc容器管理 --注册配置拦截器 @Configuration注解 用来标识当前是Spring当中的一个配置类 拦截器和过滤器的区别 PostMan测试
黑马程序员JavaWeb学习笔记-文件上传
文件上传 https://www.bilibili.com/video/BV1m84y1w7Tb/?p=150&spm_id_from=pageDriver&vd_source=62f4901d4d947272c439194b87ec6698 当报错500时,服务端出现错误,因为默认最大为1M 在application.properties里面修改 文件上传的几个函数 本地存储
黑马程序员JavaWeb学习笔记-AOP概述
AOP概述 AOP:Aspect Oriented Programming(面向切面编程、面向方面编程),其实就是面向特定方法编程 优点:代码无侵入,减少重复代码,效率提高,维护方便 Spring AOP快速入门 --统计各个业务层方法执行耗时 在aop包下创建新的类 AOP核心概念 AOP执行流程 动态代理技术 通知类型 目标方法:切入点表达式中所包含的方法 抽取@PointCu
JAVA面向对象-第二弹
Java中,所有的类,都默认直接或者间接继承object 封装 ◆该露的露,该藏的藏 ◆我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。 封装(数据的隐藏) ◆通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。 记住这句话就够了:属性私有,get/set 继承 ◆继承的本质是对
Vue源码解读:render和VNode
Vue 2.0 相比 Vue 1.0 最大的升级就是利用了虚拟DOM。 在 Vue 1.0 中视图的更新是纯响应式的。在进行响应式初始化的时候,一个响应式数据 key 会创建一个对应的 dep,这个 key 在模板中被引用几次就会创建几个 watcher。也就是一个 key 对应一个 dep,dep 内管理一个或者多个 watcher。由于 watcher 和
Teamcenter SOA开发获取属性的LOV值
1、普通属性的LOV值,可参考此篇文章。 但是BOMLine属性,似乎不能用上面的方法来做到。因为BOMLine没有object_type属性 解决:采取了另外一种方式 1、通过SOA代码,拿到LOV的uid dmService.refreshObjects(new ModelObject[]{childrenBomLine}); dmService.getP
java:Date和DateTime区别
在Java中,Date类是用于表示日期和时间的类。它提供了各种方法来获取和操作日期和时间。然而,需要注意的 是,Java的Date类获取时间只是精确到毫秒级别,而不是精确到秒。在本文中,我将向你介绍Java Date类获取时间的流程,并提供相应的代码示例。 DateTime可以精确到毫秒? 参考:https://blog.51cto.com/u_16213466/7766467 DateTime是
使用 Java 在Excel中创建下拉列表
下拉列表(下拉框)可以确保用户仅从预先给定的选项中进行选择,这样不仅能减少数据输入错误,还能节省时间提高效率。在MS Excel中,我们可以通过 “数据验证” 提供的选项来创建下拉列表,但如果要在Java程序中通过代码实现这一功能,可能需要借助一些第三方库。本文将分享两种使用免费Java库在Excel中创建下拉列表的方法。 操作Excel的免费Java控件:Free Spire.XLS for J
多线程系列(十二) -生产者和消费者模型
一、简介 在 Java 多线程编程中,还有一个非常重要的设计模式,它就是:生产者和消费者模型。 这种模型可以充分发挥 cpu 的多线程特性,通过一些平衡手段能有效的提升系统整体处理数据的速度,减轻系统负载,提高程序的效率和稳定性,同时实现模块之间的解耦。 那什么是生产者和消费者模型呢? 简单的说,生产者和消费者之间不直接进行交互,而是通过一个缓冲区来进行交互,生产者负责生成数据,然后存入缓冲区;消
Java List常用方法Stream()简要总结&生成的List去重
Java中,ArrayList应该是比较常用的一个对象了;那么它的stream()方法大家了解过吗?如果可以熟练使用stream()方法,就可以方便地获取list中元素的某个特定字段、对list中的元素进行筛选、或者把list转成map。 参考:https://blog.csdn.net/BHSZZY/article/details/122860048 如何获取不重复的集合?Collections
接口测试-json文件读取报java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to....
问题原因:从json文件中读取的信息为hashMap,与预期(类对象)格式不匹配,无法解析。 问题分析:json文件包含一个json串列表,代表向接口中传递不同的参数组合,通过下面方法读取json文件信息,反序列化成类对象,并把这些赋值的对象进行接口请求参数进行传递。 解决方法: 1 、类对象添加implements Serializable 2、json文件读取方法添加预制类型参数,
Android 修改系统息屏时间.
Android 修改系统息屏时间. 本篇文章主要记录下android 如何修改手机息屏时间. 目前手机屏幕超时的时间范围一般是: 那如何设置超过30分钟呢? 代码很简单,如下: 获取屏幕超时时间: 直接运行的话会提示错误: java.lang.SecurityException: com.test.webtest was not granted this permission: andro