- 博客(1235)
- 资源 (61)
- 收藏
- 关注
原创 mi note3 刷入lineageos
TWRP是国外安卓爱好者开发的一款工具,全名为Team Win Recovery Project,主要作用包括刷机、备份 ,救砖。一般下载最新版本,mi note 3对应。
2023-10-09 09:01:07
1462
1
原创 android下使用Wireshark分析TCP网络数据
不行的话,可以使用如上先进入shell在su。可以拖进文件夹或者使用。下载 tcpdump。安装 tcpdump。
2023-06-16 10:30:50
1810
原创 autojs 学习
获取所有安装app// 获取系统applet apps = $app.getInstalledApps({});for (let index=0; index < apps.length; index++) { console.log(JSON.stringify(apps[index]));}{ "label": "学习强国", "appComponentFactory": "androidx.core.app.CoreComponentFactory", "cate
2022-05-21 13:51:08
1411
1
原创 泳道跨域问题
对于复杂请求,浏览器会先发送一个预检请求 curl -i 'https://ds.fe.test.sankuai.com/api/groupfission/rule/activityList?page=1&size=10&title=' \ -X 'OPTIONS' \ -H 'Accept: */*' \ -H 'Accept-Language: zh-CN,zh;q=0.9' \ -H 'Access-Control-Request-Headers: access-to
2022-04-21 17:37:39
2095
转载 如何设计一个高并发的高可用系统?
可以分为以下 8 点:系统拆分Cache(缓存)MQ数据库拆分(分库分表)读写分离ElasticSearchHTML 页面静态化CDN 加速系统拆分将一个系统拆分为多个子系统,使用 Spring Cloud 来做。然后每个系统连一个数据库,这样本来就一个库,现在多个数据库,不也可以扛高并发么。系统拆分成多个应用有以下优点:系统计算订单能力提升,提高扩展性。如果应用HTTP连接数不够,但是CPU和内存占用不高,这时候就可以只扩展Web_Tomcat,因为一个应用只接受用户创建订.
2022-04-18 22:24:16
451
原创 MySQL redo log解析
redo logredo log又称重做日志文件,用于记录事务操作的变化,记录的是数据修改之后的值,不管事务是否提交都会记录下来。在实例和介质失败(media failure)时,redo log文件就能派上用场,如数据库掉电,InnoDB存储引擎会使用redo log恢复到掉电前的时刻,以此来保证数据的完整性。redo log日志文件每个InnoDB存储引擎至少有1个重做日志文件组(group),每个文件组至少有2个重做日志文件,如默认的ib_logfile0和ib_logfile1。redo
2022-04-13 09:11:50
1371
原创 InnoDB 解析工具
只要知道了 InnoDB 编码的协议,编写解码工具是一件很轻松的事情了。package db;import org.junit.After;import org.junit.Before;import org.junit.Test;import java.io.ByteArrayInputStream;import java.io.DataInputStream;import java.io.IOException;import java.io.RandomAccessFile;
2022-04-02 10:21:06
742
原创 线程太多排查思路
现象:线上机器开启的线程数大于 1W5,触发报警规则。jps -l134195 com.sankuai.mms.boot.Bootstrap164792 sun.tools.jps.Jps查看线程数ps -T -p 134195 | wc -l14345出问题时,使用 jstack 保存了当时的堆栈信息,然后重启机器了。cat jstack.txt | grep java.lang.Thread.State | awk '{print $2}' | sort | uniq -c 70
2022-03-29 10:37:28
1340
原创 InnoDB 存储解析
import org.junit.Test;import java.io.File;import java.io.IOException;import java.nio.file.Files;import java.nio.file.Paths;/** * @author N3verL4nd * @date 2021/8/13 */public class OneByte { @Test public void test1() throws IOException {
2022-03-26 21:08:35
1504
原创 PVE网卡直通
输入nano /etc/default/grub更改 GRUB_CMDLINE_LINUX_DEFAULT 配置GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"输入nano /etc/modulesvfiovfio iommu type1vfio pcivfio virqfd重启update-grubupdate-initramfs -u -k allreboot
2022-03-26 10:07:11
9145
原创 TThreadedSelectorServer解析
protected class AcceptThread extends Thread {// 封装了 ServerSocket ServerSocketChannel private final TNonblockingServerTransport serverTransport;// IO 多路复用选择器private final Selector acceptSelector; // SelectorTread 负载均衡器private final SelectorThreadLoadB
2022-03-23 17:06:03
745
转载 阿里巴巴为什么不用 ZooKeeper 做服务发现?
转载自:https://developer.aliyun.com/article/601745历史的迷思站在未来的路口,回望历史的迷途,常常会很有意思,因为我们会不经意地兴起疯狂的念头,例如如果当年某事提前发生了,而另外一件事又没有发生会怎样?一如当年的奥匈帝国皇位继承人斐迪南大公夫妇如果没有被塞尔维亚族热血青年普林西普枪杀会怎样,又如若当年的丘老道没有经过牛家村会怎样?2007年底,淘宝开启一个叫做“五彩石”的内部重构项目,这个项目后来成为了淘宝服务化、面向分布式走自研之路,走出了互联网中间件体系之
2022-03-22 13:22:51
1857
原创 apache common-chain 简单使用
apache common-chain 是对责任链模式的简单实现责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。项目结构:拦截器需要实现Command接口基于 Spring 实现拦截器动态变更import com.google.common.collect.
2022-03-14 17:03:55
1735
原创 枚举在hessian序列化和反序列化中的问题
import com.caucho.hessian.io.*;import org.junit.Test;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.util.Arrays;enum Color { WHITE, BLACK}public class EnumExample { @T
2022-03-12 15:56:30
3834
原创 解决 hsdb jinfo jmap sa-jdi等mac不可用问题
mac 使用 hsdb 调试的时候报错hsdb> attach 3196Attaching to process 3196, please wait...ERROR: attach: task_for_pid(3196) failed: '(os/kern) failure' (5)Unable to connect to process ID 3196:sun.jvm.hotspot.debugger.DebuggerException: Can't attach to the proc
2022-02-23 15:43:19
3534
3
原创 varint zigzag 编码学习
varint编码什么是varint编码Varint是一种使用一个或多个字节序列化整数的方法,会把整数编码为变长字节。对于32位整型数据经过Varint编码后需要1~5个字节,小的数字使用1个byte,大的数字使用5个bytes。64位整型数据编码后占用1~10个字节。在实际场景中小数字的使用率远远多于大数字,因此通过Varint编码对于大部分场景都可以起到很好的压缩效果。编码原理varint编码中的每个字节都设置了最高有效位(most significant bit - msb)–msb为1则表
2022-02-16 21:06:35
1486
原创 京都-核酸
校验是否有号源https://temp.jdetyy.com/api/ncovMaster/judgeOrderByCheckDate?checkDate=2022-01-27&moduleType=1001提交订单,会校验是否有号源。https://temp.jdetyy.com/api/ncovMaster/insert{ "checkDate": "预约日期", "collectType": 0, "name": "姓名", "sex": "性别", "birth": "出
2022-01-25 10:27:49
295
原创 Mac Big Sur 升级后 JD-GUI 无法打开的问题修复
使用brew reinstall jd-gui 按照的 jd-gui,macos 升级后无法打开。核心流程/Applications/JD-GUI.app/Contents/MacOS/universalJavaApplicationStub.sh 读取/Applications/JD-GUI.app/Contents/Info.plist启动jd-gui-1.6.6-min.jar如读取 java 版本 JVMVersion/usr/libexec/PlistBuddy -c "print
2022-01-19 17:29:08
568
原创 TCL非 root 安装当贝市场
TCL 电视开启 adb 远程调试(开启-关机-再次开启)获取 TCL ip 地址adb connect 192.168.0.102:5555adb shell 执行setprop persist.tcl.debug.installapk 1setprop persist.tcl.installapk.enable 1adb install
2022-01-07 10:34:29
1864
原创 Object 占用大小
oops: ordinary object pointerUseCompressedOops: 普通对象指针压缩UseCompressedClassPointers:类指针压缩(klass pointer)开启UseCompressedOops 默认开启UseCompressedOops,关闭UseCompressedOops 默认关闭UseCompressedClassPointers。一个对象在 jvm 中包括如下 4 部分:对象头klass pointer实例数据对齐填充(对象起
2021-11-19 20:11:41
295
原创 charles抓包 httpclient
下载证书导入 jvmsudo keytool -import -v -trustcacerts -alias charles -file /Users/n3verl4nd/Desktop/charles-ssl-proxying-certificate.pem -keystore /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/security/cacerts密码:changeit大概是..
2021-08-20 20:08:52
367
原创 MySQL 读书笔记-第一章
第1章 MySQL 体系结构和存储引擎MySQL 可移植:物理体系结构在各个平台保持一致。定义数据库和实例/usr/local/opt/mysql@5.7/bin/mysqld --basedir=/usr/local/opt/mysql@5.7 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/opt/mysql@5.7/lib/plugin --log-error=n3verl4nddeMacBook-Pro.local.err
2021-08-03 17:50:43
169
原创 gc roots
gc roots## 什么是 gc roots可达性分析算法中的起点。可达性分析算法:通过GC Root 找出所有存活的对象,那么剩下所有的没有标记的对象就是需要回收的对象。常说的GC(Garbage Collector) Roots,特指的是垃圾收集器(Garbage Collector)的对象,GC会收集那些不是GC Roots且没有被GC Roots引用的对象。gc roots 原理GC Roots基本思路就是通过一系列的称为“GC Roots”的对象作为起始点, 从这些节点开始向下搜索,
2021-07-26 21:36:44
308
原创 Twitter-Snowflake 学习
import java.text.SimpleDateFormat;import java.util.Date;import java.util.HashMap;import java.util.Map;/** * Snowflake 算法 */public class IdWorker { // 起止时间戳 private final long twepoch = 1288834974657L;// 2010-11-04 09:42:54 // 工作机器 id 长.
2021-07-01 13:04:16
174
原创 kafka
启动 zookeeper./bin/zookeeper-server-start.sh -daemon ./config/zookeeper.properties关闭 zookeeper./bin/zookeeper-server-stop.sh -daemon ./config/zookeeper.properties启动 kafka./bin/kafka-server-start.sh -daemon ./config/server.properties停止 kafka./bin/kafk
2021-04-07 20:56:45
173
原创 AQS 学习记录
详细的分析可参考博客:https://javadoop.com/post/AbstractQueuedSynchronizer这里只对 AQS 做简单的测试。package concurrent;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.ReentrantLock;/** * @author liguanghui02 * @date 2021/3/26 */public class
2021-03-31 20:54:02
262
原创 Spring 循环依赖的解决
A依赖B B依赖A的场景public class A { private B b; public void setB(B b) { this.b = b; } @Override public String toString() { return "A::toString"; }}public class B { private A a; public void setA(A a) {
2021-03-25 19:49:01
387
原创 thrift-TServer解析
版本 0.8.0public abstract class TServer { // 执行器工厂,在创建服务器的时候,我们需要一个 TProcessorFactory 的参数,即会赋给该变量,在收到请求时,通过该变量来执行业务逻辑 protected TProcessorFactory processorFactory_; // 监听端口,接收请求,底层使用 ServerSocket protected TServerTransport serverTransport_; // 底
2020-11-19 15:06:25
900
原创 Hashids 原理及实现
Hashids是一个将数字转化为长度较短、唯一且不连续的值的库。特点是:对非负整数都可以生成唯一短id可以设置不同的盐,具有保密性递增的输入产生的输出无法预测代码较短,且不依赖于第三方库原理进制转换:将10进制的整数转化为 62 进制(26个字母大小写+10个数字),可扩展为任意进制。 private static String hash(long input, String alphabet) { String hash = ""; final int alphabet
2020-07-04 15:32:20
4191
原创 太阳圣火自动播放
var i = 0;setInterval(function () { player.sdk.seekTo(i++); updateLearn();}, 1000);study={gcid:294539,state:0,curzjid:7965,curstart:134,rnd:'05NDU65M4T',chcode:'1c98e2a54af5547011b3b95a73c2dfae'};player = new CloudVodPlayer();player.init(.
2020-07-03 22:51:06
2606
2
原创 Netty中Channel、ChannelPipeline、ChannelHandler、ChannelHandlerContext之间的关系
public interface Channel extends AttributeMap, ChannelOutboundInvoker, Comparable<Channel> {// ...ChannelPipeline pipeline();// ...}
2020-06-25 10:20:26
946
原创 rime输入法配置
rime 输入法配置基本配置来源https://github.com/xiaoTaoist/rime-dictemoji 表情设置./rime-install emoji./rime-install emoji:customize:schema=luna_pinyinhttps://github.com/rime/rime-emoji执行完会在luna_pinyin.custom....
2020-04-19 11:07:30
3060
lua-cjson-2.1.0-已编译
2018-04-16
mybatis plugin 3.21破解补丁
2017-11-13
QQWry-源码
2017-11-13
Privacy in Location-Based Applications
2017-10-17
BJUT数字图像处理作业
2017-01-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人