天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。

谈谈深拷贝和浅拷贝的区别

点击“终码一生”,关注,置顶公众号 每日技术干货,第一时间送达!   深拷贝和浅拷贝最根本的区别在于是否真正获取一个对象的复制实体,而不是引用。 假设B复制了A,修改A的时候,看B是否发生变化: 如果B跟着也变了,说明是浅拷贝,拿人手短!(修改堆内存中的同一个值) 如果B没有改变,说明是深拷贝,自食其力!(修改堆内存中的不同的值) 浅拷贝(sha……继续阅读 »

往事如烟 2周前 (09-04) 46浏览 0评论 0个赞

再不用担心面试官问 HashTable 和 HashMap 的区别了

点击“终码一生”,关注,置顶公众号 每日技术干货,第一时间送达!   1、HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。 HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包……继续阅读 »

往事如烟 2周前 (09-04) 73浏览 0评论 0个赞

@Autowired 和 @Resource 区别?

点击上方“终码一生”,选择“加为星标” 第一时间获取技术干货!   1、介绍 今天使用Idea写代码的时候,看到之前的项目中显示有warning的提示,去看了下,是如下代码? @Autowire private JdbcTemplate jdbcTemplate; 提示的警告信息 Field injection is not r……继续阅读 »

往事如烟 1个月前 (08-16) 110浏览 0评论 0个赞

Java中金额处理那点事儿

1、java对金额处理 众所周知,程序在处理货币金额类数据时,最关键的是保持精度,丢失精度就丢失了准确性,这是不可接受的,银行存蓄,股票,基金都是如此。java处理金额,一定不能用double和float类型,二进制无法准确表达十分之一,就像十进制无法准确表达三分之一一样。处理金额要使用Bigdemical类。 API 构造器: 构造器……继续阅读 »

往事如烟 3个月前 (07-06) 166浏览 0评论 0个赞

Java 中 long 是不是原子操作?

点击上方“终码一生”,选择“加为星标” 第一时间获取技术干货!   1、Java中long和double的原子性 java中基本类型中,long和double的长度都是8个字节,32位(4字节)处理器对其读写操作无法一次完成,那么,JVM,long和double是原子性的吗? JVM中对long的操作是不是原子操作? 首先,通过一段……继续阅读 »

往事如烟 3个月前 (07-04) 165浏览 0评论 0个赞

Java 必会的工具库,让你的代码量减少90%

点击上方“终码一生”,选择“加为星标” 第一时间获取技术干货! 工作很多年后,才发现有很多工具类库,可以大大简化代码量,提升开发效率,初级开发者却不知道。而这些类库早就成为了业界标准类库,大公司的内部也都在使用,如果刚工作的时候就有人告诉我使用这些工具类库,该多好! 下面,一起看一下有哪些工具类库你有用过,哪些是你没有用过的。 1、Java自带工具方法……继续阅读 »

往事如烟 3个月前 (06-26) 132浏览 0评论 0个赞

Java 不可重入锁和可重入锁区别

点击上方“终码一生”,选择“加为星标” 第一时间获取技术干货! 首先我们这里提到的锁,是把所需要的代码块,资源,或数据锁上,在操作他们的时候只允许一个线程去做操作。最终结果是为了保证cpu计算结果的正确性。 对不可重入锁的理解: public class Test{      Lock lock = new Lock();      public vo……继续阅读 »

往事如烟 3个月前 (06-26) 142浏览 0评论 0个赞

Mybatis 框架下 SQL 注入攻击的 3 种方式

点击上方“终码一生”,选择“加为星标” 第一时间获取技术干货! 1、前言 SQL注入漏洞作为WEB安全的最常见的漏洞之一,在java中随着预编译与各种ORM框架的使用,注入问题也越来越少。新手代码审计者往往对Java Web应用的多个框架组合而心生畏惧,不知如何下手,希望通过Mybatis框架使用不当导致的SQL注入问题为例,能够抛砖引玉给新手一……继续阅读 »

往事如烟 3个月前 (06-22) 149浏览 0评论 0个赞

告别分页,MyBatis 流式查询,真心强大!

点击上方“终码一生”,选择“加为星标” 第一时间获取技术干货! 1、基本概念 流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器,应用每次从迭代器取一条查询结果。流式查询的好处是能够降低内存使用。 如果没有流式查询,我们想要从数据库取 1000 万条记录而又没有足够的内存时,就不得不分页查询,而分页查询效率取决于表设计,如果设计的不好,就无法执行高效……继续阅读 »

往事如烟 3个月前 (06-21) 235浏览 0评论 0个赞

Apache Dubbo3.0 正式发布,他还能再乘风破浪吗?

点击上方“终码一生”,选择“加为星标” 第一时间获取技术干货! 1、前言 纵观中国开源历史,你真的没法找到第二个像 Dubbo 一样自带争议和讨论热度的开源项目。 一方面,2011 年,它的开源填补了当时生产环境使用的 RPC 框架的空白,一发布就被广泛采用;另一方面,它经历了停止维护、重启维护后捐献给 Apache 基金会、接着又以顶级项……继续阅读 »

往事如烟 3个月前 (06-21) 361浏览 0评论 0个赞

Mybatis-Plus 条件构造器 queryWrapper 学习

点击上方“终码一生”,选择“加为星标” 第一时间获取技术干货! 1、queryWrapper是什么 queryWrapper是mybatis plus中实现查询的对象封装操作类,他的层级关系如下: 在上面的图片中,可以看到有一下类和接口。 Wrapper:条件构造抽象类,最顶端父类,抽象类中提供4个方法西面贴源码展示 AbstractWrapp……继续阅读 »

往事如烟 3个月前 (06-19) 192浏览 0评论 0个赞

HashCode() 的返回值到底是不是对象内存地址?

点击上方“终码一生”,选择“加为星标” 第一时间获取技术干货! 1、基于OpenJDK 8 一直以为Java Object.hashCode()的结果就是通过对象的内存地址做相关运算得到的,但是无意在网上看到有相应的意见争论,故抽时间从源码层面验证了剖析了hashCode的默认计算方法。 先说结论:OpenJDK8 默认hashCode的计算方法……继续阅读 »

往事如烟 3个月前 (06-19) 117浏览 0评论 0个赞