自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用Java手写一个PyTorch模型运行框架(100行代码)

java 实现简单pytorch模型解析

2023-09-14 00:02:03 347

原创 [CPU飙升排查]生产CPU飙升,YGC不断的事故

线上问题排查 arthas使用 框架问题排查

2023-07-19 13:58:23 459

原创 TCP-4次挥手小记

本篇读完需要10分钟,读完能了解: 1. TCP4次挥手2. 为什么要4次挥手3. TIME_WAIT等待2MSL的原因4. TCP故障检测

2022-09-09 10:10:42 638 1

原创 TCP-3次握手小记

TCP3次握手解释,包括为什么要三次握手,以及三次握手的问题,DDNS的预防等

2022-09-07 23:52:03 1221 1

原创 用SpringBoot做一个Windows可挂载到本地的NAS网盘

先看使用效果能在上面修改删除添加文件:1. 准备工作调研了一下,windows挂载的几种方式如下:1. NFSv3(RFC1813)可以基于Netty做开发,需要基于RFC1813实现linux的网络协议服务器2. FTP(以前实现过 Apache有开源的Jar内嵌了FTP服务)3. WebDav(tomcat自带了WebDav的Servlet 基于源码改造改造即可使用)2. 选型工作因为NFSv3只有RFC文件,资料比较少如果要实现需要抓包看TCP和UDP,成本较大所以未采

2022-01-06 12:16:19 3039 11

原创 知识体系整理-目录

知识体系整理

2021-12-15 17:52:32 2821

原创 支持回拨性能超过SNOWFLAKE3倍的烟花ID生成器

最近写了个ID生成器: FireWork。项目地址: firework-id-generator16 byte顺序字符串[8byte时间戳 1byte回拨位 2byte ServiceId 5byte序列号]序列号不在下一秒重置总体趋势递增支持时间到 8888年左右支持3844台相同微服务之间id唯一支持时钟回拨无数次,61次后时间还小于上次回拨时间时通过消费未来时间确保ID不重复支持监听时钟回拨告警或者其他业务处理性能在多线程的时候表现良好(12000/ms 多余snowflake 400

2021-09-28 18:50:08 15586

原创 阿里云语雀空间防泄露(关于墨菲定律的演变 netty自撸http&https代理 Cookie Copy方案始末)

博主的公司用了语雀(https://www.yuque.com/) 做知识库,遇到了个巨坑。本着公司资料保密的原因,公司专门购买了空间(会给单独域名)。原来设想在空间中设置只允许沙盒出口地址访问,然后在沙盒中设置只能访问该空间,这样完美地把资料放在沙盒里面。但是墨菲定律来了:1. 语雀引了一堆OSS各种不同域名。(怎么收集所有的域名开通网络)2. 语雀登录需要跳转到个人语雀地址。(意味着登录空间必须开启 https://www.yuque.com/如果打开的话可以把空间里的资料下来放到个人.

2021-05-08 20:47:52 17135

原创 [已实现]沙盒环境并不安全,不联网的机器并非Copy不出东西

先放结果:可以!!。看图片其实已经能猜到怎么做了,二维码!!只要把文件的内容分片编码成二维码,然后外面解析二维码在文件对应的位置写入数据就OK了。理论上所有物理隔离的只要有显示屏幕,有摄像头就都能传输数据。代码地址coder-transfer使用方法:将代码打成jar包接收文件: eg: java -jar code-transfer-0.0.1-SNAPSHOT.jar R 10 30 550550 512 100 1.zip R表示接收 10 30 是截取屏幕的左上角 550 550

2021-01-06 20:54:09 36615

原创 怎么侵入性最少地代理一个类下的所有方法,以及方法返回对象的所有方法

想写一个数据库连接工具[DataGrip]连接Redis的功能,所以要知道它调用了Driver的哪些类。但是苦于很少有代码侵入性低但是能监控所有执行方法返回值的。干脆自己撸一个代码比较少,但是解决了几个比较头疼的问题终于算是实现了。 只要给定一个入口类,几乎把该类下面的所有方法及其方法的返回的类都能监控到,其中操作比较有意思。主要涉及的技术点:动态字节码生成无参构造函数的类,骗过CGLIB检测 自写类加载器加载类 重写CGLIB代理类,不用通过构造函数,通过实体直接生成代理类效果图,只对Dr.

2020-12-24 16:43:27 50981 1

原创 h2:无法自动建库解决

1.4.198 (2019-02-22) 版本开始,H2不再自动创建数据库,很难在网上找到有解决方案,故down了源码Connection to jdbc:h2:tcp://0.0.0.0:6666/./aika failed. [90149][90149] Database "/home/Hex/IdeaProjects/h2database/h2/aika" not found, either pre-create it or allow remote database creation (not

2020-09-23 15:39:01 54197 6

原创 关于结构化面试

作为面试官,一直以来,面试都存在一些问题:1.如何在适当的时间打断,维持自己的节奏。 2.怎么让参试人员发挥出应有的水平。 3.怎么去了解参试人员能否胜任竞聘的岗位。 ....参与金牌面试官的培训,老师介绍了结构化面试和无领导小组讨论。先说说两种面试方法的步骤:1.结构化面试[基于选拔性素质模型]1)构建选拔性素质模型2)设计机构化面试的提纲(题库)3)制定评分标准的等级表4)培训结构化面试官5)结构化面试打分2.无领导小组讨论1)准备 题目,评分表格,场地,参

