Java
文章平均质量分 78
冠亦Python
冠亦Python,每日分享Python技术
展开
-
Java中高级面试题(1)
List和Set比较,各自的子类比较对比一:Arraylist与LinkedList的比较1、ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的)。2、因为地址连续, ArrayList要移动数据,所以插入和删除操作效率比较低。3、LinkedList基于链表的数据结构,地址是任意的,所以在开辟内存空间的时候不需要等一个连续的地址,对于新增和删除操作add和remove,LinedList比较占优势。4、因为LinkedLis原创 2022-03-04 09:35:24 · 320 阅读 · 0 评论 -
Java中高级面试题
一.基础知识:1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet);2)HashMap的底层实现,之后会问ConcurrentHashMap的底层实现;3)如何实现HashMap顺序存储:可以参考LinkedHashMap的底层实现;4)HashTable和ConcurrentHashMap的区别;5)String,StringBuffer和StringBuilder的区别;6)Object的方法有哪些:比如有原创 2022-03-04 09:32:06 · 372 阅读 · 0 评论 -
设计模式六大原则(2):里氏替换原则
肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。定义2:所有引用基类的地方必须能透明地使用其子类的对象。问题由来:有一功能P1,由类A完成。现需要将功能P1原创 2022-03-02 16:03:40 · 325 阅读 · 0 评论 -
设计模式六大原则(1):单一职责原则
定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T2时,也不会使职责P1发生故障风险。 说到单一职责原则,很多人都会不屑一顾。因为它太简单了。稍有经验的程序员即使从原创 2022-03-02 16:02:59 · 160 阅读 · 0 评论 -
Java中高级面试题
一.基础知识:1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet);2)HashMap的底层实现,之后会问ConcurrentHashMap的底层实现;3)如何实现HashMap顺序存储:可以参考LinkedHashMap的底层实现;4)HashTable和ConcurrentHashMap的区别;5)String,StringBuffer和StringBuilder的区别;6)Object的方法有哪些:比如有原创 2022-03-02 16:01:06 · 179 阅读 · 0 评论 -
Java NIO:浅析I/O模型
也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能IO设计相关的设计模式(Reactor和Proactor)。以下是本文的目录大纲:一.什么是同步?什么是异步?二.什么是阻塞?什么是非阻塞?三.什么原创 2022-03-02 15:59:38 · 151 阅读 · 0 评论 -
史上最难的一道Java面试题
无意中了解到如下题目,觉得蛮好。题目如下public class TestSync2 implements Runnable { int b = 100; synchronized void m1() throws InterruptedException {.原创 2022-03-02 15:54:01 · 200 阅读 · 0 评论 -
Java架构师面试题全分享,你离架构师还有多远?
经常面试一些候选人,整理了下我面试使用的题目,陆陆续续整理出来的题目很多,所以每次会抽一部分来问。答案会在后面的文章中逐渐发布出来。基础题目Java线程的状态进程和线程的区别,进程间如何通讯,线程间如何通讯HashMap的数据结构是什么?如何实现的。和HashTable,ConcurrentHashMap的区别Cookie和Session的区别索引有什么用?如何建索引?ArrayList是如何实现的,ArrayList和LinkedList的区别?ArrayList如何实现扩容。equals原创 2022-03-01 16:25:54 · 205 阅读 · 0 评论 -
Java程序员成长之路,一步步成为Java架构师
不管是开发、测试、运维,每个技术人员心里都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。然而“梦想是美好的,现实却是残酷的”,很多同学在实际工作后就会发现,梦想是成为大牛,但做的事情看起来跟大牛都不沾边,例如,程序员说“天天写业务代码还加班,如何才能成为技术大牛”,测试说“每天都有执行不完的测试用例”,运维说“扛机器接网线敲shell命令,这不是我想要的运维人生”。提升技术的误区:有人认为想成为技术大牛最简单直接、快速有效的方式是“拜团原创 2022-03-01 15:41:47 · 256 阅读 · 0 评论 -
最全Java中级学习,Spring基础知识
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性的角度而言,绝大部分Java应用都可以从Spring中受益。Spring优点:低侵入式设计,代码的污染极低;独立于各种应用服务器,基于Spring框架的应用,可以真正实现WriteOnce,RunAnywhere的承诺;Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦Spr原创 2022-03-01 15:35:28 · 193 阅读 · 0 评论