摘要:
前面我们分析了AQS的基本原理,然后也试着基于AQS实现了一个可重入的锁了,现在我们再来看看官方的ReentrantLock锁,这个锁是可重入的独占锁,也就是说同时只有一个线程可以获取该锁,而且这个线程还能继续尝试获取锁;
一.简单的使用
我们先根据ReentrantLock来简单实现一个线程安全... 阅读原文
2020-02-05 17:08:13 阅读(2306) 评论(0)
摘要:
一、引入
先来看一个实际问题:
编写的五子棋程序中,有存盘退出和续上盘的功能
如上图,0表示没有棋子,1表示黑色棋子,2表示蓝色棋子
问题分析:因为该二维数组很多值是默认值0,因此记录了很多没有意义的数据。
解决方案:用稀疏数组代替二维数组
二、稀疏数组
基本介绍:当一个数组中大... 阅读原文
2020-02-05 16:02:03 阅读(3672) 评论(0)
摘要:
1.1基本类型只有八个:
整型- byte short int long
浮点型- float double
字符型- char
布尔型- boolean
1.2其中数字常量会被默认为int类型;byte,short和char类型的变量在赋值的时候若等号右边未超过范围则会自动进行强制类型转化
例:cha... 阅读原文
2020-02-05 15:56:01 阅读(2458) 评论(0)
摘要:
个人博客地址 studyidea.cn,点击查看更多原创文章
0x00. 前言
想象这样一个场景,线上某个服务突发异常,导致上游服务调用异常,数据处于中间状态。服务恢复之后,我们需要修复这笔数据至正常状态,怎么办?
如果仅是简单的服务,涉及少量数据变更,我们可以直接使用 SQL,变更数据状态。但是有些情况... 阅读原文
2020-02-05 15:53:05 阅读(2365) 评论(0)
摘要:
学习要求:
知道一点儿函数式接口和Lambda表达式的基础知识,有利于更好的学习。
1.先体验一下Stream的好处
需求:给你一个ArrayList用来保存学生的成绩,让你打印出其中大于60的成绩。
public static void main(String[] args) {
Arra... 阅读原文
2020-02-05 14:49:36 阅读(2413) 评论(0)
摘要:
一、 Calendar解析
package com.bjpowernode.java_learning;
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
imp... 阅读原文
2020-02-05 14:35:03 阅读(2506) 评论(0)
摘要:
环境搭建
1、新建SpringMVC项目,添加所需的jar包
spring-core.jar
spring-beans.jar
spring-context.jar
spring-expression.jar
spring-aop.jar (使用spring的注解)
spring-jdbc.jar ... 阅读原文
2020-02-05 14:04:02 阅读(2491) 评论(0)
摘要:
Dubbo是一个远程调用的框架,对于一个服务提供者,暴露了一个接口供外部消费者调用,
那么对于提供者自己是否可以调用这个接口,需要什么特殊处理吗?
这篇文章就分享下Dubbo关于本地调用的实现机制,以及如何开启和关闭本地调用。
injvm支持本地调用
使用 Dubbo 本地调用不需做特殊配置,按正常 Dubb... 阅读原文
2020-02-05 13:45:03 阅读(2458) 评论(0)
摘要:
这篇使用Spring 5进行响应式编程的入门文章展示了你现在可以使用的一些新的non-blocking, asynchronous。感谢优锐课老师给予的指导!
近年来,由于响应式编程能够以声明性的方式(而不是强制性的)构建应用程序,从而在响应程序和弹性方面具有更强的响应能力,因此在开发人员社区和客户中日益流行... 阅读原文
2020-02-05 11:55:04 阅读(2788) 评论(0)
摘要:
本章的内容主要解决下面几个问题:
1 equals() 的作用是什么?
2 equals() 与 == 的区别是什么?
3 hashCode() 的作用是什么?
4 hashCode() 和 equals() 之间有什么联系?
4 java 如何重写equal 和hashcode方法
第1部分 equals(... 阅读原文
2020-02-05 11:48:02 阅读(2407) 评论(0)