- 博客(57)
- 收藏
- 关注
转载 安卓软件开发大牛博客
https://github.com/guolindev/booksource。(2 封私信) 有哪些安卓(Android)大牛的博客值得推荐? - 知乎 (zhihu.com)
2023-04-25 19:26:40
207
原创 java String类
1本文主要探讨String类的不可变原因?1.1我们首先分析什么是可变不可变数据类型?答案:可变数据类型:当该数据类型对应的变量的值发生了变化时,如果它对应的内存地址不发生改变,那么这个数据类型就是 可变数据类型。不可变数据类型:当该数据类型对应的变量的值发生了变化时,如果它对应的内存地址发生了改变,那么这个数据类型就是 不可变数据类型。总结:可变数据类型更改值后,内存地址不发生改变。不可变数据类型更改值后,内存地址发生改变。
2023-03-29 14:12:11
579
原创 73、介绍下 HashMap 的底层数据结构
我们现在用的都是 JDK 1.8,底层是由“数组+链表+红黑树”组成,如下图,而在 JDK 1.8 之前是由“数组+链表”组成。Hash叫做”散列表“,就是把任意长度的输入,通过散列算法,变成固定长度输出,该输出结果是散列值。其实这种转换是一种压缩映射,散列表的空间通常小于输入的空间,不同的输入可能会散列成相同的输出,所以不能从散列表来唯一的确定输入值。这就出现了Hash冲突。主要是为了提升在 hash 冲突严重时(链表过长)的查找性能,使用链表的查找性能是 O(n),而使用红黑树是 O(logn)。对
2023-03-28 16:41:10
708
原创 贪心算法11
所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前状态有关。所以对所采用的贪心策略一定要仔细分析其是否满足无后效性。
2023-03-27 23:07:03
505
原创 71、ArrayList 和 LinkedList 的区别
对于随机插入和删除:ArrayList 需要移动目标节点后面的节点(使用System.arraycopy 方法移动节点),而 LinkedList 只需修改目标节点前后节点的 next 或 prev 属性即可,因此在效率上 LinkedList 优于 ArrayList。对于顺序插入和删除:由于 ArrayList 不需要移动节点,因此在效率上比 LinkedList 更好。这也是为什么在实际使用中 ArrayList 更多,因为大部分情况下我们的使用都是顺序插入。
2023-03-27 21:22:10
110
原创 什么是 SYN 攻击?如何避免 SYN 攻击?
SYN 攻击方式最直接的表现就会把 TCP 半连接队列打满,这样,导致客户端无法和服务端建立连接。方式一:调大 netdev_max_backlog当网卡接收数据包的速度大于内核处理的速度时,会有一个队列保存这些数据包。控制该队列的最大值如下参数,默认值是 1000,我们要适当调大该参数的值,比如设置为 10000方式二:增大 TCP 半连接队列方式三:开启 net.ipv4.tcp_syncookiescookieaccpet()
2023-03-27 14:09:44
2430
1
原创 java基础问答
2.作用于静态方法,锁住的是类的Class对象,因为Class的相关数据存储在永久代元空间,元空间是全局共享的,因此静态方法锁相当于类的一个全局锁,会锁所有调用该方法的线程。如果我们在方法中直接new一个线程来处理,当这个方法被调用频繁时就会创建很多线程,不仅会消耗系统资源,还会降低系统的稳定性,一不小心把系统搞崩了,就可以直接去财务那结帐了。(调用线程池执行任务的主线程),由于执行任务需要一定时间,因此主线程至少在一段时间内不能提交任务,从而使得线程池有时间来处理完正在执行的任务。
2023-03-26 20:33:37
654
原创 TCP\IP-1
1.IP 包头的「协议号」字段原因三:避免资源浪费TCP 建立连接时,通过三次握手。序列号能够保证数据包。不使用「两次握手」和「四次握手」的原因:「两次握手」:无法防止历史连接的建立,会造成双方资源的浪费,也无法可靠的同步双方序列号;「四次握手」:三次握手就已经理论上最少可靠连接建立,所以。
2023-03-26 18:31:23
442
原创 java基础
反射是指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法;并且对于任意一个对象,都能够调用它的任意一个方法;这种动态获取信息以及动态调用对象方法的功能称为反射机制。15、深拷贝和浅拷贝区别是什么?数据分为基本数据类型和引用数据类型。基本数据类型:数据直接存储在栈中;引用数据类型:存储在栈中的是对象的引用地址,真实的对象数据存放在堆内存里。浅拷贝:对于基础数据类型:直接复制数据值;
2023-03-25 14:38:45
663
原创 DNS协议--笔记
引自:不知道有没有同学会混淆域名和的概念,可以这样理解,网址里面含有域名。就是一个网址,而就是域名、(三级域名)DNS(Domain Name System,域名系统),因特网上作为域名和IP地址互相映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。DNS系统的作用:根据主机名称(域名)查找对应的IP地址。
2023-03-24 10:56:35
376
原创 TCP/IP协议
总结一句话,就是目标IP负责定位主机,目标端口,负责去顶发给哪个端口号。因为TCP\IP协议是进程之间的通信,也就是应用之间的通信协议。所以TCP头部负责找具体哪个应用。
2023-03-23 22:29:42
1255
原创 HashMap
HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。HashMap 是无序的,即不会记录插入的顺序。HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。
2023-03-23 19:27:50
89
原创 读论文-基于循环gan特征增强的夜间车辆检测 Feature Enhancement Based on CycleGAN forNighttime Vehicle Detection
111
2023-02-28 12:41:38
134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人