Java多线程 多线程的实现1 继承Thread 重写run() start() 1.为什么要重写run()方法? 因为run()方法是用来封装线程要执行的代码的。 2.run()方法和start()方法的区别? 直接使用run()方法并不是启动多线程,使用start()才是启动线程,然后由JVM调 ...
分类:
编程语言 时间:
2021-01-27 13:58:25
阅读次数:
0
Java中将String类定义为由final修饰的(不可改变的),JVM中字符串一般被保存在字符串常量池中,Java会确保一个字符串在常量池中只有一个“复制”,这个字符串常量池在JDK 6.0以前是位于常量池中的,位于永久代;而在JDK 7.0中,JVM将其从永久代拿出来放置于堆中。 public ...
分类:
其他好文 时间:
2021-01-27 13:43:41
阅读次数:
0
JDK、JRE、JVM 三者关系 在学习 Java 之前,我们需要对一些专业术语有一定的了解,在 Java 中常见的专业术语包 括:JDK、JRE、JVM 等,它们分别是什么,它们之间的关系又是怎样的呢,请看下图: 从上图中我们可以看到,JDK、JRE、JVM 之间存在这样的包含关系:JDK包含 J ...
分类:
其他好文 时间:
2021-01-26 11:59:24
阅读次数:
0
c语言输入字符串可以使用gets,但gets是不安全的,因为可能在不知道的情况下溢出,但使用fgets是安全的,第一个参数是字符数组的首地址,第二个参数是字符串的最大数量,第三个参数一般会填stdin,从键盘输入 #include<stdio.h> int main(void) { char c[9 ...
分类:
编程语言 时间:
2021-01-26 11:49:57
阅读次数:
0
变量的类型差异在数据的存储方式不一样,值类型是变量本身直接存储数据,另一个则是存储实际变量的引用, 值类型:都是存储在栈中的,都是直接访问实例,不能为null (如果存储的数据大于类型规定就会出现溢出和异常) 引用类型:需要New实例化,在堆中开辟的空间然后是在栈中引用的地址, ...
前言 一直想好好的了解一下JVM,这次就来一起了解一下JVM是如何实现类的加载过程的。 原理 类加载的生命周期 1. 加载 5种类加载情况: 在遇到 new、putstatic、getstatic、invokestatic 字节码指令时,如果类尚未初始化,则需要先触发初始化。 对类进行反射调用时,如 ...
分类:
编程语言 时间:
2021-01-25 11:16:37
阅读次数:
0
上传参数名解析:明确哪些参数名可以修改 content-Disposition:一般可更改(from-data)接受表单的数据 name:表单参数值,不能更改 filename:文件名,可以更改 connect-Type:文件MIME,试情况而定 常见绕过方法 数据溢出-防止匹配(xxx...) 也 ...
分类:
Web程序 时间:
2021-01-25 10:53:05
阅读次数:
0
、数据结构与算法 1.二叉树前序、中序、后续遍历方式(递归以及非递归) 2.二叉树的深度以及广度遍历方式 3.二叉树遍历情况中所有连续节点的最大的值 4.求数组所有可能的子数组 5.给定一个数,求一个有序数组的两个数的和满足这个数(可以拓展一下变成两个无序的数组) 6.求一个数组的第二大值 7.大文 ...
分类:
其他好文 时间:
2021-01-22 12:22:20
阅读次数:
0
jvm组成 jvm的组成包括 类加载器,字节码执行引擎,内存模型。(并不是只有内存模型) 这图必背 要理解每个区域放的数据是什么 栈:局部变量,栈帧的概念 程序计数器:字节码的行号指示器 本地方法栈:native修饰的方法所需要的内存区域 方法区:类信息、常量、静态变量数据 堆:所有的对象 直接内存 ...
分类:
其他好文 时间:
2021-01-22 12:12:24
阅读次数:
0
本来想学习house of force,结果没用就直接做出来了。。。我用了三种方法来做这道题。 1.fastbins attack 2.unlink 3.house of force 可以改写got表,程序在edit的时候可以进行溢出。 fasbins attack 通过溢出改写size字段,构造堆 ...
分类:
其他好文 时间:
2021-01-22 11:47:40
阅读次数:
0