java工程师 精华 知识

Java基础---数据类型

#数据类型 Java 的两大数据类型:内置数据类型、引用数据类型 #内置数据类型 Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。 byte、short、int、long、float、double、char、boolean | 基本类型 |范围 ......
类型 基础 数据 Java

JAVA使用stream流对对象集合根据某个字段去重

userList = userList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(()->new TreeSet<>(Comparator.comparing(User::getCity))), Arr ......
字段 对象 stream JAVA

聊聊Java中的mmap

mmap是什么 当我们读取或修改大文件时,传统的文件I/O操作可能会变得很慢,这时候mmap就可以派上用场了。mmap(Memory-mapped files)是一种在内存中创建映射文件的机制,它可以使我们像访问内存一样访问文件,从而避免频繁的文件I/O操作。 使用mmap的方式是在内存中创建一个虚 ......
Java mmap

由 Base64 展开的知识探讨

前言 在我们的业务应用中越来越多的应用到编码内容,例如在 API 中,给到后端的 SQL 都是通过 Base64 加密的数据等等。 能够发现我们的代码中,使用的 window 对象上的 btoa 方法实现的 Base64 编码,那 btoa 具体是如何实现的呢?将在下面的内容中为大家讲解。 那我们就 ......
知识 Base 64

使用java.util.zip对生成的字节数组输出文件流 进行打包压缩(单个、批量),并返回压缩包文件的字节数组输出文件流用于(文件不落地)下载

废话不多说 直接上代码 package gov.test.util; import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.uti ......
文件 数组 字节 单个 java

image forest transform算法及其实现(Java Web版本)

感觉分水岭算法和骨架算法还挺有趣的,自己空余时间写着玩儿了一下,原理还是参考论文以及其他的代码。 本文实现了 image forest transform 中的 skeleton 算法,也就是提取图片中的骨架,其他的分水岭暂时没搞。 代码中的其他组件都有,需要的话可以自己二次开发实现。 论文暂时没有 ......
算法 transform 版本 forest image

2023.4.14——软件工程站立会议

团队照片: 站立会议内容: 昨天做了什么? 逐步完善前后端代码分离; 今天要做什么? 对输入数据进行判断; 遇到什么问题? 若输入“/“ ? ”等字符,会对整个程序造成影响,正在思考如何避免。 ......
软件工程 会议 工程 软件 2023

【Java 线程池】【十】线程池篇总结以及为什么不提倡使用Executors来构建线程池

1 前言 这节也是我们线程池的最后一节咯,我们这节来总结一下。 2 线程池总结 线程池篇我们讲解了两种线程池,一种是ThreadPoolExecutor线程池、另外一种是ScheduledThreadPoolExecutor线程池。 2.1 ThreadPoolExecutor 线程池 关于Thre ......
线程 Executors Java

2023.4.14——软件工程日报

所花时间(包括上课):8h 代码量(行):0行 博客量(篇):1篇 今天,上午学习,下午学习。 我了解到的知识点: 1.学习javaweb知识和servlet知识; 2.了解了一些概率论的知识; ......
软件工程 日报 工程 软件 2023

2023.4.14——软件工程站立会议

团队照片: 站立会议内容: 昨天做了什么? 逐步完善前后端代码分离; 今天要做什么? 对输入数据进行判断; 遇到什么问题? 若输入“/“ ? ”等字符,会对整个程序造成影响,正在思考如何避免。 ......
软件工程 会议 工程 软件 2023

【Java 线程池】【九】Timer定时器、ScheduleThreadPoolExecutor延迟调度、时间轮算法对比

1 前言 这节我们来讲点别的东西,专门来分析一下定时任务、延迟任务的实现。 2 对比分析 前面我们讲解的ScheduledThreadPoolExecutor,这个线程池可以进行延迟任务、定时任务的调度,底层依赖的是DelayedWorkQueue这个阻塞队列。DelayedWorkQueue这个延 ......

java学习日记20230414-Set接口

Set接口的常用方法和基本介绍 Set接口基本介绍: 无序(添加和取出的顺序不一致),没有索引; 不允许重复元素,所以最多包含一个null; JDK API中Set接口的实现类:AbstractSet,EnumSet,HashSet,TreeSet,LinkedHashSet,JobStateRea ......
20230414 接口 日记 java Set

java学习日记20230413-LinkedList和ArrayList比较

底层结构 增删效率 改查效率 ArrayList 可变数组 较低,数组扩容 较高 LinkedList 双向链表 较高,通过链表追加 较低 如果改查操作多,选择ArrayList 如果增删操作多,选择LinkedList 一般来说,在程序中,大部分都是查询,因此选择ArrayList ......
LinkedList ArrayList 20230413 日记 java

Java 编程问题:1~5

原文:Java Coding Problems 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN Java 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 一、字符串、数字和数学 本章包括 39 个涉及字符串、数字和数学运算的问题。我们将从研究字符串的一系列经典 ......
问题 Java

Java基础语法

Java基础语法 注释、标识符、关键字 注释:注释并不会被执行,是给我们写代码的人看的。分为单行注释,多行注释,文档注释。 标识符:Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。 关键字: 标识符注意点: 所有的标识符都应该以字母,美元符($),下划线(_)开始。 首字母之 ......
语法 基础 Java

算法基础模板整理(基础知识篇)

#排序 ##快速排序 线性时间选择 int partition(int l, int r){ int pos = rand() % (r - l + 1) + l; swap(a[pos], a[l]); int key = a[l], i = l, j = r; while(i != j){ wh ......
基础 算法 基础知识 模板 知识

