摘要:
前言
CAS,即 Compare And Swap(比较与交换),是一种无锁算法,基于硬件原语实现,能够在不使用锁的情况下实现多线程之间的变量同步。jdk中的java.util.concurrent.atomic包中的原子类就是通过CAS来实现了乐观锁。
CAS算法过程
算法涉及到三个操作数:
需要读写... 阅读原文
2019-09-03 21:55:25 阅读(2600) 评论(0)
摘要:
Integer a = 1;
integer b = 1;
integer c = 500;
integer d=500;
System.out.print(a==b);
System.out.print(c==d);
上面两个输出结果分别为true和false
Integer类型中设置有... 阅读原文
2019-09-03 20:01:05 阅读(2363) 评论(0)
摘要:
前言
只有光头才能变强。
文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y
如果有看我最近文章的同学可能就知道我在公司负责的是一个消息管理平台(推送系统)
而Push消息是这么多种类型之中非常重要和常用的一种类型,最近也希望针对... 阅读原文
2019-09-03 19:40:18 阅读(2377) 评论(0)
摘要:
传统的方式获取一个类的实例,是通过提供一个 public 构造器。这里有技巧,每一个程序员应该记住。一个类可以对外提供一个 public 的 静态工厂方法 ,该方法只是一个朴素的静态方法,不需要有太多复杂的逻辑,只需要返回该类的实例。
这里通过 Boolean (是原始类型 boolean 的包装类)举一个... 阅读原文
2019-09-03 17:54:01 阅读(2368) 评论(0)
摘要:
简介
Spring 3.0之前,创建Bean可以通过xml配置文件与扫描特定包下面的类来将类注入到Spring IOC容器内。而在Spring 3.0之后提供了JavaConfig的方式,也就是将IOC容器里Bean的元信息以java代码的方式进行描述。我们可以通过@Configuration与@Bean这两... 阅读原文
2019-09-03 17:35:02 阅读(2416) 评论(0)
摘要:
Spring Security 解析(四) —— 短信登录开发
在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把Spring Security 、Spring Security Oauth2 等权限、认证相关的内容、原理及设计学习并整理一遍。本系列文章... 阅读原文
2019-09-03 15:37:04 阅读(3456) 评论(0)
摘要:
鄙人为兴趣爱好,0基础入门学习Java,有些心得想法,记录于此,与君分享。
然毕竟新手,学识尚浅,错误之处,希望多多指正批评,也是对我最大的帮助!
前言:本篇文章,主要讨论在子类继承父类之后,一些继承在内存中构建的过程,以及this和super的特点和异同
。
文章内所有内容均为个人猜测和想法... 阅读原文
2019-09-03 14:55:05 阅读(2297) 评论(0)
摘要:
1、使用redis有哪些好处?
速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)
支持丰富数据类型,支持string,list,set,sorted set,hash
支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全... 阅读原文
2019-09-03 13:32:07 阅读(2386) 评论(0)
摘要:
前言
Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。
泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。
泛型带来的好处
在没有泛型的情况的下,通过对类型 Object ... 阅读原文
2019-09-03 13:15:06 阅读(2395) 评论(0)
摘要:
功能需求:
1 每运行一次主函数,创建一个客户端聊天界面;
2 客户端界面分三块,公屏(显示所有客户端发送的信息),私屏(用于输入个人想要发送的信息),发送按钮(点击一次,将客户端信息发送到服务端)
3 进入客户端时公屏提示 欢迎xxx来到多人聊天室,关闭客户端时提示 xxx已离开聊天室
... 阅读原文
2019-09-03 11:26:06 阅读(2334) 评论(0)