![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 72
dh@
这个作者很懒,什么都没留下…
展开
-
SimpleDateFormat 类的线程安全问题
提起 SimpleDateFormat 类,想必做过 Java 开发的童鞋都不会感到陌生。没错,它就是 Java 中提供的日期时间的转化类。这里,为什么说SimpleDateFormat 类有线程安全问题呢?有些小伙伴可能会提出疑问:我们生产环境上一直在使用 SimpleDateFormat 类来解析和格式化日期和时间类型的数据,一直都没有问题啊!我的回答是:没错,那是因为你们的系统达不到 SimpleDateFormat 类出现问题的并发量,也就是说你们的系统没啥负载!接下来,我们就一起看下在高并发下原创 2022-06-07 21:10:18 · 1119 阅读 · 1 评论 -
代理模式-23种设计模式系列
一、代理模式的定义代理模式是指为其他对象提供一种代理,以控制对这个对象的访问。代理对象在客户端和目标对象之前起到中介作用,代理模式属于结构型设计模式。使用代理模式主要有两个目的:一是保护目标对象,二是增强目标对象。代理模式的类结构图如下所示:Subject是顶层接口,RealSubject是真实对象(被代理对象),Proxy是代理对象,代理对象持有被代理对象的引用,客户端调用代理对象的方法,同时也调用被代理对象的方法,但是会在代理对象前后加一些处理代码。在代码中,一般代理会被理解为代码增强,实际上就原创 2021-07-26 16:22:00 · 168 阅读 · 1 评论 -
线程同步模式
一、同步模式之顺序控制1.固定运行顺序1.1 wait notifypublic class Test1 { // 用来同步的对象 static Object obj = new Object(); // t2 运行标记, 代表 t2 是否执行过 static boolean isRun = false; public static void main(String[] args) { Thread t1 = new Thread(() -> { synchronized (原创 2021-01-06 17:14:32 · 132 阅读 · 0 评论 -
SpringCloud学习篇(五)
目录Ribbon负载均衡服务调用一.概述1.1 Ribbon 是什么1.2 官网资料1.3 Ribbon 能干嘛二. Ribbon负载均衡演示2.1 架构说明2.2 pom2.3 二说 RestTemplate 的使用2.3.1 官网2.3.2 getForObject 方法 / getForEntity 方法2.3.3 postForObject / postForEntity 方法三.Ribb...原创 2020-04-20 21:35:19 · 254 阅读 · 0 评论 -
SpringCloud学习篇(四)
Consul服务注册与发现一.Consul简介1.1 Consul 是什么https://www.consul.io/intro/index.html1.2 Consul 能干嘛Spring Cloud Consul具有如下特性:服务发现: 提供HTTP和DNS两种发现方式健康监测: 支持多种协议,HTTP、TCP、Docker、Shell脚本定制化KV存储: key , ...原创 2020-04-18 19:52:27 · 166 阅读 · 0 评论 -
SpringCloud学习篇(三)
目录Zookeeper服务注册与发现SpringCloud整合Zookeeper代替Eureka一.注册中心Zookeeper二.服务提供者2.1 新建cloud-provider-payment80042.2 修改 pom.xml 文件2.3 创建并修改 application.yml 文件2.4 创建主启动类2.5 编辑 Controller2.6 启动8004注册进 zookeeper2.7...原创 2020-04-17 20:23:25 · 4359 阅读 · 0 评论 -
SpringCloud学习篇(二)
目录一.单机 Eureka 构建步骤1.1 新建 Maven 模块 cloud-eureka-server70011.2 修改 pom.xml 文件1.3 创建并修改 application.yml 文件1.4 创建启动类1.5 测试二.修改 cloud-provider-payment80012.1 修改 pom.xml 文件2.2 修改 application.yml 文件2.3 修改启动类2...原创 2020-04-16 21:34:50 · 359 阅读 · 0 评论 -
SpringCloud学习篇(一)
目录一.新建 Maven 项目1.1 创建微服务整体聚合父工程cloud20201.2 修改 IDEA 设置1.3修改父工程(cloud2020)的 pom.xml 文件1.3.1 修改打包方式为 pom1.3.2 pom.xml 文件如下版本约束:SpringCloudHoxton.SR1SpringBoot2.2.2.RELEASESpringCloud Ali...原创 2020-04-15 17:22:23 · 251 阅读 · 0 评论 -
Java单向环形链表解决约瑟夫(Josephu)问题
Josephu(约瑟夫、约瑟夫环) 问题Josephu 问题为:设编号为1,2,… n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列。思路用一个循环链表来处理Josephu 问题:先构成一个有n个结点的单循环链表,然后由k结点起...原创 2020-04-11 20:42:21 · 191 阅读 · 0 评论 -
Java实现稀疏数组
文章目录稀疏数组1. 先看一个实际需求2. 基本介绍3. 应用实例4. 整体思路分析5. 代码实现稀疏数组1. 先看一个实际需求五子棋程序中,有存盘退出和继续游戏的功能0 表示该位置没有棋子1 表示黑子2 表示蓝子分析问题:因为该数组中很多值都是默认值 0 ,因此记录了很多没有意义的数据,我们可以使用稀疏数组来缩小数组的规模2. 基本介绍当数组中大部分元素为 ...原创 2020-04-10 20:14:33 · 130 阅读 · 0 评论 -
计算机网络常见面试题
目录一 OSI与TCP/IP各层的结构与功能,都有哪些协议?1.1 应用层1.2 运输层1.3 网络层1.4 数据链路层1.5 物理层1.6 总结一下二 TCP 三次握手和四次挥手(面试常客)2.1 TCP 三次握手漫画图解2.2 为什么要三次握手2.3 为什么要传回 SYN2.4 传了 SYN,为啥还要传 ACK2.5 为什么要四次挥手三 ...转载 2019-10-04 16:08:35 · 298 阅读 · 0 评论 -
Linux环境下安装JDK
本文主要介绍的是如何在Linux环境下安装JDK的。一、安装环境操作系统Centos7JDK版本1.8工具Xshell6、Xftp6说明:本文是通过Shell6工具远程连接Linux系统进行操作,如果直接在Linux可视化界面操作那就更方便了,原理一样。二、安装步骤1.下载安装包去官网下载Linux环境的JDK, 由于我的Linux是Centos7...原创 2019-10-04 09:45:38 · 184 阅读 · 0 评论 -
Java手写双向循环链表
手写双向循环链表1.双向循环链表1)数组(ArrayList)与链表(LinkedList)的区别:2)双向循环链表2.实现代码1.双向循环链表1)数组(ArrayList)与链表(LinkedList)的区别:数组的优点: 直接通过下标来访问某个元素速度非常快。数组的缺点: 插入或者删除某个元素比较慢(因为需要调整整个数组)。另外,需要有连续的地址空间。链表的优点: 插入或者删除某个...原创 2019-10-03 17:03:54 · 343 阅读 · 0 评论