复习的面试资料
这些面试全部出自大厂面试真题和面试合集当中,小编已经为大家整理完毕(PDF版)
- 第一部分:Java基础-中级-高级
- 第二部分:开源框架(SSM:Spring+SpringMVC+MyBatis)
- 第三部分:性能调优(JVM+MySQL+Tomcat)
- 第四部分:分布式(限流:ZK+Nginx;缓存:Redis+MongoDB+Memcached;通讯:MQ+kafka)
- 第五部分:微服务(SpringBoot+SpringCloud+Dubbo)
- 第六部分:其他:并发编程+设计模式+数据结构与算法+网络
进阶学习笔记pdf
- Java架构进阶之架构筑基篇(Java基础+并发编程+JVM+MySQL+Tomcat+网络+数据结构与算法)
- Java架构进阶之开源框架篇(设计模式+Spring+SpringMVC+MyBatis)
- Java架构进阶之分布式架构篇 (限流(ZK/Nginx)+缓存(Redis/MongoDB/Memcached)+通讯(MQ/kafka))
- Java架构进阶之微服务架构篇(RPC+SpringBoot+SpringCloud+Dubbo+K8s)
-
3.4 匿名内部类
-
4.内部类与外部类的关系
-
5.创建内部类
-
- 5.1 在外部类外部 创建 非静态内部类
-
5.2 在外部类外部创建静态内部类
-
5.3 在外部类内部创建内部类
就是在一个类内部定义的类
优点:
1.内部类和外部类可以彼此访问彼此的私有域。
2.内部类是另外一种封装,对外部的其他类隐藏。
3.内部类可以实现java的单继承的局限
缺点:
结构变得复杂
有成员内部类、静态内部类、方法内部类、匿名内部类
3.1 成员内部类
成员内部类内部不能有static修饰的变量和方法
3.2 静态内部类
1.使用static修饰的内部类
2.静态内部类的创建不依赖外部类可以直接创建
3.静态内部类不能使用外部类的非static修饰的属性和方法
3.3 方法内部类
1.定义: 就是在方法里面定义的类
2.不允许使用访问权限修饰符(public、private、protected)均不允许。
3.方法内部内对外部完全隐藏。只有创建这个类的方法可以访问。
4.如果要使用形参,则形参必须使用final声明(jdk8变为隐式声明)
3.4 匿名内部类
1.定义:就是一个没有名字的方法内部类。特点和方法内部类一致。还有一些自身的特点。
2.匿名内部类必须继承一个抽象类或者实现一个接口
3.匿名内部类没有类名,因此没有构造方法发。
4.匿名内部类地()不能携带任何参数。
5.不能同时实现接口和继承类。
6.不需要显示使用extends或/implements关键字实现或继承类或接口。
如下:
package com;
/*
-
定时器:
-
注意:这里的time是一个整数,代表毫秒数
-
schedule(TimerTask task, Date time) 位于Timer类
*/
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Timer_Util extends Timer {
private static boolean flag = true;
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);
int seconds = date.getSeconds();
// System.out.println(“seconds=” + seconds);
Timer_Util timer_util=new Timer_Util();
TimerTask timerTask=new TimerTask() {
@Override
public void run() {
System.out.println(“我是定时器”);
flag=false;
System.out.println(“flag改成了false”);
System.exit(1);
}
};
while(flag){
timer_util.schedule(timerTask,100);
show();
}
}
public static void show(){
while(true){
System.out.println(“我是show”);
}
}
}
1.对于非静态内部类,内部类的创建依赖外部类的实例对象。在没有外部类的实例之前是无法创建内部类的。
2.内部类可以直接访问外部类的元素(包括私有域),外部类在内部类之前创建,创建内部类时会将外部类的对象传入。
注:
**Outer:外部类
inner:内部类**
5.1 在外部类外部 创建 非静态内部类
语法:Outer.inner in=new Outer().new inner();
package com.insideClass;
public class test1 {
class like{
int a,b;
最后希望可以帮助到大家!
千千万万要记得:多刷题!!多刷题!!
之前算法是我的硬伤,后面硬啃了好长一段时间才补回来,算法才是程序员的灵魂!!!!
篇幅有限,以下只能截图分享部分的资源!!
(1)多线程(这里以多线程为代表,其实整理了一本JAVA核心架构笔记集)
(2)刷的算法题(还有左神的算法笔记)
(3)面经+真题解析+对应的相关笔记(很全面)
(4)视频学习(部分)
ps:当你觉得学不进或者累了的时候,视频是个不错的选择
在这里,最后只一句话:祝大家offer拿到手软!!
经+真题解析+对应的相关笔记(很全面)
[外链图片转存中…(img-NMCX6rLE-1715357094035)]
(4)视频学习(部分)
ps:当你觉得学不进或者累了的时候,视频是个不错的选择
在这里,最后只一句话:祝大家offer拿到手软!!