首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Java笔记四
订阅
沉浮1314
更多收藏集
微信扫码分享
微信
新浪微博
QQ
98篇文章 · 0订阅
单点登录终极方案之 CAS 应用及原理
Cookie的单点登录的实现方式很简单,但是也问题颇多。例如:用户名密码不停传送,增加了被盗号的可能。另外,不能跨域! 将用户名密码加密之后存于Cookie中,之后访问网站时在过滤器(filter)中校验用户权限,如果没有权限则从Cookie中取出用户名密码进行登录,让用户从某…
JAVA之锁机制实现原理(简化版)
在HopSpot虚拟机中,对象在内存存储中分为3部分:对象头(Header)、实例数据(Instance Data) 和 对齐填充(Padding)。 在无多线程竞争锁的情况下,为了让同一线程获得锁的代价更低而引入了偏向锁。 (1) 访问Mark Word中偏向锁的标识是否设置…
面向协议编程的一些思考
数据封装提供了一个信息隐藏的机制,让一个类黑盒化,这种设计减少了人们理解一块代码的难度。 继承提供了共享代码的方式,不同于另一个世界线的原型链。 多态提供了针对父类的算法可以直接应用到子类上。 OOP在蓬勃发展之后,出现了两个分支,单一继承和多继承。前者代表是JAVA,后者是C…
Java核心技术解析 第2篇 | 彻底搞懂String、StringBuilder、StringBuffer
根据上面的代码,我们看看String究竟是怎么保证不可变的。 value被final修饰,所以变量的引用不可变。 char[]·为引用类型仍可以通过引用修改实例对象,为此String(char value[])构造函数内部使用的copyOf而不是直接将value[]复制给内部变…
扩展ThreadPoolExecutor的一种办法
扩展ThreadPoolExecutor的一种比较好的实践,线上也经过了瞬时大流量的验证。
Java 多态:手把手解析方法重写(Override) 、重载(Overload)及其区别
全面讲解Java多态
深入理解JAVA线程池
多线程的异步执行方式,虽然能够最大限度发挥多核计算机的计算能力,但是如果不加控制,反而会对系统造成负担。线程本身也要占用内存空间,大量的线程会占用内存资源并且可能会导致Out of Memory。即便没有这样的情况,大量的线程回收也会给GC带来很大的压力。 为了避免重复的创建线…
Java基础知识常见面试题汇总 第三篇
本篇博客讲解1个常见的面试题:Java中final finally finalize的区别。 按我的个人理解,这个题目本身就问的有点问题,因为这3个关键字之间没啥关系,是相对独立的,我猜想这道题的初衷应该是想了解面试者对Java中final finally finalize的使…
再有人问你volatile是什么,把这篇文章也发给他。
在上一篇文章中,我们围绕volatile关键字做了很多阐述,主要介绍了volatile的用法、原理以及特性。在上一篇文章中,我提到过:volatile只能保证可见性和有序性,无法保证原子性。关于这部分内容,有读者阅读之后表示还是不是很理解,所以我再单独写一篇文章深入分析一下。 …
循序渐进理解AQS(1):如何实现锁
AbstractQueuedSynchronizer(以下简称AQS)是Java中用于构建锁和同步器的框架,许多同步器都可以通过AQS很容易并且高效地构造出来。很多文章已经基于论文和源码对实现进行了解读,本文试着从另外的角度入手:先不考虑AQS的实现,假设让我们自己实现锁,我们…