![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 68
bug
你只管努力,剩下的交给时间。
展开
-
Aspose导出word使用记录
当单一变量无法满足需求后,我们就需要定义集合变量,我就拿员工薪资统计来举例,一个表格里面会有多个数据。此时,我们应该插入List数据到模板文件中TableStart:集合名称TableEnd:集合名称(2)同样的,在域中选择邮件合并,域名要用TableStart打头,紧接冒号:,再然后就是定义集合的名称。需要注意的是,TableStart意为集合的开始,所以我们再集合结束的地方,需要添加结束标识TableEnd(3)TableStart和TableEnd之间的变量,就是集合中每个属性的变量名称。原创 2023-08-30 14:31:34 · 2049 阅读 · 0 评论 -
Java8中stream()操作toMap()时Duplicate key问题解决
问题描述:最近使用Java8中Steam()流进行tomap转换编程时,遇到以下错误java.lang.IllegalStateException: Duplicate key bbb at java.util.stream.Collectors.lambda$throwingMerger$0(Collectors.java:133) at java.util.HashMap.merge(HashMap.java:1253) at java.util.stream.Collectors.lambd原创 2021-08-24 14:25:04 · 17831 阅读 · 1 评论 -
Map中computeIfAbsent() 的作用和底层实现
一、computeIfAbsent() 的作用最近在开发中,发现同事经常使用Map的computeIfAbsent()方法进行编程,于是对他的实现和作用产生了小兴趣,下面用两个demo案例来简单介绍一下它的作用,然后再对底层实现进行进一步阅读。作用:判断一个map中是否存在这个key,如果存在则处理value的数据,如果不存在,则创建一个满足value要求的数据结构放到value中。public class TestComputeIfAbsent { static HashMap<Str原创 2021-08-20 16:28:05 · 2442 阅读 · 0 评论 -
Mac中IDEA的maven问题:No compiler is provided in this environment. Perhaps you are running on a JRE
问题场景:最近换了台M1芯片的Mac,于是开始了简单的环境安装(踩了这个大坑!!!)介绍一下自己的电脑环境:Mac Pro 、 开发工具IDEA问题描述:在正常安装JDK和Maven后,对环境变量也进行了相关配置,但是!!!一直出现以下编译问题![ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project erp-b原创 2021-08-16 21:06:56 · 2554 阅读 · 0 评论 -
Java中Date数据类型的数值转换
Java 与 MySQL 交互的数据类型java1.1时,从 MySQL 中查询出来的时间日期类型,都放在 java.util.Date类型里面了,但是这个类提供的时间操作函数太少,一般都需要转换成 java.util.Calendar 再去操作。然而使用了java.util.Calendar 也不是很方便,一个很简单的想法,需要写很多代码才能实现。于是java 提供与 MySQL方便交互的三种数据类型:java.sql.Date、java.sql.Time、java.sql.Timestamp,原创 2021-08-03 17:35:02 · 4492 阅读 · 0 评论 -
JDK1.8的新特性之Stream流的介绍和使用
Stream流都2021年了,如果你还不会使用lambda表达式编程的话,那你的代码质量或许还有一定的提升空间,今天在这里简单介绍和使用一下Stream流进行函数式编程。在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。一、引言 传统集合的多步遍历代码 几乎所有的集合(如Collection接口或Map接口等)都支持直接或间接的遍历操作。而当我们需要对集合中的元素进行操作的时候,除了必需的添加、删除、获取外,最典型的就是集合遍原创 2021-07-26 16:48:51 · 477 阅读 · 0 评论 -
Java8新特性-- Map中的computeIfAbsent方法
Map中的computeIfAbsent方法是方法更简洁。在JAVA8的Map接口中,增加了一个方法computeIfAbsent,此方法签名如下:public V computeIfAbsent(K key, Function<? super K,? extends V>mappingFunction)此方法首先判断缓存MAP中是否存在指定key的值,如果不存在,会自动调用mappingFunction(key)计算key的value,然后将key = value放入到Map。如原创 2021-03-22 10:13:42 · 1613 阅读 · 0 评论 -
mac控制台关闭指定端口
问题描述:mac中执行其他服务,提示该端口已被占用,使用以下命令关闭端口解决方案:打开cmd命令行,输入以下命令: lsof -i:端口号出现如下图所示信息最后执行关闭命令:kill -9 2020就可以了...原创 2021-03-09 14:19:58 · 1492 阅读 · 0 评论 -
关于JAVA中的Class.cast方法
前言今天在阅读项目代码时候,发现了Class类的方法cast() ,出于兴趣阅读了一下源码,将心得感受写出来分享一下。1、先定义一个接口 Tree//抽象出 一个父类 即使 没有这个也没事 可以返回object 这个万类之父public interface Tree { //输出自己的品种 void sout(); //空对象模式 需要的 boolean isNUll();}2、再创建两个实现类 Apple 和Banana//AppleTree的原创 2021-02-03 11:32:52 · 725 阅读 · 1 评论 -
解决Git切换分支问题:Please commit your changes or stash them before you switch branches.
项目场景:现在的Bug你还没有解决,而上边又给你派了一个新的Bug,而这个Bug相比较现在正在苦思冥想的Bug比较容易解决。你想先解决新的Bug,可是之前的Bug还没有解决完而不能提交。怎么办?问题描述:当我们正常使用Git切换分支时,会出现以下提示(请在切换分支之前提交您的更改或隐藏它们)Please commit your changes or stash them before you switch branches. 解决方案:1. 因为当前的分支dev 最初也是从mast原创 2020-12-30 17:31:22 · 72432 阅读 · 4 评论 -
Nginx停止服务相关命令
1.停止Nginx服务的四种方法从容停止服务 这种方法较stop相比就比较温和一些了,需要进程完成当前工作后再停止。nginx -s quit立即停止服务 这种方法比较强硬,无论进程是否在工作,都直接停止进程。nginx -s stopsystemctl 停止 systemctl属于Linux命令systemctl stop nginx.servicekill all 方法杀死进程 直接杀死进程,在上面无效的情况下使用,态度强硬,简单粗暴!killall nginx原创 2020-12-29 09:24:14 · 945 阅读 · 0 评论 -
Mac中安装Nginx
mac下安装nginx 前言:最近在使用Nginx,将安装教程记录在博客中。当前系统环境:安装工具:homebrew(还没用过的小伙伴可以点链接进行了解或者自行百度)步骤如下:1、打开终端,习惯性命令:brew update//结果:Already up-to-date.2、终端继续执行命令:brew search nginx //查询要安装的软件是否存在3、这里我们多执行一步“废”命令,不过有利于我们后面的配置:brew info nginx运行结.原创 2020-12-28 17:06:47 · 120 阅读 · 0 评论 -
mac中sublime替换回车键
mac中sublime的常用快捷键符号说明⌘:command⌃:control⌥:option⇧:shift↩:enter⌫:delete打开/关闭/前往快捷键 功能 ⌘⇧N 打开一个新的sublime窗口 ⌘N 新建文件 ⌘⇧W 关闭sublime,关闭所有文件 ⌘W 关闭当前文件⌘P 跳转、前往文件、前往项目、命令提示、前往method等等(Goto anything) ⌘⇧T 重新打开最近关闭的文件 ⌘T前往文件 ⌘⌃P 前往项目 ⌘R 前往method原创 2020-12-22 11:25:03 · 5717 阅读 · 0 评论 -
Git命令行问题:Your local changes to the following files would be overwritten by checkout
问题描述:当我们在使用 git checkout <branchname>命令切换分支的时候,有时会切换失败,然后出现以下的提示信息: 原因分析:提示信息说的很清楚,当前分支有未跟踪的文件,checkout 命令会覆盖它们,请缓存( stash )或者提交( commit )。解决方案:有两种解决方案1.未跟踪文件的内容改动很重要,保存修改//第一种方式 存到暂存区git add.git stash //取出的时候使用 git stash pop//第二种方式原创 2020-11-20 15:17:58 · 629 阅读 · 0 评论 -
mac中tomcat端口占用的解决方法
问题描述:在使用IDEA进行maven项目开发时,使用内置Tomcat进行启动项目,但经常会出现端口占用情况[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:start (default-cli) on project dmj-spider-web: Cannot invoke Tomcat manager:[Help 1][ERROR] [ERROR] To see the full stack tra原创 2020-10-26 10:00:30 · 454 阅读 · 0 评论 -
Mac中Navicat连接Mysql出现中文乱码问题
文章目录项目场景:原因分析:解决方案:项目场景:使用Mac肯定会有很多坑要踩的,今天就记录一下一个常见的小问题原因分析:mac中安装的Navicat,跟windows大同小异,但有个小区别,在我们进行连接的时候,如果设置库的编码集,Navicat会进行自动配置(这一点其实是没错的),但按照windows的开发习惯,我们一般在创建连接的时候会指定编码集,也就导致了后面表的编码集我们进行修改时,总是恢复成default(也就是我们常见的乱码问题) 解决方案:1. 由于Mac中Navicat原创 2020-10-24 17:58:50 · 374 阅读 · 0 评论 -
Mac中IDEA的工具栏隐藏显示的解决方法
今天是就职的第二天,上班第一天公司就给每位实习生配备了Apple跟戴尔显示屏。啊这,说实话,内心是很激动的,因为从来没有使用过苹果电脑,但相应而来的却是一系列不适应问题…很多开发软件都需要自己重新下载,还要操作与Windows的反方向,需要适应一段时间吧,如下图所示。问题场景:按照师父(每位实习生会有一位前辈带着学习,这里我用师父简称)的建议,先自主去安装了jdk和git,有时间会把过程也发出来(如果你是Windows转的Mac,也有一些坑要踩)。下面我们进入正文,安装好IDEA后发现上面的工具栏隐藏原创 2020-10-16 11:01:07 · 4965 阅读 · 0 评论 -
Java实习期的学习目标
前段时间参与秋招,压力大的我有些喘不过气,或许也与疫情有关,今年的工作难找许多。在经历了一个多月的面试求职,最后,我决定去杭州一家公司发展,在得到offer之后,我有种如释重负的感觉,也不再去慕课、b站学习新的知识,就像一步成功一样,我知道这样的行为现在想想真的挺可笑的。这样的时间持续了两个星期,我的父亲告诉我家里经历了一些事情,但父母担心影响我的学习一直瞒着我…未来的路很长很长,父母能给予我的已经足够足够,给自己制定一些小的目标,务必在规定时间内完成。Java实习期学习目标:Java实习期学习目标原创 2020-10-11 15:01:19 · 1426 阅读 · 1 评论 -
面试:Java中关于异常的一些常见问题
文章目录前言一、运行异常与受检异常有什么区别?二、异常遵守原则有哪些?三、JAVA中try、catch、finally带return的执行顺序总结1.try中带有return2.return 返回引用类型3.catch中带有return4.finally中带有return四、总结前言最近面试过程中被问到Java异常的问题较多,在这里进行简单总结一下一、运行异常与受检异常有什么区别?异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误,只原创 2020-09-05 09:00:32 · 272 阅读 · 0 评论 -
JDK各个版本的新特性
JDK各个版本的新特性最近面试被问到了JDK各个版本的特性,虽回答出来了一些,但是还不是很全面,下面是找到的JDK各个版本新特性的详细描述地址如下JDK各个版本的新特性:https://github.com/aaja/architect-demo/tree/master/jdk...原创 2020-08-24 19:34:14 · 327 阅读 · 0 评论 -
如何判断二叉树的前序,中序,后序遍历
文章目录前言一、如何判断二叉树的前序,中序,后序遍历?二、已知二叉树的前序遍历和中序遍历,如何得到它的后序遍历?三、程序实现总结前言最近复习题中看到二叉树,对于它的前序,中序,后序遍历的判断有些模糊,后经查阅资料,将学习过程记录在博客中。提示:以下是本篇文章正文内容一、如何判断二叉树的前序,中序,后序遍历?对一棵二叉树进行遍历,我们可以采取3中顺序进行遍历,分别是前序遍历、中序遍历和后序遍历。这三种方式是以访问父节点的顺序来进行命名的。假设根节点是N,左节点是L,右节点是R,那么对应的访问遍原创 2020-08-23 21:37:25 · 15318 阅读 · 4 评论 -
Java中内存泄露8种情况的总结
由于java的JVM引入了垃圾回收机制,垃圾回收器会自动回收不再使用的对象,了解JVM回收机制的都知道JVM是使用引用计数法和可达性分析算法来判断对象是否是不再使用的对象,本质都是判断一个对象是否还被引用。那么对于这种情况下,由于代码的实现不同就会出现很多种内存泄漏问题(让JVM误以为此对象还在引用中,无法回收,造成内存泄漏)。1、静态集合类,如HashMap、LinkedList等等。如果这些容器为静态的,那么它们的生命周期与程序一致,则容器中的对象在程序结束之前将不能被释放,从而造成内存泄漏。简单而言转载 2020-08-19 10:38:22 · 856 阅读 · 0 评论 -
String s=new String(“sunyard“);创建了___个字符串对象?
今天在复习java基础时,遇到一个比较有争议的小问题,题目是这样的:String s=new String(“sunyard”);创建了___个字符串对象?对于这个问题,部分同学说是一个,也有部分同学说是两个,那就让我来分析一下,到底是一个还是两个?对于String s=new String(“sunyard”);这段代码我们大致分析一下过程:1. 在虚拟机栈中为String类型的s分配内存2. 在堆中为分配一块内存用来保存"sunyard"3. 栈中的引用s指向了堆中的"sunyard"原创 2020-08-06 00:35:33 · 373 阅读 · 0 评论 -
死锁产生的四个必要条件?如何避免和预防死锁产生?
一、什么是死锁?两个线程或两个以上线程都在等待对方执行完毕才能继续往下执行的时候就发生了死锁。结果就是这些线程都陷入了无限的等待中,这就是死锁。举个例子:如果线程1锁住了A,然后尝试对B进行加锁,同时线程2已经锁住了B,接着尝试对A进行加锁,这时死锁就发生了。线程1永远得不到B,线程2也永远得不到A,并且它们永远也不会知道发生了这样的事情。为了得到彼此的对象(A和B),它们将永远阻塞下去。这种情况就是一个死锁。二、产生死锁的四个必要条件● 互斥条件:指进程对所分配到的资源进行排它性使用,即在一段原创 2020-07-27 16:48:15 · 4829 阅读 · 0 评论 -
abstract class和interface有什么区别?
今天来谈一谈abstract class和interface的区别1.首先要了解abstract class(抽象类)的定义Abstract class指的是用关键字abstract修饰的类,叫做抽象类,是不允许实例化的类,不能直接创建对象,必须要通过子类创建才能使用abstract类的方法。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以,原创 2020-07-07 17:10:45 · 5571 阅读 · 0 评论 -
Tomcat报错 publishing to tomcat 8.0 at localhost...has encountered a problem.
Tomcat报错 publishing to tomcat 8.0 at localhost…has encountered a problem今天在正常使用Eclipse时,出现了以下的错误。Tomcat报错 publishing to tomcat 8.0 at localhost…has encountered a problem,如图所示:按照网上诸多方法删除tomcat映射缓存,刷新工作空间,命令关闭tomcat等等做法,实际效果并没有达到预期,最后解决的方法是,将tomcat重新解压部署到原创 2020-06-04 16:53:30 · 3436 阅读 · 0 评论 -
easyui的datagrid发送两次请求
JAVA基础一、java简介二、 java 环境变量三、dos基本命令四、java 数据类型五、运算符号一、java简介简单的说,java是一门面向对象编程语言,吸收了C/C++的优点,摒弃了C/C++复杂的指针等内容,也不需要用户手动释放内存空间。java本身还具备了很强的可移植性,通过将源代码编译成二进制字节码,然后通过不同平台的java虚拟机来解释执行字节码,从而实行了“一次编译,到处执...原创 2019-05-13 11:30:53 · 2263 阅读 · 4 评论 -
详解Java中的注解
详解Java中的注解在Java中,注解(Annotation)引入始于Java5,用来描述Java代码的元信息,通常情况下注解不会直接影响代码的执行,尽管有些注解可以用来做到影响代码执行。注解可以做什么Java中的注解通常扮演以下角色:编译器指令构建时指令运行时指令l Java内置了三种编译器指令,本文后面部分会重点介绍l Java注解可以应用在构建时,即当你构建你的项目时。构...原创 2019-11-23 19:14:09 · 1712 阅读 · 0 评论 -
GET和POST两种基本请求方法的区别
GET和POST两种基本请求方法的区别GET和POST是html中两种基本的请求方法,要谈及它们的区别,接触过html的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的...原创 2019-08-28 17:11:05 · 1795 阅读 · 0 评论