最新Java奇技淫巧:new对象后加大括号{},最后顺便做了个小框架?,别再说自己不会了

总结

就写到这了,也算是给这段时间的面试做一个总结,查漏补缺,祝自己好运吧,也希望正在求职或者打算跳槽的 程序员看到这个文章能有一点点帮助或收获,我就心满意足了。多思考,多问为什么。希望小伙伴们早点收到满意的offer! 越努力越幸运!

金九银十已经过了,就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句,复习准备的是否充分,将直接影响你入职的成功率。但很多小伙伴却苦于没有合适的资料来回顾整个 Java 知识体系,或者有的小伙伴可能都不知道该从哪里开始复习。我偶然得到一份整理的资料,不论是从整个 Java 知识体系,还是从面试的角度来看,都是一份含技术量很高的资料。

三面蚂蚁核心金融部,Java开发岗(缓存+一致性哈希+分布式)

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

先看一段代码

public static void main(String[] args) {

Fu f = new Fu(){

/** 这里再打一个打括号,就是在匿名子类的构造器中写东西 */

{

setName(“Zi”);

}

@Override

public void eat() {

/** this.getClass为匿名类*/

System.out.println(this.getClass());

System.out.println(this.getName() + " eating…");

}

};

f.eat();

}

这种写法也很奇特,但是真的有用!你可以在生成匿名子类对象的时候,把数据初始化一下。

步骤 3  实战应用1.给HashMap赋初值

Map<String,Object> study = new HashMap<String,Object>(){{

put(“name”,“java小白翻身”);

put(“url”,“java18.cn”);

}};

System.out.println(study);

这下是真的学到了,因为生成的对象还是Map(因为多态),所以不会有任何影响,赶紧拿去秀翻同事吧~~

步骤 4  实战应用2.给ArrayList赋初值

List list = new ArrayList(){{

add(1);

add(2);

add(3);

}};

System.out.println(list);

步骤 5  实战应用3.传参的时候直接new接口

这种情况是非常普遍的!

这种情况是非常普遍的!

这种情况是非常普遍的!

重要的话说三遍,如果你喜欢翻看源码,这种技巧真的是随处可见。比如:

//直接开启一个线程

new Thread(new Runnable() {

@Override

public void run() {

System.out.println(“线程开启!”);

}

}).start();

一般这种情况都是直接new接口,实际上是new一个接口的匿名实现类啦,不过我一般喜欢说new一个接口。

如果这个接口中只有一个抽象方法,就可以用lamda表达式:

new Thread(() -> {

System.out.println(“线程开启!”);

}).start();

步骤 6  神级展开: 我顺手做了个小框架?!

这部分内容是我突然想到的,既然这个匿名子类对象这么好用,我是不是可以用这个特性来做个SQL生成器?

最终做出来的效果是这样的:

String sql = new SQL(){{

select(“*”).from(“t_user”).where(“uname like ‘j%’”)

.and(“sex=‘男’”).orderby(“id desc”);

}}.toString();

System.out.println(sql);

很美观,很有趣是不是,其实SQL类的代码异常简单啦,相信你也一定可以写出来:

package com.javaxbfs.demo;

/** 自定义简单SQL构建器,不支持复杂sql* */

public class SQL {

public StringBuffer sql = new StringBuffer();

public SQL select (String targetStr){

sql.append(" select ").append(targetStr);

return this;

}

public SQL from (String table){

sql.append(" from ").append(table);

return this;

分享

首先分享一份学习大纲,内容较多,涵盖了互联网行业所有的流行以及核心技术,以截图形式分享:

(亿级流量性能调优实战+一线大厂分布式实战+架构师筑基必备技能+设计思想开源框架解读+性能直线提升架构技术+高效存储让项目性能起飞+分布式扩展到微服务架构…实在是太多了)

其次分享一些技术知识,以截图形式分享一部分:

Tomcat架构解析:

算法训练+高分宝典:

Spring Cloud+Docker微服务实战:

最后分享一波面试资料:

切莫死记硬背,小心面试官直接让你出门右拐

1000道互联网Java面试题:

Java高级架构面试知识整理:

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

[外链图片转存中…(img-M3h9mIYd-1715635204178)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值