- 博客(52)
- 收藏
- 关注
原创 IOC控制反转(针对面试)
setter是Spring现在最流行的注入方式,它可以利用Java Bean规范所定义的set/get方法来完成注入,它不需要使用构造器注入时出现的多个参数,它可以把构造方法声明成无参构造,再使用setter注入设置相对应的值,其实也是通过java反射技术去实现的。构造器注入主要是依赖于构造方法去实现,构造方法可以是有参也可以是无参,我们在平常都是通过类的构造方法来创建类对象,以及给他赋值,同样Spring 也可以采用反射的方式,通过构造方法来完成注入(赋值)。@Autowired默认按类型装配。
2022-08-19 17:16:08
364
原创 GC不懂?进来我们聊聊
GC:garbage collection (垃圾收集)那么在什么样的玩意儿算是垃圾呢?1.垃圾是指在运行程序中没有任何指针指向的对象2.除了释放没用的对象,垃圾回收也可以清除内存里的记录碎片。碎片整理将所占用的堆内存移到堆的一端,以便JVM将整理出的内存分配给新的对象(尤其是一些大的对象)...
2022-08-10 20:18:27
1013
原创 线程三连鞭之“线程的状态”
调用了sleep( )或者join( )方法。JVM 会把该线程置为阻塞状态。当 sleep ()状态超时、 join ()等待线程终止或者超时、或者 I /O 处理完毕时,线程重新转入可运行( runnable )状态。:执行wait( )方法,JVM会把该线程放入等待队列进入Waiting状态,等待其他线程notify通知唤醒。:获得同步锁时,该锁被别的线程占用,JVM会把该线程放进锁池中。...
2022-08-04 20:45:16
107
原创 线程三连鞭之“线程池”
Executor框架在Java 5中被引入,Executor 框架是一个根据一组执行策略调用、调度、执行和控制的异步任务的框架。无限制的创建线程会引起应用程序内存溢出,所以创建一个线程池是个更好的的解决方案,因为可以限制线程的数量并且可以回收再利用这些线程。利用 Executor 框架可以非常方便的创建一个线程池。......
2022-08-04 20:42:01
304
原创 线程三连鞭之“线程基础”
1.什么是进程?是具备一定独立功能的程序,他是系统进行资源(内存,CPU)分配和调度的基本单位,他是程序执行时的一个实例,也就是说,进程可以独立运行一段程序。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。2.线程又是什么?线程是进程的一个实体,是程序执行时的最小单位,是CPU调度和分派的基本单位。一个进程可以有多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。................
2022-08-03 21:31:25
1448
原创 一篇搞懂ajax
JSONjavaScriptObjectNotation缩写,是一种轻量级的数据交换格式。特点1.易于阅读和编写。2.易于解析和生成。3.是javaScript的子集原生javaScript支持JSON1.使用ajax进行前后台数据交换。2.移动端与服务器端的数据交换。JSON的结构psJSON的key是字符串,JSON的value是Object(任意类型)1)映射用冒号(“”)表示。keyvalue2)并列的数据之间用逗号(“,”)分隔。key1value2。...
2022-07-27 21:22:24
4379
10
原创 一文搞懂jQuery
jQuery使用前期,jQuery侧重于快速找到页面上的各种节点。使用后期,jQuer丰富了事件操作,ajax操作,动画效果,DOM操作等等。jQuery是对javascript封装的一个框架包,它简化了javacript的操作。javascript代码获得页面节点对象,ajax元素节点对象实现,事件操作,事件对象。jQuery代码无需考虑浏览器兼容问题,代码量少。重点(操作元素)jquery方式操作属性(attribute)$().attr(属性名称);//获得属性信息值。...............
2022-07-26 21:31:04
520
原创 三次握手四次挥手针对面试总结
第一次握手客户端将SYN置为1,随机产生一个初始序列号seq=x,发送给服务器,进入SYN-SENT状态;第二次握手服务器收到客户端服务器的SYN报文后,将SYN置为1,ACK置为1,随机产生一个初始序列号seq=y,同时告诉客户端下一次传输数据时序号为x+1;第三次握手客户端收到服务器的SYN-ACK报文后,将SYN和ACK都置为1,此时发送的序号为x+1的数据,同时告诉服务器下一次传输数据的序号啊为y+1。第一次挥手。...
2022-07-26 10:03:55
472
原创 抽象类与接口
抽象方法抽象类接口抽象方法没有方法体,交给子类实现抽象类不一定有静态方法,有静态方法的一定是抽象类。JDK1.8之前接口里只能写方法的声明,而不能写方法的具体实现JDK1.8之后接口可以对方法的声明写具体实现。抽象方法修饰符不能是private,final,static(因为需要子类实现)。不能被实例化,只能被继承。接口中没有构造方法,不能被实例化。抽象方法必须定义在抽象类或接口中。......
2022-07-19 20:35:39
172
原创 浅谈范式
通常,在实践中,满足3范式只要做到“一个表只存一种类型数据”基本就可以实现。另外,范式不是绝对要求,有时候我们为了数据的使用方便,还会(需要)故意违反范式。httpshttpshttpshttpshttpshttps。...
2022-07-18 22:21:01
193
原创 关于局部变量
1、对于基本类型参数,在方法体内对参数进行重新赋值,并不会改变原有变量的值。2、对于引用类型参数,在方法体内对参数进行重新赋予引用,并不会改变原有变量所持有的引用。3、方法体内对参数进行运算,不影响原有变量的值。4、方法体内对参数所指向对象的属性进行操作,将改变原有变量所指向对象的属性值。Java方法中通过传递参数改变变量的值httpshttps。...
2022-07-17 21:27:38
348
原创 数据库操作 Day 6
查询表的所有内容,不推荐,内容少时可以操作,建议需要哪个列就找哪个列。查询时候添加常量列,通过as可以起别名。–查询时候去掉重复的记录。
2022-07-15 22:44:19
154
原创 静态代码块与实例初始化块的区别与执行顺序
父类静态变量和静态代码块>子类静态变量和静态代码块>父类实例成员和父类实例初始化块>子类实例成员和子类实例初始化块>子类构造方法。httpshttpshttpshttpshttps。
2022-07-14 19:47:06
312
原创 浅谈面向对象
Java语言是一种面向对象OOP(Object Oriented Programming)还有OOD(面向对象的设计),OOA(面向对象的分析)的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。 它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现。类:简单来
2022-07-12 21:36:40
139
原创 Day 3
2.用for循环输出1—1000之间能被5整除的数,且每行输出3个3.计算9的阶乘4.使用循环打印100-200之间所有的素数(只能被1和自己整除的数叫素数)方法一:(普通求解)方法二:(优化求解)数组作业:1.int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};求出上面数组中0-9分别出现的次数双重for循环2.判断回文题目:一个5位数,判断它是不是回文数。即12321是
2022-07-12 20:53:23
103
原创 Day 1
三大平台:Window、Mac、Linux。JVM:Java Virtual Machine (Java虚拟机)。整型默认 : int浮点型默认 : double
2022-07-11 20:31:00
343
原创 力扣994:腐烂的橘子(BFS)
简单的广度优先搜索(BFS)问题:用队列存储每批腐烂的橘子。按批次取出腐烂的橘子,取出腐烂橘子的同时放入由新鲜变腐烂的橘子。import java.util.LinkedList;import java.util.Queue;class Solution { int[][] dist = {{-1,0},{1,0},{0,1},{0,-1}};//上下左右四个方向 public int orangesRotting(int[][] grid) { int time .
2021-10-31 20:47:39
3775
原创 无重复字符的最长字串
这是力扣的一道题目,最开始尝试着用动态规划解决,可以是可以,但是看了题解之后觉得滑动窗口也是一个很妙的解题方法,学习了一下做了个小总结。1.遍历字符串,并再定义一个指针,初始化该指针指在字符串的最左边2.判断当前指针指向的字符是否在集合中出现过。1)如果未出现,将该字符添加到集合中,并且让指针不停往下一个字符移动;2)如果出现了,停止移动。3.获取当前截止的字符串长度,并与上一个字符串进行比较。流程示意:从流程中可以很直观的看出最长的字串长度。滑动窗口就好比队列,第一个进来的再找到重复的.
2021-10-22 18:51:08
129
原创 Java-反射
java的反射机制是指在程序运行过程中动态的获取一个类或对象的成员属性及方法。简单来说就是利用一个类来获取我们需要的对象的构造方法,成员变量,成员方法。一:Class类的获取Class类的获取有三种方法package com.demo;public class Student {}1.使用对象的getClass()方法来获取Class对象Student student = new Student(); Class class1 = student.getClass();
2021-08-30 15:48:59
108
1
原创 第二章总结
数组(一维数组为例)1:数组的创建JAVA中数组的类型可以是基本数据类型,也可以是引用类型。[数据类型]数组名[];[数据类型][]数组名;import java.util.Arrays;public class MainClass { public static void main(String[] args) { int[] intArray = {0,1,2,3};//指定数组长度为3,分配内存。 char charArray[] = new char[
2021-07-30 15:46:41
82
原创 浅谈String类型
第一章总结:一:String类1.valueOf();将入参的类型转为字符串数组,静态方法,直接通过String.valueOf()调用。public class MainClass { public static void main(String[] args) { int a = 1; String str = new String(); str = String.valueOf(a); System.out.prin
2021-07-28 15:41:35
294
原创 SDUT-遍历二叉树
#include <bits/stdc++.h>using namespace std;int i;char a[55];typedef struct Tree{ char data; Tree *Lchild; Tree *Rchild;}Tree,*BiTree;BiTree Creat()///建树 { BiTree root; char c=a[i++]; if(c==',') { root=NULL; } else { .
2021-03-30 20:29:37
103
原创 SDUTACM 顺序表应用2:多余元素删除之建表算法
#include<bits/stdc++.h>#define LISTSIZE 10001#define true 1#define false 0using namespace std;typedef struct { int *elem; int length; int listsize; }SqList; int Initlist(SqList &L) { L.elem=(int *)malloc(LISTSIZE *sizeof(int ));///.
2020-10-15 20:25:20
193
原创 SDUTACM 顺序表应用1:多余元素删除之移位算法
代码实现:#include<bits/stdc++.h>#define LISTSIZE 10001#define true 1#define false 0using namespace std;typedef struct { int *elem; int length; int listsize; }SqList; int Initlist(SqList &L) { L.elem=(int *)malloc(LISTSIZE *sizeof(int .
2020-10-15 20:02:35
145
原创 SDUT喵帕斯之天才算数少女
代码实现:#include <stdio.h>#include <stdlib.h>#include <string.h>int f(int m,int n){ if(m==0) return n+1; else if(m>0&&n==0) return f(m-1,1); else if(m>0&&n>0) return f(m-1,f(.
2020-06-18 10:30:35
268
原创 SDUT神奇的函数
代码实现:#include <stdio.h>#include <stdlib.h>#include <string.h>int f(int n,int m){ if(n==1||m==1) return 1; else return f(n-1,m)+f(n,m-1);}int main(){ int n,m; while(~scanf("%d%d",&n,&m)) { .
2020-06-18 10:24:02
359
原创 SDUT计算组合数
代码实现:#include <stdio.h>#include <stdlib.h>#include <string.h>int c(int n,int m){ if(m==0||n==1||m==n) return 1; else return c(n-1,m-1)+c(n-1,m);}int main(){ int N,n,m; scanf("%d",&N); while(N--) .
2020-06-18 10:22:31
498
原创 SDUT马拦过河卒
因为卒规定只能向下或者向右,所以到达某点的路径数是到达该点的上一点的路径数加上到达该点左一点的路径数。代码实现:#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ int B1,B2,M1,M2,i,j; long long int a[20][20],f[20][20]={0};///a表示马的控制点,f统计路径数。 scanf("%d %d %d %d",&.
2020-06-17 21:48:12
403
原创 SDUT蟠桃记
代码实现:#include<bits/stdc++.h>using namespace std;int y(int n){ int f[35]; f[1]=1; for(int i=2;i<=n;i++) { f[i]=(f[i-1]+1)*2; } return f[n]; } int main(){ int n; while(cin>>n&&n!=0) { cout<<y(n)<<endl.
2020-06-17 10:09:34
386
原创 SDUT拍皮球
代码实现:#include<bits/stdc++.h>using namespace std;int main(){ double f[10000],h; int n,t,i; scanf("%d",&t); while(t--) { scanf("%lf %d",&h,&n); ///第一下 f[1]=h; h=h/2; ///第二下开始 for(i=2;i<=n;i++) .
2020-06-15 14:59:09
429
原创 SDUT王小二切饼
代码实现:#include<bits/stdc++.h>using namespace std;int D(int n){ int a[105]; a[1]=2; for(int i=2;i<=n;i++) { a[i]=a[i-1]+i; } return a[n];}int main(){ int N; scanf("%d",&N); printf("%d\n",D(N));return 0;}.
2020-06-12 15:14:04
250
原创 SDUT三国佚事——巴蜀之危
这道题目其实是古老的伯努利-欧拉的装错信封的问题,也就是错排问题,那么什么是错排呢?错排:错排问题是组合数学中的问题之一。考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原排列的一个错排。 n个元素的错排数记为D(n)。 研究一个排列错排个数的问题,叫做错排问题或称为更列问题。错排的推导方法有枚举法(排列数少),递推法等等。递推:D(1)=0,D(2)=1。一:当n≥3时,不妨设n排在了第k位,其中k≠n,有n-1种排法。二:现在考虑k的情况。(1).
2020-06-12 14:39:57
380
原创 SDUT爬楼梯
代码实现:#include<bits/stdc++.h>using namespace std;long long int f[55]={0};int main(){ int n;while(~scanf("%d",&n)&&n){f[1]=1;f[2]=2;for(int i=3;i<=n;i++){ f[i]=f[i-1]+f[i-2]; } printf("%lld\n",f[n]);}return 0;}.
2020-06-08 17:08:10
239
原创 SDUT骨牌铺方格
代码实现:#include<bits/stdc++.h>using namespace std;long long int f[55]={0};int main(){ int n;while(~scanf("%d",&n)&&n){f[1]=1;f[2]=2;for(int i=3;i<=n;i++){ f[i]=f[i-1]+f[i-2]; } printf("%lld\n",f[n]);}return 0;}.
2020-06-08 16:47:43
290
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人