JAVA
文章平均质量分 55
java各种相关文章
你可以叫我老白
生活如我,无乐无忧。诸事强求,万般皆苦。
展开
-
实战:求年月日时间前后遇到的坑和解决方式
这周接到一个时间转换任务需要处理,本来没什么问题,后来完成后发现时间有偏差,又重写了一遍代码,感觉很有记录必要性,希望看过的小伙伴可以避坑。照例,先说结论。原创 2023-06-19 16:10:04 · 2922 阅读 · 2 评论 -
SpringBoot集成Oracle实战和坑
前段时间搞了一个oracle的项目,耗费了很多时间,现在项目整体上线了,在此记录下实战过程以及遇到的坑,有需要的网友也可以直接拿去使用。原创 2023-05-16 17:32:26 · 1263 阅读 · 2 评论 -
开发必备:EsayCode使用以及Oracle自定义模板
写前先问一句,不会还有人在手动写这些基础的sql语句吧?!最近在做Oracle的项目,手写mapper和entity文件真是写到手软,以前MySQL都是找的线上自动生成的,现在也不行了。找了很长时间,也试验了一下mybaties-plus,后来要感谢掘金群里的老哥(图片已同意)。虽然默认模板很难用,但是自定义模板优化后,凑合可以使用吧。原创 2023-04-18 20:26:19 · 2034 阅读 · 3 评论 -
navicat如何使用orcale(详细步骤)
看过我昨天文章的兄弟姐妹都知道最近接手另一个国企项目,数据库用的是orcale。实话实说,也有快三年没用过orcale数据库了。这期间问题不断,因为orcale日渐消沉,网上资料也是真真假假,难辨虚实。在此记录下,以备后用。1.用户名过长或者过于复杂,在登录的时候报缺失选项或者无此表空间。但是sql-developer没有问题,而且我集成的框架中也没有问题。很是奇葩没找到原因,知道的可以说下。2.建表时建议表名和字段全都大写,Oracle官方文档和示例代码通常使用大写。原创 2023-04-14 18:36:38 · 2602 阅读 · 6 评论 -
谈谈Java Optional的坑
不推荐使用,只能判断对象,而省略掉的if/else在某种程度上,虽然是优化了代码却是造成了更多的问题。同时更多的对象new出,造成内存的开销很大。并且在后来的资料查询中发现很长时间没有更新了(最新版为java11)。从22年java19出现,多个版本未发生变化,不知道是否已经放弃。而国内市面上流行的版本依旧是Java8,也就是说9-11的新特性是无法使用的。原创 2023-02-09 14:27:30 · 661 阅读 · 0 评论 -
java中List转换String字符串几种方式
这里和StringUtils.join()有区别,参数顺序不一样,另外,StringUtils.join()可以传入Integer或者其他类型的集合或数组,而String.join()尽可以传入实现charSequence接口类型的集合或数组。StringUtils.join() 和 String.join()用途:将数组或集合以某拼接符拼接到一起形成新的字符串。此方法将列表转换为具有给定分隔符、前缀和后缀的字符串。如果是字符串类型的集合或数组推荐使用String.join()原创 2022-12-16 17:25:14 · 36593 阅读 · 0 评论 -
java 中的多种跳出多重循环的方式
标签有两种用法,可以加break,也可以加continue,使用场景如下:(1)带标签的continue不往下执行语句,直接返回标签所在处的循环开头,并继续执行该循环.(2)带标签的break不往下执行语句,直接中断并退出标签所在处的循环.总的来说,在工作中更推荐第一种,灵活性更高。另外还可以使用return提前终止代码执行,前提是后边没有要执行的代码了。原创 2022-12-16 15:31:51 · 241 阅读 · 0 评论 -
java中oss分片上传(包含业务和详细讲解)
其实分片上传和普通的上传只是多了一个合并文件的步骤,其他的都是差不多;因为研究时间较短,还有些资料没有查出,比如PartETag这代表含义等。有需要补充的欢迎在下面补充。前端先调用一次初始化接口拿到本次分片任务的唯一分片id。前端负责分片,传参:总片数、第几片,唯一分片id等数据,这些需要传给后台,后台才能够以此判断。文件流数据:content,可以换成file等类型,最后转换成oss所需文件流即可,合格的程序员应当学会灵活应变相关代码,哈哈哈。:使用了ossUtil工具类。:注意需要3以上的版本。原创 2022-09-08 00:03:20 · 2167 阅读 · 0 评论 -
java中使用Joda-Time处理时间
核心类使用最多的五个日期时间类:- Instant - 不可变的类,用来表示时间轴上一个瞬时的点(时间戳)- DateTime - 不可变的类,用来替换JDK的Calendar类LocalDate - 不可变的类,表示一个本地的日期,而不包含时间部分(没有时区信息)- LocalTime - 不可变的类,表示一个本地的时间,而不包含日期部分(没有时区信息)- LocalDateTime - 不可变的类,表示一个本地的日期-时间(没有时区信息)工具类累加(最好先看懂上面相关的使用方法以及函数)原创 2022-09-05 16:30:32 · 376 阅读 · 0 评论 -
linux中磁盘满了?一招教你快速清理
创作背景:当天部署服务时,发现无法部署,后来经过日志排查后发现服务器磁盘满了,查询资料后进行了清理。话不多说,直接上解决方法。原创 2022-08-03 17:31:25 · 4368 阅读 · 3 评论 -
高并发常识:TPS、QPS等
一、概述分布式、微服务、Service Mesh目前都是大家耳熟能详的词语了,现在随便一个互联网公司说出来大家都是在搞微服务。但我们搞来搞去,怎么样来衡量一个应用当前的状态到底是怎么样的?到底需不需要扩容?是需要横向扩容还是进行项目重构?这时候我们就需要一堆监控指标来协助我们进行分析当前的应用状态,以便在某些事故发生前进行资源上的调配或优化。下面咱们就来说道说道这几个重要的指标,一定要记牢,不管面试还是自己用都是必须滴。要牢记一点,所有的指标都是根据时间单位来算的,比如每秒XX、每分钟XX,要记住原创 2022-04-08 17:37:52 · 502 阅读 · 0 评论 -
springboot集成xxl-job的详细使用
概述首先我们要知道什么是XXL-JOB?官方简介:XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用XXL-JOB的有点特性:1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;2、动态:支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效;3、调度中心HA(中心式):调度采用中心式设计,“调度中心”自研调度组件并支持集群部署,可保证调度中心HA;4、执行器HA(分布式.原创 2022-04-02 18:38:11 · 795 阅读 · 0 评论 -
java中经纬度使用与相关工具类
经纬度互换度(DDD):E 108.90593度 N 34.21630度如何将度(DDD):: 108.90593度换算成度分秒(DMS)东经E 108度54分22.2秒?转换方法是将108.90593整数位不变取108(度),用0.9059360=54.3558,取整数位54(分),0.355860=21.348再取整数位21(秒),故转化为108度54分21秒.同样将度分秒(DMS):东经E 108度54分22.2秒 换算成度(DDD)的方法如下:108度54分22.2秒=108+(54/60).原创 2022-04-01 18:32:44 · 1070 阅读 · 0 评论 -
springboot集成apollo
一、简介1.Apollo 是什么?Apollo(阿波罗)是携程框架部门研发的分布式配置中心。服务端基于Spring Boot和Spring Cloud开发。2.为什么要使用Apollo?安全性:配置跟随源代码保存在代码库中,容易造成配置泄漏时效性:普通方式配置,修改配置,需要重启服务才能生效局限性:无法支持动态调整:例如日志开关、功能开关二、使用1.引入jar包(版本号跟随springboot) com.ctrip.framework.apollo apollo-client原创 2022-03-25 17:12:56 · 3730 阅读 · 0 评论 -
springboot+mybaties实现分库分表
1.导包必须有的<!--jdbc--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency><!--Web依赖--><dependency> <groupId>org.sp.原创 2022-03-13 21:40:46 · 1803 阅读 · 0 评论 -
IDEA安装插件搜索不到插件的解决方法
解决idea安装所需插件,插件搜索不到的问题1.通过设置代理和去掉使用安装链接的方式来解决的File–>Settings–>Appearance & Behavior–>System Settings—>HTTP Proxy(修改为图片所示)2.在系统设置中将更新选项中的“use secure connection” 取消勾选(有的没有下面的选项,直接跳过)试试看能否搜到,不行继续。3.关闭防火墙4.重启idea(要求能杀死进原创 2022-02-25 16:43:29 · 15654 阅读 · 1 评论 -
Java虚假唤醒(如何避免)
什么是假唤醒?当一个条件满足时,很多线程都被唤醒了,但是只有其中部分是有用的唤醒,其它的唤醒都是无用功1.比如说买货,如果商品本来没有货物,突然进了一件商品,这是所有的线程都被唤醒了,但是只能一个人买,所以其他人都是假唤醒,获取不到对象的锁为什么 if会出现虚假唤醒因为if只会执行一次,执行完会接着向下执行if()外边的而while不会,直到条件满足才会向下执行while()外边的避免虚假唤醒/**线程之间的通信问题:生产者和消费者的问题 等待唤醒 ,通知唤醒线程交替.原创 2022-02-23 10:14:58 · 161 阅读 · 0 评论 -
java中springboot集成junit编写单元测试(实战+坑)
在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到80%或 90%。于是乎,测试人员费尽心思设计案例覆盖代码。用代码覆盖率来衡量,有利也有弊。首先,让我们先来了解一下所谓的“代码覆盖率”。我找来了所谓的定义:代码覆盖率 = ...原创 2022-02-22 15:30:14 · 979 阅读 · 1 评论 -
Elasticsearch好用的客户端(可视化)工具选择
前言:有道是-工欲善其事,必先利其器。老白这次想重新深入学习下Elasticsearch相关的知识。但是Elasticsearch和我们的数据库是一样的都需要客户端才可以看到相关数据。网上推荐的五种客户端:1.Elasticsearch-Head ,弃用。 Elasticsearch-Head插件在5.x版本之后已不再维护,界面比较老旧。2.cerebro,弃用。原因:据传该插件不支持ES中5.x以上版本。3.kinaba,弃用。功能强大,但操作复杂,以后可以考虑。4.Dejavu,弃用。 也是一原创 2022-01-29 16:10:48 · 4804 阅读 · 1 评论 -
java项目如何在linux本地docker(Jenkins)打包
1.首先把代码拉下来然后打包:linux命令:git clone (git地址)2.接下来你可以选择创建或者复制,或者直接拉进去一个 dockerFile3.然后修改这个文件 比如jar包的名称啊,jvm内存大小啊等等;相关命令:1.vi 文件名.txt 。 命令中的“vi”部分是选择“Vim”文本编辑器来编辑文件。用目标文件名来代替命令中的“文件名”。2. 按下i键,让文档进入“插入”模式,在目标位置输入文档文本。按下I键后,窗口的底部应该会弹出-- INSERT --。3.输入文档文本。原创 2021-08-13 18:54:53 · 278 阅读 · 0 评论 -
Java必背基础词汇
一、常用关键字53个1、保留关键字(2个)const ——常量,常数:用于修改字段或局部变量的声明。goto——转到:指定跳转到标签,找到标签后,程序将处理从下一行开始的命令2、访问修饰符的关键字(3个)public (公有的):可跨包protected (受保护的):当前包内可用private (私有的):当前类可用3、定义类、接口、抽象类和实现接口、继承类的关键字、实例化对象(6个)class (类):public class A(){}花括号里是已实现的方法体,类名需要与文件名相同转载 2021-07-14 16:03:16 · 609 阅读 · 0 评论 -
7步解决linux中的tomcat启动成功但是在本地访问不到的问题;centos7关闭防火墙(转载)
目录前言一 7步解决方案二 补充:Centos中如何打开和关闭防火墙??1 防火墙系统为firewall的关闭和打开方式2 CentOS 7以上默认使用firewall作为防火墙改为iptables前言linux中明明启动了tomcat服务器,但是在网页上却打不开,那么十有八九是因为linux防火墙的问题,要么完全关闭防火墙,此时不太安全,要么就是针对某一个端口,设置其越过防火墙的限制。一 7步解决方案Step1. 启动tomcat进入 tomcat 所在的目录的 bin 的文件夹下执行转载 2021-07-13 16:34:38 · 1355 阅读 · 1 评论 -
工作中java常用的时间工具类:Calendar
```java/** * 补全开始到结束时间的工具方法 */ public List<String> testDateUtils(String startTime,String endTime) throws Exception { /*startTime="2021-02-03"; endTime="2021-02-06";*/ if (StringUtils.isEmpty(startTime) || StringUtils.isEmpty(endTime)) .原创 2021-06-16 16:48:28 · 397 阅读 · 0 评论 -
java 中Excel 工具类,利用了java自带的导出
@JsonInclude(JsonInclude.Include.NON_NULL) :前端要求空对象不返回给前端;@ExcelField(title =“次数”,align =1,sort =2):导出返回的对象必加:列名;align:居中显示;sort:导出顺序;DTO:package com.unisound.iot.smart.dao.model;import com.fasterxml.jackson.annotation.JsonIgnore;import com.fasterxml.原创 2021-06-16 10:47:23 · 307 阅读 · 0 评论 -
java中后台权限树
```javapackage com.unisound.iot.smart.dao.model.saas;import com.fasterxml.jackson.databind.annotation.JsonSerialize;import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;import io.swagger.annotations.ApiModel;import io.swagger.annotations.原创 2021-06-08 11:03:19 · 235 阅读 · 0 评论 -
通过aop切面获取接口日志
(注意接口地址改变RequestFilter 中urlPatterns 也要改变 ,否则无法获取前台的request)package com.unisound.iot.smart.operlog;import javax.servlet.*;import javax.servlet.annotation.WebFilter;import javax.servlet.http.HttpServletRequest;import java.io.IOException;import jav原创 2021-05-28 18:00:07 · 504 阅读 · 0 评论 -
利用IDEA快速生成实体类
前言:idea 功能很强大,以前不知道有这样的提升工作效率的方法,虽然有的工具确实可以直接生成实体类,mapper文件,还有dao接口,但是个人觉得涉及到复杂业务还是只生成实体类比较好,后面部分就自己搞定就可以了。步骤:1、点击右侧的datesource图标,要是没有该图标,请去自行百度2、点击 + 号3、选择 datasource4、选择 mysql1、填写一个连接名,随便填什么都行2、不用选择,默认就行3、填写数据库连接的 IP地址,比如本地数据库可以填写:localhost或者127原创 2020-06-16 17:40:42 · 825 阅读 · 0 评论 -
IDEA设置换行符为Unix编码格式
阿里巴巴开发手册代码规范规定,一般idea都是默认,但会出bug。原创 2021-03-29 15:25:31 · 510 阅读 · 0 评论 -
JAVA中list的应用+理解
list常用函数:{ List list1 = new ArrayList<>(); List list2 = new ArrayList<>(); list1.add("a"); list1.add("b"); list2.add("b"); list2.add("c"); int b = list1.indexOf("b"); System.out.println("返回集合中第一次出现这个元素的位置如果原创 2021-03-26 17:19:29 · 140 阅读 · 0 评论 -
Java中将数据转换为周月年数据
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、转换步骤1.VO类2.转换为周数据2.转换为月数据2.转换为年数据总结前言在平常开发中总会碰到相应的数据转换,比如将查询的数据转换为周月年然后在前台以折线图的方式表现。提示:以下是本篇文章正文内容,下面案例可供参考一、转换步骤1.VO类代码如下(示例):import com.fasterxml.jackson.annotation.JsonFormat;import lombok.AllArgsConst原创 2021-02-23 17:14:25 · 439 阅读 · 0 评论 -
idea中打jar、war包
1.打开pom.xml文件,添加war 或 jar2. 修改好之后打开maven栏路径:View->Tool Windows->Maven3.查看4、注意:web项目需要打包成war包,jar包不打jsp和web.xml文件;原创 2021-01-19 17:38:20 · 135 阅读 · 0 评论 -
idea中DBug标记如何全部消失
快捷键:Ctrl+Shift+F8原创 2021-01-19 17:18:06 · 218 阅读 · 0 评论 -
报错:springboot项目中在idea中运行时无法找到配置文件信息而产生的错误(外加在idea中配置Tomcat)
错误说明:这次错误的产生在于,原来得旧项目中实在Eclipse中开发的,然后转移到idea中进行开发时发现某个接口在读取配置文件中的地址时无法读取到,使其返回信息为空,然后一直往后看才发现是要加上项目名称,而springboot因为自我有内置服务器没有项目名称,这就很烦,错误卡了一天,在此记录下。先看下错误时的情况:地址访问不到,返回数据为空:地址无法获取,配置信息报错,发生降级:正确情况:错误原因:无法读取配置的baseurl如何在idea中配置Tomcat右上角:然后配原创 2021-01-19 16:28:33 · 566 阅读 · 0 评论 -
MySql8.0.22详细安装与问题解决(注:遇到找不到VCRUNTIME140_1.dll问题和密码重设以及免安装没有my.ini文件)
尽量推荐大家使用高版本或者大众版本的软件,因为高版本一般都可以覆盖低版本,反之不行。比如:在服务器上部署项目时,项目死活连不上服务器,一度找了很久的原因,最后才知道是mysql-connector的版本太低了,和服务器的mysql版本不匹配。后来为了下次出现,我就索性在自己电脑安装新版本的mysql。其实一开始不推荐使用zip的但是有的人说zip版本卸载比较方便,安装版的下载如何困难我就不说了吧,看个人喜好吧。第一步:首先下载安装包,官网下载(我当时最新的是8.0.22):https://dev.my原创 2020-12-31 12:47:49 · 733 阅读 · 0 评论 -
IDEA-idea解决代码只能提示功能消失
首先看下提示配置(code completion)红色是具体配置路径。大概配置:第一行是敏感大小写的配置第二行是当一个选择适合按下什么键选择按照字典顺序排序查询结果(sort lookup items lexicographically )自动弹出完整代码(autopopup code completion)参数信息(parameter info)根据自己需求配置即可。如果这里配置没有问题(大小写敏感 可能会导致不显示)那么就要看下idea模式情况一 勾选了"power save mo原创 2020-07-20 15:01:10 · 894 阅读 · 0 评论 -
IDEA常用插件(个人感觉还是挺实用,好用的)
Find Bug 、阿里扫描规范见名知意,这两个都是阿里的插件。说实话如果是一个新手的话最好还是按上,但是对于老程序员来说有点痛苦,用了以后才知道自己那么多不规范,打个比方:Fing Bug扫描中一个方法不准超过80行,想想以前300行一个方法。。。具体安装就不讲了(如果很着急直接拉到最下边查看),不想重复。先看下效果吧:Maven helper这是一个可以查看maven依赖的插件,可以展示pom文件中的依赖(以列表或树的形式),最重要的是可以使用此插件查看maven依赖是否有冲突。相信大家都有因为原创 2020-06-05 18:08:31 · 1265 阅读 · 0 评论