自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 笔记整理1

说说对ArrayList的理解 最常用的list实现类; 内部是数组实现的; 允许对元素进行快速随机访问; 缺点就是元素之间不能存在间隔; 数组大小不满足时需要增加存储能力,需要复制数据到新的存储空间; 当在中间增加元素时,需要批量的复制和移动,因此适合随机查找和遍历,不适合插入和删除。 说说对Vector的理解: 内部数组实现; 支持线程同步,避免多线程同时写造成的数据不一致,但实现线程同步,消耗不小,所以访问比Arr...

2020-12-02 09:36:40 163

原创 Java IO和NIO 知识点

传统的阻塞IO模型:用户线程会交出CPU等待数据准备完成,所以阻塞非阻塞IO模型:用户线程不会交出CPU,哪怕数据没准备就绪,拿到error,然后继续请求(循环条件是true,所以一直请求,不被阻塞)多路复用的IO模型(常见的、NIO):轮询socket状态,此操作是在内核中,非阻塞的是用户线程轮询,所以效率要比非阻塞的要高。信号驱动的IO模型:注册信号函数,被通知后在函数中执行实际的IO请求操作异步IO模型(最理想的):用户线程不会阻塞,等内核IO操作完成的通知就行,与信号驱动IO模型不同的是:用

2020-11-11 14:23:44 141 1

原创 什么是线程安全的,什么是线程不安全的(概念理解)

线程不安全的:多线程访问时不加锁,可能会造成数据不一致或者脏数据等线程安全的:线程访问数据时加锁,对数据提供保护,就不会造成数据不一致或者脏数据等

2020-11-10 19:49:13 211

原创 关于缓存刷新(失效、回收)的问题(expireAfterWrite和refreshAfterWrite)

.expireAfterWrite(20, TimeUnit.MINUTES)在20分钟内没有创建/覆盖时,会移除该key,下次取的时候从loading中取【重点:失效、移除Key、失效后需要获取新值】.refreshAfterWrite(10, TimeUnit.MINUTES)在10分钟内没有被创建/覆盖,那么访问时,会去拿(新值or旧值)刷新该缓存【重点:不会失效、旧值刷新、不会移除Key】注意:refreshAfterWrite后台异步刷新,其他线程访问旧值,有一个线程在执行刷新,但不会

2020-11-10 19:42:32 6918

原创 spring的自带计时工具:StopWatch使用

StopWatch stopWatch = StopWatch.createStarted();//do searchFuc() or SomethingstopWatch.stop();println(String.format("共耗时:%s",stopWatch.getTime(TimeUnit.MILLISECONDS)));注意有始有终!

2020-11-10 18:04:47 238

原创 为什么使用缓存?

1、不想频繁去读库(X:看下面)2、不想频繁去调接口(X:看下面)缓存的主要两个用途:高性能、高并发高性能:请求来了,需要做一堆复杂的sql操作,然后拿到结果,响应请求;假如这个响应结果不怎么变,那么还做复杂的操作干啥,直接key-value缓存下来,下次请求来了直接拿它不香么。高并发:qps达到2000QPS,mysql差不多就报警了,这个时候缓存重要性就不言而喻了,一秒几万、十几万基本没问题。...

2020-11-10 15:09:41 227

原创 对java的四种引用的理解:强引用、软引用、弱引用、虚引用

强引用:不可被垃圾回收器回收,哪怕抛出OOM;FinalReference软引用:当内存使用空间不足的时候,会被回收;SoftReference弱引用:不管系统内存怎么样,只要GC就会被回收;WeakReference虚引用:作用在于跟踪垃圾回收过程,一般配合应用队列使用,查看引用队列中是否有对象的虚引用;PhantomReference,referenceQueue...

2020-11-10 11:42:03 92

原创 2019年各大企业财富排行榜

2020-10-07 23:49:15 60

原创 面试官心理分析1

