自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 latex出现“Undefined control sequence”问题解决方法

latex出现“Undefined control sequence”问题的解决方法

2022-08-23 14:49:45 136303 14

原创 Failed to connect to github.com port 443: Connection refused问题解决

问题描述当进行仓库pull或者push时,报错如下:Failed to connect to github.com port 443: Connection refused解决方法如下:方法一:关闭代理一开始查找解决方法以为是开梯子或者其他代理工具等原因,然后就试了重置代理或者取消代理的方式git config --global --unset http.proxygit config --global --unset https.proxy添加全局代理:git confi

2022-05-26 10:27:39 91644 46

原创 EOSIOAnalyzer

目录EOSIOAnalyzerControl flow graph builderStatic analyzer将得到的Wasm CFG转为IR CFG对IR CFG基本块进行数据流分析输出所有的EDB文件程序介绍分析脚本Datalog规范Vulnerability detectorFake EOS TransferForged Transfer NotificationBlock Information DependencyEOSIOAnalyzerE

2022-03-12 19:44:14 286

转载 Java设计模式

Java设计模式概念介绍

2022-08-23 15:44:49 4699

原创 安装truffle后,运行truffle:未找到命令的解决方案

安装truffle后,运行truffle:未找到命令的解决方案

2022-07-27 11:27:55 5355

转载 消息队列比较

常见的消息队列对比指标对比概述吞吐量万级的 ActiveMQ 和 RabbitMQ 的吞吐量(ActiveMQ 的性能最差)要比十万级甚至是百万级的 RocketMQ 和 Kafka 低一个数量级可用性都可以实现高可用。ActiveMQ 和 RabbitMQ 都是基于主从架构实现高可用性。RocketMQ 基于分布式架构。 kafka 也是分布式的,一个数据多个副本,少数机器宕机,不会丢失数据,不会导致不可用时效性RabbitMQ 基于 erlang 开发,所以并发能

2022-04-28 17:00:10 1273

原创 Java后序遍历

