Java
文章平均质量分 76
Java日常开发笔记
程序员鱼丸
轻舟已过万重山
展开
-
Java基础篇:多态
介绍多态就是指一个类实例的相同方法在不同情形有不同表现形式,在面向对象设计的概念中,对于父类提供的方法调用,子类可以有自己特有的行为。例子class Animal { void move() { System.out.println("move...move..."); }}class Dog extends Animal { void move() { System.out.println("跑...跑..."); }}clas原创 2021-04-21 20:52:55 · 176 阅读 · 0 评论 -
Java基础篇:继承
介绍Java中继承是一种机制,其中一个对象获取父对象的所有属性和行为。它是 OOP(面向对象的编程系统) 的重要组成部分。Java继承的思想是,您可以 创建 基于现有类构建的新类。从现有类继承时,可以 复用 父类的 方法 和 字段 。此外,您还可以在继承后的类中添加新的方法和字段为什么需要继承试想一种情况:有一个 Aminal (动物),它的定义如下:属性:体重、身高、年龄 方法:移动ok,当我们这个类定义好之后,现在再来定义一个 Dog(狗)的类别:属性:体重、身高、.原创 2021-04-19 22:20:28 · 718 阅读 · 2 评论 -
maven docker springboot 打包异常记录
Compilation failure[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?解决无 javac 命令原创 2021-04-08 15:06:25 · 251 阅读 · 1 评论 -
Docker 启动 Spring Cloud Consul
docker run -d --name=node1 --restart=always \ -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' \ -p 8300:8300 \ -p 8301:8301 \ -p 8301:8301/udp \ -p 8302:8302/udp \ -p原创 2021-04-07 08:52:41 · 298 阅读 · 0 评论 -
Lamda萌新入门指南
查数组中最大值int[] ary = {1,2,3,1000};int maxNum = IntStream.of(ary).parallel().max().getAsInt();System.out.println(maxNum);新建线程new Thread(() -> System.out.println("test")).start();第二种方式Runnable runnable = () -> System.out.println("test2");new Th原创 2021-04-07 08:51:13 · 201 阅读 · 0 评论 -
Java基础篇:封装
介绍面向对象最基本的特征,把真实世界的某些物体包成对象,里面的信息不对外公开,只公开某些特定方法让别人使用,内部的属性与逻辑都隐藏起来,不让人直接使用,也不需要让别人直接使用,就是所谓的封装设想一个例子,提款机,你不知道它里面还有多少钱,也不知道内部的运做,不知道哪家公司生产的机器,但你还是会去使用他提供的方法:查询余额、提款。因为他只开放这两个方法给一般人使用,你要使用这两个方法需要带入的参数是提款卡及密码,就可以完成你的需求class ATM { private BigDecimal 剩.原创 2021-04-06 17:29:51 · 193 阅读 · 0 评论 -
Java基础篇:抽象
引言知道的越多反而发现自己知道的越少爱因斯坦和他的学生走在海滩上,爱因斯坦画了个小圆,又套了个大圆,对学生们说:你们的知识好比小圆,我的知识好比大圆;大圆虽大,但是它所见的圆外的未知事物更多。介绍抽象(Abstraction) 是一个向用户隐藏实现细节的过程,只有功能会提供给用户,例如:返回一个人被视为人,而不是具体是一个学生还是男人;也有思想是提取出鲸鱼与沙丁鱼的共同点的过程也是抽象,其都需要水与都是水栖动物;考虑一个学校打卡的真实例子,打卡只针对人群去打卡,而真正的实现细节上,老师、学生原创 2021-04-06 11:03:41 · 183 阅读 · 0 评论 -
SpringBoot 2.x 操作 Excel 导入导出
SpringBoot 2.x 操作 Excel 导入导出介绍快速创建实例Maven 依赖Apache POI读取 Excel导出 Excel测试介绍在本教程中,学习如何使用Apache POI来处理Excel电子表格。这两个库都可用于动态读取,写入和修改Excel电子表格的内容,并提供将Microsoft Excel集成到Java应用程序中的有效方法。快速创建实例前往 https://start.spring.io/ 如下所示点击GENERATE生产一个zip解压导入IDEA工具即可Mave原创 2021-04-01 14:16:26 · 881 阅读 · 0 评论 -
MyBatis 笔记(万字长文)
Mybatis 笔记(万字长文)1. 判断字符串相等2. Mybatis-批量插入3.where 条件4. 循环获取 Map 中的 key 和 value5.mybatis property column6. 在 xml 中使用`><`等特殊符号7. 插入并更新8. MyBatis+MySQL 返回插入的主键ID9.MybatisPlus问题 xxxMapper 未找到Bean10. mybatis IndexOutOfBoundsException: Index: , Size:11.Myb原创 2021-03-31 14:23:17 · 645 阅读 · 0 评论 -
Spring Security 错误解决记录
前端返回需要Access-Control-Allow-Credentials异常一Access to XMLHttpRequest at 'http://localhost:9999/homeManager/user/login' from origin 'http://192.168.1.12:8000' has been blocked by CORS policy: The value of the 'Access-Control-Allow-Credentials' header in the原创 2021-03-24 18:47:53 · 806 阅读 · 0 评论 -
什么是缓存穿透,缓存击穿和缓存雪崩?
1.缓存穿透(Cache penetration)什么是缓存穿透数据库与缓存中都无此值,请求穿过缓存,访问数据库,导致数据库压力过大解决方案:缓存空值,并设置过期时间小一点,不然会对数据的准确性造成影响对用户请求进行合法校验布隆过滤器2.缓存击穿(Cache breakdown)什么是缓存击穿?缓存击穿是一种场景,当缓存的数据过期,同时对过期的数据进行大量请求,这突然导致搜索直接命中数据库,并极大地增加了数据库层的负载。这将在高并发环境中发生。解决方案:通常,在这种情况下,需要对搜原创 2021-03-22 16:42:38 · 490 阅读 · 0 评论 -
SpringBoot 2.4 集成 Mybatis 链接数据库
此文章假定您对Spring Boot和REST API比较了解。它将帮助您将MyBatis集成到Spring-Boot项目中,并开发一些与MySQL数据库进行交互的示例。在本教程的最后,您将拥有创建与关系数据库的基本交互(包括事务和池大小限制)以及与 MySQL 数据库的交互进行单元测试所需的全部功能。对于本教程,我们将先创建一个Spring Boot 的基本实例快速创建实例前往 https://start.spring.io/ 如下所示点击GENERATE生产一个zip解压导入IDEA工具即可原创 2021-02-14 17:27:33 · 927 阅读 · 0 评论 -
Linux 安装 Mysql5.7.20 版本
Linux 安装 Mysql5.7.20 版本1.服务器环境CentOS 7.22.移除 mariadb**操作之如果有默认数据库马瑞 DB 前先移除 mariadbyum -y remove mari*rm -rf /var/lib/mysql/*3.下载tar包mysql5.7 的 tar 包:下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.g原创 2020-12-18 22:12:00 · 516 阅读 · 1 评论 -
docker-compose部署nacos单机版(简洁优化版)
预览初始化数据库MySQL 文件:https://github.com/Gleans/SpringCloudPro/blob/master/docker/mysql-init/init.sql放到可视化工具或者命令行执行以下,目的是 初始化数据库docker-compose 启动 nacos 单机版Linux安装Docker(CentOS 8)与docker-compose套装windows安装Docker与docker-compose套装MacBook 安装 Docker 与 do原创 2020-07-25 08:55:49 · 190977 阅读 · 2 评论 -
Java骚操作之CountDownLatch
简述用来干嘛的?当你在方法中调用了多个线程,对数据库进行了一些不为人知的操作后,还有一个操作需要留到前者都执行完的重头戏,就需要用到 CountDownLatch 了实践代码package com.github.gleans;import java.util.concurrent.CountDownLatch;public class TestCountDownLatch { public static void main(String[] args) throws Interrup原创 2020-07-11 11:50:06 · 188407 阅读 · 0 评论 -
实战简历编写,打造硬核敲门砖
实战简历编写,打造硬核敲门砖1.自我介绍2. 技能描述3.工作经历4.项目经历4.1 商城4.2 进销存自我评价教育经历1.自我介绍简历开篇就是介绍自己,忌长篇大论,那么点时间,相信你自己作为面试官,也不想去看阅读理解忌讳不要写杂事获得了什么证书之类,像计算机几级或者mysql认证证书什么的4、6级英语及个别例如acm奖项等,可写之前见有人写去养老院献爱心之类的,确实,人不错,但是和你的工作联系不是那么大建议条理清晰,最好有序号学历高要写前边,例如硕士,低于本科的话就先不要写,放在原创 2020-07-11 11:48:57 · 216423 阅读 · 3 评论 -
最常用的 Java 8 中的 Lamda 函数(项目中实用笔记)
最常用的 Java 8 中的 Lambda 函数(项目中实用笔记)简介Java 8 中的新特性,虽然现在都出到了Java14版本,不过在日常的开发过程中,8的版本是足够使用了,再说现在的8以上的版本也都面向商业收费了,很多新手,我所接触到的,像我那时候一样,追求船新版本,一上来就去学java14的东西,当成一个爱好还行,重心还是要放在实用上过滤需求:我需要过滤高考分数大于500的人首先,新建一个内部类 static class Student{ private Str原创 2020-07-02 10:09:06 · 188588 阅读 · 3 评论 -
mapToLong报空指针异常
mapToLong报空指针异常Exception in thread "main" java.lang.NullPointerException at test.collection.TestAuto.lambda$null$0(TestAuto.java:12) at java.util.stream.ReferencePipeline$5$1.accept(ReferencePipeline.java:227) at java.util.Spliterators$ArraySpliterator原创 2020-06-28 17:25:07 · 198306 阅读 · 2 评论 -
一文整懂 Java 中静态代码块 / 初始块 / 构造方法的执行顺序
一文整懂 Java 中静态代码块 / 初始块 / 构造方法的执行顺序相信,刷过面试题应该都碰到过很多题,关于类继承后 Java 中静态代码块 / 初始块 / 构造方法的执行顺序问题,每每记一下又忘了,那么,今天来用不多的时间复习一下01.静态代码块 / 初始块 / 构造方法的执行顺序package erdan.demo;public class Demo { static { System.out.println("静态代码块 111"); } stat原创 2020-06-27 20:03:42 · 193741 阅读 · 0 评论 -
Rabbitmq: Ambiguous payload parameter for public xxx
错误Ambiguous payload parameter for public voi解决给每个方法单独加监听 @RabbitHandler @RabbitListener(queues = "xxxx")原创 2020-06-21 15:49:44 · 193924 阅读 · 0 评论 -
Spring Boot 报错 ServletException: Circular view path [xxxx]: would dispatch back to
错误信息2020-06-20 01:26:03.870 ERROR 4756 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Circular view path [index]: would dispatch back to the curr原创 2020-06-20 01:30:50 · 194042 阅读 · 0 评论 -
去除@Autowired注解warning提示
@Autowired注解warning提示提示 @Autowired private ICommonUtilsService checkService;Field injection is not recommended解决替换成下述 private ICommonUtilsService checkService; @Autowired public void setCheckService(ICommonUtilsService checkServic原创 2020-06-17 14:17:38 · 194065 阅读 · 0 评论 -
Spring Boot 2.x: 定时给对象发送天气
使用Java写一个定时给对象发送天气的功能前言技术栈快速创建实例pom.xml 文件新建接收天气api的实体天气接口封装的天气api简单演示获取天气api与发送邮件的逻辑设置发送账号信息配置appliction.properties控制层启动类效果源码地址前言不知不觉,又到了雨季,你对象是不是经常忘记带伞呢,这个时候写一个自动定时发送邮件的程序,提醒她带伞,会不会对你崇拜有加呢,当然,如果你对象是一位攻城狮,当我没讲~技术栈Spring Boot 2.3.1Jdk 1.8Maven快速创原创 2020-06-15 00:17:53 · 200828 阅读 · 43 评论 -
Failed to bind properties under server.address to java.net.InetAddress
报错2020-06-14 22:14:46.251 ERROR 20640 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : ***************************APPLICATION FAILED TO START***************************Description:Failed to bind properties under 'server.address' to原创 2020-06-14 22:18:20 · 196510 阅读 · 0 评论 -
都2020年了,你还不会写简洁的Java代码!
使用Google Guava依赖<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>29.0-jre</version></dependency>创建一个list集合并赋值最原始的办法:List<String> stringList = ne原创 2020-06-14 00:05:09 · 194068 阅读 · 2 评论 -
Spring Boot2.x: 快速入门指南
Spring Boot2: 快速入门指南简述对于之前的Spring框架的使用,各种配置文件XML、properties一旦出错之后错误难寻这也是为什么Spring Boot被推上主流的原因,现在更是微服务当道SpringBoot的配置简单,说5分钟能从框架的搭建到运行也不为过优点极短的时间内启动并运行不必安装Web服务器,例如Tomcat强大的依赖库管理简单的配置文件,注解本文要点本文将带你快速创建一个Spring Boot项目体验,启动并实现在浏览器访问接口得到一个Hello原创 2020-06-13 12:09:49 · 194147 阅读 · 0 评论 -
Cause: java.sql.SQLException: Field xxx doesnt have a default value
报错### Cause: java.sql.SQLException: Field 'xxx' doesn't have a default value; Field 'xxx' doesn't have a default value; nested exception is java.sql.SQLException: Field 'xxx' doesn't have a default value at org.springframework.jdbc.support.SQLErrorCodeS原创 2020-06-12 16:06:35 · 197256 阅读 · 1 评论 -
docker本地打包错误no main manifest attribute Mac
引言dockerfile本地打包失败一个报错会有很多种问题,也有很多种解决办法➜ ~ docker run xxx:1.0.0no main manifest attribute, in service/app.jar错误解决方法删除本地 target 文件夹然后重新clean-> package 即可...原创 2020-06-07 02:44:22 · 193990 阅读 · 0 评论 -
windows安装Docker与docker-compose套装
简介Docker Engine是一种开源容器化技术,用于构建和容器化您的应用程序,Docker的字面意思,船坞,我们日常开发中用到的Mysql、rabbitmq、redis都像是一个个集装箱,可以放到船坞里。并且,如果使用docker-compose配置好这些集装箱的环境,那么它运行的时候,就不会出现日常在安装mysql时,10个linux或许会出现10个问题,docker不会开启 Hyper-V然后重新启动Windows即可下载安装下载地址:https://www.docker.com/pro.原创 2020-06-07 02:38:36 · 197355 阅读 · 0 评论 -
还在用SimpleDateFormat格式化时间?小心经理锤你
还在用SimpleDateFormat格式化时间?小心经理锤你场景本来开开心心的周末时光,线上突然就疯狂报错,以为程序炸了,截停日志,发现是就是类似下述一段错误java.lang.NumberFormatException: For input string: ".202006E.202006E44" at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043) at sun.misc.FloatingDec原创 2020-06-06 22:43:07 · 193600 阅读 · 0 评论 -
SpringCloud 初始化父子项目并集成 Consul 服务发现
SpringCloud 初始化父子项目并集成 Consul 服务发现准备工作IDEA2020.1JDK1.8Spring Cloud版本:Hoxton.SR5Spring Boot 版本:2.3.0.RELEASE安装Consulwindows安装:https://www.yuque.com/ekko/app/go38voMac安装:https://www.yuque.com/ekko/app/nzw3gi开始简介:consul的功能服务发现Key/Value存储健康检查原创 2020-06-03 10:08:36 · 193841 阅读 · 0 评论 -
写了这么多代码,你还不会去重实体类 ?
写了这么多代码,你还不会去重实体类 ?引言日常 coding 中经常遇到实体的集合,需要进行去重,一般都是交给java来执行,效率快,还不用操作数据库,之前听朋友说面试别人,经常有问到这个问题,其实很简单的问题.可是还是有一部分答不上来,也有一部分答上来说重写equals与hashCode,虽然说说的是对的,但是用伪代码写出来的时候,还是写不出来Set在插入数据判断依据Set在插入数据时, 会先比对他们的 hashcode如果hashcode相同,就会继续去比对equals,返回false会继续原创 2020-05-30 23:22:20 · 193532 阅读 · 0 评论 -
10 分钟在你的服务器运行在线文档管理系统
1.安装 docker 与 docker-compose如果这个你没装, 那估计 10 分钟不能完事安装 docker: https://www.yuque.com/ekko/app/bqg9dl安装 docker-compose: https://www.yuque.com/ekko/app/ow6ruc2. 新建 docker-compose.ymlversion: '3'services: MinDoc_New: container_name: mindoc_ekk原创 2020-05-29 23:25:23 · 194296 阅读 · 0 评论 -
2020最新Java基础面试题(一)
1.Java基础1.13 静态变量与实例变量的区别?静态变量实例变量定义使用static关键字声明的实例变量在类中声明,但是在方法,构造函数或其他块之外初始化属于类,只要加载了类的字节码,就会被分配空间必须创建实例对象,才会被分配空间加载次数初始化加载一次每创建一次对象加载一次1.14 是否可以从一个static方法内部发出对非static方法的调用?不可以,static方法调用时不需要创建对象,非static方法的调用需要创建实例,那在这个时刻,原创 2020-05-29 00:23:54 · 193644 阅读 · 1 评论 -
2020最新Java基础面试题(二)
1.Java基础1.1 Java基础部分的顺序1.2 Java中有没有goto?有,但是现在并没有使用,和const一样都是保留字。1.3 谈谈 & 与 && 的区别相同点是都可以做逻辑与的关系,表示and不同的是 && 带有短路功能,从左往右,如果碰到一个为false,就不会往后判断执行例如// A true B false C true if(A && B && C){}// 那么 执行到B后就停了,不会再去执原创 2020-05-28 00:57:51 · 193522 阅读 · 0 评论 -
Windows 去除桌面烦人的小箭头
Windows 去除桌面烦人的小箭头“ 对于一个强迫症来讲,桌面上的快捷方式的小箭头,真的是超级反感**”**1. 去除快捷方式小箭头桌面,右键创建新建文本文档把下述代码拷贝进去`reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons" /v 29 /d "%systemroot%\system32\imageres.dll,197" /t reg_sz /f``tas原创 2020-05-26 23:55:13 · 193827 阅读 · 2 评论 -
震惊!System.out.println(1.0/0)竟然会正常输出
先让我们来试一试package erdan.demo;public class TestDouble { public static void main(String[] args) { System.out.println(1.0 / 0); }}你认为的我认为的它应该会抛出 ArithmeticException 异常但是它现在输出了 Infinity为什么呢?.原创 2020-05-24 21:06:16 · 194978 阅读 · 0 评论 -
IDEA提高开发效率的7个插件
1. 多行编辑先来体验一下从xml文件拷贝字段新建实体对象一般我们为了新建多表连接后映射的 ResultMap ,耗费不少时间,那么我们就来试一试这个多行编辑表字段存在下划线,而实体中不允许,更是讨厌 ,等着一招教你解决前提条件,安装一个idea的插件,用来驼峰与下划线互转的:CamelCase步骤:① 多行选择,按住ALT(windows)/option(Mac) ,拉动鼠标就可② 选中字段对象Win Ctrl+shift+左箭头Mac option+shift+左箭头③原创 2020-05-23 20:45:01 · 194455 阅读 · 0 评论 -
Spring Boot2.x: 集成JPA快速开发
Spring Boot2.x集成JPA快速开发什么是JPA一种规范,并非ORM框架,也就是ORM上统一的规范spring-boot-starter-data-jpa 是Spring Boot的项目,包含了spring-data-jpa和一些其他依赖用于Spring Boot项目spring-data-jpa 是Spring Data的项目,就是本体,用于任何项目解决为了执行简单查询分页,编写太多重复代码基于JPA的数据访问层的增强支持用了之后可以做什么,为什么要原创 2020-05-21 23:28:08 · 256485 阅读 · 0 评论 -
Spring Boot 集成 MongoDB 小白篇
SpringBoot2.x与MongoDB集成(十)准备工作介绍MongoDB与Spring Boo集成,并通过MongoRepository以及MongoTemplate来执行CRUD操作。Spring Boot:2.3.0.RELEASESpring Boot Data MongoDB:2.3.0.RELEASEMongoDB:4.2.6MongoDB Driver:4.0.3要操作的集合示例数据结构(即model)Department:String idString name原创 2020-05-18 16:20:13 · 256712 阅读 · 0 评论