对于一个Java程序员而言,能否熟练掌握并发编程是判断他优秀与否的重要标准之一。因为并发编程是Java语言中最为晦涩的知识点,它涉及操作系统、内存、CPU、编程语言等多方面的基础能力,更为考验一个程序员的内功。那到底应该怎么学习并发编程呢?JavaSDK的并发工具包有很多,是要死记硬背每-一个工具的优缺点和使用场景吗?当然不是,想要学好并发编程,你需要从一个个单一的知识和技术中“跳出来”,高屋建瓴
分类:
编程语言 时间:
2020-04-28 17:05:20
阅读次数:
63
这次在用Cobalt Stike是http beacon时,突然好奇反向shell是怎么做的,做了一些整理,比较杂,把网络、windows PE结构、进程注入都回顾了一下。 0、引子 Set-StrictMode -Version 2 $DoIt = @' function func_get_pro ...
分类:
Web程序 时间:
2020-04-28 15:18:46
阅读次数:
66
一、map集合的特点: 1.map集合是一个双列集合,一个元素包含二个值(key,values); 2.map集合中的元素,key和values的数据类型可以相同,也可以不同; 3.map集合中的元素,key值不可以重复,values值是可以重复的 4.map集合中的元素,key值和values值是 ...
分类:
其他好文 时间:
2020-04-28 12:55:37
阅读次数:
52
题目: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 思路: 使用两个哈希表,最后判断这两个哈希表是否相等,思路较简单。 程序: class Solution: def isAnagram(self, s: str, t: str) -> bool: length ...
分类:
编程语言 时间:
2020-04-27 17:33:29
阅读次数:
130
什么是方法引用 什么是方法引用?先来看一下下面的例子 这是一个字符串操作的函数,可以传入两个参数一个是包含若干字符串的List列表,另外给出一个对字符串操作的函数。这样就可以对List中的每一个字符串自行给定的操作,得到针对每个字符串的结果。我们可以这样调用。 这样,就可以获得List中每个字符串的 ...
分类:
编程语言 时间:
2020-04-27 11:49:01
阅读次数:
63
前面我们说到的二叉查找树,可以看到根结点是初始化之后就是固定了的,后续插入的数如果都比它大,或者都比它小,那么这个时候它就退化成了链表了,查询的时间复杂度就变成了O(n),而不是理想中O(logn),就像这个样子 如果我们有一个平衡机制,让这棵树可以动起来,比如将4变成根结点,是不是查询效率又可以提 ...
分类:
编程语言 时间:
2020-04-24 01:05:46
阅读次数:
62
springboot项目使用阿里云短信服务发送手机验证码 (第二篇) 此文介绍:springboot整合redis之发送手机验证码注册登录 短信验证码是通过发送验证码到手机的一种有效的验证码系统。主要用于验证用户手机的合法性及敏感操作的身份验证。常见的使用场景有:登录注册、信息修改、异常登录、找回密 ...
分类:
移动开发 时间:
2020-04-22 12:58:29
阅读次数:
70
Q:返回字符串 text?中按字典序排列最小的子序列,该子序列包含?text?中所有不同字符一次。 示例 1: 输入:"cdadabcc" 输出:"adbc" 示例 2: 输入:"abcd" 输出:"abcd" 示例 3: 输入:"ecbacba" 输出:"eacb" 示例 4: 输入:"leetc ...
分类:
其他好文 时间:
2020-04-18 13:40:03
阅读次数:
288
hashcode hashcode()方法提供了对象的hashCode值,是一个native方法,返回的默认值与System.identityHashCode(obj)一致。 通常这个值是对象头部的一部分二进制位组成的数字,具有一定的标识对象的意义存在,但绝不定于地址。 作用是:用一个数字来标识对象 ...
分类:
编程语言 时间:
2020-04-17 20:02:49
阅读次数:
95