Java
Dating Java8系列之通过行为参数化传递代码
给我馍馍/文 引言 作为技术开发人员,我们无法保证我们写出来的代码的可用时间和保质期,也许今天刚上线的一个功能,等到明天就因为需求变动不得不进行更改。 为什么会不断的变化 作为技术人员,我们当然希望需求能循序渐进地平稳过度,但往往事与愿违,对于其原因我简单总结为以下几点。 用户导向,用户和市场是风向标,它们变了,你的代码就得变。 写不出
Dating Java8系列之default默认方法
给我馍馍/文 引言 传统上,Java程序的接口是将相关方法按照约定组合到一起。实现接口的类必须为接口中定义的每个方法提供一个实现,或者从父类中继承它的实现。 不断迭代的API 默认方法的引入就是为了,以兼容的方式,解决像 Java API这样的类库,演进迭代问题。 理解演进迭代 为了理解为什么一旦API发布之后,它的演进就变得非常困难,我
Dating Java8系列之Java8中的‘流’
给我馍馍/文 流的概念 1.流是什么 流是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。就现在来说,我们可以把它们看成遍历数据集的高级迭代器。 代码:按价格排序后得到手机名称列表 使用新的流式方法有几个显而易见的好处。 代码是以声明性方式写的:说明想要完成什么而不是说明如何实
Dating Java8系列之Java8中的流操作
给我馍馍/文 本次我们会使用到很多的流操作,如筛选、切片、映射、查找、匹配和归约,这些操作可以让我们能快速完成复杂的数据查询。 筛选和切片 用谓词筛选 Streams接口支持filter方法。该操作会接受一个谓词(一个返回 boolean的函数)作为参数,并返回一个包括所有符合谓词的元素的流。 List<Dish> veget
Dating Java8系列之巧用Optional之优雅规避NPE问题
给我馍馍/文 避之不及的 NullPointerException NPE : NullPointerException 空指针异常是最常见的Java异常之一,抛出NPE错误不是用户操作的错误,而是开发人员的错误,应该被避免,那么只能在每个方法中加入非空检查,阅读性和维护性都比较差。 以下是一个常见的嵌套对象:一个用户所拥有的汽车,以及为这个汽车配备的
Dating Java8系列之并行数据处理
翎野君/文 分支合并框架 分支合并框架介绍 分支/合并框架的目的是以递归的方式将可以并行的任务拆分成更小的任务,然后将每个子任务的结果合并起来生成整体结果。 它是ExecutorService接口的一个实现,它把子任务分配给线程池(称为ForkJoinPool)中的工作线程。把任务提交到这个池,必须创建RecursiveTask<R>的一个
js中的对象,如果赋值给多个变量,那么会有性能问题吗
js中的对象,如果赋值给多个变量,那么会有性能问题吗? 在JavaScript中,将一个对象赋值给多个变量时,并不会直接导致性能问题。当一个对象被赋值给多个变量时,实际上这些变量都会引用同一个对象,即它们指向内存中的同一块地址。这种行为称为“对象引用”。 例如: 这意味着改变var1或var2所引用的对象属性会影响到所有指向该对象的引用。但这个过程本身并不涉及额外的内存分配或复制整个对象,所以就
蚂蚁爱购--靠谱的SpringBoot项目
简介 这是一个靠谱的SpringBoot项目实战,名字叫蚂蚁爱购。从零开发项目,视频加文档,十天就能学会开发JavaWeb项目。 教程路线是:搭建环境=> 安装软件=> 创建项目=> 添加依赖和配置=> 通过表生成代码=> 编写Java代码=> 代码自测=> 前后端联调=> 准备找工作。 学完即可成为合格的Java开发,心里有底,再也不用担心不会使
[Maven] 02 - POM模型与常见插件
POM 模型 1 依赖关系 Maven 一个核心的特性就是依赖管理。当我们处理多模块的项目(包含成百上千个模块或者子项目),模块间的依赖关系就变得非常复杂,管理也变得很困难。针对此种情形,Maven 提供了一种高度控制的方法。 通俗理解: 依赖谁就是将谁的 jar 包添加到本项目中。可以依赖中央仓库的 jar,也可以依赖当前开发中其他项目打包后的 jar 包。 在 pom.xml 文件根元素 pr
idea 热部署插件 JRebel
前言: 热部署:是在不关闭或重启服务的情况下,更新Java类文件或配置文件,实现修改内容生效; 通过热部署,可提高开发效率,节省程序打包重启的时间;同时,可实现生产环境中需要不停机或重启的服务的升级。 随着代码量增加,也需要不断改动,我们需要重新Run或者DeBug。 开发效率下降,JRebel就是个很好的热部署工具。 1. 安装 打开idea,Fi
记一次卡顿的性能优化经历实操
本篇的性能优化不是八股文类的优化方案,而是针对具体场景,具体分析,从排查卡顿根因到一步步寻找解决方案,甚至是规避等方案来最终解决性能问题的经历实操 所以,解决方案可能不通用,不适用于你的场景,但这个解决过程是如何一步步去处理的,解决思路是怎么样的,应该还是可以提供一些参考、借鉴意义的 当然,也许你还有更好的解决方案,也欢迎评论教一下,万分感谢 问题现象 我基于 twaver.js 库实现了一个园区
linux每天定时备份数据库并删除十天前数据详细步骤
每天定时备份数据库需要用到Linux的定时任务,利用Linux的crondtab 命令。下面通过本文给大家带来了linux每天定时备份数据库并删除十天前数据详细步骤,感兴趣的朋友一起看看吧 每天定时备份数据库需要用到Linux的定时任务,利用Linux的crondtab 命令。下面我们来看详细步骤: 一、写好shell脚本 mysqlbak.sh !/bin/sh mysqldump -uroot
mvn deploy 将本地jar包部署到私服
基本命令: 可能出现的问题: 本地jar包位置不应该在maven 仓库下面 报错信息 解决方法:将jar包迁移到其他文件夹中如 C:/下面 上传私服的地址不正确 报错信息 解决方案: 将url 换成host类型的地址 参考:https://blog.csdn.net/iechenyb/art
dremio jdbc 插件时间增量处理的一些问题
dremio 支持一些增量数据处理能力,同时可以选择增量字段,目前dremio 是提供了一些实现,比如反射数据基于iceberg对于增量 可以是不同的数据源(jdbc 的,文件系统的,iceberg 的),日常大家可能选择基于时间戳的(尤其业务系统是基于时间标识的append 类型的) 对于时间类型(timestamp),不同数据库会有不同的精度支持,比如mysql 也支持精度,postgre
Javac多模块化编译
转载:原文链接 从SDK9开始,Java支持多模块编译。那么,怎么用javac实现多模块编译呢? 项目介绍 先来看看我们的项目。 首先lib文件夹下是依赖模块,有一个hello模块。hello模块包含hello包,并且被导出。 然后是test,是我们的主模块,包含一个test包,里面有个叫Main的主类。 有源码的编译 首先,我们模拟,我们具有这两个类的源码时的编译。 编译命令: 首先
SSL/TSL 总结
阿里云:数字证书管理服务(原SSL证书)https://www.aliyun.com/product/cas?utm_content=se_1015412683 CA证书,全称为Certification Authority,即数字证书认证机构。它是一种用于加密和身份验证的数字证书。CA证书的工作原理如下:1. 注册:用户向CA申请数字证书,提供身份信息和公钥。2. 核验身份:CA对用户身份进行一
[代码随想录] 第三天
203.移除链表元素https://leetcode.cn/problems/remove-linked-list-elements/ 思路:没什么好说的 ------------------------分割线------------------------- 206.反转链表 思路:头插法翻转链表! 707.设计链表
JDataStoreWizard
Connect to DataStore:在快速入门中,我们使用FileDataStoreFinder连接到一个特定的文件。这一次,我们将使用更通用的DataStoreFinder,它接受连接参数的映射。注意,相同的代码可以用于连接到DataStoreFactorySpi(服务提供程序接口)参数指定的完全不同类型的数据存储。文件菜单操作使用ShapefileDataStoreFactory或Pos
mybatis提示com.microsoft.sqlserver.jdbc.SQLServerException: 列名 'xxxx' 无效。
1、搞了个大乌龙。一直提示列名无效,但是看表是有的啊。原来是SQL的表名写错了,写成了另外一张表 ### Error updating database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 列名 'ip' 无效。 ### The error may exist in file [E:codeidea_projects
利用 chrome 浏览器将大的 pdf 文件拆分成多个
大pdf拆分成多个小的pdf 比如将一个200页的pdf拆分成两个,可以这么设置。 将多个pdf合并成一个 有很多在线的网站可以做这个事情,搜索引擎搜索下【pdf合并 + 在线】可以搜出很多。 对于一些重要的,包含隐私信息的pdf文件建议不要使用在线工具,所以这边要介绍一个自己写的小工具。 以上使用Java写的一个小工具,需要引入下面的依赖 人生的主旋律其实是苦难,快乐才是稀
Oracle 19c 升级错误【verify_queryable_inventory returned ORA-20001: Latest xml inventory is not loaded into table】
作为一个数据库爱好者,手里的数据库没几个月就得升级一次。 升级收尾运行【datapatch -verbose】的时候,经常遇到这个错误【verify_queryable_inventory returned ORA-20001: Latest xml inventory is not loaded into table】,特地记录一下。 平台是linux。 解决方案: 1、连数据库看看错误原因
Flink 读取 本地日志文件
Flink 读取 本地日志文件 在 Flink 中,可以使用 StreamExecutionEnvironment 的 readTextFile() 或者 addSource() 来读取本地日志文件。 使用 readTextFile() 方法读取本地日志文件示例如下所示: 点击查看代码 2、上面的代码会将指定路径下的日志文件逐行读入到 Flink 程序中,然后通过 .print() 打印输出
Java中BigDecimal类、String类和Number类
Number类所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类 BigDecimal类 在定义字段要求精度比较高的时候,一般会使用BigDecimal类型 常用构造函数BigDecimal(int)创建一个具有参数所指定整数值的对象BigDecimal(double)创建一个具有参数所指定双精度值的对象BigDecimal(l