上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页
摘要: 一、简介 读写锁是一种特殊的锁,它把对共享资源的访问分为读访问和写访问,多个线程可以同时对共享资源进行读访问,但是同一时间只能有一个线程对共享资源进行写访问,使用读写锁可以极大地提高并发量。 二、特性 读写锁具有以下特性: 是否互斥 读 写 读 否 是 写 是 是 可以看到,读写锁除了读读不互斥,读 阅读全文
posted @ 2022-05-08 18:38 夏尔_717 阅读(295) 评论(0) 推荐(0)
摘要: 一、简介 StampedLock是java8中新增的类,它是一个更加高效的读写锁的实现,而且它不是基于AQS来实现的,它的内部自成一派逻辑。 StampedLock具有三种模式:写模式、读模式、乐观读模式。 ReentrantReadWriteLock中的读和写都是一种悲观锁的体现,StampedL 阅读全文
posted @ 2022-05-08 18:38 夏尔_717 阅读(530) 评论(0) 推荐(0)
摘要: YML配置 SpringBoot使用一个全局的配置文件,配置文件名称是固定的 application.properties 语法结构:key=value application.yml 语法结构:key:空格value 配置文件的作用:修改SpringBoot自动配置的默认值,因为SpringBoo 阅读全文
posted @ 2022-05-05 17:14 夏尔_717 阅读(866) 评论(0) 推荐(0)
摘要: 一、概述 LinkedList是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。双向链表结构,有一个头结点和一个尾结点,意味着我们可以从头开始正向遍历,或者是从尾开始逆向遍历,并且可以针对头部和尾部进行相应的操作。 LinkedList的 阅读全文
posted @ 2022-05-04 20:32 夏尔_717 阅读(81) 评论(0) 推荐(0)
摘要: 一、概述 ShardingSphere-Jdbc定位为轻量级Java框架,在Java的Jdbc层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,可理解为增强版的Jdbc驱动,完全兼容Jdbc和各种ORM框架。 二、MySQL主从复制 2.1 docker配置mysql主从复制 创建主 阅读全文
posted @ 2022-04-27 17:04 夏尔_717 阅读(387) 评论(0) 推荐(0)
摘要: 一、概述 FastJSON是阿里巴巴开源的高性能JSON处理框架,以速度快、功能全、易用性强著称。本文将从核心注解@JSONField入手,详解对象与JSON的转换技巧、自定义过滤规则,并提供生产级工具类封装,帮助开发者高效处理JSON场景。 二、序列化与反序列化 fastjson支持多种方式定制序 阅读全文
posted @ 2022-04-27 16:53 夏尔_717 阅读(659) 评论(0) 推荐(0)
摘要: 一、映射文件 MyBatis的真正强大在于它的映射语句,也是它的魔力所在。由于它的异常强大,映射器的XML文件就显得相对简单。如果拿它跟具有相同功能的JDBC代码进行对比,你会立即发现省掉了将近95%的代码。MyBatis就是针对SQL构建的,并且比普通的方法做的更好。 SQL映射文件有很少的几个顶 阅读全文
posted @ 2022-04-26 22:36 夏尔_717 阅读(586) 评论(0) 推荐(1)
摘要: 问题 假设这有一个各种字母组成的字符串,假设这还有另外一个字符串,而且这个字符串里的字母数相对少一些。从算法是讲,什么方法能最快的查出所有小字符串里的字母在大字符串里都有? 比如,如果是下面两个字符串: String 1: ABCDEFGHLMNOPQRS String 2: DCGSRQPO 答案 阅读全文
posted @ 2022-04-26 22:33 夏尔_717 阅读(84) 评论(0) 推荐(0)
摘要: 基因遗传算法是一种灵感源于达尔文自然进化理论的启发式搜索算法。该算法反映了自然选择的过程,即最适者被选定繁殖,并产生下一代。本文简要地介绍了遗传算法的基本概念和实现,希望能为读者展示启发式搜索的魅力。 如上图(左)所示,遗传算法的个体由多条染色体组成,每条染色体由多个基因组成。上图(右)展示了染色体 阅读全文
posted @ 2022-04-26 21:48 夏尔_717 阅读(563) 评论(0) 推荐(0)
摘要: 一、题目 10亿int整型数,以及一台可用内存为1GB的机器,时间复杂度要求O(n),统计只出现一次的数。 二、分析 首先分析多大的内存能够表示10亿的数呢?一个int型占4字节,10亿就是40亿字节(很明显就是4GB),也就是如果完全读入内存需要占用4GB,而题目只给1GB内存,显然不可能将所有数 阅读全文
posted @ 2022-04-26 21:45 夏尔_717 阅读(627) 评论(0) 推荐(0)
摘要: 一、题目 编写两个任意位数的大数相乘的程序,给出计算结果。比如: 题目描述:输出两个不超过100位的大整数的乘积。 输入:输入两个大整数,如1234567和123 输出:输出乘积,如:151851741 或者 求1234567891011121314151617181920 * 2019181716 阅读全文
posted @ 2022-04-26 21:26 夏尔_717 阅读(2612) 评论(0) 推荐(0)
摘要: 一、如何判断单链表是否存在环 有一个单向链表,链表当中有可能出现“环”,就像题图这样。如何用程序判断出这个链表是有环链表? 不允许修改链表结构。 时间复杂度O(n),空间复杂度O(1)。 1.1 方法一、穷举遍历 首先从头节点开始,依次遍历单链表的每一个节点。每遍历到一个新节点,就从头节点重新遍历新 阅读全文
posted @ 2022-04-26 21:25 夏尔_717 阅读(531) 评论(0) 推荐(0)
摘要: 一、概述 在使用spring框架的项目中,@Value是经常使用的注解之一。其功能是将与配置文件中的键对应的值分配给其带注解的属性。在日常使用中,我们常用的功能相对简单。 @Value注解可以用来将外部的值动态注入到Bean中,在@Value注解中,可以使用${}或#{}。 ${}与#{}的区别如下 阅读全文
posted @ 2022-04-26 21:14 夏尔_717 阅读(1326) 评论(0) 推荐(0)
摘要: 简介:应用架构,指软件系统中固定不变的代码结构、设计模式、规范和组件间的通信方式。在应用开发中架构之所以是最重要的第一步,因为一个好的架构能让系统安全、稳定、快速迭代。但是今天我们在做业务研发时,更多会关注一些宏观的架构,而忽略了应用内部的架构设计,希望能通过案例分析和重构,推演出一套高质量的DDD 阅读全文
posted @ 2022-04-26 20:55 夏尔_717 阅读(498) 评论(0) 推荐(0)
摘要: 一、基本原理和示例 在计算机程序中描述重复的一种方法是使用循环,如Java的while循环和for循环结构。实现重复的完全不同的方法是通过一个称为递归的过程。 递归是一种方法对自身进行一次或多次调用的技术,在执行期间,或数据结构依赖于同一类型的结构。有很多例子艺术与自然中的递归。例如,分形图案是自然 阅读全文
posted @ 2022-04-26 11:47 夏尔_717 阅读(1846) 评论(0) 推荐(0)
摘要: 一 、环境概述: cat >> /etc/hosts <<EOF 10.0.0.202 master 10.0.0.197 node1 10.0.0.163 node2 EOF 挂载数据盘: mkdir /data mkfs.xfs -f /dev/vdb mount /dev/vdb /data 阅读全文
posted @ 2022-04-26 10:13 夏尔_717 阅读(696) 评论(0) 推荐(0)
摘要: 一、背景 随着业务增长每天的订单量很快从30万单增长到了100万单,订单总量也突破了一亿。当时用的Mysql数据库。根据监控,每秒最高订单量已经达到了2000笔(不包括秒杀)。不过,直到此时,订单系统还是单库单表,幸好当时数据库服务器配置不错,我们的系统才能撑住这么大的压力。 业务量还在快速增长,再 阅读全文
posted @ 2022-04-26 09:54 夏尔_717 阅读(624) 评论(0) 推荐(0)
摘要: 一、简介 Spring WebFlux作为一个响应式(reactive-stack)web框架补充,在5.0的版本开始加入到Spring全家桶。这是一个完全非阻塞的,支持Reactive Streams,运行在诸如Netty,Undertow, 以及Servlet 3.1+容器上的。Spring W 阅读全文
posted @ 2022-04-26 09:46 夏尔_717 阅读(1102) 评论(0) 推荐(0)
摘要: spring常用注解 容器 @Controller:控制层,里面有多个连接 @RestController:注解是@Controller和@ResponseBody的合集,表示这是个控制器bean,并且是将函数的返回值直接填入HTTP响应体中,返回json字符串的数据,是REST风格的控制器。 @S 阅读全文
posted @ 2022-04-26 09:45 夏尔_717 阅读(992) 评论(0) 推荐(0)
摘要: 一、启用Spring缓存注解 引入spring-boot-starter-data-redis依赖,配置redis的连接属性 spring: redis: password: host: localhost port: 6379 cache: redis: ## Entry expiration i 阅读全文
posted @ 2022-04-26 09:44 夏尔_717 阅读(593) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页