![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
程序员小召
公司职员,从事java软件开发5年,混在程序猿中一只小巨蟹≧(°°)≦
个人微信公众号:main方法
个人网站地址:http://javakfz.com
展开
-
java进程占用windows查看端口占用并杀掉进程命令
前言在开发项目中经常启动项目后突然开发工具崩溃了,然后重新打开开发工具后启动项目,发现!!!!!纳尼!!!!端口被占用了,于是乎开始寻找占用程序,找到之后一顿kill操作,直接送走。window+R—->cmd,打开命令窗口查看占用端口的进程PID,输入命令:netstat -aon|findstr“8080”,回车,最后一列就是进程PID继续输入tasklist|findstr “11964”,回车,查看是哪个进程或者程序占用了8080端口,结果是:java.exe原创 2021-03-25 17:44:31 · 1147 阅读 · 0 评论 -
java语言好用工具合集
一、FreeMarkerFreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。...原创 2021-03-17 15:26:37 · 124 阅读 · 0 评论 -
双重检测锁单例模式指令重排问题
双重检测锁单例模式指令重排问题前言双重检测锁单例模式例子更改后的单例问题前因后果前言相信大多数同学在面试当中都遇到过写单例模式的题目,那么如何写一个完美的单例是面试者需要深究的问题,因为一个严谨的单例模式说不定就直接决定了面试结果,今天我们就要来讲讲单例模式中会出现的指令重排问题。双重检测锁单例模式例子乍一看下面单例模式没啥问题,还加了同步锁保证线程安全,从表面上看确实看不出啥问题,当在同一时间多个线程同事执行该单例时就会出现JVM指令重排的问题,从而可能导致某一个线程获取的single对象未初始化原创 2021-03-12 23:48:12 · 616 阅读 · 2 评论 -
java初级java中级java高级java面试大纲java学习路线java学习大纲
标题java初级java中级java高级java面试大纲java学习路线java学习大纲最近在整理面试资料,索性就整理了一个面试大纲,下面脑图基本是我目前所接触到的知识面,JAVA程序员看过来吧,一起学习一起进步,有好的建议评论区留言哦!!!扫描下面二维码或搜索公众号:JAVA开发者课堂关注公众号获取更多免费学习资料!!!...原创 2020-09-24 17:16:21 · 571 阅读 · 0 评论 -
一篇能涨薪水的JVM调优,分析文章
JVM发展史1.历代JDK新特性介绍JVM模型1.堆(新生代,老年代,持久代)2.Matespace元数据区(jdk1.8新特性)2.栈JVM参数1.介绍2.参数设置(案例)GC1.GC参数2.GC算法和种类新生代复制算法老年代标记压缩...原创 2020-08-25 16:41:42 · 1152 阅读 · 1 评论 -
JAVA Pattern正则获取大括号中内容,substring字符串截取获取大括号中内容
利用正则表达式获取字符串中想要的值:获取符串场景: 你好呀(嘻嘻)我需要获取“嘻嘻” 该如何获取呢?1.通过正则表达式获取: String str = "你好呀(嘻嘻)"; Pattern p = Pattern.compile("\\(([^\\)]+)"); Matcher matcher = p.matcher(str); if (matcher.find() && matcher.groupCount() >= 1){原创 2020-08-13 18:13:34 · 3386 阅读 · 0 评论 -
ExcelAnalysisException:java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/FileMagic
使用alibaba的easyexcel做excel上传数据的时候报错:com.alibaba.excel.exception.ExcelAnalysisException: java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/FileMagicCaused by: java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/FileMagic检查一下pom.x原创 2020-08-11 16:53:45 · 3411 阅读 · 0 评论 -
Java递归查询某个节点下所有子节点多级信息(递归部门查询,递归树形结构数据查询)
前言在做项目中我们会遇到树形机构数据,如果我们想要查询某个几点下面所有子节点(多级)数据,此时我们又不知道下面有多少级节点以及节点ID,那么我们就需要使用递归去查询了,当然在数据库中写函数也是可以实现的,下面我们使用Java来实现递归查询树形结构数据。Java代码实现:/** * 递归查询 * @param ids * @return */ public List<FarmDepartment> queryAllDepartmentId(List<Long>原创 2020-07-27 11:09:18 · 6137 阅读 · 1 评论 -
Java设计模式之工厂模式基础必学篇
前言工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。工厂模式场景:在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。传入参数为0,返回hello传入参数为1,返回World传入参数为2,返回java我们将创建一个 StrInterface 接口和实现 StrInterface 接口的实体类。下一步是定义工厂类 Factory。TestDemo原创 2020-07-23 20:25:48 · 549 阅读 · 0 评论 -
Spring Security放开swagger-ui.html资源路径过滤
.antMatchers("/swagger-ui.html").permitAll() // 任意访问 .antMatchers("/swagger-resources/**").permitAll() .antMatchers("/webjars/**").permitAll() .antMatchers("/v2/**").permitAll() .antMatchers("/api/**").permitAll()原创 2020-07-15 18:50:31 · 2927 阅读 · 0 评论 -
SpringBoot集成springfox-swagger2访问swagger-ui.html页面弹窗提示问题
弹窗提示:Unable to infer base url. This is common when using dynamic servlet registration or when the API is behind an API Gateway. The base url is the root of where all the swagger resources are served. For e.g. if the api is available at http://example.org/原创 2020-07-15 18:48:21 · 1461 阅读 · 0 评论 -
Java数据结构与算法之队列(Queue)实现
Java代码实现队列public class Queue { // 存储队列数组 private long[] arr; // 队列最大长度 private int maxSize; // 队列元素数量 private int elems; // 出队列标记 private int font; // 进队列标记 private int end; public Queue(int maxSize) { this.maxSize = maxSize; arr原创 2020-07-15 11:38:12 · 431 阅读 · 0 评论 -
Java数据结构与算法之栈(Stack)实现
前言栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。栈图解Java代码实现public class Stack { private int maxSize; private long[] arr; private i原创 2020-07-14 12:20:29 · 426 阅读 · 0 评论 -
JAVA23种设计模式6大设计原则
设计模式简介设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大转载 2020-07-14 10:14:40 · 410 阅读 · 0 评论 -
Java面试知识储备目录
Java面试知识储备目录java基础知识。常用工具类源码阅读,比如ArrayList,HashMap,LinkList,Set等等。常用框架源码解析实现原理,Spring,Mybatis,MQ等。设计模式。数据结构与算法。网络通信原理。Linux系统命令使用。多线程高并发(java.util.concurrent,系统架构并发)。JVM调优。系统设计(秒杀系统)。项目经验(很重要)。数据库MySql,Oracle,SqlServer,Mangodb,Redis等常用数据库知识。原创 2020-07-13 15:21:26 · 385 阅读 · 0 评论 -
Mybatis批量插入表数据
表对应Java中实体类public class Person{ private String name; private Integer age; private String sex; //......此处省略get set方法}Java Dao层接口方法int batchInsert(List<Person> list);Mybatis批量新增xml映射文件写法<insert id="batchInsert" parameterType="java.util.原创 2020-07-07 13:44:03 · 563 阅读 · 0 评论 -
Mybatis一对一,一对多,多对一
java实体类对象public class Teacher { private Integer id; private String name; private List<Student> students; //......此处省略get,set方法}public class Student{ private Integer id; private String name; private Teacher teacher ; //......此处省略get,se原创 2020-07-07 10:52:17 · 377 阅读 · 0 评论 -
mybatis入参错误:There is no getter for property named ‘status‘ in ‘class java.lang.Integer‘
今天做一个查询功能遇到一个Mybatis的反射异常,报这个错我还是觉得蛮奇怪的,具体情况就是单个入参在String类型下不报错,在Integer类型的情况下居然报一个反射异常:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named ‘status’ in ‘cla原创 2020-07-06 14:19:33 · 1753 阅读 · 0 评论 -
idea开发工具java类文件编码问题:Error:(1, 1) java: 非法字符: ‘\ufeff‘
1. 启动项目报错:Error:(1, 1) java: 非法字符: ‘\ufeff’Error:(1, 10) java: 需要class, interface或enum2.手动将文件转成gbk然后再转成utf-8我试了下在idea里面转成GBK就能正常启动了,为了保持统一编码还是再转成UTF-8吧。扫二维码关注博主微信公众号????...原创 2020-07-03 16:18:01 · 334 阅读 · 0 评论 -
java算法之递归算法(打印99乘法表)
递归其实在程序当中我们可以理解为自己调用自己,使用递归做相关计算都是具有一定规律的逻辑,下一步计算都需要用到前一步或几步计算结果,比如说我们在做连加、连乘及阶乘、遍历文件夹等,递归还必须要满足两个条件:在每一次调用自己时,必须是要接近于结果。必须在有限次计算中有一个终止的处理。如不遵循以上条件往往会让递归进入死循环,从而只有递没有归。下面我们就在Java中使用递归打印出99乘法表。递归打印99乘法表嵌套for循环实现99乘法表for (int i = 1; i<= 9; i++)原创 2020-06-17 18:35:00 · 1190 阅读 · 0 评论 -
JAVA程序员面试笔试题(一)
1.假设有一个mysql实例,相关信息如下:schema名为test用户名密码为6个b端口为:3306主机IP为:127.0.0.1该schema里有个一表叫person,请用jdbc从连接数据库开始到使用SQL取得person表中所有记录与过程。 Connection connection = null; Statement statement = null; ResultSet resultset = null; //由于在finally代码原创 2020-06-17 15:41:39 · 629 阅读 · 0 评论 -
SpringBoot启动日志banner设置教程
1.在项目resource目录下新建banner.txt文件2.复制文字图案粘贴到banner.txt直接复制图案贴到这里会变形,所以需要的朋友直接复制代码放到main方法里运行从控制台copy吧。System.out.println("\n\n\n"); System.out.println(" _ooOoo_ "); System.out.println(" o8888888o "); Sys原创 2020-06-15 22:30:06 · 755 阅读 · 1 评论 -
intellijideaconsole不见了,不小心隐藏/关闭console控制台窗口,找不到打开console控制台窗口看这里
今天不小心把console控制台关闭了,不知道在哪里打开console窗口,导致找了很久记录一下哈哈!!!兄弟们,收藏收藏,有备无患嘛~扫二维码关注博主微信公众号????原创 2020-06-12 15:28:45 · 9588 阅读 · 0 评论 -
Java8新特性LocalDateTime获取年,月,周,当年第X周
前言基本上大家在JAVA中获取时间都是使用java.util.Date类或使用java.util.Calendar日历类,本篇博文主要给大家介绍Java8以后时间类java.time.LocalDateTime,这个时间类是Java8版本新增类,在使用度上肯定是没有Date,Calendar广,下面我们就来看看LocalDateTime常用方法。代码实现package test;import java.time.DayOfWeek;import java.time.LocalDateTime;原创 2020-06-11 11:28:59 · 16684 阅读 · 0 评论 -
Java8新特性LocalDateTime获取周几
使用Java8新特性LocalDateTime获取周几package test;import java.time.LocalDateTime;public class Test { public static void main(String[] args){ //获取当前时间 LocalDateTime endDate = LocalDateTime.now(); //获取当前周 Integer week = endDate原创 2020-06-10 16:50:31 · 4202 阅读 · 0 评论 -
Java 8 API Stream让List操作更便捷
Java8新增的API Strem(流),没用过的同学可能不知道它是做什么的,下面我们就来说说Stream给我们带来的好处,它能让我们更便捷的对集合做操作,以往我们在对集合做数据过滤,排序,数据聚合,集合转换与不同数据类型之间的转换 操作的时候都要写很多繁琐的代码来处理,自从Strem的出现我们无需再去写麻烦的处理逻辑,以前可能几行,几十行代码现在一行代码即可解决。...原创 2020-06-10 16:46:47 · 405 阅读 · 3 评论 -
后端java(SpringBoot),前端vue,jQuery跨域请求问题解决方案
跨域问题:首先聊聊为什么会出现跨域问题?跨域是什么?域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理。 有一种简明的说法来解释广域跨域:跨域访问,简单来说就是 A 网站的 javascript 代码试图访问 B 网站,包括提交内容和获取内容。由于安全原创 2020-05-28 16:25:01 · 560 阅读 · 0 评论 -
linux安装JDK教程JAVA相关
操作步骤:1,新建/opt/install目录2,将installjdk,java,jdk1.6.0_45.tar.gz丢到/opt/install目录3,给installjdk赋予可执行权限chmod u+x /opt/install/installjdk4,执行安装jdk/opt/install/installjdksource /etc/profile5,检查jdk是否安装成...原创 2019-05-15 15:01:47 · 258 阅读 · 0 评论 -
idea开发工具java实体类序列化Serializable自动生成serialVersionUID配置
idea开发工具java实体类序列化Serializable自动生成serialVersionUID配置配置步骤图解扫二维码关注博主公众号????配置步骤图解打开idea配置面板Settings找到Edutir>inspections配置菜单,勾选Java>Serialization issus下面Serializable class without 'serialVersionUID’选项并保存。打开实现Serializable类,光标点到类名上按Alt+Enter键,会出现Ad原创 2020-05-11 12:00:01 · 1060 阅读 · 0 评论 -
java数组插入排序代码详解
public static void main(String[] args) { //排序数组 int[] arr = {1,3,2,7,5,6}; //选择数据 int select = 0; //数组长度 int arrLen = arr.length; //选择从第二个数字开始 for (int i = 1; i < arrLen; i++) { ...原创 2020-04-27 14:55:10 · 956 阅读 · 1 评论 -
java数组选择排序代码详解
public static void main(String[] args) { //排序数组 int[] arr = {1,3,2,7,5,6}; //最小数字下标 int minIndex = 0; //数组长度 int arrLen = arr.length; //数组减1是因为前面数字排序后最后一个为最大值或最小值 for (int i = 0; i <...原创 2020-04-26 17:56:37 · 487 阅读 · 0 评论 -
windows配置JDK环境变量java后端环境配置
windows配置JDK环境变量配置步骤图解JDK环境变量配置配置步骤图解JDK环境变量配置新建系统变量:变量名:JAVA_HOME变量值:F:\Program Files\Java\jdk1.8.0_65(安装JDK根目录)编辑CLASSPATH变量,在变量值最后加上配置(注意查看值末尾是否有分隔符“;”如果没有则需要自己加上再配置如下值 ):%JAVA_HOME%\lib;%...原创 2019-10-17 16:24:13 · 565 阅读 · 0 评论 -
springboot项目搭建java项目后台框架
springboot项目搭建使用IDEA创建一个maven项目使用IDEA创建一个maven项目1.file>project2.next3.填写maven项目的grupId,atifactId直接next4.填写完项目名称点击 Finish 完成maven项目创建。...原创 2019-10-16 18:46:40 · 1417 阅读 · 0 评论 -
java dump文件分析java虚拟机jvm调优
java dump文件分析什么是dump文件?dump文件的作用如何生成dump文件dump文件分析工具dump文件分析过程什么是dump文件?Dump文件是进程的内存镜像。可以把程序的执行状态通过调试器保存到dump文件中,可以理解为程序的运行日志。dump文件的作用定位宕机故障以及程序性能调优时,咱们在无法得知哪里出现问题的时候就需要查看dump文件去分析当时程序运行的日志,dump中...原创 2019-10-16 18:28:20 · 4560 阅读 · 1 评论