2020-08-14 11:45:46 69677

原创 字典树[包含搜索和计算数量的功能]

package com.cic.crm.dataplatform.service.scene.field;import java.util.HashMap;import java.util.Map;import java.util.Optional;/** * @Author luoshu * @Class TrieNode * @Description 字典树节点 */public class TrieNode { private Character data; .

2020-07-24 17:51:49 29399

原创 扫描一个类所在目录下的所有类的类名[包括Jar和非jar]

/** * 扫描一个类所在目录下的所有类的类名 * * @param clazz 要扫描的基础类 * @param filter 过滤器 为空的时候不过滤 * @return 一个全路径类名的List */ public static List<String> scanAllClass(Class clazz, Function<String, Boolean> filter) { List&lt.

2020-07-24 11:58:38 46112

原创 [已实现]adb偷取蚂蚁森林能量

先放效果图代码如下 需要图片素材的在附件里import osimport sysimport aircv as acimport timebashPath = "D:/Tools/adb1/py/pic/"sys.path.append("D:\Tools\adb1")#os.popen("adb shell am start -n com.eg.android.AlipayGphone/com.eg.android.AlipayGphone.AlipayLogin")h..

2020-07-09 15:33:56 38842

原创 SpringBoot Redis自适应配置[Cluster Standalone Sentinel]

核心代码段提供一个JedisConnectionFactory 根据配置来判断 单点 集群 还是哨兵 @Bean @ConditionalOnMissingBean public JedisConnectionFactory jedisConnectionFactory() { JedisConnectionFactory factory = null; String[] split = node.split(","); Set&.

2020-07-07 14:40:59 54579 2

原创 BFS层次遍历的模板

from collections import dequeclass TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Nonedef levelOrder(root: TreeNode) : queue = deque() if root: queue.append(root) while queue:.

2020-07-03 10:34:43 70360

原创 JAVA获取编译GC内存运行时环境参数信息[ManagementFactory研究,全部Bean方法调用示例]

ManagementFactory是JAVA提供用于监视和管理 Java虚拟机以及 Java 虚拟机在其上运行的操作系统。它同时允许从本地和远程对正在运行的 Java虚拟机进行监视和管理,提供JVM堆的使用情况,以及GC情况,线程信息。因为ManagementFactory 提供的Bean比较多,一个个看比较麻烦。故而用反射获取所有bean,调用bean下的所有无参方法,将结果格式化成报文。这样就能比较全面的看到ManagementFactory提供的能力。然后根据报文,找自己需要的bean和方..

2020-06-17 18:31:51 21865

原创 [已实现]暴力破解路由器管理密码

搬新家以后,第一时间连上网络,登录路由器后台。博主租的房子是某平台的,网络是由平台提供的。和上次租房不同的地方在于,这次路由器后台管理密码居然和给的wifi连接密码不一样了,肯定是有人改过密码了!admin 等弱口令都试过了,全都不管用!对一个it技术人员来说,被人掌握网络生杀大权肯定是无法容忍的!第一次测试的时候尝试用telnet登录路由器,发现密码已经被更改,无法登录,预料是跟web控制台密码一起改变的。...

2020-06-13 12:53:37 120295 14

原创 数据库幻读解决方案

有时候我们会有业务场景去解决数据库幻读现象:(比如某条记录的某几个属性合起来需要在记录里唯一)这个时候我们需要做的是添加一个校验字段对他做唯一约束,值是这几个字段的拼接这里为什么用校验字段而不用原字段呢? (有时候我们在做删除的时候只做逻辑删除 这时候唯一约束就好导致失效的记录让有效的记录无法插入, 而校验字段不一样 你在做失效处理的时候给校验字段赋一个随机值就好了)...

2020-06-10 13:42:35 46150

原创 集合里有多种子类反序列化 子类属性丢失问题 Java代码实现[解决循环引用问题]

先放一段代码public class Test { public static void main(String[] args) { //建立一个数组 第一个放入child 第二个放入parent List<Parent> list = new ArrayList<>(); Parent parent = new Parent(); parent.setX("1"); Child chil

2020-06-07 20:59:34 60229

原创 JPA+H2内嵌数据库

开发个人项目的时候有时候会遇到,用数据库过于麻烦,这时候内嵌一个H2是一个不错的选择。更何况H2提供管理控制台界面,可以直接执行Sql语句项目里要内嵌H2的话需要引入H2的依赖 <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.4.197</version&gt

2020-06-04 13:47:45 67117

原创 关于blob与流互转的问题

网上有好多blob与byte[]互相转换的代码,但是很难找到流直接写入到数据库的。显然流写入效率更高,内存占用更少(不需要把所有数据放到内存里面),一下便是代码(基于Spring Data JPA的版本的 JDBC的话实现类同)import org.hibernate.Hibernate;import org.hibernate.Session;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springfra

2020-06-02 10:18:52 27512

原创 Confluence,语雀,和钉钉知识库的比对

功能 Confluence 语雀 钉钉知识库 可视化协同编辑 支持 支持 支持 登录登出功能 本地部署的时候可以联动ldap 或者自己管理用户 注册用户账号 ...

2020-04-20 16:32:51 34087 4

原创 Hase权威指南笔记

第一章1.1 海量数据的黎明:RDBMS 结构化数据 传统关系型数据库 科德十二定律 [Codd's 12 rules] 满足新的工作负载提出的 列式存储[column-oriented] 大规模并行处理[Massively Parallel Processing , MPP]1.2 关系数据库系统的问题: 1. 分区[sharding] 重分区[reshard] 虚拟分...

2020-04-16 22:39:39 54280

原创 海盗分金-动态规划实现

经济学上有个“海盗分金”模型:是说5个海盗抢得100枚金币,他们按抽签的顺序依次提方案:首先由1号提出分配方案,然后5人表决,投票要超过半数同意方案才被通过,否则他将被扔入大海喂鲨鱼,依此类推。假定“每个海盗都是绝顶聪明且很理智”,那么“第一个海盗提出怎样的分配方案才能够使自己的收益最大化?”推理过程是这样的1.如果只剩两个海盗 那么海盗4无论提什么,海盗5都会否决.2.所以...

2019-06-19 23:46:23 45501

原创 数据库隔离级别[对应封锁协议]

1.读未提交(read uncommit)一级封锁协议(读取数据的时候不加锁,更新的时候整个加X锁)b事物执行到一半,a事物不检测锁直接读取,结果b事物回滚了,导致a事物读出了一个错的结果,这就是脏读。2.读已提交(read committed)二级封锁协议(读取数据的时候加S锁,更新的时候加X锁)a事物每次读取的时候都会尝试获取s锁,如果b事物在更新,则a阻塞等待b事物释放。...

2018-08-09 21:58:36 197363 3

原创 ubuntu 安装 OpenResty

1.安装库 perl 5.6.1+, libpcre, libsslapt-get install libpcre3-dev libssl-dev perl make build-essential curl*2.安装zlib-devel,nignx gzip模块必须库(在ubuntu里叫zlib1g.dev)apt-get install zlib1g.dev3.下载安装O...

2018-08-06 14:50:20 199171

kettle8.3.0新版[ETL工具,可以在Windows、Linux、Unix上运行]

kettle8.3.0[可以在Windows、Linux、Unix上运行]的版本,提供了网盘下载地址。

2019-07-20

空空如也

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

TA关注的人

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