为什么使用XXX技术?1、首先看你是否听说过这个技术2、是否使用过这个技术3、【重点】为什么使用,那肯定是使用前有个问题让你头大,使用后让受益4、【重头戏】分析使用场景及优劣势5、选型的过程这个没听过,要看是不是大众常用的技术,比较冷门的没听过情有可原,热门的没听过肯定就减分了;用过没仔细思考,这是大忌,所以最好对自己用的技术栈有深度的思考;分析优劣势是能让面试官和你互动的所在,尽量不要在分析的过程中还卡壳;能做技术选型的都是有过一定经验的人,都是能说上话的人。.

2020-09-27 22:46:21 117

原创 接口,基类,子类的关系

基类实现接口,子类继承父类。父类中的公有、保护方法,子类重写。

2020-09-24 14:27:43 229

原创 IDEA 的实用调试技巧,真香

1、“回退”下重新调试!跳出函数,重新进来2、条件断点设置条件然后停下来,自定义真香3、添加监视器

2020-09-21 18:25:02 281

原创 git通过IDEA命令行删除gitlab上的远程分支

Gitpushorigin【空格】【冒号】【你的分支名字】在自己分支执行。完美

2020-09-15 10:39:01 673

原创 程序员工作-注意事项

浅谈工作中需要注意的事项一,对于编程方面 首先,一定要向团队中前辈的编写习惯看齐。一般公司内部会有编写规范,但都会因为涉及少、内容太多太细、无法一时间全部记住。这个时候看前辈的代码就尤为重要, 其次,有些新特性,前辈若是没使用,可以适当的减少使用,我是刚毕业,所以没必要为了炫耀用了什么什么而为团队造成不可预估的错误。工作2-3年后,有了进一步的技术沉淀后可以有自己的编程风格也不迟。 最后,对于团队中的代码,一定要谨慎修改。修改要在方法前备注场景,而不是修改内容。 总结:自己的...

2020-09-14 23:01:01 560

原创 ==和equals的区别

==和equals的区别1、== 基础类型 值相等2、equals 引用类型 地址相等当然,equals方法被重写,比较值是否相等需要注意:1、两个对象的equals相等,hashcode必然相等。2、两个对象不等,hashcode也可能相等。3、hashcode相等,对象不一定相等。4、hashcode不等,对象一定不等。【对象等则哈希等,哈希不等对象不等】选择你自己的理解方式去记录...

2020-09-14 19:16:38 73

原创 关于final

关于final修饰数据:基础类型==》变量值不能重新赋值引用类型==》引用的地址不能改变修饰方法:不能被重写修饰类:不能被继承抽象类就是为了继承而生,所以不能用final修饰。final、finally、finallize区别1、final:修饰上述的几部分2、finally:异常处理语句结构的一部分,表示总被执行3、finallize:Object类的一个方法,在垃圾回收时会调用被回收对象的finalize...

2020-09-14 19:10:32 62

原创 怎么理解封装继承多态

怎么理解封装继承多态理解封装:将类的属性和操作属性的方法封装起来,访问的时候,访问自己封装的接口。理解继承:子类从父类继承所有信息,但不能访问父类私有属性和方法;子类可有新的属性和方法;也可以重写父类方法自己去实现。理解多态:【编译时多态和运行时多态】编译时多态是重载,运行时多态是重写 ;实现多态,需有两个步骤:一是子类继承父类然后重写父类方法;二是父类型引用子类型对象,这样的引用调用同样的方法会根据子类对选哪个的不同变现出不同的行为。悄悄对你说:用自己的理解方式去理解世界吧

2020-09-14 19:04:04 133

转载 VS2010中,总是出现:fatal error C1902: 程序数据库管理器不匹配;请检查安装

借鉴:http://blog.csdn.net/u010416101/article/details/40744777自己做过了,好使!!!VC++2010 :FatalErrorC1902:程序数据库管理器不匹配;请检查安装解决解决: 原因:程序的数据库文件(.pdb)被一个比编译时版本新的mspdb80.dll所生成,错误通常指示mspdbsrv.exe或

2018-01-12 16:16:57 698

空空如也

空空如也

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

TA关注的人

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