kettle从入门到精通 第十二课 kettle java代码过滤记录、利用Janino计算Java表达式

1、下图通过简单的示例讲解了根据java代码过滤记录和利用Janino计算Java表达式两个组件。 2、根据java代码过滤记录 1)步骤名称:自定义 2)接收匹配的行的步骤(可选):下面条件(java表达式)执行结果为true时流转的步骤 3)接收不匹配的行的步骤(可选):下面条件(java表达式 ......
kettle 表达式 代码 Janino java

02_JAVA匿名内部类

匿名对象就是没有名字的对象 匿名对象的应用场景 A:调用方法,仅仅只调用一次的时候。(调用多次的时候不适合,且匿名对象调用完毕就是垃圾,可以被回收器回收)//new Student().show(); B:匿名对象可以作为实际参数传递。 StudentDemo sd = news StudentDe ......
JAVA 02

java.lang.OutOfMemoryError- unable to create new native thread 问题排查

问题描述 最近连续两天大约凌晨3点,线上服务开始异常,出现OOM报错。且服务所在的物理机只能ping通,但是无法登录。报错信息如下: ERROR 04-12 03:01:43,930 [DefaultQuartzScheduler_Worker-3] JobRunShell[JobRunShell] ......
OutOfMemoryError create unable native thread

4月13日知识梳理

1.将树转化为二叉树:将树的所有兄弟节点链接,然后去掉每个节点的出第一个孩子外所有的孩子,整理得到一个二叉树.这样得到的是二叉树有一个特点就是每棵树的根节点只有一个孩子. 2.将森林转化为二叉树:将森林中所有的树都按照上述方法转化成二叉树,然后因为每个二叉树的根节点都只有一个孩子,可以将一颗二叉树的 ......
知识

7.1存储系统的基本知识

7.1.1 存储系统的层次结构 满足对三个指标的要求: 容量大 速度快 价格低 采用多级存储技术,构成多级存储结构层次 多级存储技术是一种计算机存储系统的组织方式,将计算机存储系统划分为多个层次,每个层次的存储介质速度和容量不同,以便在不同的应用场景下提供最优的性能和存储空间。多级存储技术的核心思想 ......
基本知识 知识 系统 7.1

软件工程日报——第二十一天

今天早上我们延续了昨天关于jsp文件实现web页面的增删该查界面到servelet实现增删改查,但是黄同学用的servelet步骤有些不清楚,我和刘家诚同学仍然在努力学习这种方法,在此基础上,我完成了对javascript画的表的页面显示的调整,并且完成了一小部分的页面美化,我们还对智能排班系统的核 ......
软件工程 日报 工程 软件

java作业

1.分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。(知识点:循环语句) package lll; import java.util.Scanner; public class lll { public static void main(String[] arg ......
java

Java并发(二)----初次使用多线程并行提高效率

1、并行 并行代表充分利用多核 cpu 的优势,提高运行效率。 想象下面的场景,执行 3 个计算,最后将计算结果汇总。 计算 1 花费 10 ms ​ 计算 2 花费 11 ms ​ 计算 3 花费 9 ms ​ 汇总需要 1 ms 如果是串行执行,那么总共花费的时间是 10 + 11 + 9 + ......
线程 效率 Java

2023年4月13日(软件工程日报)

浅层神经网络概况 在这个神经网络(图 3.1.2)对应的 3 个节点,首先计算第一层网络中的各个节点相关 的数𝑧 [1],接着计算𝛼 [1],在计算下一层网络同理; 我们会使用符号 [𝑚]表示第𝑚层网络中 节点相关的数,这些节点的集合被称为第𝑚层网络。这样可以保证 [𝑚]不会和我们之前用 ......
软件工程 日报 工程 软件 2023

软件工程日报——servelt的使用

今天我学习了java的一种写法,之前我实现增删改查的功能主要使用jsp文件实现 即将java代码写在jsp文件里面。之前感觉这种方法很方便,但是使用时间长了之后发现修改太麻烦,于是今天我试着用servelt+jsp+mapper的方法来进行增删改查的操作 我发现效果很不错,修改源码很方便 ......
软件工程 servelt 日报 工程 软件

java 处理常量字符串过长 & springboot 项目读取 resouces 文件夹下的文件内容

长字符串起因 项目里面有一长串的加密字符串(最长的万多个字符),需要拼接作为参数发送给第三方。 如果我们使用 枚举 定义的话,idea 编译的时候就会出现编译报错 Error: java:常量字符串过长 解决想法 网上还有一个说法,说是编译器问题,修改 idea 工具的编译为 eclipse 即可。 ......
文件 常量 字符串 springboot 文件夹

Java批量下载OSS文件

/** * 批量下载 * 参数一:目标地址(OSS)注意:是桶名后面的路径,第一个文件名前没有(/)斜杠 * 参数二:本地地址(本地服务器) * @param prefix * @param directoryPath * @return * @throws IOException */ publi ......
文件 Java OSS

Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for org.lin.hms.dao.RoomDAO.insertRoom. please check file

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method ' ......

使用java实现音乐播放

使用java实现音乐播放的具体代码 调用有参构造器,构造器中传入需要播放的音乐路径,文件需要是.wav格式 调用start方法播放音乐,设置为从头开始循环播放 暂停调用pause方法暂停,暂停保存当前播放进度的毫秒值 继续播放调用recommence方法,会读取刚才保存的音乐播放进度的毫秒值 调用s ......
音乐 java