![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
关于java
文章平均质量分 57
本人从基础开始学习,记录学习历程。
胖胖IT
不忘初心,方得始终。
展开
-
Collection集合的子接口——List集合和Set集合
jdk7中的ArrayList的对象的创建类似于单例的饿汉式,而jdk8中的ArrayList的对象的创建类似于单例的懒汉式,延迟了数组的创建,节省内存。要求向Set(主要指HashSet、LinkedHashSet)中添加的数据,其所在的类一定要重写hashCode()和equals()在扩容方面,默认扩容为原来的数组长度的2倍。存储的数据在底层数组中并非照数组索引的顺序添加,而是根据数据的哈希值决定的。默认情况下,扩容为原来的容量的1.5倍,同时需要将原有数组中的数据复制到新的数组中。......原创 2022-07-15 10:24:56 · 373 阅读 · 0 评论 -
遍历collection集合的两种方式——(迭代器Iterator、foreach循环)
Iterator对象称为迭代器(设计模式的一种),主要用于遍历Collection集合中的元素。GOF给迭代器模式的定义为提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。迭代器模式,就是为容器而生。...原创 2022-07-14 19:44:52 · 738 阅读 · 0 评论 -
99%的人都理解错了HTTP中GET与POST的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻轻松松的给出了一个“标准答案”...转载 2019-03-21 13:46:54 · 120 阅读 · 1 评论 -
java.lang.String类的使用
String:字符串,使用一对""引起来表示。2.3 图示方式一:通过字面量定义的方式方式二:通过new + 构造器的方式//通过字面量定义的方式:此时的s1和s2的数据javaEE声明在方法区中的字符串常量池中。//通过new + 构造器的方式:此时的s3和s4保存的地址值,是数据在堆空间中开辟空间以后对应的地址值。3.3 面试题String s = new String(“abc”);方式创建对象,在内存中创建了几个对象?两个:一个是堆空间中new结构,另一个是char[]对应的常量池中的原创 2022-07-13 16:26:22 · 411 阅读 · 0 评论 -
JDK5.0新增的创建线程的方式
说明:如何理解实现Callable接口的方式创建多线程比实现Runnable接口创建多线程方式强大?思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中,可以避免频繁创建销毁,实现重复利用。说明: 好处:1.提高响应速度(减少了创建新线程的时间)2.降低资源消耗(重复利用线程池中线程,不需要每次都创建)3.便于线程管理corePoolSize:核心池的大小maximumPoolSize:最大线程数keepAliveTime:线程没任务时最多保持多长时间后会终止...原创 2022-07-13 16:06:11 · 96 阅读 · 0 评论 -
关于多线程的理解,以及线程中常用的方法和生命周期
概念:是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码。概念:程序的一次执行过程,或是正在运行的一个程序。说明:进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域。概念:进程可进一步细化为线程,是一个程序内部的一条执行路径。说明:线程作为调度和执行的单位,每个线程拥独立的运行栈和程序计数器(pc),线程切换的开销小。进程可以细化为多个线程。每个线程,拥有自己独立的:栈、程序计数器多个线程,共享同一个进程中的结构:方法区、堆。1.MAX_PRIORITY:10MI原创 2022-07-11 11:22:06 · 105 阅读 · 0 评论 -
创建多线程的两种方式
1.创建一个继承Thread类的子类2.重写Thread类的run() --> 将此线程执行的操作声明在run()中3.创建Thread类的子类对象4.通过此对象调用start():①启动当前线程 ②调用当前线程的run()说明两个问题:问题一:我们启动一个线程,必须调用start(),不能调用run()的方式启动线程。问题二:如果再启动一个线程,必须重新创建一个Thread子类的对象,调用此对象的start().1.创建一个实现了Runnable接口的类2.实现类去实现Runnable中的抽原创 2022-07-08 10:01:45 · 403 阅读 · 0 评论 -
Spring MVC请求处理流程
SpringMVC请求处理流程原创 2022-07-07 09:50:07 · 333 阅读 · 0 评论 -
Java中的自动装箱和自动拆箱
类型间的转换:(基本数据类型、包装类、String)代码演示自动装箱和自动拆箱:public void test3(){ //自动装箱:基本数据类型 --->包装类 int num2 = 10; Integer in1 = num2;//自动装箱 boolean b1 = true; Boolean b2 = b1;//自动装箱 //自动拆箱:包装类--->基本数据类型 System.out.println(in1.toString());原创 2022-05-27 14:25:03 · 247 阅读 · 0 评论 -
java中的四种访问权限修饰符——private、缺省、protected 、public
Java规定的4种权限(从小到大排列):private、缺省、protected 、public,在java中封装性的体现,需要权限修饰符来配合。private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)default,也就是缺省 : 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。public : 对所有类可见。使用对象:类、接口、变量、方法具.原创 2022-05-11 17:04:42 · 4232 阅读 · 2 评论 -
java中方法参数的值传递机制
1.关于变量的赋值如果变量是基本数据类型,此时赋值的是变量所保存的“数据值”。如果变量是引用数据类型,此时赋值的是变量所保存的数据的“地址值”。public class ValueTransferTest { public static void main(String[] args) { System.out.println("************基本数据类型***************"); int m = 10; int n = m; System.out.pr原创 2022-05-11 16:10:23 · 388 阅读 · 0 评论 -
java中用数组实现杨辉三角
使用二维数组打印一个 10 行杨辉三角。【提示】第一行有 1 个元素, 第 n 行有 n 个元素每一行的第一个元素和最后一个元素都是 1从第三行开始, 对于非第一个元素和最后一个元素的元素。即:yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];实现代码如下:public class YangHuiTest { public static void main(String[] args) { //1.声明并初始化二维数组 int原创 2022-05-09 16:02:44 · 560 阅读 · 0 评论 -
关于java中对数组的理解
一.数组的定义数组的理解:数组(Array),是多个相同类型数据一定顺序排列的集合,并使用一个名字命名,并且通过编号的方式对这些数据进行统一管理。二.数组相关的概念:数组名:定义数组的时候所起的名字元素:角标、下标、索引数组的长度:元素的个数三.数组的特点:数组是有序排列的数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型创建数组对象会在内存中开辟一整块连续的空间数组的长度一旦确定,就不能修改。四.数组的分类:按照维数:一维数组、二维数组。原创 2022-05-09 12:20:05 · 293 阅读 · 0 评论 -
java常见面试题——持续更新中
java常见面试题1 说说你关于常量的认识常量是用final修饰的变量,定义的时候就要赋值,并且值不能被修改,通常在定义的时候需要大写,然后多个字母之间用下划线分割。2 说说关于++ 和 --的认识++和–分别是自增和自减运算符,通常放在整型变量前后,运算方向从左往右m=2m的值表达式的值分析m ++32++在变量的后面,先参与运算,然后在进行自增运算++m33++在变量的前面,先进行自增运算,然后再参与运算m–12–在变量的后面,先参与运算原创 2022-05-03 11:06:29 · 441 阅读 · 0 评论