自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

123

Java程序猿

  • 博客(190)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 MySQLSyntaxErrorException: Unknown error 1146和SQLSyntaxErrorException: Unknown error 1146

java.sql.SQLSyntaxErrorException 和 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown error 1146**com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown error 1146异常信息****java.sql.SQLSyntaxErrorException: Unknown error 1146异常信息*

2021-10-28 16:29:39 1602

原创 java.util.zip.ZipException: invalid CEN header (encrypted entry)

@[toc](java.util.zip.ZipException: invalid CEN header (encrypted entry))异常信息java.util.zip.ZipException: invalid CEN header (encrypted entry) at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(ZipFile.java:225) at java.

2021-10-28 16:20:19 2026

原创 事务的隔离级别

事务隔离级别**事务与事务隔离级别的含义****脏读****例如: ****不可重复读****例如: ****幻读****例如: ****事务的隔离级别****事务隔离级别过高的危害**事务与事务隔离级别的含义1.事务即数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合(工作逻辑单元)2.事务并发会引发脏读,不可重复读和幻读,事务隔离即是解决此类问题的方法3.低级的事务隔离级别支持更高的并发操

2021-10-28 16:07:25 253

原创 java.sql.SQLException: #HY000

Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.2.7.RELEASE:repackage (repackage)on project server: Execution repackage of goal org.springframework.boot:spring-boot-maven-plugin:2.2.7.RELEASE:repackage failed: Unable to find main

2021-10-28 15:48:31 724

原创 java.sql.SQLIntegrityConstraintViolationException: #23000

java.sql.SQLIntegrityConstraintViolationException: #23000**异常信息****异常原因****解决方法**异常信息### Cause: java.sql.SQLIntegrityConstraintViolationException: #23000; #23000; nested exception is java.sql.SQLIntegrityConstraintViolationException: #23000] with root c

2021-10-28 12:55:10 3812

原创 判断素数的四种方法

判断素数的四种方法**1.暴力破解****实现描述****代码展示****2.素数表判断****实现描述****代码展示****3.埃拉托斯特尼(Eratosthenes)筛法****实现描述****代码展示****4.欧拉筛法****实现描述****代码展示**1.暴力破解实现描述1.若传入的数字小于2,则不符合素数的定义,抛出相应的异常2.能够被除1与它本身以外的数整除的数,皆是非素数(即合数)3.除2以外的偶数,皆有多个因数,所以除2以外的偶数皆是非素数(即合数)4.数的最小因数必然不大于

2021-10-28 12:46:07 178

原创 IDEA连接MySQL数据库报Server returns invalid timezone. Need to set ‘serverTimezone‘ property.

Server returns invalid timezone. Need to set 'serverTimezone' property.**异常信息****解决方法**异常信息解决方法在Advanced下找到serverTimezone,未找到可以下滑滚轮到最下面进行添加,然后将其Value设为Asia/ShangHai或UTC即可...

2021-06-29 15:02:08 83

原创 定位和排查OOM流程

定位和排查OOM流程**需要排查日志的情况****通过GC日志确认问题****RunTime类获取当前日志用量****代码展示****打印展示****可使用的位置****出现OOM后获取和分析Dump文件****压力测试排查内存问题****总结**需要排查日志的情况1.在GC过程中,会Stop the World,即不干其他活,比如一段早该运行好的程序,在某个时刻卡住,业务日志上没有异常2.通过CAT等监控工具,发现某段时间里内存用量居高不下3.稳定重现OOM问题,比如一天一次,或每天频繁出现OOM

2021-06-29 11:18:16 197

原创 Java内存优化

Java内存优化**Java代码中的内存泄漏****finalize方法****代码展示****打印展示****String****观察String的不可变特性****代码展示****图片展示****通过String观察常量和变量****代码展示****打印展示****常量与变量的存储位置****虚拟机结构****垃圾回收时的分代管理****内存回收流程****Minor GC和Full GC****判断对象可以被回收的标准****可作为根可达算法的对象****优化措施****代码中的优化措施****命令的

2021-06-29 11:13:04 211

原创 ConcurrentHashMap

ConcurrentHashMap**与HashMap、SynchronizedMap的差别****JDK1.7的实现方式****JDK1.8的实现方式****Node对象****JDK1.8中put的实现细节(含CAS原理)****CAS****JDK1.8中get的实现细节****volatile实例**与HashMap、SynchronizedMap的差别1.HashMap线程不安全2.ConcurrentHashMap在JDK1.7中是以锁segment的方式保证并发,在JDK1.8中是以CA

2021-06-29 11:07:34 52

原创 SQL使用要点

