![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java知识点
被代码殴打的砖头
这个作者很懒,什么都没留下…
展开
-
面经总结
1. Java的GC(我大多数面试都问到这个)引用计数法,可达性分析新生代,老年代的GC过程GC算法如标记-清除,标记-整理等2. Java的内存结构(我大多数面试都问到这个)Java内存分为几个区,是否是线程私有各个区具体都是用来放哪些数据?有哪些特殊情况JDK7和JDK8的内存结构有什么区别?3. HashMap(我大多数面试都问到这个,多看别人的源码分析,不要老是...原创 2019-11-13 18:05:19 · 276 阅读 · 0 评论 -
HTTP状态码以及报文结构
部分内容来源:HTTP请求/响应报文结构通知100 服务器已接受客户端请求,且未拒绝,通知客户端继续发送接下来的请求101 服务器已接受客户端的请求,将通过upgrade消息头通知客户端使用其他协议执行请求请求已接收200 服务器已执行完请求并返回相应的页面201 服务器已接受请求,且为其创建了所需的资源202 服务器已接受请求,但是暂时不执行重定向300 被请求的...转载 2019-11-01 11:32:53 · 142 阅读 · 0 评论 -
深入学习Java之好文合集
前言:前几篇都是不会涉及太多的源码分析,后面几篇从深入理解开始都会涉及到底层源码实现,望珍重。Spring常见面试题总结深入理解MySQL索引底层结构在一个千万级的数据库查询中,如何提高查询效率?深入理解MySQL索引底层结构五分钟搞懂什么是红黑树(全程图解)对可重入锁和不可重入锁的理解,他们的区别及实现原理解析ReentrantLock和Synchronized的区别和原理深入理...原创 2019-11-13 17:34:34 · 201 阅读 · 0 评论 -
深入剖析基于并发AQS的(独占锁)重入锁(ReetrantLock)及其Condition实现原理
点此进入阅读转载 2019-08-17 17:16:57 · 128 阅读 · 0 评论 -
Java并发编程-无锁CAS
前言:本文转自zejian_的博文,点此访问原文在前面一篇博文中,我们曾经详谈过有锁并发的典型代表synchronized关键字,通过该关键字可以控制并发执行过程中有且只有一个线程可以访问共享资源,其原理是通过当前线程持有当前对象锁,从而拥有访问权限,而其他没有持有当前对象锁的线程无法拥有访问权限,也就保证了线程安全。但在本篇中,我们将会详聊另外一种反向而行的并发策略,即无锁并发,即不加锁也能保...转载 2019-08-17 16:24:18 · 200 阅读 · 0 评论 -
对可重入锁和不可重入锁的理解,他们的区别及实现原理解析
首先我们这里提到的锁,是把所需要的代码块,资源或数据锁上,在操作它们的时候只允许一个县城去操作。最终结果是为了保证cpu计算结果的正确性。public class Lock{ private boolean isLocked = false; public synchronized void lock() throws InterruptedException{ ...转载 2019-08-16 21:39:31 · 1813 阅读 · 8 评论 -
五分钟搞懂什么是红黑树(全程图解)
前言:本文转载自点击这里阅读原文另外:本文最好拿笔+草稿纸一边看一边按照规则进行演变,本文的过程可能和你演变的不一样,没关系,看懂思想,然后根据答案去反推,去思考,我相信你会有所收获的什么是红黑树?红黑树就是一种平衡二叉树,说它平衡的意思是它不会出现左子树与右子树的高度之差不会大于1,左子树和右子树保持一种平衡的关系。红黑树主要有以下5种特性:节点要么是红色要么是黑色根节点必须是黑色...转载 2019-08-15 22:06:40 · 4924 阅读 · 2 评论 -
深入理解MySQL索引底层结构
前言:本文转载自https://blog.csdn.net/u010922732/article/details/82992920感谢大佬的分享一、理解索引的特性索引是帮助MySQL高效获取数据的排好序的数据结构索引存储在文件里二、索引的各种存储结构及其优缺点在开始讲这一小节之前,我们先来看一下在数据库没有使用索引的情况下,SQL的where子句是如何查找目标记录的。我们先看下下...转载 2019-08-15 20:33:39 · 167 阅读 · 0 评论 -
在一个千万级的数据库查询中,如何提高查询效率?
前言:提高数据的查询效率的方法很大一部分是提高索引的使用率,强烈建议如果对数据库索引的建立和原理有过了解的话再来看这篇文章会事半功倍。题外话,oracle和MySQL的索引所使用的数据结构是相似的,所以我只给出MySQL索引的相关文章友情链接:深入理解MySQL索引底层数据结构与算法深度好文:深入浅出分析MySQL索引设计背后的数据结构一、数据库设计方面1、对查询进行优化,应尽量避免全表扫...转载 2019-06-17 17:28:37 · 312 阅读 · 0 评论 -
Java面经系列(一)
1、Java GC时如何判断一个对象是否存活引用计数法基本思想:为每一个对象设置一个对象引用计算器。每当有地方引用该对象时,计数器加一,每当引用失效时,该计数器自动减一。任何时刻当该对象的引用变为0时,说明该对象不再被引用。优点:实现简单,容易理解缺点:当A和B相互引用时,尽管这两个对象已经不在需要再被访问了,但是由于他们互相引用着对方,所以他们的引用计数器都是1,此时造成了循环引用,于...转载 2019-06-08 22:42:53 · 202 阅读 · 0 评论 -
java后端开发需要掌握的一些简单的jsp知识
1、jsp的运行机制JSP本质上就是servlet。当JSP第一次被请求时,Web服务器上的JSP容器(或称为JSP引擎)会将其转化为相应的Servlet,然后再编译为Servlet类文件,并且被装载和实例化。此后,每次对此JSP页面的请求均通过调用已实例化的Servlet类对象中的方法来产生响应。正因为如此,第一次访问JSP页面时响应速度会比较慢,而以后就很快了。2、jsp的主要特点一...原创 2019-06-08 09:43:42 · 1050 阅读 · 0 评论 -
Java随笔
一、关于java中常用的几个算法的复杂度及稳定性小结排序速度最快的3种排序方法分别为:堆排序,快速排序,归并排序。其中只有归并排序是稳定的,其余两种均是不稳定的排序。故当需要稳定排序是可以选择归并排序;我们可以看到,堆排序的时间复杂度是很稳定的,而快速排序的时间复杂度最坏情况会达到n^2,那么为什么不都用堆排序而使用快速排序呢? 首先,时间复杂度这个概念只是一个粗略的估计概念,在...原创 2019-11-13 17:42:10 · 241 阅读 · 0 评论