Java开发

总计 41 页,当前第 1 页
Java开发

两个对象用equals方法比较为true,它们的HashCode值相同吗?

两个对象用equals方法比较为true,它们的Hashcode值相同吗?这个要分两种情况回答?第一种情况答:假如这个类没有重写equals方法,如果两个对象值相同(x.equals(y) == true),那么它们的hashCode值一定要相同;第二种情况答:如果重写equals方法,没有重写hashCode的方法,就会出现不相等的情况。Java 对于eqauls方法和hashCode方法是这样规定的:equals...
2个月前 (05-10) 阅读(254) 赞一个 (2) 评论() 链接直达
Java开发

常用的五种单例模式实现方式

单例模式的关键点构造方法不对外开放,为private确保单例类只有一个对象,尤其是多线程模式下通过静态方法或枚举返回单例对象确保单例类在反序列化是不会重新创建新的对象单例模式的五种实现方式1、饿汉式 (线程安全,调用效率高,但是不能延时加载)public class Singleton1 {    /*     * 饿汉式是...
2个月前 (05-10) 阅读(192) 赞一个 (0) 评论() 链接直达
Java开发

GitHub上fork原项目,保持和原作者同步的代码更新

一、场景在GitHub上我们会去fork别人的一个项目,这就在自己的Github上生成了一个与原作者项目互不影响的副本,自己可以将自己Github上的这个项目再clone到本地进行修改,修改后再push,只有自己Github上的项目会发生改变,而原作者项目并不会受影响,避免了原作者项目被污染。但经过一段时间,有可能作者原来的代码变化很大,你想接着在他最新的代码上修改,这时你需要合并原作者的最新代码过来,让你的项目变成最新的。二、解决方法...
2个月前 (05-08) 阅读(211) 赞一个 (2) 评论() 链接直达
Java开发

Spring Session 的两种刷新模式 RedisFlushMode

Spring session 对于什么时候将session 中的数据同步到redis 中提供了两种模式,一种是当响应结束后同步,另一种种是实时同步,默认时第一种。两种方式各有特点,这个根据自己的需要进行选择即可,不确定的话就使用默认。RedisFlushMode1、两种模式ON_SAVE:只有当 SessionRepository.save(Session)方法被调用时,才会将session中的数据同步到redis中。在web 应用中,...
2个月前 (05-07) 阅读(211) 赞一个 (3) 评论() 链接直达
Java开发

SpringBoot 分布式 Session 共享解决方案

SpringBoot 分布式 Session 共享解决方案分布式Session一致性?说白了就是服务器集群Session共享的问题,集群情况下,session保存在各自的服务器的tomcat中,当分发地址至不同服务时,导致sesson取不到,就会产生session共享问题。Session的作用?Session 是客户端与服务器通讯会话跟踪技术,服务器与客户端保持整个通讯的会话基本信息。客户端在第一次访问服务端的时候,服务端会响应一个se...
2个月前 (05-07) 阅读(257) 赞一个 (0) 评论() 链接直达
Java开发

Redis 在高并发条件下缓存穿透问题处理

一、使用场景我们在日常的开发中,经常会遇到查询数据列表的问题,有些数据是不经常变化的,如果想做一下优化,在提高查询的速度的同时减轻数据库的压力,那么redis缓存绝对是一个好的解决方案。二、需求假设有10000个请求,想达到第一次请求从数据库中获取,其他9999个请求从redis中获取这种效果。三、代码实现1、常规写法public List<UsersDO> getAllUserWithNoPage2()...
2个月前 (04-15) 阅读(362) 赞一个 (4) 评论() 链接直达
Java开发

Java 编程经典案例之兔子繁殖迭代问题

题目有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第6个月的兔子总数为多少?分析首先我们要明白题目的意思指的是每个月的兔子总对数;假设将兔子分为小中大三种,兔子从出生后三个月后每个月就会生出一对兔子,那么我们假定第一个月的兔子为小兔子,第二个月为中兔子,第三个月之后就为大兔子,那么第一个月分别有1、0、0,第二个月分别为0、1、0,第三个月分别为1、0、1,第四个月分别为,1...
3个月前 (03-18) 阅读(320) 赞一个 (2) 评论() 链接直达
Java开发

Java 重载与重写的区别

一、重载(Overload)在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同甚至是参数顺序不同)则视为重载。同时,重载对返回类型没有要求,可以相同也可以不同,但不能通过返回类型是否相同来判断重载。 例如:public class Father {     public static void main(S...
3个月前 (03-16) 阅读(348) 赞一个 (3) 评论() 链接直达
Java开发

Lombok 介绍及详细使用方法示例

一、前言在 Java 中,最常见的封装莫过于 get、set 方法了,无论是 Intellij idea 还是 Eclipse,都提供了快速生成 get、set 方法的快捷键,使用起来很是方便,但其实,我们还有更方便的办法,就是今天的主角:Lombok1、Lombok 是什么?Lombok 是一个通过注解以达到减少代码的Java库,如通过注解的方式减少 get、set,构造方法...
3个月前 (03-12) 阅读(386) 赞一个 (1) 评论() 链接直达
Java开发

Google Guava 快速入门 —— Guava介绍

一、什么是 GuavaGuava 工程包含了若干被 Google 的 Java 项目广泛依赖的核心库,例如:集合【collections】、缓存【caching】、原生类型支持【primitives support】、并发库【concurrency libraries】、通用注解【common annotations】、字符串处理【string processing】、I/O 和 验证等等。所有这些工具每天都在被 Google...
4个月前 (02-26) 阅读(384) 赞一个 (0) 评论() 链接直达
Java开发

Google Guava 快速入门 —— 【基础】Optional 类

Guava Optional 类Optional 用于包含非空对象的不可变对象。 Optional对象,用于不存在值表示null。这个类有各种实用的方法,以方便代码来处理为可用或不可用,而不是检查null值。一、类声明以下是 com.google.common.base.Optional<T> 类的声明:@GwtCompatible(serializable = true) publ...
4个月前 (02-26) 阅读(353) 赞一个 (1) 评论() 链接直达

程序喵 www.ibloger.net

关于本站 站内留言 给我写信 文章订阅