SQL问题总结**内连接、外连接****内连接****左外连接****右外连接****group by和having****count函数****select * from存在的问题****insert into 表名时需要注意的问题**内连接、外连接1.内连接是将两张表满足关联条件的数据查询出来2.左外连接是以左表为主表拼接其他表后再根据关联条件查询出来的,左外连接只会在乎左表中的数据,不会在乎其他表是否存在对应的数据3.右外连接是以右表为主表拼接其他表后再根据关联条件查询出来的,右外连接只会在乎

2021-06-29 11:04:33 96

原创 视频转gif

视频转gif**1.点击打开****2.选中一个视频,点击打开****3.左右推动两个灰色小块可以限制可展示范围,拖动蓝色小块可以查看所在位置的内容****4.点击文件,再点击存储为...****5.选择合适的保存路径,修改文件名称****6.选择保存类型为GIF(*.GIF)后,点击保存****7.等待出现GIF存储选项出现后,点击确定****8.等待存储进度条消失即可**1.点击打开2.选中一个视频,点击打开3.左右推动两个灰色小块可以限制可展示范围,拖动蓝色小块可以查看所在位置的内容4.

2021-05-25 16:33:45 92

原创 线程并发类

线程并发类**通过wait,notify管理并发****以生产者消费者问题观察wait和notify****代码展示****打印展示****通过Condition实现线程间的通讯****代码展示****打印展示**通过wait,notify管理并发1.两个方法都需要放置到synchronized的作用域中2.一旦执行wait方法,会释放synchronized所关联的锁,进入阻塞状态,无法再次主动地到可执行状态3.一旦执行notify方法,会通知因调用wait方法而等待的线程,如有多个线程等待,则会

2021-05-25 14:52:09 55

原创 Exception in thread “main“ java.lang.OutOfMemoryError

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at java.util.concurrent.ArrayBlockingQueue.<init>(ArrayBlockingQueue.java:255) at java.util.concurrent.ArrayBlockingQueue.<init>(ArrayBlockingQueue.java:239) at com.itpm.

2021-05-21 14:52:54 417

原创 Exception in thread “main“ java.util.concurrent.RejectedExecutionException

Exception in thread "main" java.util.concurrent.RejectedExecutionException**异常信息****异常原因****解决方法**异常信息Exception in thread "main" java.util.concurrent.RejectedExecutionException: Task com.itpm.project.ThreadLocalTest@4aa8f0b4 rejected from java.util.concu

2021-05-21 14:44:56 765

原创 ThreadPoolExecutor线程池

线程池**为什么要使用线程池?****构造ThreadPoolExecutor线程池的参数****基本用法****代码展示****打印展示****ThreadPoolExecutor线程池工作方式****代码展示****打印展示**为什么要使用线程池?避免因线程切换而造成的性能损耗构造ThreadPoolExecutor线程池的参数corePoolSize: 核心线程数maximumPoolSize: 最大线程数keepAliveTime: 线程空闲时间unit: keepAlive

2021-05-21 14:40:57 82 2

原创 ThreadLocal线程内部存储类

@tco内部数据结构一个线程类中有一个ThreadLocalMap,ThreadLocalMap中可以有多个Entry,每个Entry都存储了一个ThreadLocal本地变量set方法源码解析1.调用时需要传递一个参数2.进入set方法后,首先获取一个线程对象,使用getMap方法获取当中的ThreadLocalMap对象3.判断ThreadLocalMap对象是否为空,不为空就用ThreadLocal对象作为Key,值作为Value存储到ThreadLocalMap对象中;为空则直接

2021-05-21 09:25:42 68

原创 线程锁

线程锁**可重入锁****代码展示****打印展示****公平锁与非公平锁****公平锁****代码展示****打印展示****非公平锁****代码展示****打印展示****读写锁****代码展示****打印展示**可重入锁也叫可递归锁,当同一线程再次进入同步代码时,可以使用自己已获取到的锁;其目的是当同一线程多次获取到的是同一把锁能防止死锁的发生代码展示import java.util.concurrent.locks.Lock;import java.util.concurrent.loc

2021-05-20 11:36:46 71

原创 synchronized关键字

synchronized关键字**作用效果****修饰代码块****同一对象加锁****代码展示****打印展示****不同对象加锁****代码展示****打印展示****修饰方法****修饰静态方法****代码展示****打印展示****具有可重入特性****代码展示****打印展示**synchronized是同步锁,可重入锁作用效果修饰代码块修饰以{}包含的代码块,当多个并发线程到达时,只有一个线程能够执行,其他线程则被阻塞等待;synchronized作用的对象(锁定的对象)是调用代码块的

2021-05-19 17:36:31 54

原创 volatile关键字

