李志宽 李志宽
3年前
黑客赚钱的路子有多野?CTF逆向入门指南
1、背景在CTF比赛中,CTF逆向题目除了需要分析程序工作原理,还要根据分析结果进一步求出FLAG。逆向在解题赛制中单独占一类题型,同时也是PWN题的前置技能。在攻防赛制中常与PWN题结合。CTF逆向主要涉及到逆向分析和破解技巧,这也要求有较强的反汇编、反编译、加解密的功底。CTF中的逆向题目一般常见考点1、常见算法与数据结构。2、各种排序算法,树,
灯灯灯灯 灯灯灯灯
4年前
面试百度和美团,竟然问我多线程安全问题,正好撞在我知识点上
解决多线程安全问题无非两个方法synchronized和lock具体原理以及如何获取锁AQS算法本篇文章主要讲了lock的原理就是AQS算法,还有个姊妹篇讲解synchronized的实现原理也是阿里经常问的,一定要看后面的文章,先说结论:非公平锁tryAcquire的流程是:检查state字段,若为0,表示锁未被占用,那么尝试占用,若不为0,检查
捉虫大师 捉虫大师
4年前
ShutdownHook原理
ShutdownHook介绍在java程序中,很容易在进程结束时添加一个钩子,即ShutdownHook。通常在程序启动时加入以下代码即可javaRuntime.getRuntime().addShutdownHook(newThread()@Overridepublicvoidrun()System.out.prin
Easter79 Easter79
4年前
springboot原理
SpringBoot为我们做的自动配置,确实方便快捷,但一直搞不明白它的内部启动原理,这次就来一步步解开SpringBoot的神秘面纱,让它不再神秘。 @SpringBootApplicationpublicclassApplication{publicstaticvoidmain(Str
Session原理
\开发工具与关键技术:Java,HTTP协议,session原理撰写时间:20190617\以下这些大多都是文字表达,没有一一写实际的案例出来演示,但是详细的看一下的话,也就知道什么意思了,文中表达比较通俗。We
Stella981 Stella981
4年前
JavaScript优化技巧
作为开发人员,我们一直在寻找让我们的代码更快更好的方法。但在此之前,编写高性能代码需要做三件事:了解语言及其工作原理基于用例进行设计调试!修复!重复记住这一点任何傻瓜都可以编写计算机可以理解的代码,优秀的程序员编写人类可以理解的代码。丁·福勒我们来看看如何使JavaScript代码运行得更快。延迟
Stella981 Stella981
4年前
Linux下crontab命令的用法
crond是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。而linux任务调度的工作主要分为以下两类:1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存2、个人执行的工作:某个用户定期要做的工作,例
Wesley13 Wesley13
4年前
KNN算法详解
  简单的说,K近邻算法是采用不同特征值之间的距离方法进行分类。  该方法优点:精确值高、对异常值不敏感、无数据输入假定  缺点:计算复杂度高、空间复杂度高  适用范围:数据型和标称型  现在我们来讲KNN算法的工作原理:存在一个样本数据集,也称作训练样本集,并且样本中每条数据都存在标签。将新输入的没有标签的数据与训练样本数据集中