JDK1.7 高并发下的HashMap
HashMap的容量是有限的。当经过多次元素插入,使得HashMap达到一定饱和度时,Key映射位置发生冲突的几率会逐渐提高。 这时候,HashMap需要扩展它的长度,也就是进行Resize。 影响发生Resize的因素有两个: 1.Capacity HashMap的当前长度。HashMap的长度是2的幂。 2.LoadFactor HashMap负载因子,默认值为0.75f。 衡量HashMap是否进行Resize的条件如下: HashMap.Size >= Capacity * LoadF
关于Session认证的探索
版权声明:欢迎转载,转载请标明来源 https://blog.csdn.net/weixin_41973131/article/details/84875191 关于Session认证的探索 欢迎关注驿外残香 | HC的博客 在最近的项目中利用了Session进行用户的认证,乘机总结下踩过的坑以及解决方法 使用环境 SpringBoot 2.x, Spring 4.x 碰到的问题 利用过滤器验证用户权限时,由于httpServletRequest中的输出输入流只能读取一次,导致在过滤器中取出前
RESTful架构原则与规范
版权声明:欢迎转载,转载请标明来源 https://blog.csdn.net/weixin_41973131/article/details/84875332 前言 欢迎关注驿外残香 | HC的博客 RESTful架构作为当前最流行的互联网架构,得到了越来越多的互联网公司的青睐。一个结构清晰,符合规范,易于拓展的架构原则能够使得团队的开发更加规范化,且作为一个API也更加容易被团队成员或者大众开发者使用。 内涵 REST:(Resource) REpresentational State T
mysql,sqlserver数据库单表数据过大的处理方式
经常混迹于技术社区,频繁看到这个题目,今天干脆在自己博客重复一遍解决办法:针对mysql,sqlserver等关系型数据库单表数据过大的处理方式如果不是阿里云的分布式数据库 DRDS 那种多机器集群方案的话: 先考虑表分区 ;然后考虑分表 ;然后考虑分库。这个题目是我所经历过的,我做的是GPS应用,早期版本就是选用的关系型数据库Sql Server。当时我选取的方案就是第一种:
MySQL 8.0为root用户设置密码
1、修改/etc/my.cnf文件skip-grant-tables=12、登录MySQL,并刷新#mysql#登录mysqlmysql>FLUSHPRIVILEGES;3、修改root密码,并刷新mysql>ALTERUSER'root'@'localhost'IDENTIFIEDWITHmysql_native_passwordBY'Pass
Request IO流无法重复读取的原因和解决方法
版权声明:欢迎转载,转载请标明来源 https://blog.csdn.net/weixin_41973131/article/details/84956793 Request IO流只能读取一次的原因和解决方法 欢迎关注驿外残香 | HC的博客 探索路线 只能读一次的原因 首先要知道为什么httpServletRequest的流只能读取一次。 调用httpServletRequest.getInputStream()可以看到获取的流类型为ServletInputStream,继承InputS
CSRF原理与防御措施
版权声明:欢迎转载,转载请标明来源 https://blog.csdn.net/weixin_41973131/article/details/85059100 欢迎关注驿外残香 | HC的博客 一.CSRF概念 CSRF跨站点请求伪造(Cross—Site Request Forgery) 相当于:针对一个特定的正常网站,攻击者利用URL或者Javascript伪造了一个请求,当用户点击攻击者设置的陷阱时(例如未知的第三方链接)即会发送该伪造的请求。若此时用户刚好访问过该正常网站并且此时用户
XSS原理与防御措施
版权声明:欢迎转载,转载请标明来源 https://blog.csdn.net/weixin_41973131/article/details/85181444 XSS 欢迎关注驿外残香 | HC的博客 XSS概念 XSS又称CSS,全称Cross Site Script,跨站脚本攻击。 其原理是攻击者针对有XSS漏洞的网站构建或输入恶意的Script代码,当其它用户点击恶意链接或者浏览该网站时,这段Script代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie、破坏页面结构、重定向
Servlet监听器和过滤器的配置及使用
版权声明:欢迎转载,转载请标明来源 https://blog.csdn.net/weixin_41973131/article/details/85224094 一.监听器 所有监听器都继承了ExentListener类 除了HttpSessionBindingListener外的监听器可以使用@WebListener标注或在web.xml中配置: <listener>
<listener-class>com.huachen.chatroom.listener</listener-cl
平衡二叉树代码与解析(旋转操作,插入,删除,合并,分裂,凹入表打印)
版权声明:欢迎转载,转载请标明来源 https://blog.csdn.net/weixin_41973131/article/details/86348290 一 简介 平衡二叉查找树简称平衡二叉树,又称之为AVL 以下的树是平衡二叉树: 空树 任意节点的左子树和右子树都是平衡二叉树,且左子树和右子树的高度之差的绝对值不超过1 **平衡因子:**某平衡二叉树结点的左子树的高度减去它的右子树的高度。当一个结点的平衡因子的绝对值大于1时,那么这棵树就失去了平衡。 平衡因子有如下定义: // 定义
浅谈内部网络对外通信
版权声明:欢迎转载,转载请标明来源 https://blog.csdn.net/weixin_41973131/article/details/88701028 前言 是我看了网络层之后感觉这个挺有趣的便写了一下,如果出现错误请在留言板及时指出,谢谢! 辣么多重复IP 经常连wifi的同学经常会注意到:我们很多次连接wifi或者接入路由器的时候ip都是会是192.168.xxx.xxx之类的地址,后面我们就了解到192.168.0.0-192.168.225.225这些地址已被声明为私有化,允
JUC源码解析一:lock()方法的层层剥析
版权声明:欢迎转载,转载请标明来源 https://blog.csdn.net/weixin_41973131/article/details/88867393 一、前言 本次我们以ReentrantLock类来讲解一下lock()方法的调用。 首先我们要清楚RentrantLock是一个独占可重入锁,并且内部实现了公平锁与非公平锁,那么下面就让我们一步步往下看吧。 二、正文 打开源码我们可以看到,RentrantLock类中,只是实现了Serializable接口,声明了这个类是可序列化的。
集合源码解析一:ArrayList
版权声明:欢迎转载,转载请标明来源 https://blog.csdn.net/weixin_41973131/article/details/88951146 一 简介 该类实现了一个大小可变的有序集合,对其的操作拥有数组的特性。 支持存储所有类型的数据,包括null值。 除了没有实现同步操作,其他基本等同于Vector 与LinkList类相比,常量因子较低 二 成员变量 首先看到了ArrayList继承了AbstractList,提供了List接口的骨干实现,减少了实现ArrayList
集合源码解析二:迭代器
版权声明:欢迎转载,转载请标明来源 https://blog.csdn.net/weixin_41973131/article/details/88951168 一 Iterable Iterable迭代器是一个fail-fast 与 ConcurrentModificationException的迭代器,即是当迭代器在进行遍历时若对容器进行修改可能会报ConcurrentModificationException的错误。在ArrayList解析中可以看出大量使用了expectedModCou
集合源码解析三:HashMap
版权声明:欢迎转载,转载请标明来源 https://blog.csdn.net/weixin_41973131/article/details/88951275 一 简介 HashMap支持存储空的key或空的value,并且不保证存储的元素按顺序排放。它与Hashtable基本相似,只是不支持并发操作。 对于get、and、put能操作能够实现常数级别的性能,遍历该集合的性能与HashMap的capacity与load factor成比例,所以,尽量不要设置太高的capacity或太小的lo
集合源码四:HashSet
版权声明:欢迎转载,转载请标明来源 https://blog.csdn.net/weixin_41973131/article/details/88951321 一 简介 HashSet可以存放null值,但不允许存在两个相等的元素,后面添加的相同元素会替换掉前者,并且null也只允许存在一个。 由于HashSet的迭代器消耗的时间与HashSet实例元素的大小成正比,再加上capacity容量是依靠HashMap进行实现的,因此在迭代器的效率需要得到重视的情况下,请不要设置太大的初始容量以及
集合源码解析五:LinkedList
版权声明:欢迎转载,转载请标明来源 https://blog.csdn.net/weixin_41973131/article/details/88951411 一 简介 LikedList实现了List跟Deque接口,并且实现了所有可选择的list操作。同时允许存储所有的元素(包括空值) 由于HashSet的迭代器消耗的时间与HashSet实例元素的大小成正比,再加上capacity容量是依靠HashMap进行实现的,因此在迭代器的效率需要得到重视的情况下,请不要设置太大的初始容量以及太小
JUC源码解析三:await()方法的层层剥析
版权声明:欢迎转载,转载请标明来源 https://blog.csdn.net/weixin_41973131/article/details/88939362 一、前言 Condition是一个接口类,是一个在JUC里面提供于控制线程释放锁, 然后进行等待其他获取锁的线程发送 signal 信号来进行唤醒的工具类。 在JDK中一共有两个类实现了该接口,分别是AbstractQueuedSynchronizer和AbstractQueuedLongSynchronizer 下面我们主要要讲的是
今日推荐
周排行