南贺神社

你写程序有写诗一样的感觉吗?

0%

今天是2021.02.24,鄙人从工作了将近2年的连连支付离职了。
其实要不要离开纠结了一段时间,因为在连连能做很多有意思的技术问题,虽然业务很很多,但是你总能在一家成长当中的企业当学到一些成长期必然遇到的技术问题,在阿里,腾讯,美团之类的成熟it企业,动辄就是一个大的概念滚出来的一套架构,整个集团统一技术规范和规约,以及中间件规范,业务团队其实重点还是在业务实现上面。而我呢,又是对技术狂人派的,自然喜欢技术氛围好的团队,但是现实催人往前走,我去了某宝。

Read more »

事物实例

  1. 配置数据库驱动
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    dependencies {
    compile(
    "org.springframework:spring-core:5.2.5.RELEASE",
    "org.springframework:spring-aop:5.2.5.RELEASE",
    "org.springframework:spring-beans:5.2.5.RELEASE",
    "org.springframework:spring-context:5.2.5.RELEASE",
    "org.springframework:spring-context-support:5.2.5.RELEASE",
    "org.springframework:spring-web:5.2.5.RELEASE",
    "org.springframework:spring-orm:5.2.5.RELEASE",
    "org.springframework:spring-aspects:5.2.5.RELEASE",
    "org.springframework:spring-webmvc:5.2.5.RELEASE",
    "org.springframework:spring-jdbc:5.2.5.RELEASE",
    "org.springframework:spring-instrument:5.2.5.RELEASE",
    "org.springframework:spring-tx:5.2.5.RELEASE",
    "mysql:mysql-connector-java:8.0.20",
    "org.apache.tomcat:tomcat-jdbc:9.0.34" 数据库连接池
    )
    }
Read more »

理论部分

Spring AOP目标

  • 将分散在程序各处的横切关注点剥离出来并以集中的方式进行表达
  • 使得开发人员能够专注于业务逻辑的实现而非繁杂的非功能代码,简化了程序编写与单元测试
  • 应用场景

上一章节bean只是从xml加载出来,放到map里边,但是bean的class并没有创建实例。

1
Student student = defaultListableBeanFactory.getBean("student", Student.class);

当执行上述代码的时候才会实例化一个bean。

Read more »

需求

我们在向线程池提交任务的时候,提交的顺序是ABCD,提交之后任务执行完毕的时间都是不确定的,比如执行完毕的顺序是CBAD,然后实际开发中有这样的需求是,只要得到第一个任务的执行结果,其他任务的执行结果就不考虑了,试想,如果没有jdk的实现的api的话,我们也可以操作,增加一个队列,让任务执行完毕之后,将任务的执行结果放入到队列的头部,第二执行完毕的任务的执行结果放在结果队列的第二个位置,以此类推,队列头部的就是第一个任务执行的结果。

Read more »

Executor

An object that executes submitted Runnable tasks. This interface provides a way of decoupling task submission from the mechanics of how each task will be run, including details of thread use, scheduling, etc. An Executor is normally used instead of explicitly creating threads. For example, rather than invoking new Thread(new(RunnableTask())).start() for each of a set of tasks, you might use:

Read more »