自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 List集合知识点整合

Collection和Collections区别Collection是集合接口,它提供了对集合对象进行基本操作的通用接口方法。是list,set等的父接口。Collections是一个包装类,它包含了各种有关集合操作的静态多态方法。(此类不能被实例化)List与Set区别List,Set都是继承Collection接口List:元素有放入顺序,先放入的元素排在前面,元素可重复Set:元...

2019-10-28 22:47:26 638

原创 Java整型的缓存机制

Java整型的缓存机制关于java整型的缓存机制,其实是在java5中引入的一个有助于节省内存、提高性能的功能。public static void main(String... strings) { Integer integer1 = 3; Integer integer2 = 3; if (integer1 == integer2) ...

2019-09-27 01:01:47 365

原创 String字符串的细节用法总结

对于我们经常使用的字符串对象String,你能知道如下细节么?String a = new String(“a”);创建了多少个对象呢?JVM进行步骤为:在常量池中查找是否有“a”对象有则返回对应的引用引用实例没有则创建对应的实例对象在堆中new一个String对象将对象的地址赋值给a,创建一个引用所以,常量池中没有“a”则创建两个对象,否则创建一个对象,以及创建一个引用字符串的...

2019-09-18 23:16:35 271

原创 java的包装类型与基本类型的区别

包装类型与基本类型的区别是什么那么int和Integer,boolean和Boolean之间有什么区别呢首先,他们的默认值不同,int的默认值为0,boolean的默认值为false,而包装类型都为null;初始化不同 包装类型需要new,基本类型不需要Int.class是原始类型,Integer.class是对象类型,因此会有成员变量和方法。所谓的包装类型,就是把基本类型包装在一个类里...

2019-09-14 22:35:01 491

原创 设计模式-单例模式

单例模式是一个比较简单的设计模式之一。确保某一个类只有一个实例而且自行实例化并向整个系统提供这个实例1,懒汉式,线程不安全public class Singleton { private static Singleton instance; private Singleton(){} public static Singleton getInstance(){ ...

2019-09-05 01:06:45 104

原创 并发编程-生产者and消费者模式

其实这种场景在现实中随处可见,比如一个人负责往盒子中放苹果,一个人负责从盒子中拿出苹果吃,这样就形成了一个生产一个消费的场景。生产者和消费者模式通过分离执行方式进行解耦,简化了开发的难度。我们来实现下上面这个例子:生产者:往一个公共盒子中放入苹果消费者:从这个盒子中取出苹果盒子:盒子数量不能超过5个盒子:public class PublicBox { private in...

2019-09-05 01:06:16 158

原创 自己实现一个简单的hashMap

我们经常使用hashmap,但是hashMap底层实现到底是怎么实现的呢?你知道么?HashMap的实现原理:1,利用key的hashCode重新计算出当前对象在数组中的下标2,存储时,如果出现hash值相同的key,此时有两种情况。(1)如果key相同,覆盖原始值;(2)如果key不同(出现冲突),则将当前key-value放入链表中3,获取值时,直接找到对应hash值对应的下标,再进行...

2019-09-05 01:05:31 1312 1

原创 Java中重写和重载与多态的关系

重写(Override)重写指的是子类对父类可允许访问的方法进行重新编写,两者有相同的名称,相同参数,相同返回值,但是内容却不相同,子类的新方法将覆盖父类中原有的方法。重载(Overload)重载是在同一个类中,方法名称相同,参数不同。这样同名不同参的方法被称为重载。重载VS重写重写规则:1、父类成员发放只能被它的子类重写2、子类方法的访问修饰符一定要大于父类的访问修饰符(publi...

2019-09-05 01:04:35 2688

原创 浅谈面向对象

面向对象与面向过程 说到面向对象,我们最初接触编程都是从面向过程开始,因此我们就不得不说说面向过程与面向对象之间的关系了。什么是面向过程?分析出问题所需要的步骤,每个步骤用函数实现,依次调用即可。也就是说,在进行面向过程编程的时候,只需要线性化的进行,无需考虑那么多,上来先定义一个函数,然后使用诸如if-else、for-each等方式进行代码编写。最简单的实现是直接调用一个函数,如排序中...

2019-09-05 01:04:09 169

原创 强大的CAS机制

相信我们都知道乐观锁的底层是利用了CAS机制实现(如有不懂,请看上篇文章)你真的了解乐观锁、悲观锁吗?Java的CAS底层实现我们先来看看cnt.incrementAndGet();这个自增方法的源码public final intincrementAndGet() { for (;;) {//失败,循环重试 int current = get();...

2019-04-08 21:18:50 265

原创 你真的了解乐观锁、悲观锁吗?

什么是悲观锁,什么是乐观锁;官方解释:悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。乐观锁:总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据官方解释总是这么官方,看了也记不住,那么我们到底该如何了解呢?悲观锁,比如...

2019-04-07 00:46:35 187

翻译 分布式缓存原理

为什么要设计缓存?在高并发的场景下,需要通过缓存来减少数据库的压力,使得大量的访问进来就能够命中缓存只有少量的需要到数据库层。由于缓存基于内存,可支持的并发量远远大于基于硬盘的数据库。所以高并发设计,缓存的设计是必不可少的一环,对于java程序来讲,本地jvm缓存优于集中式的redis缓存缓存能解决什么问题?1,提升性能绝大时候,select是出现性能问题最大的地方。大多数应用都是读多写少...

2019-03-10 20:14:53 1449

原创 如何将List集合中相同属性的对象合并

情景描述在一个list中存放有许多个Person对象,对象属性分别为key与value,现需将对象中key相同的多个value值合并为一个。//实体类Class Person{ private Integer key; private Integer value; //书写get、set方法 public Integer getKey(){ ...

2018-04-01 18:36:18 26209

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除