最后
由于文案过于长,在此就不一一介绍了,这份Java后端架构进阶笔记内容包括:Java集合,JVM、Java并发、微服务、SpringNetty与 RPC 、网络、日志 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、Java基础、负载均衡、数据库、一致性算法、Java算法、数据结构、分布式缓存等等知识详解。
本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。
可以看到,传递的参数可以是基本数据类型、一位数组和二维数组以及对象都可以依次打印出来!
所有代码:
package com.gxwz.util;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.springframework.stereotype.Service;
import com.gxwz.entity.User;
@Service
public class CommentUtils {
/**
-
遍历输出非数组型的可变参数
-
@param object
-
@return
*/
public Boolean print(Object …object) {
Boolean flag = false;
for (int i = 0; i < object.length; i++) {
System.out.println(“object[”+i+“]:”+object[i]);
}
flag = true;
return flag;
}
/**
-
遍历输出数组型的可变参数
-
@param object
-
@return
*/
public Boolean printArrays(Object …object) {
Boolean flag = false;
for (int i=0;i<object.length;i++) {
//判断参数是否是数组
if(object[i].getClass().isArray()) {
//获取数组的长度
int length = Array.getLength(object[i]);
//自定义一个object类型的数组
Object[] Obj = new Object[length];
//使用 Array.get方法,把数组的值存到Object数组中
for (int j = 0; j < Obj.length; j++) {
Obj[j] = Array.get(object[i], j);
}
//遍历输出数组
System.out.println(“object[”+i+“]:”+Arrays.deepToString(Obj));
}else {
System.out.println(“object[”+i+“]:”+object[i]);
}
}
flag = true;
return flag;
}
public static void main(String[] args) {
CommentUtils utils = new CommentUtils();
String s = “爱因斯坦”;
Integer i = 1000;
double dd = 4502.434D;
int[] in = {1,3,4,5,6};
int[][] num = {{1,2,3},{4,5,6},{7,8,9}};
User user = new User(“银河系”,“新东方”);
String[] str = {“松岛枫”,“回防高地”};
List arr = new ArrayList();
Collections.addAll(arr,i,s,in,dd,in,num,str,user);
utils.printArrays(i,s,in,dd,in,num,str,user,arr);
}
}
开发时测试数据可能很多时候都需要打印输出进行测试,但是测试的数据多了代码会变得臃肿冗余。
可以利用使用spring框架的小伙伴只需要添加注解注入就可以了,
不使用spring框架的话可以把类改成静态方法直接调用。
今天就分享到这里了!如有需要改进的地方还请大家多指点!!!
总结
三个工作日收到了offer,头条面试体验还是很棒的,这次的头条面试好像每面技术都问了我算法,然后就是中间件、MySQL、Redis、Kafka、网络等等。
- 第一个是算法
关于算法,我觉得最好的是刷题,作死的刷的,多做多练习,加上自己的理解,还是比较容易拿下的。
而且,我貌似是将《算法刷题LeetCode中文版》、《算法的乐趣》大概都过了一遍,尤其是这本
《算法刷题LeetCode中文版》总共有15个章节:编程技巧、线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图、细节实现题
《算法的乐趣》共有23个章节:
- 第二个是Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)
基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)
- 第三个是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)