![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
忘忧人生
人生的路很长,风景很美。
展开
-
java设计模式:观察者模式
在平常的开发工作中,经常会使用到设计模式。合理的使用设计模式,可以提高开发效率、提高代码质量、提高代码的可拓展性和维护性。今天来聊聊观察者模式。观察者模式是一种行为型设计模式,用于对象之间一对多的依赖关系,当被观察对象发生变化时会通知所有观察者进行相应的更新。原创 2024-02-04 22:07:28 · 703 阅读 · 0 评论 -
junit单元测试Mock
在平常工作,经常会用到单元测试,那么单元测试应该怎么写呢?风景很美,生活,一直在路上!2024,新的一年,加油!原创 2024-01-01 15:54:39 · 498 阅读 · 0 评论 -
mysql常用时间相关函数
在我们平常开发的工作中,我们在数据库中经常会用到时间相关的函数,比如格式化当前时间,求当前时间或者计算某个特定间隔后的时间,那么我们主要会用到哪些函数呢?原创 2023-07-28 15:12:35 · 504 阅读 · 0 评论 -
多线程 ThreadPoolExecutor线程池和Futuretask
在平常的开发工作中,经常需要使用多线程,如数据处理,那么ThreadPoolExecutor线程池和Futuretask应该如何使用呢?以上为ThreadPoolExecutor和Futuretask的基本用法。原创 2023-06-03 21:46:27 · 367 阅读 · 0 评论 -
union all 和 where case when 查询数据并集
在平常的开发工作中,经常需要查询数据的并集,那么可以用union all来实现,如果查询的表一致,那么可以在where case when 来实现。以上为两种常见的用法,美好的风景一直在路上!原创 2023-05-05 21:54:29 · 260 阅读 · 0 评论 -
sql中exists的常用用法
exists中子查询结果集非空,则exists子查询返回true。如果exists子查询结果集为空,则exists子查询返回false。在平常的开发工作中,经常会用到exists,那么它应该如何使用呢?原创 2023-03-20 21:23:24 · 3183 阅读 · 0 评论 -
java jdk 1.8中lambda表达式常用方法
在平常的开发工作当中,经常需要对数组进行一些操作,比如根据某个属性值分组,取出某个属性值作为数组等。那么,jdk 1.8为我们提供了便捷的方法,我们应该怎么使用呢?1:filter:根据某个属性值过滤数据:例如:过滤出来班级编号为 01 的学生public static void main(String[] args) { List<StuentVO> list = new ArrayList<>(); StuentVO vo...原创 2022-04-09 21:26:38 · 1143 阅读 · 0 评论 -
==和equals方法
在我们平常的开发工作中,需要经常判断两个变量是否相等。经常会使用到==和equals方法,那么,这两个比较有什么区别呢?今天,主要写写其用法。1:基本类型:int类型的比较,示例如下:int a = 6;int b = 6;if (a==b) { System.out.println("a和b相等");}long类型的比较,示例如下:long a = 6659;long b = 6659;if (a==b) { System.out.println("a和b相等")原创 2020-08-08 14:19:36 · 306 阅读 · 0 评论 -
Java常见正则表达式的写法
在平常的开发中,为了校验一些常见的业务逻辑。比如手机号、邮箱之类的,这个时候就需要正则表达式。那么,常见的正则表达式应该怎么写呢?1:匹配给定的一个字符:String str = "X";String regex = "[XYZ]";boolean flag = str.matches(regex);2:匹配字母:匹配6-10任意大小写字母:String str = "Xgdhuhg";String regex = "[a-zA-Z]{6,10}";boolean flag =原创 2020-08-01 21:32:42 · 1471 阅读 · 0 评论 -
面试必问:mybatis精选面试题总结
在平常的开发工作中,经常需要对数据库操作。现在好多项目中都会使用mybatis框架。那么,mybatis主要的知识点都有哪些呢?今天,写下mybatis常见面试题总结。1:mybatis中#和$的区别?#可以有效的防止sql注入,$不能防止sql注入;#预编译是采用占位符的方式?,$则是字符串值替换。2:mybatis中resultType和resultMap的区别?resultType和resultMap都是返回对象的,resultType实体类字段必须和数据库字段一一对应,而result原创 2020-08-01 17:41:24 · 1216 阅读 · 0 评论 -
Java基本数据类型之间的相互转换
在平常的开发工作中,我们经常会进行基本数据类型的转换。那么,常用的数据类型有哪些呢?常用的数据之间应该怎么之间进行转换呢?常用的基本数据类型:byte、short、char、int、long、boolean、double、float。整型:byte:1字节 short:2字节 int :4字节 long:8字节浮点型:float :4字节 double:8字节布尔型:boolean :1/8字节字符串:char:2字节1:int和String之间...原创 2020-08-01 13:29:41 · 593 阅读 · 0 评论 -
mysql中子查询的用法
在平常的开发工作中,我们有的时候可能会用到子查询。那么,子查询应该怎么写呢?今天,写下mysql中子查询的写法。常见用法1:SELECT * FROM USER u WHERE u.`name` IN (SELECT o.name FROM orders o) ;常见用法2:SELECT * FROM USER u WHERE u.`uid` = (SELECT o.`oid` FROM orders原创 2020-07-26 21:21:28 · 1376 阅读 · 0 评论 -
Date和字符串之间的转换:SimpleDateFormat
在我们的开发工作中,我们经常需要对字符串和Date之间进行转换。那么,字符串和Date之间应该怎么转换呢?今天,写下字符串时间和Date日期之间转换。1:Date日期转字符串: /** * 将Date转换为字符串 * @param args */ public static void main(String[] args) { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat(原创 2020-07-26 19:40:56 · 699 阅读 · 0 评论 -
数据库中union和union all的用法比较
我们在平常的开发工作中,需要经常进行数据的查询。所以经常会使用到union和union all,那么这两种用法有什么区别呢?今天主要写下两者的区别?1:union:SELECT * FROM USER u WHERE u.`addr` LIKE '%宝鸡市%'UNIONSELECT * FROM USER u WHERE u.`username` LIKE '%阿杜%'查询结果如下图所示:2:union all:SELECT * FROM USER u WHERE u.`..原创 2020-07-26 14:25:49 · 702 阅读 · 0 评论 -
mysql主键自增和oracle中主键使用序列
在我们的开发工作中,我们经常需要进行数据的插入,那么数据的插入如何保证每条数据有个唯一的标识呢?这个时候,我们就需要主键,主键是不可重复的。那么,在mysql和oracle中,我们需要怎么保证插入的数据不重复呢?在平常的需求开发中,我们经常会使用到mybatis框架。那么,今天就结合mybatis框架,来说说怎么插入主键?怎么保证每条数据的唯一。1:mysql中使用mybatis的写法:<insert id="insertStudent" parameterType="com.exam原创 2020-07-26 14:05:30 · 676 阅读 · 0 评论 -
面试常问:redis面试常问知识点(上)
在平常开发工作中,经常会用到redis。面试的时候,redis也会经常问到。那么,redis的基本用法及知识点都有哪些呢?1:为什么要使用Redis?Redis可以存储的数据类型丰富,将数据存储在内存中,读取快。像很少改动的又经常查询的,特别适合存储在Redis中。2:Redis有几种数据存储类型?分别是什么?redis是一个存储key-value内存数据库。可以存储五种数据类型。分别是String、Hash、List、Set、Sorted Set。1):String类型的操作:.原创 2020-07-19 19:00:12 · 1409 阅读 · 0 评论 -
浅谈mvc架构三层模式的理解
在我们的开发工作中,我们经常会听到mvc架构这个词语,好多项目也是用到的mvc架构。那么,mvc是什么意思呢,具体有什么作用呢?mvc中:m表示mode(模型)、v表示view(视图)、c表示controller(控制器)。view主要使用html、jsp等完成页面的展示。执行流程:用户在页面点击按钮,进行请求,请求传到controller,controller进行入参处理及一系列校验,然后传到model,进行业务逻辑处理,返回相应的数据结果给controller,controller再将结果返回给原创 2020-07-19 16:11:50 · 543 阅读 · 0 评论 -
浅谈作为一名软件开发,应该学什么、怎么学、怎样更好的提高自己?
作为一名软件开发,自己的感觉就是需要学的东西挺多的。工作中,会用到很多的技术,有些技术,可能看几篇技术博客之类的,就可以学会基本运用,学起来当然就需要更多的时间了。本人两年多Java开发经验,浅谈一下自己的学习感受吧,如果有不正确的地方,欢迎大佬指出。可能很多小伙伴工作中都会有这样的困惑,一个方面就是技术多,不知道...原创 2020-07-05 10:51:22 · 2362 阅读 · 0 评论 -
linux常用基本命令,开发必备的技能,查看进程、线程等(下)
在前面的文章中写过linux下查看文件,目录等常用的基本命令。如果想要了解的小伙伴,可以看下这篇文章,里面写到了基本命令:https://blog.csdn.net/qq_36833673/article/details/106441924。今天,主要写下项目部署到服务器之后,一些需要使用的基本命令。好了,下面开始正题了。1:根据关键字查看某个运行的进程:ps -ef | grep tomcat 2:查看当前所有运行的进程:ps aux | less,按q退出当前模式3...原创 2020-07-04 13:39:08 · 567 阅读 · 0 评论 -
面试常问:重载和重写的区别及联系
在平常开发工作中,我们经常会用到重写和重载。重写和重载的区别,面试中也会经常问到,那么具体有什么区别呢? 1:重写发生在父子类中,重载发生在同一个类中。比如有个父类,里面定义了某些方法,当在子类中继承父类时,重写父类的方法。 2:重写方法名、参数类型和个数一致,重载时方法名相同,参数个数、类型不一致。 3:重写主要还有的两个特点:重写的方法抛出的异常不能比父类的大,重写方法的访问修饰符范围比父类的大或者相等。 4:重载是编译期多态,重写是运行...原创 2020-06-28 06:57:57 · 2410 阅读 · 0 评论 -
面试必问知识点:常用集合Map、List和Set基本用法区别及联系
在平常开发工作中,经常会用到集合,集合的种类很多。常用的集合有Map、List、Set等,那么它们之间有什么区别及联系呢?好了,下面开始正题咯!先看一张集合的关系图:Collection集合接口下面有List、Set和Queue,Map为独立的接口。List下面分为ArrayList、LinkedList和Vector;Set下面分为HashSet、TreeSet和LinkedHashSet;Queue下面有PriorityQueue;Map下面分为HashMap、TreeMap、HashTab原创 2020-06-26 17:44:25 · 615 阅读 · 0 评论 -
面试经常问HashMap,基本用法及四种遍历方式
在平常工作中,我们经常用到HashMap,我们主要用来传递参数,在其中可以存储key、value的值,然后在每层之间传递。今天,写下他的主要知识点及用法。1:用HashMap存值,代码如下:import java.util.HashMap;public class Demo { public static void main(String[] args) { HashMap<String,String> map = new HashMap();原创 2020-06-25 14:21:37 · 638 阅读 · 1 评论 -
Springboot面试常问:Springboot中常用注解用法及主要作用
在平常开发工作中,我们经常需要用到注解,springboot中注解很多,合理正确的使用注解,可以提高我们的开发效率。今天,主要写下springboot中常用的注解。1:@SpringBootApplication:@SpringBootApplication是springboot中最核心的注解,写在启动类的上面。它是@Configuration、@EnableAutoConfiguration和@ComponentScan的组合注解。2:@RestController:主要作用于Contro原创 2020-06-21 14:34:15 · 2393 阅读 · 2 评论 -
面试常问:String、StringBuffer和StringBuilder的区别及联系
在平常开发工作中,经常会用到字符串,常用的有String、StringBuffer、StringBuilder,那么既然这三种都是字符串,那么它们有什么区别及联系呢?1:String:我们经常说String是不可变的,那么为什么它是不可变的呢?我们看下它的源码:public final class String我们可以看到String类上面有final关键字修饰,所以String类是不可变的,对象一旦创建,其中包含的内容不可更改。所以,平常开发工作中,需要一个字符串内容不变的对象时,用作跟原创 2020-06-20 13:12:39 · 1379 阅读 · 1 评论 -
Lombok中的@Data注解,减少实体类代码书写
在平常的开发工作中,实体类中经常需要写get、set、toString方法等,类的属性少了还好,有的实体类几十个属性,get和set方法写完,书写不方便,代码看起来也不够整洁,现在利用Lombok可以轻松实现了,Lombok项目是一个Java库,就是我们引入lombok依赖,可以减少代码的书写,好了,下面开始正题。首先看看以前不用lombok的时候,实体类代码如下:public class student { private String studentId; private .原创 2020-06-20 11:16:38 · 1469 阅读 · 0 评论 -
mybatis中resultType和resultMap的区别及联系
在mybatis的mapper.xml中,我们需要定义查询结果返回类型,常见的属性有resultType和resultMap,那么这两者有什么区别和联系呢。实体类student类代码如下:package com.example.demo.entity;public class student { private String studentId; private String stringName; public void setStudentId(String .原创 2020-06-14 15:59:56 · 1520 阅读 · 0 评论 -
实现多线程的两种方式:继承Thread类和实现Runnable接口
程在我们的工作中需要经常使用,合理的运用线程,可以提高系统处理速度。今天,总结下线程的基本使用及常见的面试问题。 1:什么是线程? 提起线程,可能很多小伙伴会想到进程。那么什么是进程,线程和进程又有什么区别呢?进程是程序执行过程中的基本单位,线程是程序执行的最小单位。通俗易懂的说,进程就好比一个水坝,每个排水口就好比一个线程。 2:线程的状态 线程有五种状态,分为新建、就绪、运行、阻塞和死亡。 3:实现线程的方式 1)继承T...原创 2020-06-06 21:34:20 · 1780 阅读 · 1 评论 -
spring面试常见问题总结(上)
在面试中,经常会问到spring相关的问题,bean的作用域及生命周期,AOP,IOC,事物管理等一系列问题,平常开发可能经常用到,但是面试的时候,可能感觉自己回答的不尽人意,今天,总结了一下spring的主要知识点及面试经常遇到的问题。...原创 2020-06-06 15:51:19 · 1302 阅读 · 1 评论 -
面试经常问冒泡排序,排序算法之冒泡排序总结
在工作中,可能经常需要对某个数组进行排序,这个时候,是时候展示排序算法了。常见的排序算法很多,像选择排序、冒泡排序、快速排序等等。今天,主要总结下冒泡排序算法,面试中,可能也会经常问到,笔试写冒泡算法等。 假如有一个数组:{23,2,15,68,99,17,36,75}; 冒泡排序的思想: 第1次比较:将第一个数和第二个数进行比较,如果第一个数字大于第二个数字,则进行位置交换; 第2次比较:将第二个数和第三个数进行比较,如果第二个数字大...原创 2020-05-30 13:06:13 · 720 阅读 · 1 评论 -
json字符串及json对象之间互相转换
在开发中经常遇到json对象及json字符串之间的转换,今天,总结一下三种不同jar包下的互相转换。1:导入com.alibaba.fastjson.JSONObject,代码实现如下:import com.alibaba.fastjson.JSONObject;public class Test2Controller { public static void main(String[] args) { JSONObject jsonObject = new JS原创 2020-05-20 16:27:01 · 1214 阅读 · 1 评论