- 博客(21)
- 收藏
- 关注
原创 Spring Boot项目使用Gson封装Json数据
1. Json数据样例{ name: 'coderczh', address: { province: '浙江省', city: '杭州市' } hobby: ['听歌', '看电影'] }2. Spring Boot代码@RestControllerpublic class GsonController { @GetMapping(value = "/demo", produces = "application/j
2021-08-21 11:57:30
477
原创 Junit的@BeforeClass、@AfterClass、@Before、@After
1. @BeforeClass:该方法必须为static void,其在所有的@Test方法之前执行,且只会执行一次2. @Before:该方法在所有的@Test方法之前执行,在@BeforeClass方法之后执行3. @AfterClass:该方法必须为static void,其在所有的@Test方法之后执行,且只会执行一次4.@After:该方法在所有的@Test方法之后执行,在@AfterClass方法之前执行public class AppTest { @BeforeC.
2021-08-12 20:53:45
376
原创 如何利用Docker部署Spring Boot项目
1. 准备需要部署的Spring Boot项目2. 将Spring Boot项目打成jar包2.1点击IDEA右侧的Maven导航栏,再点击Lifecycle,双击clean按钮,如下图所示:2.2 clean成功,即控制台出现BUILD SUCCESS之后,再双击package按钮,当控制台再次出现BUILD SUCCESS时,就说明已经将该项目构建成jar包了,具体操作如下图所示:2.3 新建一个文件夹,将jar包移动进去,如果是远程的服务器,也新建一个文件夹,并将...
2021-08-10 23:12:44
290
原创 浅谈——类加载过程
类加载过程一、类加载过程模型图二、 详解1. 加载在加载阶段,类加载器把class文件加载到内存中。class文件的来源:本地编译生成的class文件、jar包中的class文件、网络中的class文件等。类加载器:启动类加载器(Bootstrap ClassLoader)、扩展类加载器(Extension ClassLoader)、应用程序类加载器(Application ClassLoader)、自定义类加载器。2. 验证验证就是验证加载到内存的字节流是否符合虚拟机
2021-04-04 10:43:02
88
原创 浅谈——Java对象的加载过程
Java对象的创建过程1. 类的加载验证当虚拟机接收到一条new指令时,会先从运行池常量池中检查该对象所属类的符号引用,如果该符号引用对应的类没有被加载、链接、初始化,该类就需要先进行加载。2. 分配内存当类加载验证完成后,需要在Java堆中为该对象分配内存,分配内存的方式有两种,一种是指针碰撞,另一种是空闲列表,具体使用那种内存分配方式,取决于Java堆的内存是否规整,而Java堆的内存是否规整,又取决于虚拟机使用的是那种垃圾收集器,如果垃圾收集器使用的标记-整理算法或者复制算法,则内存是规整的,
2021-04-03 23:09:34
1309
7
原创 浅谈 —— JVM运行时数据区
一、JVM运行时数据区模型图二、详述 程序计数器 程序计数器的是为了记录当前执行的字节码指令,工作原理是通过改变这个计数器,来获取下一条需要执行的字节码指令,例如分支、循环、跳转、异常处理等...
2021-04-03 15:01:38
149
3
原创 StringJoiner详解
一、概述平时我们进行字符串拼接时,最常用的就是StringBuilder和StringBuffer了,但是在JDK 1.8+中,引入了一个字符串拼接神器:StringJoiner。二、 案例例如:hello,world,欢迎使用StringJoiner在JDK 1.8之前,需要使用StringBuilder或者StringBuffer来进行拼接。 StringBuilder stb = new StringBuilder(); stb.appe.
2021-01-18 14:52:01
19332
原创 Java开发中常见的坑
一、空指针问题1. 基本数据类型的包装类空指针问题public class Test { public static void main(String[] args) { System.out.println(new Test().add(null)); } private Integer add(Integer a) { return a + 1; }}Exception in thread "main" java.lan
2021-01-18 11:03:44
536
4
原创 Arrays.sort() 实现二维数组排序
一、概述Arrays.sort()是java.util.Arrays类中的一个静态方法,可以对数组进行排序,但是仅支持对一维数组进行排序,如果需要对二维数组进行排序,需要重写sort()方法中的Comparator比较器。二、案例代码方式一:public static void main(String[] args) { int[][] points = {{10, 16}, {2, 8}, {1, 6}, {6, 12}}; // 对二维数组按照每行.
2020-11-30 19:45:37
7790
3
原创 浅谈 --- HashMap的7种遍历方式
一、 概述HashMap的遍历方式可以分为4种,按照不同的实现方式再具体划分的话,又可以分为7种。1. 按照4种方式划分:HashMap的4种遍历2. 按照7种方式划分:HashMap的7种遍历下面以7种遍历方式来进行详细论述。二、 性能测试...
2020-11-26 22:35:07
235
原创 浅谈 --- Java中多态的向上转型和向下转型
1. 什么是多态?多态指的是同一个行为有多种不同的表现形式。2. 构成多态的三个充要条件继承。 重写父类方法。 父类引用指向子类的对象。3. 代码分析父类:package com.hfut;/** * @author Chenzh */public class Animal { public String name = "我是父类,子类也存在"; public String father = "我是父类,子类没有"; public void ea
2020-09-09 23:09:48
306
原创 当遇到循环体时,try-catch该放在哪?
当遇到循环体时,try-catch该放在循环体的里面还是外面呢?哪种方式的性能更高呢?因此,本文便通过JMH来进行基准测试,到底哪种方式的性能更高些。首先明白两个定义:JMH:是Java Microbenchmark Harness 的缩写。翻译成中文是“JAVA 微基准测试套件”的意思。 基准测试:百度百科的定义是指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。明白这两个定义之后,我们就进行测试了:在maven中导入: <d
2020-09-08 21:46:37
624
1
原创 浅谈 ---- Java深拷贝与浅拷贝
1. 浅拷贝对于值类型来说,浅拷贝是把该值复制一份,但是对于引用类型来说,浅拷贝仅仅是把引用复制一份,而复制之后引用所指的对象和原始引用所指对象还是同一个,这样当原始
2020-08-30 20:37:27
108
原创 浦发面试(信息科技部)
8月中旬收到浦发的笔试邀请,做完浦发的笔试题之后,发现考的基本上都是英语的题目+金融的题目,金融的题目基本上都是半蒙半猜过去的,英语也是如此,做完笔试之后,觉得自己已经凉了,就没有再去准备浦发的面试了,几天之后,打开了邮箱,发现浦发那边竟然给我发了邮件,让我8.19日去面试,意外惊喜,但是时间上确实很紧,有点慌。给浦发之前的学长发了短信,经过询问之后,得知了面试的内容基本上是Java的基础部分...
2019-08-21 22:14:51
1599
转载 MVC设计模式
Servlet经典的应用就是用在MVC设计模式上了。MVC设计模式分为3个核心层:1. 显示层(view):主要负责接收Servlet传递过来的数据,并且调用JAvaBean,将内容显示给用户。2. 控制层(Controller):主要负责所有的用户请求参数,判断请求参数是否合法。根据请求参数是否合法,根据请求的类型调用JavaBean执行操作并将最后的结果交给显示层显示。3. 模...
2019-03-02 21:37:11
348
转载 基于MySQL数据库实现JSP+JDBC简单的用户登录程序
刚学完JSP的基础部分,结合在java部分学的JDBC和书本上的内容,便把两个结合起来做了个简单的用户登录程序。程序的实现思路:创建一个表单页,在这个页面可以输入用户登录的ID和密码,再将这些信息提交到JSP页面上进行验证,若查询到该用户的信息并正确,此时跳转到成功登录的页面,如果验证不通过,则跳转到错误页进行显示。mysql数据库:USE mldn; DROP TABLE IF ...
2019-03-02 20:07:56
1006
原创 关于%m.nf和%mf格式的解释及四舍五入问题的详解
前几天室友问我这个小问题时,我发现自己竟然无法肯定的给出答案,索性自己在Eclipse上测试了一下,写了这篇博客,以供大家一起来学习学习!1.对于输出%m.nf格式:m表示要输出这个数的宽度,包括小数点,如果实际数值的宽度大于m,则以实际的数据宽度为准,如果实际数值宽度小于m,那么默认右对齐,前面补空格。n表示小数点后面数据的位数。public static void m...
2018-05-29 21:21:36
10095
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人