![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 51
leogreat110
这个作者很懒,什么都没留下…
展开
-
各种面试题大集合
1.单点登录用户访问app系统,app系统是需要登录的,但用户现在没有登录。 跳转到CAS server,即SSO登录系统,以后图中的CAS Server我们统一叫做SSO系统。SSO系统也没有登录,弹出用户登录页。 用户填写用户名、密码,SSO系统进行认证后,将登录状态写入SSO的session,浏览器(Browser)中写入SSO域下的Cookie。 SSO系统登录完成后会生成一个ST(Service Ticket),然后跳转到app系统,同时将ST作为参数传递给app系统。 app系统拿.原创 2021-06-23 17:28:06 · 345 阅读 · 0 评论 -
泛型
泛型-接口-继承-多态转自https://www.cnblogs.com/coprince/p/8603492.html转载 2021-04-07 15:20:54 · 51 阅读 · 0 评论 -
分布式Session的几种实现方式
https://blog.csdn.net/u011213044/article/details/80525997转载 2021-04-07 09:48:00 · 69 阅读 · 0 评论 -
跳表skip
清楚明白https://www.cnblogs.com/xuxinstyle/p/11275284.html原创 2021-04-06 15:11:55 · 66 阅读 · 0 评论 -
JDK源码直击
JDK源码其实没什么好总结的,纯粹看个人,总结一下比较重要的源码:(1)List、Map、Set实现类的源代码(2)ReentrantLock、AQS的源代码(3)AtomicInteger的实现原理,主要能说清楚CAS机制并且AtomicInteger是如何利用CAS机制实现的(4)线程池的实现原理(5)Object类中的方法以及每个方法的作用转自作者:Java黎先生链接:https://www.jianshu.com/p/83e4c4fdd6ebReentrantLoc...原创 2021-04-06 10:47:58 · 73 阅读 · 0 评论 -
常见的数据结构
数组链表双向链表二叉树平衡二叉树b+红黑树1.Hash索引Hash索引把数据以hash形式组织起来,因此查找某一条记录的时候,速度非常快。同时.hash算法的索引有个缺点,因为它不是按照大小排序的。所以,它无法按照范围进行查找。————————————————2.二叉树结构索引二叉树的定义:1.任意节点左子树不为空,则左子树的值均小于根节点的值;2.任意节点右子树不为空,则右子树的值均大于于根节点的值;3.任意节点的左右子树也分别是二叉查找树;4.没有键值相等..原创 2021-04-01 16:03:48 · 66 阅读 · 0 评论 -
volatile
本文主要为摘抄拼凑Java中volatile的作用:1、Java提供了volatile关键字来保证可见性;2、保证有序性,代码为【context = loadContext();inited = true;】;3、提供double check。(摘抄)如何理解:Java编程语言允许线程访问共享变量,那么为了确保共享变量能被准确和一致的更新,线程应该确保通过排他锁单独获得这个变量,或者把这个变量声明成volatile,可以理解volatile是轻量级的synchronized。使用volati原创 2021-04-01 10:13:20 · 51 阅读 · 0 评论 -
hashmap、hashtable和concurrenthashmap原理
hashmap:HashMap就是数组+链表(哈希表或者散列函数)+红黑树的组合实现,每个数组元素存储一个链表的头结点,本质上来说是哈希表“拉链法”的实现。主干是数组,entry的value是链表,链表>8个后转红黑树。普通时间复杂度就是hash, 一般时间复杂度O(logn)主要有put和get方法,put的原理是,通过hash&length-1计算index,此时记作Entry[index]=该元素。如果index相同就是新入的元素放置到Entry[index],原先的元素记作原创 2021-04-01 09:43:46 · 51 阅读 · 0 评论 -
jvm原理、调优及分析
jvm原理:概念:Runtime Data Area(运行时数据区),也就是我们常说的JVM内存。运行时数据区通常包括这几个部分:程序计数器(Program Counter Register)、Java虚拟机栈(Java Vitual Machine Stack)、本地方法栈(Native Method Stack)、方法区(Method Area)、堆(Heap),别名“垃圾堆GC”。1.程序计时器:每个线程一个计数器,永远不会发生OOM2.虚拟机栈:线程私有,生命周期原创 2021-03-31 11:28:46 · 1084 阅读 · 0 评论 -
synchronized原理
synchronized原理:1.jvm基于进入和退出Monitor对象来实现方法同步和代码块同步方法级的同步,JVM可以从方法常量池中的方法表结构(method_info Structure) 中的 ACC_SYNCHRONIZED 访问标志区分一个方法是否同步方法。检查方法的 ACC_SYNCHRONIZED 访问标志是否被设置,如果设置了,执行线程将先持有monitor代码块的同步是利用monitorenter和monitorexit这两个字节码指令。它们分别位于同步代码块的开始和结束原创 2021-03-31 10:27:36 · 69 阅读 · 0 评论