摘要:
在谈论数据库架构和数据库优化的时候,我们经常会听到分库分表,分库分表其实涉及到很多难题,今天我们来汇总一下数据库分库分表解决方案。 数据切分 关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。 当单表的数据量达到 1000W 或 100G 以后,由于查询维度较多,即使添加从 阅读全文
posted @ 2021-12-03 16:52
一壶浊酒倚楼台
阅读(181)
评论(0)
推荐(0)
摘要:
1、概述: 对于Spring和SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习SpringBoot的我当时也是一头雾水,随着经验的积累、我慢慢理解了这两个框架到底有什么区别,我相信对于用了SpringBoot很久的开发人员来说,有绝大部分还不是很理解SpringBoot到底和Sp 阅读全文
posted @ 2021-12-03 16:50
一壶浊酒倚楼台
阅读(539)
评论(0)
推荐(0)
摘要:
接口的幂等性的多重考虑,你会了吗? 文章目录 目录 前言 正文 1 接口幂等性 1.1 案例 2 解决方案 2.1 token机制 2.2 去重表 2.3 redis 的 SETNX键值 2.4 状态机幂 2.5 乐观锁(更新操作) 2.6 悲观锁(更新操作) 结语 前言 今天的主题:接口幂等性的解 阅读全文
posted @ 2021-12-03 16:40
一壶浊酒倚楼台
阅读(33)
评论(0)
推荐(0)
摘要:
前言 和设计模式一样,打算花三个月的时间,结合《Java并发编程实战》一书,来总结下并发方面的知识。第一章从线程池的原理开始总结,希望自己能坚持下来,加油! 1. 如何实现一个线程池? 线程池的概念这里不多说,在讲它的原理前,我们先自己想一下,如果我来写,那如何实现一个线程池? 1.1 线程池的重要 阅读全文
posted @ 2021-12-03 16:36
一壶浊酒倚楼台
阅读(219)
评论(0)
推荐(0)
摘要:
MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。ORACLE没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。 事务:MySQL对于事务默认是不支持的,只有某些存储引擎中如:innodb可以支持。而Oracle对于事务是完全支 阅读全文
posted @ 2021-12-03 16:35
一壶浊酒倚楼台
阅读(93)
评论(0)
推荐(0)
摘要:
首先说明一点,这个过滤器拦截其实是不靠谱的,比如说我的一篇文章是介绍sql注入的,或者评论的内容是有关sql的,那会过滤掉;且如果每个页面都经过这个过滤器,那么效率也是非常低的。 如果是要SQL注入拦截,可以在数据访问上层的业务层用方法的形式进行手动过滤还靠谱些。 或者使用SQL的参数形式进行,这个 阅读全文
posted @ 2021-12-03 16:34
一壶浊酒倚楼台
阅读(711)
评论(0)
推荐(0)
摘要:
一、SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库。 二、SQL注入攻击的总体思路 1.寻找到SQL注入的位置 2.判断服务器类型和后台数据库类型 3.针对不通的服务器和数据库特 阅读全文
posted @ 2021-12-03 16:33
一壶浊酒倚楼台
阅读(408)
评论(0)
推荐(0)
摘要:
简介 SQL注入就是客户端在向服务器发送请求的时候,sql命令通过表单提交或者url字符串拼接传递到后台持久层,最终达到欺骗服务器执行恶意的SQL命令; 实践 项目中如何防止sql注入呢,有以下三点: 前端表单进行参数格式控制; 后台进行参数格式化,过滤所有涉及sql的非法字符; //参考:http 阅读全文
posted @ 2021-12-03 16:32
一壶浊酒倚楼台
阅读(1520)
评论(0)
推荐(0)
摘要:
前言 前面我们讲了MySQL数据库底层的数据结构与算法、MySQL性能优化篇一些内容。我们再来聊聊MySQL的锁与事务隔离级别,分上下两篇,本篇重点讲MySQL的行锁与事务隔离级别。 锁定义 锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中,除了传统的计算资源(如CPU、RAM、I/ 阅读全文
posted @ 2021-12-03 16:31
一壶浊酒倚楼台
阅读(66)
评论(0)
推荐(0)
摘要:
转载请注明本文地址:https://www.jianshu.com/p/f00aa6f66281 源码地址:https://gitee.com/sunnymore/asyncToSync Sunny先来说一下对异步和同步的理解: 同步调用:调用方在调用过程中,持续等待返回结果。异步调用:调用方在调用 阅读全文
posted @ 2021-12-03 16:04
一壶浊酒倚楼台
阅读(1500)
评论(0)
推荐(0)
摘要:
并发编程 并发程序要正确地执行,必须要保证其具备原子性、可见性以及有序性;只要有一个没有被保证,就有可能会导致程序运行不正确 线程不安全在编译、测试甚至上线使用时,并不一定能发现,因为受到当时的CPU调度顺序,线程个数、指令重排的影响,偶然触发 线程安全的定义 比如说一个类,不论通过怎样的调度执行顺 阅读全文
posted @ 2021-12-03 16:03
一壶浊酒倚楼台
阅读(109)
评论(0)
推荐(0)
摘要:
AtomicInteger这个类的存在是为了满足在高并发的情况下,原生的整形数值自增线程不安全的问题。比如说 int i = 0 ; i++; 上面的写法是线程不安全的。 有的人可能会说了,可以使用synchronized关键字啊。 但是这里笔者要说的是,使用了synchronized去做同步的话系 阅读全文
posted @ 2021-12-03 16:01
一壶浊酒倚楼台
阅读(212)
评论(0)
推荐(0)
摘要:
相信很多中高级的 Java 面试者都遇到过这个问题,很多对这个不是很清楚的肯定是一脸蒙逼。内心肯定还在质疑,i++ 居然还有线程安全问题?只能说自己了解的不够多,自己的水平有限。 先来看下面的示例来验证下 i++ 到底是不是线程安全的。 1000个线程,每个线程对共享变量 count 进行 1000 阅读全文
posted @ 2021-12-03 16:00
一壶浊酒倚楼台
阅读(264)
评论(0)
推荐(0)
摘要:
这篇文章主要介绍了Java引用和Threadlocal的那些事,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 1 背景 某一天在某一个群里面的某个群友突然提出了一个问题:"threadlocal的key是虚引用,那么在threadlocal.get()的时候,发生GC之 阅读全文
posted @ 2021-12-03 15:54
一壶浊酒倚楼台
阅读(69)
评论(0)
推荐(0)
摘要:
一、前言 “不好了,线上服务器超时严重,请求非常慢,好像报连接数too many了,怎么办?“小伙伴们在反馈。一般我们的技术老大的处理方式,把连接数和线程池调大点,重启,再观察。 往往这个方式是应急措施,治标不治本,因为不知道问题的原因。 有个严重误区,以为线程池设置太小了,调大点请求就会快了。 今 阅读全文
posted @ 2021-12-03 15:49
一壶浊酒倚楼台
阅读(540)
评论(0)
推荐(0)
摘要:
目录 代码查看公司服务器或阿里云是几核的 合理线程数配置之CPU密集型 合理线程数配置之IO密集型 1. 代码查看公司服务器或阿里云是几核的 要合理配置线程数首先要知道公司服务器或阿里云是几核的 代码查看服务器核数: System.out.println(Runtime.getRuntime().a 阅读全文
posted @ 2021-12-03 15:47
一壶浊酒倚楼台
阅读(151)
评论(0)
推荐(0)
摘要:
一、读写过程 1、读:(1)先读cache,如果数据命中则返回(2)如果数据未命中则读db(3)将db中读取出来的数据入缓存2、写:(1)先淘汰cache(2)再写db 二、数据不一致原因 先操作缓存,在写数据库成功之前,如果有读请求发生,可能导致旧数据入缓存,引发数据不一致。 在分布式环境下,数据 阅读全文
posted @ 2021-12-03 15:40
一壶浊酒倚楼台
阅读(790)
评论(0)
推荐(0)
摘要:
目录 1.方式一:先更新数据库,再更新缓存场景 2.方式二:先更新缓存,再更新数据库场景 3.方式三:先删除缓存,再更新数据库的场景 4.方式四:先更新数据库,在删除缓存场景 5.方式五:最佳实现,数据异步同步 返回目录 1.方式一:先更新数据库,再更新缓存场景 当有两个线程A、B,同时对一条数据进 阅读全文
posted @ 2021-12-03 15:33
一壶浊酒倚楼台
阅读(749)
评论(0)
推荐(0)
摘要:
作为一名服务端工程师,工作中你肯定和 Redis 打过交道。Redis 为什么快,这点想必你也知道,至少为了面试也做过准备。很多人知道 Redis 快仅仅因为它是基于内存实现的,对于其它原因倒是模棱两可。 那么今天就和小莱一起看看: 基于内存实现 这点在一开始就提到过了,这里再简单说说。 Redis 阅读全文
posted @ 2021-12-03 15:30
一壶浊酒倚楼台
阅读(56)
评论(0)
推荐(0)
摘要:
AOF 重写 AOF 持久化是通过保存被执行的写命令来记录数据库状态的,所以AOF文件的大小随着时间的流逝一定会越来越大;影响包括但不限于:对于Redis服务器,计算机的存储压力;AOF还原出数据库状态的时间增加;为了解决AOF文件体积膨胀的问题,Redis提供了AOF重写功能:Redis服务器可以 阅读全文
posted @ 2021-12-03 15:24
一壶浊酒倚楼台
阅读(801)
评论(0)
推荐(0)
摘要:
Redis实现分布式锁 最近看分布式锁的过程中看到一篇不错的文章,特地的加工一番自己的理解: Redis分布式锁实现的三个核心要素: 1.加锁 最简单的方法是使用setnx命令。key是锁的唯一标识,按业务来决定命名,value为当前线程的线程ID。 比如想要给一种商品的秒杀活动加锁,可以给key命 阅读全文
posted @ 2021-12-03 15:20
一壶浊酒倚楼台
阅读(41)
评论(0)
推荐(0)
摘要:
1. 本地锁 常用的即 synchronize 或 Lock 等 JDK 自带的锁,只能锁住当前进程,仅适用于单体架构服务。 而在分布式多服务实例场景下必须使用分布式锁 哦哟!才知道,原来大厂的Redis分布式锁都这么设计 2 分布式锁 2.1 分布式锁的原理 厕所占坑理论 可同时去一个地方“占坑” 阅读全文
posted @ 2021-12-03 15:18
一壶浊酒倚楼台
阅读(80)
评论(0)
推荐(0)
摘要:
Java 四种线程池的用法分析 1、new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stu 阅读全文
posted @ 2021-12-03 11:28
一壶浊酒倚楼台
阅读(126)
评论(0)
推荐(0)
摘要:
Linux下查看文件内容的命令 查看文件内容的命令: cat 由第一行开始显示内容,并将所有内容输出 tac 从最后一行倒序显示内容,并将所有内容输出 more 根据窗口大小,一页一页的现实文件内容 less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符 head 只显示头几行 tai 阅读全文
posted @ 2021-12-03 11:25
一壶浊酒倚楼台
阅读(100)
评论(0)
推荐(0)
摘要:
可以使用head(查看前几行)、tail(查看末尾几行)两个命令。例如:查看/etc/profile的前10行内容,应该是:# head -n 10 /etc/profile查看/etc/profile的最后5行内容,应该是:# tail -n 5 /etc/profile如果想同时查看可以将前10 阅读全文
posted @ 2021-12-03 11:21
一壶浊酒倚楼台
阅读(84)
评论(0)
推荐(0)
摘要:
手机上无法直接查看网络请求数据,需要使用抓包工具。Fiddler是一个免费的web调试代理,可以用它实现记录、查看和调试手机终端和远程服务器之间的http/https通信。 fiddler没有手机客户端,都是安装在PC上,要实现对手机上的程序抓包,则需要对PC上的fiddler和手机端做一些配置。步 阅读全文
posted @ 2021-12-03 11:18
一壶浊酒倚楼台
阅读(578)
评论(0)
推荐(0)
摘要:
序章 1. Fiddler 抓包简介 1) 字段说明 2). Statistics 请求的性能数据分析 3). Inspectors 查看数据内容 4). AutoResponder 允许拦截指定规则的请求 4). Composer 自定义请求发送服务器 5). Filters 请求过滤规则 2. 阅读全文
posted @ 2021-12-03 11:17
一壶浊酒倚楼台
阅读(139)
评论(0)
推荐(2)
摘要:
特性 jdk8中使用了::的用法。就是把方法当做参数传到stream内部,使stream的每个元素都传入到该方法里面执行一下,双冒号运算就是Java中的[方法引用],[方法引用]的格式是: 类名::方法名 注意此处没有()。 案例: 表达式: person -> person.getAge(); 使 阅读全文
posted @ 2021-12-03 11:12
一壶浊酒倚楼台
阅读(763)
评论(0)
推荐(0)
摘要:
一、概述 Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。简而言之,Stre 阅读全文
posted @ 2021-12-03 11:11
一壶浊酒倚楼台
阅读(417)
评论(0)
推荐(0)
摘要:
1、 lambda表达式的基础语法 lambda表达式因为是一个匿名方法,因此可以不用关心方法的名字是什么。 实际上,在设计lambda表达式的时候,返回值是什么也不需要我们关心。我们需要关心的只有两部分: 参数 和 方法体 参数 -> 方法体 是lambda表达式的最基础的语法,在语法中,使用符号 阅读全文
posted @ 2021-12-03 11:10
一壶浊酒倚楼台
阅读(79)
评论(0)
推荐(0)
摘要:
目录 一、Debug开篇 二、基本用法&快捷键 三、变量查看 四、计算表达式 五、智能步入 六、断点条件设置 七、多线程调试 八、回退断点 九、中断Debug Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通 阅读全文
posted @ 2021-12-03 11:07
一壶浊酒倚楼台
阅读(772)
评论(0)
推荐(0)
摘要:
假如我有一个订单相关的统计接口,需要返回3样数据:今日订单数、今日交易额、总交易额。 一般的我们的做法是串行调用3个函数,把调用返回的结果返回给调用者,这3次调用时串行执行的,如果每个调用耗时1秒的话,3次调用总耗时就是3秒。 这种做法效率非常低,因为3次调用之间无所谓先后顺序,所以采用并行执行效率 阅读全文
posted @ 2021-12-03 11:03
一壶浊酒倚楼台
阅读(168)
评论(0)
推荐(0)
摘要:
1、 runAsync 和 supplyAsync方法 CompletableFuture 提供了四个静态方法来创建一个异步操作。 public static CompletableFuture<Void> runAsync(Runnable runnable) public static Comp 阅读全文
posted @ 2021-12-03 11:02
一壶浊酒倚楼台
阅读(158)
评论(0)
推荐(0)
摘要:
我们在处理业务时,有时会有多任务异步处理,同步返回结果的情况,在java中,我们可以使用CompletableFuture的allOf方法来实现多实例的同时返回。 public void futureTest() { CompletableFuture<String> future1 = Compl 阅读全文
posted @ 2021-12-03 11:01
一壶浊酒倚楼台
阅读(786)
评论(0)
推荐(0)
摘要:
前言 大家好,我是哪吒!最近在重新整理 Spring 事务相关的内容,在看 Spring 事务传播行为这块内容的时候,发现了这篇优秀的文章,分享一下。 Spring 在 TransactionDefinition 接口中规定了 7 种类型的事务传播行为。事务传播行为是 Spring 框架独有的事务增 阅读全文
posted @ 2021-12-03 10:58
一壶浊酒倚楼台
阅读(110)
评论(0)
推荐(0)
摘要:
原文:https://www.cnblogs.com/rjzheng/p/10510174.html 知识点总结 1.数据库默认隔离级别: mysql repeatable,oracle,sql server read commited 2.mysql binlog的格式三种:statement,r 阅读全文
posted @ 2021-12-03 10:52
一壶浊酒倚楼台
阅读(1578)
评论(0)
推荐(0)
摘要:
在 Java 8 中,添加了函数式接口, lambda 表达式和方法引用,以便更容易地创建函数对象。今天我们就来聊聊 lambda 表达式。 Lambda表达式的前世 匿名类 以往,使用单一抽象方法的接口被用作函数类型。 它们的实例表示函数(functions)或行动(actions)。 自从 JD 阅读全文
posted @ 2021-12-03 10:46
一壶浊酒倚楼台
阅读(139)
评论(0)
推荐(0)
摘要:
转载。 https://blog.csdn.net/SSY_1992/article/details/79094556 任何应用的开发中安全都是重中之重,在信息交互异常活跃的现在,信息加密技术显得尤为重要。在app应用开发中,我们需要对应用中的多项数据进行加密处理,从而来保证应用上线后的安全性,给用 阅读全文
posted @ 2021-12-03 10:40
一壶浊酒倚楼台
阅读(123)
评论(0)
推荐(0)
摘要:
spring security 授权方式(自定义)及源码跟踪 这节我们来看看spring security的几种授权方式,及简要的源码跟踪。在初步接触spring security时,为了实现它的授权,特别是它的自定义授权,在网上找了特别多的文章以及例子,觉得好难,但是现在自己尝试结合官方文档及 阅读全文
posted @ 2021-12-03 10:32
一壶浊酒倚楼台
阅读(515)
评论(0)
推荐(0)

浙公网安备 33010602011771号