背景
18年毕业于双非学校的计算机专业,随同班同学一起,从安徽来到了杭州搬起了砖,开始做起
JAVA
后端!!
2020年是不容易的一年,由于疫情影响,使得不少的小伙伴因为公司原因而不得不重新开始寻找工作。面对日益增加的计算机学生而言,这届应届生想必找工作更是难上加难。
就我而言,今年参与了几场线下的技术沙龙,聆听了大佬们对于技术的落地,规划等。在日常的写业务代码中也逐渐有了设计模式中的原型以及java
中的多态概念等等。日常学习中也是不断的进行中。
工作
相信写
JAVA
的人数还是很多的!!!
目前从事的是业务开发(对于专门的中间件开发的小伙伴工作内容还是很好奇的?),大部分的时间都是围绕的业务开展,而非很多时间围绕在开发上。只要需求等等确定好之后,写代码还是很快的。顺便上下前两个月改造的一个task
任务(之前所有的task
都是并发的,但是现在有部分的task
有数据依赖)。
- 将有部分task数据依赖的接口实现
ApplicationListener
接口以及定义同一个ApplicationEvent
事件实体。 eg:
@Component
public class BRunner implements IRunner, ApplicationListener<NoticeEvent> {
@Autowired
private ApplicationEventPublisher applicationEventPublisher;
@Override
public void run() {
System.out.println("this is BRunner" new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
try {
Thread.sleep(10_000);
} catch (InterruptedException e) {
e.printStackTrace();
}
NoticeEvent noticeEvent = new NoticeEvent(this,"C");
applicationEventPublisher.publishEvent(noticeEvent);
}
@Override
@Async
public void onApplicationEvent(NoticeEvent noticeEvent) {
if ("B".equalsIgnoreCase(noticeEvent.getMessage())){
this.run();
}
}
}
代码语言:txt复制public class NoticeEvent extends ApplicationEvent {
private String message;
public NoticeEvent(Object source, String message) {
super(source);
this.message = message;
}
public NoticeEvent(Object source) {
super(source);
}
public String getMessage() {
return message;
}
}
- 作为数据来源主体进行发布消息改造。 eg:
@Component
public class ARunner implements IRunner {
@Autowired
private ApplicationEventPublisher applicationEventPublisher;
@Override
public void run() {
System.out.println("this is ARunner" new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
try {
Thread.sleep(10_000);
} catch (InterruptedException e) {
e.printStackTrace();
}
NoticeEvent noticeEvent = new NoticeEvent(this,"B");
applicationEventPublisher.publishEvent(noticeEvent);
}
}
- 因为项目启动的时候是利用
schedule
进行执行多个task
任务的,我们需要将"消费者"
部分从启动的时候剔除(这里剔除的方法有好几种了,我这里简单说下最简单的)。
1. 维护一个静态集合存储需要剔除的`task`名称,容器初始化的时候加载进去,在执行时候判断是否在此集合中。
2. 利用`instanceof`去判断当前task是否属于`ApplicationListener`,属于就剔除执行计划。
生活
目前一个人在飘~
生活中就很多有趣的东西了,让我们自己去尝试其中。例如骑行,打球,泡温泉等等(上一张图)。
也没想着很急找个女票什么的,这个还是随缘吧,这么一看我好像还是很佛系的,目前想着让自己的生活变得更加充实起来。
学习
学习不能停!!!!
入了这行,就知道这行需要学习的东西很多很多很多,尤其一些新的技术推广开来的时候,我们就要投入其中去学习。
分享下我近期再看的书籍,目前除了技术的书籍之外,我还在看着一些能够增长文化学识的书籍,算是陶冶情操吧。
同时我们也是需要多往云上发展(Serverless
是趋势),我们要学会使用一些云产品(云服务器,云数据库,消息队列 CKafka等等),以便于我们更好的接触云服务的界限。
总结
相信每个小伙伴都会对着未来的自己进行合理的规划,该如何去做,如何去学习等等。其实我想表达:这些东西都不难去想,都不难去规划,最难的是贵在坚持!
让我们去始终如一的去坚持枯燥的日子是很难的,但是唯有这样,我们才会更有希望变成我们想象中的那样,我们才可以变得更好,让我们一起加油吧!!!!!