import java.util.*;/** * @author lwy * @create 2022-04-05 14:23 */public class BinaryTreePostOrder { static class Node { int val; Node left; Node right; Node() { } Node(int value) { t.

2022-04-07 09:29:51 542

转载 CountDownLatch与CyclicBarrier

CountDownLatch与CyclicBarrier区别CountDownLatchJUC包下的并发工具类CountDownLatch,CountDownLatch为递减计数器,用于控制一个线程等待多个线程。维护一个计数器count,表示需要等待的事件数量,countdown方法递减计数器,表示事件发生,调用await()方法的线程会一直阻塞直到计数器为零,或者等待中的线程中断,或者等待超时CyclicBarrierCyclicBarrier,循环栅栏可以让一组线程等待至某个状态之后再全部

2022-04-06 11:17:53 1120

转载 Java对象的创建

对象的创建Step1:类加载检查虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。如果没有,那必须先执行相应的类加载过程。Step2:分配内存在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需的内存大小在类加载完成后便可确定,为对象分配空间的任务等同于把一块确定大小的内存从 Java 堆中划分出来。分配方式有 “指针碰撞” 和 “空闲列表” 两种,选择哪种分配方式由 Java 堆是

2022-04-01 22:02:29 79

原创 Java集合使用

集合转Map使用 java.util.stream.Collectors类的 toMap()方法转为 Map 集合,其内部调用了 Map 接口的merge()方法,而merge()方法会先调用 Objects.requireNonNull()方法判断 value 是否为空list.stream().collect(Collectors.toMap());注意:list是要转换的List表名,toMap()内是需要的list里面的内容基本类型数组转List1、使用Arrays.asList

2022-03-31 21:40:11 743

原创 几个经典的算法

几个经典的算法10亿个数字里里面找最小的10个首先我们得先了解什么是**TOP K问题**Top K指的是从n(很大)个数据中,选取最大(小)的k个数据。例如学校要从全校学生中找到成绩最高的500名学生,再例如某搜索引擎要统计每天的100条搜索次数最多的关键词对于这种问题,效率比较高的解决方法是使用最小堆先去源数据中的K个元素放到一个长度为K的数组中去,再把数组转换成最小堆。再依次取源数据中的K个之后的数据和堆的根节点(数组的第一个元素)比较,根据最小堆的性质,根节点一定是堆中最小的元素,如

2022-03-25 10:32:25 1712

转载 MySQL锁

MySQL锁全局锁FTWRL加锁操作flush tables with read lock解锁操作unlock tables场景全库逻辑备份表级锁表锁加锁//表级别的共享锁,也就是读锁;lock tables t_student read;//表级别的独占锁,也就是写锁;lock tables t_stuent wirte;解锁unlock tables当会话退出后,也会释放所有表锁元数据锁(MDL)对一张表进行 CRUD 操作时

2022-03-22 10:47:10 120

原创 Java 大数使用

Java 大数BigInteger使用由于在 Java中,在不使用大数的情况下,整数最大范围为long型(能够表示64位的整数),速度快 ,但是当运算超过long型的范围时,我们就需要用java.math.BigInteger(另外一个是java.math.BigDecimal,用于进行小数运算 )来表示任意大小的整数了,其内部用一个int[]数组来模拟一个非常大的整数以下为BigInteger以及BigDecimal相关API介绍:以下用一个例子来实现BigInteger:**程序 :**

2022-03-20 11:36:21 1876

原创 Java秒杀方案

目录项目搭建SpringBootLombokSpring WebThymeleafMybatis-plus分布式会话用户登录逆向工程参数校验异常处理共享Session功能开发前提:用逆向工程生成数据库表对应所需要的所有类商品列表商品详情秒杀订单详情系统压测JMeter入门自定义变量JMeterr命令行正式压测页面优化缓存静态化分离库存超卖服务优化RabbitMQ消息队列接口优化分布

2022-03-18 21:41:54 4716

原创 Java死锁

死锁的定义是:两个或两个以上的线程或进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象。用白话讲就是:现在有线程1和线程2。线程1执行过程中,先锁定了对象a,然后需要再锁定b才能继续执行代码;而线程2正巧相反,先锁定了b,需要再锁定a才能继续执行代码。这时,两个线程都等着对方解锁,才能继续执行,于是两个线程就进入等待状态,最终不会有线程执行。这就变成了死锁。死锁是在多线程编程中常常遇到的问题,现在用java编写一个简单的死锁程序。程序在main()方法中启动2个线程,“线程-1

2022-03-14 10:54:39 735

原创 Typora快捷键

Typora快捷键源码模式ctrl+/生成目录[TOC]按回车代码块ctrl+alt+f代码ctrl+shift+`标题ctrl+数字表格ctrl+t选中一行ctrl+l选中单词ctrl+d选中相同格式的文字ctrl+e跳转到文章开头ctrl+home跳转到文章结尾ctrl+end搜索ctrl+f替换ctrl+h下划线ctrl+u删除线alt+shift+5插入图片直接拖动到指定位置即可或者ctrl+shift

2022-03-12 19:52:11 269

转载 项目--秒杀

秒杀常见问题

2022-03-10 18:18:02 122

原创 Go语言各大排序算法

目录1、冒泡排序2、插入排序3、归并排序4、快速排序(1)普通快速排序(2)Double快速排序5、希尔排序6、基数排序7、计数排序8、bfprt排序1、冒泡排序package mainimport ( "fmt" "time")func swap(a []int, i int, j int) { if a[i] > a[j] { // var temp int temp := a[i] a[i] = a[j] a[j.

2022-03-06 14:51:40 582

原创 高效学习资源网站

一些学习网站,不足以后还会继续加

2022-03-04 15:53:08 96

原创 hexo博客迁移到另外一台电脑

复制原电脑上的数据注:不需要全部复制 _config.yml:站点配置文件 package.json:应用程序数据,指明hexo的版本等信息,类似于一般软件中的关于按钮 scaffolds/:layout模板文件目录,其中的md文件可以添加编辑 source/: 文章源码目录,该目录下的markdown和html文件均会被hexo处理。该页面对应repo的根目录,404文件、favicon.ico文件,CNAME文件等都应该放这里,该目录下可新建页面目录。

2022-03-03 22:50:25 190

转载 数据流分析

基本原理数据流分析是一种用来获取相关数据沿着程序执行路径流动的信息分析技术。分析对象是程序执行路径上的数据流动或可能的取值 优点:具有更强的分析能力,适合需要考虑控制流信息且变量属性之操作十分简单的静态分析问题 缺点:分析效率低,过程间分析和优化算法复杂,编程工作量大,容易出错且效率低 一个数据流分析框架(D, L, F)包含: D:数据流的方向,前向或者后向 L:包含数值作用域V和操作符meet ⊓ 或 join ⊔ 的lattice F:一系列V to

2022-03-03 22:48:16 6305

原创 偏序相关知识

偏序 参考链接 全序与偏序 偏序 定义 Partiallyordered set,简写poset 设R是集合A上的一个二元关系,若R满足: Ⅰ 自反性:对任意x∈A,有xRx; Ⅱ 反对称性(即反对称关系):对任意x,y∈A,若xRy,且yRx,则x=y; Ⅲ 传递性:对任意x, y,z∈A,若xRy,且yRz,则xRz。 则称R为A上的偏序关系,通常记作≼。注意这里的≼不必是指一般意义上的“小于或等于”。

2022-03-03 22:45:32 1116

原创 EOSIO漏洞

EOSIO漏洞复现实验环境 nodeos :2.0.12 EOSIO.CDT(编译器):1.2.1 实验数据 准备 解锁账户(默认锁定时间较短,可以自己修改配置文件使得时间更长) yourcount:指你自己创建的钱包名 $ cleos wallet unlock -n yourcount --password EOS Fake Transfer复现过程 存在漏洞的合约示例(test.cpp): if( code == self ..

2022-03-03 22:25:16 4339

转载 污点分析技术

目录污点分析技术基本原理识别污点源和汇聚点污点传播分析污点传播分析的关键技术污点分析方法实现污点分析在实际应用中的关键技术总结参考文献污点分析技术基本原理污点分析定义污点分析可以抽象成一个三元组<sources,sinks,sanitizers>的形式,其中,source 即污点源,代表直接引入不受信任的数据或者机密数据到系统中;sink 即污点汇聚点,代表直接产生安全敏感操作(违反数据完整性)或者泄露隐私数据到外界(违反数据保密性);sa..

2022-03-03 20:49:31 10084

转载 程序分析之中间表示(Intermediate Representation)

静态分析目录静态分析中间表示(Intermediate Representation)抽象语法树(Abstract Syntax Tree,AST)三地址码(Three Address Code,TAC/3AC)静态单赋值形式(Static Single Assignment Form,SSA)静态分析程序静态分析(Program Static Analysis)是指在不运行代码的方式下,通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行扫描,验证代码是否满足规范

2022-03-03 19:00:44 1590

秒杀系统(前端、后端、中间件完整代码)

主要这个秒杀方案分为六部分: 1、分布式会话: 2、功能开发:商品列表、商品详情、秒杀、订单详情 3、系统压测:JMeter,目的:发现秒杀系统的问题(低并发并不会出现问题,但是在高并发会出现很多问题,比如:超卖问题) 如何处理高并发: (1)缓存 (2)异步 (3)安全 4、页面优化(商品会不会出现超卖、性能有没有提高等问题) 5、服务优化(解决暴露出来的问题,超卖) 6、安全优化

2022-03-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除