
Java
鲨鱼辣椒灬
这个作者很懒,什么都没留下…
展开
-
七种常用的设计模式
常用的七种设计模式:单例模式、工厂方法模式、抽象工厂模式、代理模式、装饰器模式、观察者模式和责任链模式。转载 2023-07-31 11:31:39 · 1155 阅读 · 0 评论 -
2个时间中间隔着的所有日期(天)
2个时间中间隔着的所有日期(天)原创 2023-06-01 14:40:14 · 134 阅读 · 0 评论 -
入参为空判断
入参为空判断原创 2023-06-01 14:27:08 · 271 阅读 · 0 评论 -
Java的List集合根据实体类的属性去重数据
Java的List集合根据实体类的属性去重数据转载 2023-04-25 14:07:07 · 867 阅读 · 1 评论 -
list 迭代器删除
list 迭代器删除原创 2023-02-21 17:58:38 · 346 阅读 · 0 评论 -
Java 实体类Builder使用
Java 实体类Builder使用原创 2023-02-09 15:48:45 · 1291 阅读 · 0 评论 -
Java 数字补全
Java 数字补全原创 2023-02-08 10:57:17 · 308 阅读 · 0 评论 -
创建线程池执行java代码逻辑
java 线程池原创 2022-11-02 15:55:27 · 261 阅读 · 0 评论 -
Calendar 获取当年工作日
Calendar 获取当年工作日转载 2022-10-08 17:22:28 · 373 阅读 · 0 评论 -
判断当前时间为星期几
判断当前时间为星期几转载 2022-08-25 09:42:20 · 1398 阅读 · 0 评论 -
GET和POST两种基本请求方法的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻轻松松的给出了一个“标准答案”:GET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookmark,转载 2022-03-10 11:24:53 · 342 阅读 · 0 评论 -
一文读懂线程池的工作原理(故事白话文)
前言本文以程序员做需求的例子,比喻线程池的工作过程。以故事白话的方式展开,跟大家阐述线程池工作原理,以方便大家更好理解线程池,谢谢阅读哈~什么是线程池?什么是核心线程?什么是阻塞队列?什么是非核心线程?什么是空闲存活时间?什么是饱和策略?线程池工作原理流程图&源码概览什么是线程池?「小田螺」 勤勤恳恳,任劳任怨,夜以继日地工作着。终于有一天,他晋升为公司的主管,负责公司日常业务。风轻云淡的一天,老板找到了小田螺,“我们公司员工越来越多了,我想搞个转载 2021-11-26 11:14:02 · 199 阅读 · 2 评论 -
validate中@NotNull和@NotEmpty和@NotBlank的区别
验证框中@NotEmpty、@NotBlank、@NotNull很容易混淆,本文主要介绍一下各自的不同。1.@NotNull:不能为null,但可以为empty。2.@NotEmpty:不能为null,而且长度必须大于03.@NotBlank:只能作用在String上,不能为null,而且调用trim()后,长度必须大于01.String name = null; @NotNull: false@NotEmpty:false @NotBlank:false 2.String n转载 2021-06-17 10:02:14 · 767 阅读 · 0 评论 -
过滤器与拦截器详解
过滤器详解依赖于servlet容器,实现基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的数据,过滤器一般用于登录权限验证、资源访问权限控制、敏感词汇过滤、字符编码转换等等操作,便于代码重用,不必每个servlet中进行冗余操作。Java中的Filter并不是一个标准的Servlet ,它不能处理用户请求,也不能对客户端生成响应。 主要用于对HttpServletRequest 进行预处理,也可以对Htt转载 2021-03-30 13:50:15 · 1886 阅读 · 0 评论 -
转发与重定向
转发是服务器行为,重定向是客户端行为。转发耗时比重定向少。转发——>客户浏览器发送HTTP请求——>web服务器接受请求——>调用内部一个方法在容器内部完成请求处理和转发动作——>再将转发跳转到的那个网页资源返回给客户; 转发只能在同一个容器内完成 转发的时候浏览器地址是不会变的,在客户浏览器里只会显示第一次进入的那个网址或者路径,客户看不到这个过程,只是得到了想要的目标资源。转发行为浏览器只做了一次请求。(转发只能跳转一次)重定向——>客户浏览器发送HTTP请求——&g转载 2021-03-29 15:29:40 · 159 阅读 · 0 评论 -
hashcode()和equals()的作用、区别、联系
介绍一hashCode()方法和equal()方法的作用其实一样,在Java里都是用来对比两个对象是否相等一致,那么equal()既然已经能实现对比的功能了,为什么还要hashCode()呢?因为重写的equal()里一般比较的比较全面比较复杂,这样效率就比较低,而利用hashCode()进行对比,则只要生成一个hash值进行比较就可以了,效率很高,那么hashCode()既然效率这么高为什么还要equal()呢?因为hashCode()并不是完全可靠,有时候不同的对象他们生成的hashcode也会一转载 2021-02-23 08:56:41 · 163 阅读 · 0 评论 -
局部变量和成员变量的区别
局部变量和成员变量的区别:1.定义的位置不一样【重点】局部变量:在方法的内部成员变量:在方法的外部,直接写在类当中2.作用范围不一样【重点】局部变量:只有方法当中才可以使用,出了方法就不能再用了成员变量:整个类都可以通用3.默认值不一样【重点】局部变量:没有默认值,如果要想使用,必须手动进行赋值成员变量:如果没有赋值,会有默认值,规则和数组一样4.内存的位置不一样(了解)局部变量:位于栈内存成员变量:位于堆内存5.生命周期不一样(了解)局部变量:随着方法进栈而诞生,随着方法出栈而转载 2020-12-29 14:12:15 · 219 阅读 · 0 评论 -
Java获取unix时间戳
String dateStr = Long.toString(System.currentTimeMillis()/1000L);转自:https://blog.youkuaiyun.com/u010999809/article/details/94565770转载 2020-07-14 10:42:43 · 1939 阅读 · 0 评论 -
读取刚插入数据库的数据Id和定时任务
XXX : 为你要添加的实体类的信息int insert = xxxMapper.insert(XXX);这行代码为Mybatis生成工具的添加代码例如Student student = new Student ();student .setName();student .setAge();int insert = xxxMapper.insert(student ); ...原创 2020-02-27 19:56:07 · 221 阅读 · 0 评论 -
[java] 反射和多态实现原理详解以及对比
反射和多态事实上,反射和多态这两种技术并无直接联系,之所以把它们放在一起说,是因为,在Java技术体系中所提供的能够让我们在运行时识别对象和类的类型信息的方式,一共有两种:即反射和多态关键技术RTTIRTTI,即run-Time Type Identification运行时类型判定,它的作用是在我们不知道某个对象的确切的类型信息时,即某个对象是哪个类的实例的时候,可以通过RTTI相关的机制帮助...转载 2020-01-02 14:22:30 · 190 阅读 · 0 评论 -
java异常机制详解
概述java的基本概念是:结构不佳的代码不能运行。发现错误的理想时机是在编译阶段,也就是在试图运行程序之前。然而编译器并不能找出所有的错误,余下的问题必须在运行期间解决。异常情形是指阻止当前方法或者作用域继续执行的问题。在这里一定要明确一点:异常代码某种程度的错误,尽管Java有异常处理机制,但是我们不能以“正常”的眼光来看待异常,异常处理机制的原因就是告诉你:这里可能会或者已经产生了错误,...转载 2019-12-31 15:23:13 · 126 阅读 · 0 评论 -
[Java] String类深度解析
本文基于jdk1.8概述String这个类,在java的世界里无人不知无人不晓,并且其实现原理也一直在更新,知道的人多,真正掌握的不多,这篇博客会尽量深入的解析String类的方方面面。从java的体系角度来讲,String类并不像Object类,Class类那样在一些关键技术以及特性,如继承,虚拟机类加载机制上发挥着重要作用。String对象是不可变的。String类中每一个看起来会修改S...转载 2019-12-30 19:05:53 · 235 阅读 · 0 评论 -
[java] static关键字总结
概述static 在java体系里的地位:java语言的一个修饰符,属于非访问修饰符,所谓访问修饰符就是控制访问权限的修饰符,如public,protected,private,default再来看看static翻译成中文的意思:静止的; 静电的; 不变的; [物] 静力的。显而易见,在程序设计语言中最准确的意思应该取的意思是 静止的,不变的较为准确.一般来说,当创建类时,就是在描述那个类的...转载 2019-12-30 14:53:15 · 108 阅读 · 0 评论 -
[java] 关于main方法的一切
概述Java中的main方法,是一个java应用程序的入口,无论一个java的应用多么复杂庞大,或是多么的小,只要他是一个可以运行的java程序那么必然就要有一个main方法。main方法的定义格式通常固定如下:public static void main(String[] args){ }我们可以在方法签名当中加上final关键字,也可以修改方法的参数的定义方式,但无论如何,一个m...转载 2019-12-30 10:19:50 · 159 阅读 · 0 评论 -
java中的语法糖
概述在博客java重要基础知识汇总中,我们提到了内部类是一种java的语法糖。事实上java除了内部类还提供了另外一些语法糖,用于方便程序员的代码开发。但是值得注意的是,语法糖对代码不会带来任何实质性的功能上的变化。他仅仅是编译器做的一些’把戏’.语法糖在各种编程语言中几乎都存在。语法糖:泛型与类型擦出泛型是java5开始支持的一项特性。其本质是参数化类型的应用,也就是说要被用于操作的数据类...转载 2019-12-30 10:01:58 · 132 阅读 · 0 评论 -
java重要基础知识汇总
关于java语言设计理念下面的知识是关于java语言从设计角度出发的一些知识点。抽象类与接口的区别是什么首先来看看接口的定义:接口,在JAVA编程语言中是一个抽象类型,主要是抽象方法的集合,接口中的变量定义必须为public static final类型。接口通常以interface来声明。抽象类: 从面向对象的角度来讲,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样,并不是 ...转载 2019-12-20 20:30:32 · 274 阅读 · 0 评论 -
[Java基础]StringUtils.join()方法与String.join()方法的使用
StringUtils.join()和String.join()用途:将数组或集合以某拼接符拼接到一起形成新的字符串。1.StringUtils.join()方法:(1)使用前需先引入common-lang3的jar包,可去官网下载:apache官网下载页面(2)方法如下图:(3)基本上此方法需传入2个参数,第一个参数是传入一个任意类型数组或集合,第二个参数是拼接符。 ...转载 2019-11-28 09:33:16 · 640 阅读 · 0 评论 -
Session是怎么实现的?存储在哪里?
为什么有session?首先大家知道,http协议是无状态的,即你连续访问某个网页100次和访问1次对服务器来说是没有区别对待的,因为它记不住你。 那么,在一些场合,确实需要服务器记住当前用户怎么办?比如用户登录邮箱后,接下来要收邮件、写邮件,总不能每次操作都让用户输入用户名和密码吧,为了解决这个问题,session的方案就被提了出来,事实上它并不是什么新技术,而且也不能脱离http协议以及...转载 2019-11-20 12:17:12 · 206 阅读 · 0 评论 -
面试官,不要再问我三次握手和四次挥手
三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题。很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了。见过比较典型的面试场景是这样的:面试官:请介绍下三次握手求职者:第一次握手就是客户端给服务器端发送一个报文,第二次就是服务器收到报文之后,会应答一个报文给客户端,第三次握手就是客户端收到报文后再给服务器发送一个报文,三次握手就...转载 2019-10-15 11:44:32 · 131 阅读 · 0 评论 -
java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一
对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。本文参考java 泛型详解、Java中的泛型方法、 java泛型详解1.概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参...转载 2019-08-26 11:23:37 · 358 阅读 · 0 评论 -
JAVA中静态块、静态变量加载顺序详解
一般顺序:静态块(静态变量)——>成员变量——>构造方法——>静态方法1、静态代码块(只加载一次) 2、构造方法(创建一个实例就加载一次)3、静态方法需要调用才会执行,所以最后结果没有e输出结果表明,程序的执行顺序为:如果类还没有被加载:1、先执行父类的静态代码块和静态变量初始化,并且静态代码块和静态变量的执行顺序只跟代码中出现的顺序有关。2、执行子类的静...转载 2019-08-22 13:43:26 · 1402 阅读 · 0 评论 -
J2EE常用的设计模式,说明工厂模式
Java中的23种设计模式:1.Factory(工厂模式)2.Builder(建造模式)3.Factory Method(工厂方法模式)4.Prototype(原始模型模式)5.Singleton(单例模式)6.Facade(门面模式)7.Adapter(适配器模式)8.Bridge(桥梁模式)9.Composite(合成模式)10.Decorator(装饰模式)11.Fly...原创 2019-08-12 13:52:19 · 356 阅读 · 0 评论 -
高并发解决方案
高并发和大流量解决方案高并发架构相关概念 并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行;在互联网时代,所讲的并发,高并发通常是指并发访问,也就是在某个时间点,有多少个访问同时到来。通常一个系统的日PV在千万以上,有可能是一个高并发的系统。有的公司完全不走技术路线,全靠机器堆,这不...转载 2019-08-09 11:03:41 · 243 阅读 · 0 评论 -
冒泡排序讲解
临近的两个元素进行比较,然后互换顺序,一趟走完之后最大的或者最小的元素排在第一个或者最后一个位置(最大或者最小看实际需求),给的的感觉就是一个小泡泡一直冒啊冒,所以有个好听的名字叫冒泡算法举个例子,有数组[10, 1, 18, 30, 23, 12, 7, 5, 18, 17],我们使用从小到大的排序方法第一趟,外排下标为0,对应的值为10内排开始①下标0和下标1的值进行比较。10和1比,...转载 2019-08-08 10:08:20 · 184 阅读 · 0 评论 -
Java内部类
成员内部类成员内部类是最普通的内部类,它的定义为位于另一个类的内部成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员)。不过要注意的是,当成员内部类拥有和外部类同名的成员变量或者方法时,会发生隐藏现象,即默认情况下访问的是成员内部类的成员。如果要访问外部类的同名成员,需要以下面的形式进行访问:虽然成员内部类可以无条件地访问外部类的成员,而外...原创 2019-07-29 14:05:04 · 119 阅读 · 0 评论 -
序列化Serializable
什么是序列化?序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。为什么要序列化对象把对象转换为字节序列的过程称为对象的序列化把字节序列恢复为对象的过程称为对象的反序列化什么情况下需要序列化?当我们需要把对象的状态信息通过网络进行传输,或者需要将对象的状态信息持久化,以便将来使用时都需要把...原创 2019-08-28 17:05:21 · 164 阅读 · 0 评论 -
Java多线程详解
案例那么,首先我就举一个电影院卖票的例子来模拟多线程。复仇者联盟4上映的那段时间电影院那可是门庭若市啊,那么我们假设现在有一个电影院正在上映复仇者联盟4,共有100张票,而它有三个售票窗口,我们来模拟一下这个电影院的售票情况。首先创建SellTicket类继承Thread:public class SellTicket extends Thread { @Override public...转载 2019-09-05 16:00:48 · 301 阅读 · 0 评论 -
hibernate validator异常
实体类改为作者:鲨鱼辣椒灬来源:优快云原创 2019-09-09 19:06:36 · 570 阅读 · 0 评论 -
if()中的continue
continue语句用于循环语句中,作用是不执行循环体剩余部分,直接进行下次循环。常见的就是与if连用。比如下面这个程序:int main(){ int i; for(i = 0; i < 10; i ++) { if(i%2==0) continue;//如果i为偶数 调用continue; printf("%d,", i);...原创 2019-09-10 10:54:28 · 54835 阅读 · 4 评论 -
轻轻松松学递归
概念程序调用自身的编程技巧称为递归(Recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边...转载 2019-09-17 14:47:13 · 235 阅读 · 0 评论