volatile关键字解析**volatile关键字的特性****特性解释****不能保证原子性****代码展示****打印展示****使变量在线程间都可见****变量在线程间不可见****代码展示****打印展示****问题原因****变量在线程间可见****代码展示****打印展示**volatile关键字的特性1.不能保证原子性:2.能避免指令重排: 在编译和执行代码时,出于优化考虑,会重排指令;大多数场景下指令重排不会影响结果,但在多线程环境下可能会有问题3.使变量在线程间都可见: 在线

2021-05-19 17:30:35 49

原创 线程安全与线程不安全的直观表现

线程安全与线程不安全的直观表现**代码展示****打印展示****内存角度分析异常原因****线程安全与线程不安全的对象****将线程不安全的对象包装成线程安全的对象的方法**代码展示import java.util.List;import java.util.ArrayList;import java.util.Collections;public class ThreadSafeVisualPerformanceTest { public static int multithrea

2021-05-19 17:24:40 71

原创 设计模式背后包含的设计原则

设计模式背后包含的设计原则**依赖倒转原则****单一职责原则****里氏替换原则****合成复用原则**依赖倒转原则模块间(类之间)的依赖关系(如相互调用)是通过接口和抽象类发生,实现类之间不发生(或尽量少发生)依赖关系单一职责原则每个类或模块只具有单一的职责,即在其中只实现一种功能,否则就需要拆分类或模块里氏替换原则子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法;违背里氏替换原则不仅会造成代码维护困难,更加增加了多态调用时的复杂度合成复用原则核心思想: 优先使用组合和聚合,

2021-05-19 17:22:30 82

原创 异常处理准则

异常处理原则**finally从句的特性****代码展示****打印展示****异常中断程序问题****常见的能够终止程序的异常****NullPointerException: 空指针异常****异常信息****ArithmeticException: 算数异常****异常信息****RuntimeException: 运行时异常****异常信息****异常处理的准则**finally从句的特性无论程序运行是否发生异常,发生任何异常,finally从句中的代码都会被执行,即便在try和catch中使用

2021-05-17 09:15:30 65

原创 Exception in thread “main“ java.lang.CloneNotSupportedException

Exception in thread "main" java.lang.CloneNotSupportedException**异常信息****解决方法**异常信息Exception in thread "main" java.lang.CloneNotSupportedException: com.itpm.project.ShallowCopyAndDeepCopyTest$User at java.lang.Object.clone(Native Method) at com.itpm.pr

2021-05-13 19:39:15 456

原创 Java面试题13

Java面试题13**1.拦截器和过滤器的区别****2.什么是SpringMVC?****3.Spring的优势有哪些?****4.Bean实例化的三种方式是哪些?****5.AOP的作用及优势****6.AOP的底层是怎么实现的?****7.**************1.拦截器和过滤器的区别区别过滤器拦截器使用范围servlet规范中的一部分,任何Java Web工程都可以使用只能在SpringMVC框架的工程中使用拦截范围在 url-pattern中配置了/*后

2021-05-13 18:38:20 65

原创 浅拷贝与深拷贝

浅拷贝与深拷贝**浅拷贝****代码展示****打印展示****深拷贝****代码展示****打印展示**浅拷贝浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象共享同一块内存代码展示import java.util.ArrayList;public class ShallowCopyAndDeepCopyTest { public static class User { private String name; public Strin

2021-05-13 18:31:17 55

原创 解决数据库中个别字段的值无法获取的问题

解决数据库中个别字段的值无法获取的问题**问题描述****思路描述**问题描述数据库中有一个表,数据保存正常,但在取数据时有几个列的值获取不到思路描述1.正常情况下不可能存在这种问题,就先从最基本的问题开始: 检查实体类与mapper.xml中数据库表是否一一对应,结果该原因被排除2.切换使用的查询接口,检查是否会有当前使用的这个接口存在问题的可能,结果仍取不到值,sql方法的错误排除3.弃用自定义的查询方法,改用mybatis plus提供的查询方法,检查是否是mybatis存在某些异常,结

2021-05-13 17:01:38 1115

原创 重写hashcode和equals方法的原因

重写hashcode和equals方法的原因**1.不重写hashcode的后果****代码展示****打印展示****2.重写hashcode,但是不重写equals的后果****代码展示****打印展示****3.重写hashcode和equals****代码展示****打印展示**1.不重写hashcode的后果代码展示public class User { /** 用户名 */ private String username; /** 密码 */ privat

2021-05-13 16:16:44 49

原创 Exception in thread “main“ java.util.ConcurrentModificationException

Exception in thread "main" java.util.ConcurrentModificationException**代码展示****异常信息****图片展示****异常原因**代码展示public static void main(String[] args) { List<String> arrayList = new ArrayList<>(); arrayList.add("1"); arrayList.add("2");

2021-05-07 16:51:05 109

原创 将定义为Blob类型的数据转换成Json类型的数据

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-05-06 14:23:00 1171

原创 java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags

异常信息[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project helloworld: Fatal error compiling: java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags -> [Help 1][ERROR]

2021-04-27 15:09:09 327

原创 Java面试题12

面试题12**1.什么是责任链模式?****2.Spring中都用到了哪些设计模式?****3.Spring Boot中都用到了哪些设计模式?****4.Spring MVC中都用到了哪些设计模式?**1.什么是责任链模式?避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止2.Spring中都用到了哪些设计模式?1.工厂设计模式: 通过BeanFactory或ApplicationContext创建bean对象2.单

2021-04-27 11:11:21 57

原创 ‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序或批处理文件

'vue-cli-service' 不是内部或外部命令,也不是可运行的程序或批处理文件**异常信息****异常原因****解决方法**异常信息'vue-cli-service' 不是内部或外部命令,也不是可运行的程序或批处理文件。npm ERR! code ELIFECYCLEnpm ERR! errno 1npm ERR! [email protected] dev: `vue-cli-service serve`npm ERR! Exit status 1npm ERR!

2021-04-22 09:36:40 1913

原创 Java面试题11

Java面试题11**1.什么是代理模式?****2.什么是单例模式?**1.什么是代理模式?是指一个类别可以作为其它东西的接口.代理者可以作任何东西的接口:网上连接、存储器中的大对象、文件或其它昂贵或无法复制的资源2.什么是单例模式?通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例)...

2021-04-15 11:04:10 60

原创 Java面试题10

Java面试题10**1.#{}和${}的区别是什么?****2.****3.****4.****5.****6.****7.****8.****9.****10.**1.#{}和${}的区别是什么?1.#{}是预编译处理,${}是字符串替换2.Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值3.Mybatis在处理${}时,就是把${}替换成变量的值4.使用#{}可以有效的防止SQL注入,提高系统安全性2.在这里插入代码

2021-04-14 17:27:14 47

原创 使用axios实现post请求方式下载文件

使用axios实现post请求方式下载文件**实现方法****Java请求中设置header请求头参数****js实现文件流下载处理**实现方法Java请求中设置header请求头参数import java.io.File;import javax.servlet.http.HttpServletResponse;public class FileUtil { public static void fileDownload(HttpServletResponse response, F

2021-04-12 15:18:40 325

原创 Java实现99乘法表

Java实现99乘法表实现代码for (int i = 1; i < 10; i++) { /* \r\n 换行, \t 缩进 */ for (int j = 1; j <= i; j++) System.out.print(j + " * " + i + " = " + (i * j) + (i == j ? "\r\n" : "\t"));}

2021-04-07 09:55:35 126 2

原创 Nacos启动异常

Nacos启动异常**nacos启动方式****Win + R打开运行框,输入cmd打开命令提示符窗口,进入到nacos的bin目录下,在命令提示符窗口中输入以下命令****异常信息****异常原因****解决方法****关闭命令提示符窗口,打开我的 电脑(此电脑),在空白处右键点击属性,在系统下点击高级系统设置****点击高级,再点击环境变量****在系统变量下点击新建****变量名即为JAVA_HOME,变量值为JDK的安装路径,完成后点击确定****重新Win + R打开运行框,输入cmd打开命令提示

2021-03-11 09:51:05 697

原创 排序算法

排序方式**排序算法****算法分类****算法复杂度****相关概念****冒泡排序****动画演示****代码实现****选择排序****动画演示****代码实现****快速排序****动画演示****代码实现****插入排序****动画实现****代码实现****计数排序****动画演示****代码实现****基数排序****动画演示****代码实现****归并排序****动画演示****代码实现****堆排序****动画演示****代码实现**排序算法算法分类比较类排序: 通过比较来决定元素间

2021-03-04 16:30:23 51

原创 隐藏我的电脑(此电脑)左侧窗格中的3D对象、视频、图片等标签

隐藏我的电脑(此电脑)左侧窗格中的3D对象、视频、图片等标签**隐藏前的我的电脑****隐藏后的我的电脑****隐藏快速访问和OneDrive标签****Win + R打开运行框,输入regedit打开注册表编辑器,定位到:计算机\HKEY_CLASSES_ROOT\CLSID项(文件夹)下****选择要隐藏的标签,根据其以下表格中的注册项(文件夹)名称找到对应的注册项(文件夹)****找到并点击项下的ShellFolder项(文件夹),在右边找到名称为Attributes的二进制值****右键点击修改,将

2021-02-22 12:02:27 1654

ElasticsearchDemo.zip

ElasticsearchDemo.zip

2020-06-13

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除