02 2021 档案

摘要:Jedis github地址:https://github.com/redis/jedis redis底层使用的epoll Lettuce github地址:https://github.com/lettuce-io/lettuce-core SpringBoot Redis 官方地址:https: 阅读全文
posted @ 2021-02-28 22:57 BigBender 阅读(87) 评论(0) 推荐(0) 编辑
摘要:直接上代码 在uniapp中,picker要一个一个写 <picker @change="bindPickerChange($event, formList[7])" :range="formList[7].array" range-key="val"> <view :class="formList 阅读全文
posted @ 2021-02-28 22:56 BigBender 阅读(243) 评论(0) 推荐(0) 编辑
摘要:性能监控 show profile set profiling = 1; show profile SHOW PROFILE [type [, type] ... ] [FOR QUERY n] [LIMIT row_count [OFFSET offset]] type: { ALL | BLOC 阅读全文
posted @ 2021-02-28 22:51 BigBender 阅读(161) 评论(0) 推荐(0) 编辑
摘要:Redis缓存击穿 key过期的瞬间,流量进入服务器,跳过redis,直接访问mysql 使用setnx锁 setnx锁的问题 如果请求执行因为某些原因意外退出了,导致创建了锁但是没有删除锁,那么这个锁将一直存在以至于以后缓存再也得不到更新 需要给锁加一个过期时间 需要借助 Expire 来设置 把 阅读全文
posted @ 2021-02-28 12:38 BigBender 阅读(182) 评论(0) 推荐(0) 编辑
摘要:集群方式 AKF AKF 立方体也叫做scala cube,它在《The Art of Scalability》一书中被首次提出,旨在提供一个系统化的扩展思路 AKF 把系统扩展分为以下三个维度: X 轴:直接水平复制应用进程来扩展系统 Y 轴:将功能拆分出来扩展系统 Z 轴:基于用户信息扩展系统 阅读全文
posted @ 2021-02-27 21:03 BigBender 阅读(316) 评论(0) 推荐(0) 编辑
摘要:缓存 掉电易失 数据库 速度+持久性 redis + mysql RDB Redis DB 单机持久化 非阻塞会产生时点混乱 export的环境变量 linux子进程的修改不会破坏父进程 父进程的修改也不会破坏子进程 管道会触发创建子进程 fork(子进程相当于父进程的一个快照) 当程序调用fork 阅读全文
posted @ 2021-02-27 02:58 BigBender 阅读(343) 评论(4) 推荐(0) 编辑
摘要:拉链表 记录历史数据的每个状态,记录一个事物从开始,一直到当前状态的所有变化的信息 拉链表通常是对账户信息的历史变动进行处理保留的结果 拉链表形成过程 订单当日全部数据和mysql中每天变化的数据拼接在一起,形成一个新的临时拉链表数据 用临时的拉链表覆盖旧的拉链表数据(这就解决了hive表中数据不能 阅读全文
posted @ 2021-02-27 01:42 BigBender 阅读(372) 评论(0) 推荐(0) 编辑
摘要:Redis文档中心 官方地址:http://redis.cn/documentation.html 从文件中批量插入数据 官方地址:http://redis.cn/documentation.html Redis发布、订阅 官方地址:http://redis.cn/topics/pubsub.htm 阅读全文
posted @ 2021-02-26 19:56 BigBender 阅读(243) 评论(0) 推荐(0) 编辑
摘要:list lpush 左边添加 rpush 右边添加 lpop 左边弹出 rpop 右边弹出 lrange key start end linsert 左边插入字符 lrem33 左边移除 blpop 如果列表为空,返回一个 nil 否则,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 k 阅读全文
posted @ 2021-02-26 06:34 BigBender 阅读(57) 评论(0) 推荐(0) 编辑
摘要:redis指令help 通用组 help @generic 清库指令 FLUSHDB 一般不用 16个库 String类型 一些方法可以自动判断类型 nx 不存在时才设置 适用于分布式锁 xx 只有存在时才设置,即只能更新 mset 设置多个kv对 append 字符串尾部追加 getset 设置新 阅读全文
posted @ 2021-02-26 02:50 BigBender 阅读(48) 评论(0) 推荐(0) 编辑
摘要:数据库排名 参考地址:https://db-engines.com/en/ranking 为什么用redis Redis数据类型 计算向数据移动 Redis安装 官方文档:https://redis.io/download $ wget http://download.redis.io/releas 阅读全文
posted @ 2021-02-25 19:58 BigBender 阅读(89) 评论(0) 推荐(0) 编辑
摘要:OSI七层模型,自顶向下 TCP三次握手 第一次握手 建立连接时,客户端发送 syn 包(syn=j)到服务器,并进入 SYN_SEND 状态,等待服务器确认 第二次握手 服务器收到 syn 包,必须确认客户的 SYN(ack=j+1),同时自己也发送一个 SYN 包(syn=k),即 SYN+AC 阅读全文
posted @ 2021-02-25 16:45 BigBender 阅读(415) 评论(0) 推荐(0) 编辑
摘要:TCP状态 时序图 ACK TCP数据包中的序列号(Sequence Number)不是以报文段来进行编号的,而是将连接生存周期内传输的所有数据当作一个字节流,序列号就是整个字节流中每个字节的编号 一个TCP数据包中包含多个字节流的数据(即数据段),而且每个TCP数据包中的数据大小不一定相同 在建立 阅读全文
posted @ 2021-02-25 13:37 BigBender 阅读(610) 评论(0) 推荐(0) 编辑
摘要:arp_ignore和arp_announce 参数都和ARP协议相关,主要用于控制系统返回arp响应和发送arp请求时的动作 这两个参数很重要,特别是在LVS的DR场景下,它们的配置直接影响到DR转发是否正常 arp_ignore - INTEGER Define different modes 阅读全文
posted @ 2021-02-25 02:17 BigBender 阅读(141) 评论(0) 推荐(0) 编辑
摘要:JMH(Java Microbenchmark Harness) 官方地址:http://openjdk.java.net/projects/code-tools/jmh/ 添加依赖,官方地址:https://mvnrepository.com/artifact/org.openjdk.jmh/jm 阅读全文
posted @ 2021-02-24 15:15 BigBender 阅读(110) 评论(0) 推荐(0) 编辑
摘要:ConcurrentHashMap 在涉及到Java多线程开发时,如果我们使用HashMap可能会导致死锁问题,使用HashTable效率低 而ConcurrentHashMap既可以保持同步也可以提高并发效率,所以这个时候ConcurrentHashmap是我们最好的选择 Map Map是数组+链 阅读全文
posted @ 2021-02-23 23:41 BigBender 阅读(89) 评论(0) 推荐(0) 编辑
摘要:基本不变式 在执行方法之前和之后,队列必须要保持的不变式: 当入队插入新节点之后,队列中有一个 next 域为 null 的(最后)节点 从 head 开始遍历队列,可以访问所有 item 域不为 null 的节点 head 的不变式和可变式 在执行方法之前和之后,head 必须保持的不变式: 所有 阅读全文
posted @ 2021-02-23 22:51 BigBender 阅读(48) 评论(0) 推荐(0) 编辑
摘要:LockSupport LockSupport.park() 可以用来阻塞当前线程,park是停车的意思,把运行的线程比作行驶的车辆,线程阻塞则相当于汽车停车 该方法还有个变体LockSupport.park(Object blocker),指定线程阻塞的对象blocker,该对象主要用来排查问题 阅读全文
posted @ 2021-02-23 16:36 BigBender 阅读(61) 评论(0) 推荐(0) 编辑
摘要:效率 线程数特别多的时候 Longadder > Atomic > synchroinzed Longadder内部使用了分段锁 Longadder是LongAccumulator的一种特殊形式 ReentrantLock,synchronized对比 cas vs sync trylock loc 阅读全文
posted @ 2021-02-23 00:07 BigBender 阅读(62) 评论(0) 推荐(0) 编辑
摘要:锁升级 为什么会有锁升级 在jdk1.6之前synchronized关键字是管态的mutex互斥锁,耗时长,开销大 此后对synchronized关键字进行了优化,出现了偏向锁,自旋锁和重量锁 锁对象 刚才我们说,锁实际上是加在对象上的,那么被加了锁的对象我们称之为锁对象,在java中,任何一个对象 阅读全文
posted @ 2021-02-22 21:32 BigBender 阅读(145) 评论(0) 推荐(0) 编辑
摘要:线程周期 synchronized锁可重用 synchronized底层实现,早期JDK,重量级os实现 synchronized(Object) 这个Object不能用String常量、Integer、Long markword记录线程ID(偏向锁) 如果线程争用,升级为 自旋锁 (while反复 阅读全文
posted @ 2021-02-22 18:58 BigBender 阅读(117) 评论(0) 推荐(0) 编辑
摘要:线程的创建 继承Thread public class MyThread extends Thread{ @Override public void run(){ for(int i = 0; i < 10; i++{ System.out.println(Thread.currentThread( 阅读全文
posted @ 2021-02-22 02:43 BigBender 阅读(59) 评论(0) 推荐(0) 编辑
摘要:GC算法的基础概念 Card Table 由于做YGC时,需要扫描整个OLD区,效率非常低,所以JVM设计了CardTable 如果一个OLD区CardTable中有对象指向Y区,就将它设为Dirty,下次扫描时,只需要扫描Dirty Card 在结构上,Card Table用BitMap来实现 C 阅读全文
posted @ 2021-02-20 16:47 BigBender 阅读(104) 评论(0) 推荐(0) 编辑
摘要:设计架构的重要思想 分治 分层 官方地址:https://www.oracle.com/technical-resources/articles/java/g1gc.html 吞吐量G1比PS降低10%~15% 追求耗时少,200ms内有响应,用G1 追求throughput,用Parallel G 阅读全文
posted @ 2021-02-20 15:47 BigBender 阅读(115) 评论(0) 推荐(0) 编辑
摘要:Jvm 常用命令行参数 JVM的命令行参数参考:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html HotSpot参数分类 标准: - 开头,所有的HotSpot都支持 非标准:-X 开头,特定版本HotSpot支 阅读全文
posted @ 2021-02-20 01:39 BigBender 阅读(102) 评论(0) 推荐(1) 编辑
摘要:Garbage 丢失指针的对象 java 与 c++ 垃圾处理区别 Java: new 自动内存回收,编程上简单,系统不容易出错,手动释放内存,容易出两种类型的问题: 忘记回收 多次回收 没有任何引用指向的一个对象或者多个对象(循环引用) 如何找垃圾 引用计数(ReferenceCount)Pyth 阅读全文
posted @ 2021-02-19 00:37 BigBender 阅读(31) 评论(0) 推荐(0) 编辑
摘要:A class life cycle Run-time data areas PC 程序计数器,存放指令位置 虚拟机的运行,类似于这样的循环 while(not end) { 取PC中的位置,找到对应位置的指令; ​ 执行该指令; ​ PC ++; } JVM Stack Frame - 每个方法对 阅读全文
posted @ 2021-02-18 17:02 BigBender 阅读(34) 评论(0) 推荐(0) 编辑
摘要:使用JavaAgent测试Object的大小 观察虚拟机配置 java -XX:+PrintCommandLineFlags -version 对象创建过程 class loading class linking(verification, preparation, resolution) clas 阅读全文
posted @ 2021-02-18 15:26 BigBender 阅读(32) 评论(0) 推荐(0) 编辑
摘要:存储器层次结构 Cache line的概念,缓存行对齐,伪共享 多线程一致性的硬件层支持 MESI Cache一致性协议(重点) 在MESI协议中,每个Cache line有4个状态,可用2个bit表示,它们分别是: M(Modified):这行数据有效,数据被修改了,和内存中的数据不一致,数据只存 阅读全文
posted @ 2021-02-18 13:18 BigBender 阅读(212) 评论(0) 推荐(0) 编辑
摘要:preparation这一步比较重要 双亲委派机制 类加载器的继承关系 类加载过程 类加载器的范围 自定义类加载器 loadClass Java编译+解释混合模式 懒加载 Linking Verification 验证文件是否符合JVM规定 Preparation 静态成员变量赋默认值 Resolu 阅读全文
posted @ 2021-02-17 23:52 BigBender 阅读(98) 评论(0) 推荐(0) 编辑
摘要:Java从编译到执行 JVM是跨语言的平台 Jvm与Java无关 Jvm是一种规范 常见Jvm实现 Class File Format Javap 该指令显示class的信息 JBE可以直接修改class IDEA插件,JClassLib 点击下载即可 编译以后,将光标放在想要查看的class的ja 阅读全文
posted @ 2021-02-17 19:15 BigBender 阅读(47) 评论(0) 推荐(0) 编辑
摘要:OpenFeign OpenFeign是Netflix 开发的声明式、模板化的HTTP请求客户端。可以更加便捷、优雅地调用http api。 OpenFeign会根据带有注解的函数信息构建出网络请求的模板,在发送网络请求之前,OpenFeign会将函数的参数值设置到这些请求模板中。 feign主要是 阅读全文
posted @ 2021-02-17 13:47 BigBender 阅读(50) 评论(0) 推荐(0) 编辑
摘要:负载均衡 目的:将请求分发到其他功能相同的服务 当系统面临大量的用户访问,负载过高的时候,通常会增加服务器数量来进行横向扩展(集群) 多个服务器的负载需要均衡,以免出现服务器负载不均衡,部分服务器负载较大,部分服务器负载较小的情况 通过负载均衡,使得集群中服务器的负载保持在稳定高效的状态,从而提高整 阅读全文
posted @ 2021-02-16 13:16 BigBender 阅读(158) 评论(0) 推荐(0) 编辑
摘要:单节点Eureka搭建 启动类 @EnableEurekaServer@SpringBootApplication public class EurekaServerApplication{ public static void main(String[] args){ SpringApplicat 阅读全文
posted @ 2021-02-15 21:30 BigBender 阅读(66) 评论(0) 推荐(0) 编辑
摘要:某些仓库从github下载,包体积比较大,且有以下报错 fatal: the remote end hung up unexpectedlyMiB | 8.00 KiB/s fatal: early EOF fatal: index-pack failed 修改全局配置 //httpBuffer加大 阅读全文
posted @ 2021-02-15 00:43 BigBender 阅读(614) 评论(0) 推荐(0) 编辑
摘要:Spring Security简介 历史 添加parent和web依赖 SpringBootApplication @MapperScan@SpringBootApplication public class SpringSecurityApplication{ public static void 阅读全文
posted @ 2021-02-14 18:12 BigBender 阅读(47) 评论(0) 推荐(0) 编辑
摘要:AMQP简介 Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议 AMQP工作过程 队列 RabbitMQ简介 解决应用耦合 使用MQ解决耦合 RabbitMQ适用场景 RabbitMQ原理 Message Publisher Con 阅读全文
posted @ 2021-02-11 10:26 BigBender 阅读(106) 评论(0) 推荐(0) 编辑
摘要:Idea jar包破解 所需jar包 https://files.cnblogs.com/files/YC-L/jetbrains-agent.jar.zip 修改这两个文件,在最底部添加如下代码,具体路径看自己的电脑 -javaagent:C:\Program Files\JetBrains\In 阅读全文
posted @ 2021-02-07 22:35 BigBender 阅读(2519) 评论(0) 推荐(0) 编辑
摘要:为什么用Solr 海量数据下,关系型数据库的搜索效率比较低,最好使用专用搜索工具搜索 常见所搜解决方案 基于Apache Lucene(全文检索工具库) 谷歌API 百度API Solr solr基于Apache Lucene构建的用于搜索和分析的开源解决方案 solr本质是一个内嵌了Jetty服务 阅读全文
posted @ 2021-02-07 08:52 BigBender 阅读(165) 评论(0) 推荐(0) 编辑
摘要:NoSQL简介 Redis简介 Redis单机版安装 安装依赖C语言依赖 yum install -y gcc-c++ automake autoconf libtool make tcl 进入/usr/local/tmp下载redis cd /usr/local/tmp git clone htt 阅读全文
posted @ 2021-02-05 18:24 BigBender 阅读(117) 评论(0) 推荐(0) 编辑
摘要:普通的存储方式,图片存储过于分散 图片存储过于分散 图片多的服务器压力比较大,可能影响其他功能 存储到项目路径中,重启会丢失。存储到外部文件中,IO操作性能低 搭建图片服务器 分布式文件系统概述 通用分布式文件系统 专用分布式文件系统 Google FS 体系结构 FastDFS简介 架构图 角色 阅读全文
posted @ 2021-02-04 09:29 BigBender 阅读(154) 评论(0) 推荐(0) 编辑
摘要:Apache Dubbo是一个高可用的,基于java的开源RPC框架 不仅包含RPC访问功能,还包含服务治理功能 由阿里巴巴建立,最后由apache维护至今,所以我们选择由apache维护的dubbo 官方地址:https://mvnrepository.com/artifact/org.apach 阅读全文
posted @ 2021-02-03 14:37 BigBender 阅读(39) 评论(0) 推荐(0) 编辑
摘要:Zookeeper的安装 最新稳定版本官方地址:https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz Ctrl + Alt + T 进入命令行 https:/ 阅读全文
posted @ 2021-02-02 09:37 BigBender 阅读(443) 评论(0) 推荐(0) 编辑
摘要:RMI实现RPC RMI(Remote Method Invocation)远程方法调用,RMI是从JDK1.2推出的功能,可以实现在一个Java应用中调用本地方法一样调用另一个服务器中Java的内容 执行流程 API介绍 Remote,java.rmi.Remote定义了此接口为远程调用接口,若接 阅读全文
posted @ 2021-02-02 00:23 BigBender 阅读(268) 评论(0) 推荐(0) 编辑
摘要:单体架构 单体架构就是一个项目里面包含这个项目中的全部代码,一个应用搞定全部功能,DNS服务器可以是单映射,也可以配置多个映射 软件代码结构 在单体结构项目中,团队都是通过包(package)进行区分每个模块 优缺点 优点,部署简单,维护方便,成本低 缺点,当项目规模大,用户访问频率高,并发量大,数 阅读全文
posted @ 2021-02-01 16:02 BigBender 阅读(90) 评论(0) 推荐(0) 编辑
摘要:国内技术团队博客 1. 美团技术团队博客 地址:http://tech.meituan.com/ 2. 腾讯社交用户体验设计(ISUX) 地址:http://isux.tencent.com/ 3. 京东设计中心 地址:http://jdc.jd.com 5. 百度搜索用户体验中心 地址:http: 阅读全文
posted @ 2021-02-01 14:04 BigBender 阅读(131) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