![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
amcomputer
内修数据结构机器学习,外练web开发网络安全。
展开
-
Spring Boot如何让自己的bean优先加载
在一些需求中,可能存在某些场景,比如先加载自己的bean,然后自己的bean做一些DB操作,初始化配置问题,然后后面的bean基于这个配置文件,继续做其他的业务逻辑。因此有了本文的这个题目。原创 2023-03-11 11:38:34 · 2388 阅读 · 3 评论 -
springBoot自定义注解
·· java// 描述方法}···/*** 环绕切入带有@myLog注解的方法// 通过获取目前class对象 Class原创 2022-11-14 02:05:45 · 225 阅读 · 0 评论 -
easyexcel基本使用
【代码】easyexcel基本使用。原创 2022-10-30 20:22:49 · 138 阅读 · 0 评论 -
java 正则表达式解析数据
还是python写正则表达式要简单一点,java写起来代码量比较多,也比较复杂。特别是里面\,需要用2个\来表示一个\。刚开始还不能很好适应。原创 2022-10-29 13:00:57 · 909 阅读 · 0 评论 -
linux命令如何查看服务器上的实时日志
在项目开发过程中,在调试的阶段,往往需要debug或者进行查看日志。但是,这样输出日志,往往都是调试之后,在重新查找输出的记录,这样虽然也能排查,但往往排查成本会比较高。如果你找后端系统中,运行了一行日志代码,相关日志就马上显示出来,并且高亮,那该多好。原创 2022-09-11 10:54:05 · 2455 阅读 · 0 评论 -
java如何mock
依赖Mockito 的 @InjectMocks 注解作用是将 @Mock 所修饰的 mock 对象注入到指定类中替换原有的对象。@MockBean@MockBean 是 Spring Boot 中的注解。我们可以使用 @MockBean 将 mock 对象添加到 Spring 应用程序上下文中。该 mock 对象将替换应用程序上下文中任何现有的相同类型的 bean。如果应用程序上下文中没有相同类型的 bean,它将使用 mock 的对象作为 bean 添加到上下文中。原创 2022-08-24 22:06:03 · 2162 阅读 · 0 评论 -
Spring项目XML文件使用常见介绍
=""=""=""原创 2022-07-17 23:26:09 · 463 阅读 · 0 评论 -
搭建Spring项目的基本配置
如果只是这样建立的话。项目文件比较多,特别是底层代码太多了,非常不好管理。所以选择删除。重新建立多个模块。原创 2022-07-17 23:15:14 · 171 阅读 · 0 评论 -
JAVA字符串用json来解析
在开发过程中,经常会遇到参数解析的情况。特别是对字符串进行解析,笔者在开发过程中也遇到过这种情况。特别是在查询后端数据对返回对象中。返回内容比较复杂。往往是数组对象中又嵌套另外一层数组对象,最糟糕的情况是,里面还有好几层。如果直接用字符串进行切割,那解析起来非常的糟糕。所以,一直很自然的思想就是用JSON来解析这些数据。......原创 2022-07-15 18:41:47 · 495 阅读 · 0 评论 -
部署在Linux的项目如何查看实时日志
部署在Linux的项目如何查看实时日志今天遇到一个问题,在线下自己调试,访问接口是正常的。部署到服务器上就不正常了。需要找到出错原因。因为已经部署好了,不好看代码,也不好debug。只能通过log文件来找错误。一开始我通过下面这个命令来:虽然这个命令能够查看error的信息,但只能查看历史记录。我在postman上重新发出调用接口命令后,也只能看到以前的。不能实时显示。后面拿到主管哪里后,他用了下面这个命令:每分每妙都在显示实时的日志变化情况。如果我在发出一个请求信息,有变化的日志就会显示出来,也太方便原创 2022-07-14 17:56:55 · 1913 阅读 · 0 评论 -
IEAD的properties配置文件显示中文乱码
idea中在file->setting->editor->file encodings下,把编码格式都设置为UTF-8,并且把transparent native-to-ascll conversion勾选上就行了。原创 2022-07-12 19:38:51 · 175 阅读 · 0 评论 -
IntelliJ IDEA 配置git详细步骤
IDEA项目代码太多了,上传到github/gitlab/gitee上面进行管理吧,方便及时版本回退或者更新。也比较方便团队合作。(笔者换电脑了,重新记录下配置git过程)下载网址:https://git-scm.com/downloadwin系统下载网址:https://git-scm.com/download/win我是是win10,mac or linux也是同样的步骤,先下载对应的版本就好了。下载速度比较慢。下载后进行安装,点击下一步,下一步就好了,但需要记住安装的路径。方便后面配置环境变量原创 2022-07-10 12:35:13 · 12446 阅读 · 0 评论 -
IDEA配置code templates
生成类或者其他时,希望直接有类名信息,作者信息等等。如下面这个案例在创建类后,自动生成了上面内容(公司里面基本上也是这样干的,毕竟标准化,比较好看),那如何实现的呢?里面的代码如下:一开始打开时候,默认的代码配置是:插入上面代码块,替代后,点击ok就行了...原创 2022-07-10 11:33:55 · 1084 阅读 · 0 评论 -
IDEA如何设置copy right
IDEA如何设置copy right一般公司或者企业都需要提前设置好,新人写代码前,需要把这些提前配置好。下面这个是自己设置的一个模板:设置路径可用的变量可以自定义修改,如上**$today.year**是一个变量,类似的还有:其中,DateInfo 对象有如下属性和方法:...原创 2022-07-10 11:19:26 · 729 阅读 · 0 评论 -
【Java 重学系列】之匿名代码块和静态代码块区别
匿名代码块和静态代码块区别是什么?直接看代码实例:输出结果为:可以看到,匿名代码块在类每次生成的时候,都会被执行。而静态代码块,只被执行一次。且执行顺序的优先级最高,因为JVM先把静态代码块里面内容加载了。可以在写一个构造方法,看看静态代码块和构造方法的执行顺序:输出结果:可以看到,静态代码块的优先级是最高的。...原创 2022-07-10 00:03:53 · 271 阅读 · 0 评论 -
【Java 重学系列】之JDK新特性汇总(一文就够了)
JDK新特性汇总,收集网上各种资源整理。JDK每个版本的特性太多了,虽然经常用到是JDK 7 or 8。故想用这篇博客来记录每个版本新内容,来当一个速出手册,并且增加一些Demo。DK7的新特性速查速记:2. 数字字面量可以出现下划线你好奇底层是如何实现的吗?以前只能用基本数据类型,现在可以使用String5. 异常的多个catch合并6. try-with-resources 语句以前打开的文件需要显示关闭,现在不用了,自动关闭资源。7. 使用ForkJoin如何使用Fork/Join原创 2022-07-09 10:21:15 · 456 阅读 · 0 评论 -
【Java重学系列】之前言
阿里实习,转正答辩,到今天的正式入职,成为员工,不知不觉已经快要离不开Java语言,以前本科实习也是Java相关岗位,虽然自己而言,比较擅长Python一点,接触比较多。直到今天,慕然回首,到最后,还是得靠Java语言吃大碗饭,很有必要把自己的这门手艺打好。工作了,从事Java岗位觉得自己Java技术比较差,重新学习想深入一门技术或者语言,看看自己能走多远暂时就那么多...原创 2022-07-04 23:46:44 · 99 阅读 · 0 评论 -
IDEA技巧之Local History
IDEA技巧之Local Histtory背景如果想要查看本地所编辑文件的历史版本,或者进行对比,特别是慌乱中删除的一些代码文件,或者代码的修改记录,那么可以通过使用改功能来实现恢复。说明Local History (本地版本控制)位置:Find Action搜索吧 (在help 菜单里面)功能:Idea提供的本地版本控制工具。使用:Find Action搜索,然后选择Local History,选择Show History,会弹出一个窗口,里面会记录以前的更改历史。 Put Label原创 2022-05-03 11:58:59 · 2707 阅读 · 0 评论 -
1067. Disk Tree - Java实现
1 Disk TreeDisk TreeTime limit: 2.0 secondMemory limit: 64 MBHacker Bill has accidentally lost all the information from his workstation’s hard drive and he has no backup copies of its contents. He does not regret for the loss of the files themselves,原创 2022-04-27 16:49:43 · 398 阅读 · 0 评论 -
linux命令使用小技巧系列之切换用户为什么加-
linux使用小技巧系列之切换用户为什么加-一 背景介绍在切换用户时候, 一般情况下,最好加上- 这个短横线。也不知道为什么,今天就来复现一下,恰巧使用时候遇到了这个场景。二 实战演练首先进入root用户然后创建几个用户如 useradd -m ylyang4现在已经切换过来了,可以发现,此时所在目录还在/root下使用ls命令,我们可以发现ylyang4这个用户没有权限查看/root的文件。现在我们退出,尝试加上- 这个用法:可以看到,我们切换后直接来到了用户主目录下。总结s原创 2021-12-25 16:03:30 · 676 阅读 · 0 评论 -
TimeUnit源码走读及基本使用
1 背景介绍笔者遇到一个场景,用户输入到时间和数据库里面时间做对比,由于数据库里面是timestamp类型,(如 2021-08-23 08:28:41),而用户输入一般为小时,分钟,或者毫秒。代码规约规定不能使用java.sql.Time, java.sql.Date, 和java.sql.timestamp, 因为jdk8这3个类有缺陷。现在假设用户输入是毫秒 (long startTime = System.currentTimeMillis() ),我需要把这个毫秒转变为数据库里面是timest原创 2021-08-24 14:31:00 · 431 阅读 · 0 评论 -
java实现发送post请求
1 背景介绍最近有一个任务,完成数据获取和解析,需要发送带请求参数的post请求,才能拿到数据。之前没有接触过java发送post请求,但有接触过python的requets库,故写下这篇记录一下发送post请求。2 基本实现2.1需要的依赖:import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.HttpStatus;import org.apache.commons.httpcl原创 2021-08-13 22:18:25 · 25297 阅读 · 5 评论 -
java读取excel表格数据
1 背景介绍java读取excel文件有很多的应用场景,如读取数据后入库,或者做数据分析,预处理等等,那么如何做到读取文件呢,下面看具体步骤。笔者使用环境是IDEA2020.1,jdk8.2 导入依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.16</version>原创 2021-08-11 21:30:39 · 8542 阅读 · 2 评论 -
有无索引的性能比较:mysql插入100万条数据后查询
1 环境win 7 +mysql8.0 +nvicat内存12个G2 建表CREATE TABLEIF NOT EXISTS `app_user`(id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,name varchar(50) NOT NULL,email varchar(50) NOT NULL,phone varchar(20) NOT NULL,gender tinyint(4) unsigned DEFAULT 0,password原创 2021-08-01 17:25:44 · 1342 阅读 · 0 评论 -
设计模式之抽象工厂
1 背景回顾设计模式是一种思维方式,前人总结的最佳实践,也是一种态度,一种进步。软件过程里面设计模式一共有23种,一般分为3类。即创建型,结构性型,行为型。其中:**创建型5种: ** 解决了创建对象的烦恼单例模式,工厂模式,抽象工厂模式,建造者模式,原型模式结构性型7种: 解决了如何让类组合起来完成复杂的功能适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式,行为型11种: 解决了类之间的控制关系。模版方法模式,命令模式,迭代器模式,观察者模式,中介者模式,备忘录模式,原创 2021-07-17 19:32:14 · 128 阅读 · 1 评论 -
Idea找不到类
Process finished with exit code 1 Class not found:Idea找不到类 ,可是明明已经写好了类,2种情况:第一,类名写错,或者包导错了第二,使用lifeCycle可以先清除,在编译,最后测试。原创 2021-07-06 17:33:07 · 695 阅读 · 1 评论 -
一个简单的mybatis demo实现
一 数据库项目目录:mybatis-conf.xml文件内容:<?xml version="1.0" encoding="UTF8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><!--核心配置环境--><configuration&原创 2021-07-06 00:48:48 · 175 阅读 · 0 评论 -
mybatis读取配置文件报错
org.apache.ibatis.exceptions.PersistenceException:Error building SqlSession.Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-原创 2021-07-06 00:09:00 · 216 阅读 · 0 评论 -
java 连接MySQL数据库和使用步骤
代码如下:1 加载驱动 。 将mysql驱动注册到DriverManager中去。Class.forName(“com.mysql.cj.jdbc.Driver”);//也可以用com.mysql.jdbc.Driver2 连接数据库DriverManager.getConnection(url, name, password);//如果关闭自动提交,还需要设置一下3 执行//若关闭自动提交,需要commit4 关闭数据库connection.close();package com.ya原创 2021-07-03 18:47:54 · 353 阅读 · 0 评论 -
Java 4种元注解
@Tatget 范围(在类上,方法上,还是字段上生效),表示可以用在那些地方@Retention:定义什么时候生效,有三重,Source,Class, RunTime,一般为RunTime有效。表示我们的注解什么时候有效。RunTime》Class》Source@Documented:表示是否将我们的注解是否生成在JavaDOC中@Inherited:子类可以继承父类的注解定义一个注解://@Target(value = {ElementType.METHOD,ElementType.TYPE,F原创 2021-07-02 01:01:52 · 108 阅读 · 0 评论 -
jsp基础语法
需要提前导入的依赖: <dependencies> <!--添加Servlet和JSP依赖--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version>原创 2021-06-27 19:31:11 · 91 阅读 · 0 评论 -
tomcat找不到JRE_HOME
The JRE_HOME environment variable is not defined correctlyThis environment variable is needed to run this program导致tomcat出现闪退startup.bat 会调用catalina.bat文件执行之前我在catalina.bat设置了,更换版本后忘记改这个文件,系统变量也加了一直报错,害,记录一下心赛过程。我的系统情况:win 7+tomcat9+jdk8解放方法:找不到就帮它原创 2021-06-26 17:20:10 · 661 阅读 · 0 评论 -
Maven3.8安装错误
mvn -vJAVA_HOME should point to a JDK not a JRE说明JAVA_HOME配置虽然对了,可能没有遵循规范把里面的;去掉就行了运行命令成功:原创 2021-06-25 00:17:27 · 222 阅读 · 0 评论 -
Java @Overide做了什么
@Overide表示了该类中的方法显示地覆盖了父类的方法,这个事情一定发生在类继承关系中。比如我们先定义一个CD类,该类默认会继承Object类,Object中常用的f原创 2021-06-15 10:15:23 · 1995 阅读 · 1 评论 -
Java为什么要有基本数据类型和包装类型
作为面Java为什么要有基本数据类型和包装类型? 这个问题看似简单,其实也不好回答。毕竟这个问题不仅你我感觉到困惑,许多大佬也感觉到困惑,一些人希望把基本数据类型剔除,一些人希望继续保留。...原创 2021-06-13 23:03:43 · 2611 阅读 · 1 评论 -
Java Arraylist的基本用法
ArrayList是Java常用的泛型容器类,可以存各种基本类型,如Int,String等等package notebook;import java.util.ArrayList;public class NoteBook { private ArrayList<String> notes = new ArrayList<String>(); public void add(String s){ //不断增加东西,数组不行,因为大小固定了 not原创 2021-06-10 22:50:13 · 228 阅读 · 0 评论