![](https://img-blog.csdnimg.cn/20200219131245421.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础
文章平均质量分 97
整理一些Java基础的知识
进阶的小名
There's no such thing as can't.
展开
-
面试题之——String到底什么时候相等?
其实要搞明白String.intern(),我总结了下面几条规则:一、new String都是在堆上创建字符串对象。当调用 intern() 方法时,编译器会将字符串添加到常量池中(stringTable维护),并返回指向该常量的引用。二、通过字面量赋值创建字符串(如:String str=”twm”)时,会先在常量池中查找是否存在相同的字符串,若存在,则将栈中的引用直接指向该字符串;若不存在,则在常量池中生成一个字符串,再将栈中的引用指向该字符串。三、常量字符串的“+”操作,编译阶段直接会合成转载 2020-08-15 13:48:22 · 45254 阅读 · 0 评论 -
负数的二进制转换方法
十进制负数转二进制假设有一个 int 类型的数,值为5,那么,我们知道它在计算机中表示为: (因为java中int 是4个字节,所以高位需要补0,占够32位)00000000 00000000 00000000 00000101现在想知道,-5在计算机中如何表示?在计算机中,负数以原码的补码形式表达。什么叫补码呢?这得从原码,反码说起。原码:一个正数,按照绝对值大小转换成的二进制数;一个负数,按照绝对值大小转换成的二进制数,然后最高位补1,称为原码。比如:5 的原码: 00000000 00转载 2020-06-30 15:22:39 · 55072 阅读 · 3 评论 -
面试官!你又双叒叕问HashMap!
文章目录HashMap的数据结构(图解+源码分析)数组单链表HashMap如何插入数据(图解+源码分析pos)为什么初始化容量是2的倍数(源码分析)HashMap如何解决Key冲突(图解+源码分析)HashMap如何扩容(源码分析)HashMap查询与删除HashMap序列化(源码分析)总结HashMap的数据结构(图解+源码分析)HashMap快速索引数组定义:连续的内存,具有共同特性的...原创 2020-04-29 20:22:56 · 48318 阅读 · 69 评论 -
SpringMVC+MyBatis+MySQL 返回插入的自增主键ID
由于表与表之间的关联,表的自增主键尤为重要。那么我们如何在insert into的同时返回自增主键ID呢?Client表字段名:Client POJO:public class Client { private int cId; private String cClientname; private String cPassword; privat...原创 2020-03-15 21:36:51 · 45483 阅读 · 2 评论 -
文件上传下载后端怎么实现?
承接上一篇(文件上传下载的实现SSM):https://blog.csdn.net/Tianc666/article/details/104581182我搭建好的环境,有兴趣的小伙伴可以运行看下效果注解已经很清晰了,主要我要说道说道 fileName、allfilename 这两个全局变量。filename是在上传的时候从前台接收用户名创建的;allfilename是把上面的fil...原创 2020-02-29 21:43:25 · 45630 阅读 · 0 评论 -
文件上传下载篇(前端JSP,后端SSM),注解多多,简单明了,复制就能用。(内含源码)
Echarts之柱状图动态加载数据篇我搭建好的环境,有兴趣的小伙伴可以运行看下效果(里面还有饼状图和柱状图的实现)老规矩,先上效果:前台代码:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %><%@ taglib p...原创 2020-02-29 20:51:28 · 45979 阅读 · 20 评论 -
什么是单点登录?什么是SSO?什么是CAS?
单点登录学习笔记: 单点登录简介 SSO&CAS是什么 单点登录适合什么场景 单点登录的三种实现方式 CAS的几个重要知识点 CAS的实现过程 ...原创 2020-02-20 19:32:57 · 45731 阅读 · 0 评论 -
跨域SSO(CAS)实现过程
原文出处:https://www.cnblogs.com/btgyoyo/p/10722010.html跨域SSO(CAS)实现过程 用户访问产品 a,域名是http://www.a.cn。 由于用户没有携带在 a 服务器上登录的 a cookie,所以 a 服务器重定向到SSO 服务器的地址。 由于用户没有携带在 SSO 服务器上登录的TGC,所以 SSO 服务...转载 2020-02-20 19:22:26 · 45504 阅读 · 0 评论 -
跨域SSO(CAS)
原文出处:https://www.cnblogs.com/btgyoyo/p/10722010.html接口:/login:登录接口,用于登录到中心服务器。/logout:登出接口,用于从中心服务器登出。票据1. TGT (Ticket Grangting Ticket) :TGT 是 CAS 为用户签发的登录票据,拥有了 TGT,用户就可以证明自己在 CAS 成功登录过。TGT...转载 2020-02-20 19:19:25 · 44964 阅读 · 0 评论 -
同域/同父域SSO实现
原文地址:https://www.cnblogs.com/btgyoyo/p/10722010.html同域SSO用户访问产品 a,向 后台服务器发送登录请求。 登录认证成功,服务器把用户的登录信息写入 session。 服务器为该用户生成一个 cookie,并加入到 response header 中,随着请求返回而写入浏览器。该 cookie 的域设定为 http://dxy.cn...转载 2020-02-20 19:15:43 · 44601 阅读 · 0 评论 -
单点登录的三种实现
1.同域SSO没有设置独立的 SSO 服务器,因为业务后台服务器本身就足以承担 SSO 的职能。2.同父域SSO和同域SSO不同在于,服务器在返回 cookie 的时候,要把cookie 的 domain 设置为其父域。3.跨域SSO(CAS)设置专门SSO服务器,当两个产品不同域时,cookie无法共享,从而我们就需要搭建SSO服务器。...原创 2020-02-20 19:10:06 · 44649 阅读 · 0 评论 -
单点登录的优缺点
优点:提高用户的效率 用户不再被多次登录困扰,也不需要记住多个 ID 和 密码。 提高开发人员的效率 SSO 为开发人员提供了一个通用的身份验证框架。 实际上,如果 SSO 机制是独立的,那么开发人员就完全不需要为身份验证操心。 简化管理 如果应用程序加入了单点登录协议,管理用户帐号的负担就会减轻。简化的程度取决于应用程序,因为 SS...原创 2020-02-20 19:06:27 · 47886 阅读 · 0 评论 -
拿新浪举个单点登录的例子
新浪微博与新浪博客是相互信任的应用系统:当用户首次访问新浪微博时,新浪微博识别到用户未登录,将请求重定向到认证中心,认证中心也识别到用户未登录,则将请求重定向到登录页。 当用户已登录新浪微博访问新浪博客时,新浪博客识别到用户未登录,将请求重定向到认证中心,认证中心识别到用户已登录,返回用户的身份,此时用户无需登录即可使用新浪博客。 只要多个系统使用同一套单点登录框架那么它们将是相互信任...转载 2020-02-20 19:03:22 · 44716 阅读 · 0 评论 -
SSO是什么?CAS是什么?
SSOSSO是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要 登录一次 就可以访问所有相互信任的应用系统。CASCAS 是 Yale 大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(SSO的一种框架)CAS 包括两部分: CAS Server 和 CAS ClientCAS Serve...原创 2020-02-20 18:59:28 · 47597 阅读 · 0 评论 -
单点登录是什么?单点登录和传统登录的区别是什么?
单点登录(SingleSignOn,SSO),就是通过用户的一次性鉴别登录。当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的,这意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。这种方式减少了由登录产生的时间消耗,辅助了用户管理,是目前比较流行的。...原创 2020-02-20 18:32:16 · 49565 阅读 · 0 评论 -
为什么重写equals()方法的同时要重写hashCode()方法
原文地址:https://www.jianshu.com/p/3819388ff2f4equals方法和hashCode方法都是Object类中的方法,我们来看看他们的源码:public boolean equals(Object obj) { return (this == obj); }public native int hashCode();可知,...转载 2020-02-20 09:47:10 · 44548 阅读 · 0 评论 -
ArrayList和LinkedList的内部实现;它们的区别和优缺点。
a.ArrayList:内部是数组实现的,因为是利用数组下标进行元素的访问,所以随机访问的速度特别快。因为是数组,所以ArrayList初始化大小是10,插入新元素的时候,会判断是否需要扩容,扩容的步长是原容量的0.5倍,扩容方式是利用数组的复制,因此有一定的开销。b.LinkedList:内部是双向链表实现的,LinkedList有一个内部类作为存放元素的单元,里面有三个属性,用来存放元素本...原创 2020-02-19 14:07:17 · 44895 阅读 · 0 评论 -
List集合和Map集合的学习总结
List:ArrayList(高效)数组 查找快 增删慢 线程不安全Vector(低效) 数组 查找快 增删慢 线程安全LinkList 双向链表 查找慢 增删快 线程不安全1、ArrayList、Vector查找快:ArrayList、Vector由于底层是数组实现的,所以查找快,因为是连续存放元素的,找到第一个元素的首地址,再加上每个元素的占据的字节大小就能定位到...原创 2020-02-17 12:42:04 · 44630 阅读 · 0 评论