自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

橘子的博客

立志成为一个有趣的码农!

  • 博客(51)
  • 收藏
  • 关注

原创 HashMap遍历的四种常用方式

古人云:温故而知新。最近闲来无事就去翻阅了一下之前的一些基础java知识点。本想着随便看看,然而就发现有了意外收获。比如本文所讲HashMap遍历的四种常用方式。大伙们一起学习一起进步,记得点赞关注以示鼓励哈!!!准备工作首选我们先准备一个HashMap。public class Test1 { public static void main(String[] args) { Map<String, String> map = new HashMap<St

2021-12-31 14:26:42 3078

原创 List集合分页显示

最近在搞分页的相关内容。做个笔记。import java.util.Arrays;import java.util.Collections;import java.util.List;public class ListPageUtil<T> { /**原集合*/ private List<T> data; /** 上一页 */ private int lastPage; /** 当前页 */ private int no

2021-12-30 14:00:50 341

原创 MyBatis-Plus-Generator代码生成器(Version 3.5.1+)使用

这几天研究了一下MyBatis-Plus-Generator新版本3.5.1+的使用,做个笔记方便自己使用。maven配置<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId></dependency><dependency>

2021-12-27 09:30:37 7606 4

原创 彻底理解tomcat

最近在看tomcat源码,顺带着到处看了看关于tomcat的解释。到底什么是tomcat?网上答案可以说五花八门。先说比较官方,也比较不容易理解的解释:Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP

2021-12-21 21:50:59 843

原创 @BeforeClass,@Before,@Test@After,@AfterClass使用

场景:使用JUnit测试类的时候会使用到的,比较实用的几个注解。主要是用来控制执行顺序的。顺序结果:@BeforeClass -> @Before -> @Test -> @After -> @AfterClass;@BeforeClassSometimes several tests need to share computationally expensive setup (like logging into a database). While this can c

2021-12-20 17:34:56 1122

原创 根据ParentId生成树状结构这po事

最近项目里老是碰到数据库里存放父子级关系,然后获取出来要根据ParentId生成树状结构对象的需要。也不知道最近是脑子不行还是咋滴。这po事想了老半天才想明白怎么去构建该结构。555555最后敲出来后,豁然开朗,都有想哭的冲动了。废话不多说,开始总结和分享一下我的解题思路。(其实这问题不难,我是菜鸡)需求数据库里有一张结构大致如下的表格:我们需要冲数据库中获取出数据,然后解析成大致如下的树状格式:解题思路让我们先像个东西类比一下好吧,老习惯了,万事万物源于生活,从生活中找例

2021-12-16 13:21:41 3004 1

原创 DBeaver导入csv数据到Oracle

时隔许久,我又回来写博客啦!前段时间太忙了,绝对不是因为懒才没有写的!大实话。今天用到csv存库的问题,踩了点坑,做个笔记。废话不多说我们开始。第一步:打开DBeaver,右键点击要导入数据的表。选择“导入数据”第二步:点击csv,下一步第三步:软件会自动给我们弹出文件选择框,选择我们要导入的csv。点击“打开”第四步:点击修改Encoding 属性为 gbk (不然会乱码!!),以及Column minimal length 值改为 255 (别的大佬这么写的,我也就跟着来)。然后...

2021-11-25 16:12:30 10574 1

原创 数据库去重sql

查询重复项select * from "JJYX"."USERVALUE4" a where (a.USERMETERID,a.COLLECTTIME) in(select USERMETERID,COLLECTTIME from "JJYX"."USERVALUE4" group by USERMETERID,COLLECTTIME having count(*) > 1)删除重复项delete from "JJYX"."USERVALUE4" a where (a.USERMETE

2021-08-24 08:52:25 80

原创 九、垃圾收集器简述

垃圾收集的历史十分的久远,在1960年诞生于麻省理工学院的Lisp是第一门开始使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期时,其作者John McCarthy就思考过垃圾收集器需要完成主要的三件事:哪些内存需要回收?什么时候回收?如何回收?现如今的内存分配和内存回收技术已经相当成熟,我们去了解垃圾收集和内存分配主要是为了,当需要排查各种内存溢出、内存泄漏的问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们必须对这些“自动化”的技术实施必要的监控和调节。回到Java上,前面我

2021-06-19 22:27:32 81

原创 八、对象的内存布局

在HotSpot虚拟机中,对象在堆内存中的存储布局可以划分为三个部分:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。对象头对象头主要分为两类信息:第一类是用于存储自身的运动时数据。如:哈希码(HashCode)、GC分代年龄、锁状态标志、线程持有锁、偏向线程ID、偏向时间戳等,这部分数据长度在32位和64位的虚拟机中分别为32个比特和64个比特。官方称它为“Mark Word”。对象需要存储的运行时数据其实很多,但对象头例的信息与对象本身定义的数据

2021-06-17 15:09:09 526 2

原创 七、浅谈java对象在虚拟机中的创建

Java是一门面向对象的编程语言,Java程序每时每刻都有对象被创建出来。在语言层面上,创建对象通常仅仅通过一个new关键字即可。当然还包括复制、反序列化等。而在虚拟机中,对象是如何创建的呢?让我们先初略的探索一下。当Java虚拟机遇到一条字节码new指令时,首先会去检查指令的参数是否能在常量池中定位到一个类的符号引用,并检查这个符号应用的代表类是否已经被加载、解析和初始化过。如果没有则执行响应的类加载过程。当类加载完成后,接下来虚拟机会为新生的对象分配内存。对象所需的内存大小在类加载完之后便可完全确

2021-06-17 11:54:55 105

原创 六、方法区

方法区(Method Area)方法区和Java堆一样,是各个线程共享的内存区域,主要用于存储已经被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码缓存等数据。在《Java虚拟机规范》中把方法区描述为堆的一个逻辑部分,但方法区有一个别名:Non-Heap 。目的就是与Java堆分开。在JDK8以前,大多数程序员都习惯使用HotSpot虚拟机上开发和部署程序,当时大家把“方法区”和“永久代”混为一谈。因为当时HotSpot虚拟机的设计团队使用永久代去实现了方法区,这样使得HotSpot的垃

2021-06-11 16:51:42 107

原创 五、Java堆

Java堆对于Java应用程序来说,Java堆 是虚拟机所管理的内存中最大的一块。堆,是被所有线程共享的一块内存区域,在虚拟机启动时创建。堆,唯一的目的就是存放对象实例,Java世界中“几乎”所有的对象实例都是在这里分配内存的。在《Java虚拟机规范》中对Java虚拟机的描述是:“所有的对象实例以及数组都应当在堆上分配”。但随着语言的不断进步,即使只考虑现在,由于技术编译技术的进步,尤其是逃逸分析技术的日渐强大,栈上分配。标量替换优化手段已经导致一些微妙的变化,所以说Java对象实例都分配在堆上变得

2021-06-11 15:27:54 375

原创 四、本地方法栈

本地方法栈和虚拟机栈所发挥的作用差不多,虚拟机栈是为执行Java方法服务的,而本地方法栈视为虚拟机使用本地方法服务的。东西好少,补一张男神照片。。。

2021-06-11 14:34:13 71 1

原创 三、虚拟机栈

虚拟机栈(Java Virtual Machine Stack)虚拟机栈和程序计数器一样,都是线程私有的。它的生命周期和线程相同。虚拟机栈是描述Java方法执行的线程内存模型,每个方法执行时,JVM都会同步创建一个栈帧(Stack Frame)。栈帧主要用于存储局部变量表,操作数栈,动态连接,方法出口等信息。每个方法从被调用到结束,就对应着一个栈帧从入栈到出栈的过程。我们通常讲的栈,更多情况下是指栈帧中的局部变量表。局部变量表中包括了:基本数据类型、对象引用和ReturnAddress类型。基

2021-06-11 14:22:13 72 1

原创 二、程序计数器

程序计数器(Program Counter Register)内存中一块较小的内存空间,可以看做当前线程所执行的字节码的行号指示器。在Java虚拟机的概念模型里,字节码解释器工作时就是通过改变程序计数器的值来获取下一条需要执行的字节码指令的。它是程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基本功能都是要依赖这个计数器完成的。由于Java虚拟机的多线程是由线程轮流切换。分配处理器执行时间来实现的。所以,为了线程切换后能恢复到正确的执行位置,每条线程都需要一个独立的程序计数器,各

2021-06-11 13:31:50 187 2

原创 一、JVM运行时数据区

Java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有着各自的用途,以及创建时间和销毁时间,有的区域会跟随虚拟机进程一直存在,有些区域则依赖用的线程的启动和结束而建立和销毁。具体划分如下图:...

2021-06-11 11:03:03 1020 2

原创 BigDecimal加减乘除以及保留小数

public class Demo02 { public static void main(String[] args) { BigDecimal a = new BigDecimal("10000"); BigDecimal b = new BigDecimal("0.05"); BigDecimal aa = new BigDecimal(10000); BigDecimal bb = new BigDecimal(0.05);

2021-05-31 13:35:43 912

原创 常人能看懂的设计模式(三)装饰者模式

初衷:最近一直在研究设计模式,主要以专研《Head First设计模式》以及看网上各路大神的见解。这边想用自己对于23种设计模式的理解,用一种非程序员都能理解的方式去介绍设计模式,毕竟我觉得设计模式是一种很好的处理问题的思想方法,不应该仅限于代码的实现。希望能够对于刚接触设计模式的小伙伴们有所帮助。当然有不对的地方,欢迎下方留言。一定及时修改。装饰者模式实现:让我们一起动动脑瓜子,一起想想下面这些问题。1、什么是装饰?其实,今天这个模式不难,只要我们从心出发,也就是从常识出发,会发现它很简单。

2021-05-06 22:55:24 208 6

原创 常人能看懂的设计模式(二)观察者模式

初衷:最近一直在研究设计模式,主要以专研《Head First设计模式》以及看网上各路大神的见解。这边想用自己对于23种设计模式的理解,用一种非程序员都能理解的方式去介绍设计模式,毕竟我觉得设计模式是一种很好的处理问题的思想方法,不应该仅限于代码的实现。希望能够对于刚接触设计模式的小伙伴们有所帮助。当然有不对的地方,欢迎下方留言。一定及时修改。观察者模式实现:让我们一起动动脑瓜子,逐步解决如下问题吧!首先,我们先假设我们有三个不同类型的女朋友。第一位:可爱小妹妹,喜欢用QQ跟你聊天。第二位:

2021-05-03 22:38:17 956 5

原创 常人能看懂的设计模式(一)策略模式

初衷:最近一直在研究设计模式,主要以专研《Head First设计模式》以及看网上各路大神的见解。这边想用自己对于23种设计模式的理解,用一种非程序员都能理解的方式去介绍设计模式,毕竟我觉得设计模式是一种很好的处理问题的思想方法,不应该仅限于代码的实现。希望能够对于刚接触设计模式的小伙伴们有所帮助。当然有不对的地方,欢迎下方留言。一定及时修改。策略模式实现:让我们一起转动我们的脑瓜,逐个解决一下问题。第一步:我们先简单的描述三种动物一号动物,人称它为白鹭,有白色的羽毛,能够飞行,能发出叫声。

2021-04-28 22:54:27 250 4

原创 mybatis-plus代码生成器代码模板

import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;import com.baomidou.mybatisplus.core.toolkit.StringPool;import com.baomidou.mybatisplus.core.toolkit.StringUtils;import com.baomidou.mybatisplus.generator.AutoGenerator;import com.bao

2021-04-22 11:16:08 286

转载 swagger2 3.0版本swagger-ui.html 404的问题

转 https://blog.csdn.net/u012871285/article/details/111661554

2021-04-16 21:21:27 358

原创 SpringBoot多环境配置

一、环境配置的位置以及优先级二、多环境切换application.properties方式:# springboot的多环境配置,可以选择激活哪一个配置文件spring.profiles.active = test #-后面的# 使用application-test.properties配置文件application.yaml方式:server: port: 8081spring: profiles: active: dev---server: port

2021-04-15 19:52:22 82

原创 Mysql字符串截取

今天面试,问到了Mysql字符串截取。我尽然忘了。。。真的菜唉。这边做下笔记。路漫漫其修远兮,吾将上下而求索。MySQL 字符串截取函数主要有四个:left(), right(), substring(), substring_index()1、left(str,length)从左边数起开始到第几个select left(“fly_orange”,3);2、right(str,length)从右边数起第几个开始到结尾select right(“fly_orange”,6);3.1、subst

2021-04-14 18:26:17 450

原创 线程三个常用辅助类基本使用

一、CountDownLath名称:减法计数器使用场景:指定个数线程执行完毕再执行后续操作原理:设定计数器其实值,每个线程完成任务后,执行countDownLath.countDown();使得计数器计数-1.当计数器计数为0时,执行后续代码。示例代码:import java.util.concurrent.CountDownLatch;public class CountDownLatchDemo { public static void main(String[] args)

2021-04-11 15:34:25 122

原创 Java反射的概念和作用

一、反射的概念反射是一种计算机的处理方式,是程序可以访问、检查和修改本身状态或行为的一种方式。Java 的反射可以在运行时加载,探知和使用编译期间完全未知的类。对于一个已经加载的类,可以知道类的所有属性和方法。对于任意一个已经加载的对象,可以调用该对象的任意一个属性和方法。在Java虚拟机中,加载完类之后,会生成一个Class类型的对象,该对象包括了类的完整结构信息,通过这个Class对象可以看到类的所有结构,所以称之为反射。Java的反射使得我们可以在程序运行时动态加载一个类,动态获取类的基本

2021-04-06 10:40:57 2680

原创 IDEA搭建ssm多模块项目报错:java.lang.ClassNotFoundException: Cannot find class: com.juzi.dao.MsPhaseMapper

网上找了好久,都没找到一个解决办法!!!心累!不过问题成功解决啦!!1一、问题出现情况描述这两天在用IDEA做一个简单的ssm分模块项目。一直报错!!!java.lang.ClassNotFoundException: Cannot find class: com.juzi.dao.MsPhaseMapper整整花了我一天的时间才终于把问题解决。简明扼要,先说说问题出现场景。1、项目基本构建:其实就分了三层:1、parent 父工程,管理jar包 2、service(可以细分成dao和servi

2021-03-27 22:30:25 724 4

原创 SSM的常用web.xml

为了方便自己复制 <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfig

2021-03-25 22:36:50 110

原创 java框架相关的知识点概念集

什么是MyBatis?MyBtis是一个优秀的持久层框架。它支持自定义SQL语句,存储过程和高级映射。并且MyBtis免除了几乎所有的JDBC的代码以及参数的设置和获取结果集的工作。MyBtis还可以使用xml或者注解的方式来配置和映射原始类型,接口和JAVA的实体类作为数据库中的记录。MyBatis原本是apache的一个开源项目,叫做iBatis。2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11

2021-03-24 10:09:43 96 2

原创 mysql在给定的日期基础上加几天

最近做项目做到想得到一个日期的底线日期,类似于保质期。找了找办法。发现下面这个函数挺好用的。就做个笔记!DATE_ADD() 函数向日期添加指定的时间间隔。语法如下:DATE_ADD(date,INTERVAL expr type)date 参数是合法的日期表达式。expr 参数是希望添加的时间间隔。例子如下:在当前时间基础上加上5天。select curdate(),date_add(curdate(),INTERVAL 5 DAY);结果如下图:有帮助记得点赞关注哈!谢谢各位大佬

2021-03-20 21:33:48 1892 1

原创 maven项目添加log4j2

1.在pom.xml中增加log4j2的依赖<!-- log4j 新版本依赖--><dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.10.0</version> </dependency>

2021-03-19 16:30:36 9090

原创 IDEA调试SpringMvc项目时,出错:java.lang.ClassNotFoundException: org.springframework.web.context...

在写ssm项目时,把所有依赖配置写好之后,运行tomcat直接报错。找了很多办法都没解决,心态爆炸。最后找到了原因。报错如下图:分析原因:我创建ssm项目的时候,创建的是空白的maven项目。后面的web内容是点击项目名–>Add Frameworks Support -->web 这样增加的。问题就出在这。我的jar包没有同步到lib下面。如下图我这是改正常之后的样子。不正常的时候,WEB-INF下面没有lib包。那怎么解决的呢,步骤如下:1、点击左上方 - 号。把当前的war

2021-03-19 13:48:20 567

原创 通配符的匹配很全面, 但无法找到元素 ‘mvc:annotation-driven‘ 的声明

写SSM项目的时候,遇到的坑。网上找了很多,最后才找到一个很有效的办法。分享给大家。原文:https://blog.csdn.net/tolcf/article/details/50845483主要问题就是在配置spring-mvc.xml的时候有用到如下代码但是运行时报错找不到 ‘mvc:annotation-driven’原因是:虽然在xml文件上方声明了mvc,但没有配置此声明对应的文件信息。解决办法如下<beans xmlns="http://www.springframewor

2021-03-19 13:33:24 1682 1

原创 idea静态资源导出配置

主要就是识别没有放在resources文件夹下的一些配置文件。<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.*</include> </in

2021-03-18 15:42:14 340

原创 response将List对象转换成json对象并发送至前端以及前端如何遍历使用

这块代码应该很常用的,但是网上找找都找不到相似的内容。直接上代码:生成JSON数据,发送到前端。 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/json;charset=UTF-8"); resp.setCharacterEncoding("UTF-

2021-03-12 15:40:16 1782

原创 servlet+mybatis报错java.lang.NoClassDefFoundError: org/apache/ibatis/io/Resources

啊~~~~~~先让我惨叫一会。这破500折磨了一晚上的时间。啊~~~~~~~好了说下主要问题情况。看看跟小伙伴的问题是否一样。情况如下:工具:IDEA项目大体:基于maven 的servlet+mybatis项目。项目内容:就是为了熟悉mybatis框架,简单做一个web项目。bug出现时间:已经添加好各种需要的依赖dependency。但通过servlet获取sqlsessionfactory时,直接浏览器爆出500。如下图找了很多办法解决。网上也没找到一模一样的。一开始以为代码写的有问

2021-03-11 23:55:44 1191 10

原创 Servlet中web.xml常用配置

主要为了自己平时复制使用。<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http:/

2021-03-01 16:08:24 137 1

原创 JSP的EL表达式中除法取整

这两天回头瞅了瞅JSP。稍微敲了点代码。碰到一个比较恶心的坑。做个笔记,说不定能帮助到大家。遇到问题是:在使用JSP的EL表达式时,两个从后端传过来的int数据(暂定 a =10 ,b =5)。然后写了如下代码:${a/b};你们猜猜结果是啥。我本以为是2 。但是让人很难受的是,结果是2.0 。我还试了其他的赋值结果都是0.0 、1.0 、2.0 反正就是跟小数点过不去。。。。唉,真的难受。我试了很多办法,类型转换啦。四舍五入啦。。。在我想发起的时候,突然就搞定了。先给代码${Math

2021-02-20 23:02:17 1751 2

原创 form表单中的下拉框select与数据库交互数据

最近一直沉心学习,就没怎么跟新。以后一定多多更新。首先,祝大家 牛年快乐!!!今天的内容主要是分为两部分:1、下拉框通过数据库生成选择项(JSP)2、通过form上传select选中的值主要目的还是为了我自己以后用到的时候方便查看和回顾。写的不好的地方,欢迎留言。1、下拉框通过数据库生成选择项(JSP)直接上代码 <select name="xxx"> //下拉框名称,一定要写上。方便后面拿数据 <option value="0

2021-02-14 22:07:17 2790 2

空空如也

空空如也

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

TA关注的人

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