第三周。上周欠下了 赶紧补上,糟糕了 还有第四篇也得加紧了 难受。

1.Algorithm:每周至少做一个 leetcode 的算法题
2.Review:阅读并点评至少一篇英文技术文章
3.Tip:学习至少一个技术技巧
4.Share:分享一篇有观点和思考的技术文章

以下是各项的情况:

Algorithm

链接:[LeetCode-09]-Palindrome Number

首先排除负数,然后利用取整和取余来获得我们想要的数字,比如 1221 这个数字,如果 计算 1221 / 1000, 则可得首位1, 如果 1221 % 10, 则可得到末尾1,进行比较,然后把中间的22取出继续比较。比较特殊的是1000211,也是一样的,第一遍首尾部1相等,继续循环 中间的00021,取出首位置的时候,除以的是10000,所以取出的是0,尾位置取出的是1,二者不同,直接返回false。

class Solution {
public boolean isPalindrome(int x) {
if(x<0) return false;
int div = 1;
while(x/div>=10) div *= 10;
while(x>0){
int left = x / div;
int right = x % 10;
if (left != right) return false;
x = (x % div) / 10;
div /= 100;
}
return true;
}
}

Review

分享   关系数据库如何工作

东西很丰富 就记下脉络和思维导图

内容

Tip

  Spring常用注解 :

    1. @Component  (创建工具类的时候)

      1.1@Repository   仓库(dao层)

       1.2@Service      服务(service层)

      1.3@Controller控制调节(表现层)

      上面三个注解都是@Component的衍生物,是更细的分层

      用法和作用和@Component 是完全一样的,只是各有各使用的地方

    2.给对象赋值

      2.1@Autowired   自动

@Autowired(required = false)
private Integer id; @Autowired
private String name;

      @Autowired  引用容器中的另一个对象,来给成员属性赋值

      1.它寻找的原则是:先根据数据类型去容器里面找,如果找不到或有多个这样的数据类型

        它就会根据成员变量的字段名去找. 如果都不适配,那就报错!

      2.它后面括号可以设置required参数,默认值是true  表示找不到就报错

        写false  表示找不到也不报错    括号是写不写是可选的

      注意:在容器里给对象赋的值,只有使用ac.getBean(“account”) 这样获得的对象,才能拥有容器里面的值,  直接 new Account()  得到的对象属性是空的

    

      2.2@Qualifier   初筛选

          @Qualifier必须结合@Autowired使用

@Autowired

@Qualifier(“aa”)
private Integer id;

          就写在@Autowired 和 成员属性 的中间  括号里指定一个名称, 它表示只根据这个名称去容器里面去找,找到的那个名称的值 就用来给成员变量赋值

            在@Autowired下设置了@Qualifier注解后,它只只只根据@Qualifier()参数里的那个名称去容器中寻找,找不到就报错,不再找别的  假如@Qualifier(“aa”)  容器里没id=”aa” 的就报错!!!

      2.3@Resource

l         实现效果与@Autowire一样。

          注意:  区别:resource 是 不能跟Qualifier 结合使用的,结合了也没用!

      2.4@Value

          无论是@Resource还是@Autowired都是引用容器中的对象注入进来。

          对于简单类型可以直接通过@Value赋值.(较少)

    3.spring对象范围注解

          @scope(“singleton”)   创建单例对象

          @scope(“prototype”)   创建多例对象

    4.spring生命周期注解 

        4.1. @PostConstruct()

        在任意一个方法的上面打上这个注解,只要对象一创建,这个方法就会立即执行

        4.2. @PreDestroy(只对单例有效)

        在任意一个方法的上面打上这个注解,只要容器被销毁的前一刻,这个方法就会被执行

        4.3. @Lazy

        在类的上方加了这个注解,在创建容器的时候,就不会再自动创建单例对象了

        只有真正需要使用到对象的时候,才会创建对象!  和多例对象一样了!

    5.spring零配置

        5.1@Configuration

            在一个类(通常是Configuration)的上面标上这个注解,就相当于把这个类变成了bean.xml

        5.2@ComponentScan

            标在上面所说的那个类的上方,表示开启注解扫描 @ComponentScan(“com.sunsheen”)括号里参数指明扫描哪个文件夹下的类

            如果有对个路径要指明,可以使用

              

@ComponentScans({
        @ComponentScan(“com.sunsheen.dao”) ,
        @ComponentScan(“com.sunsheen.service”)
})

        5.3@Import

            导入外部的配置类  如:@Import ( JdbcConfig.class )  写在上面所说的那个类的上方

        5.4@Bean

            写在一个方法的上方,@Bean(name=”dataSource”) 表示IOC容器会扫描这个注解,并调用执行被@Bean标记的这个方法

            默认情况下bean的名称和方法名称相同,你也可以使用name属性来指定

        5.5@PropertySource

            写在类的上方,表示(且只能)加载根路径下的properties配置文件. @PropertySource(“classpath:jdbc.properties”)

            这个classpath 不能忘,并且严格区分大小写,绝对不能写成classPath  它是全小写的!

Share

  这周推荐一篇观点,是关于数据收集忧患的。Westminster 大学高级讲师  Doug Specht的发表的见解。

https://thenextweb.com/syndication/2019/07/07/how-big-biased-datasets-make-social-inequalities-worse/

ARTS第三周的更多相关文章

  1. 三周,用长轮询实现Chat并迁移到Azure测试

    公司的OA从零开始进行开发,继简单的单点登陆.角色与权限.消息中间件之后,轮到在线即时通信的模块需要我独立去完成.这三周除了逛网店见爱*看动漫接兼职,基本上都花在这上面了.简单地说就是用MVC4基于长 ...

  2. Coursera系列-R Programming第三周-词法作用域

    完成R Programming第三周 这周作业有点绕,更多地是通过一个缓存逆矩阵的案例,向我们示范[词法作用域 Lexical Scopping]的功效.但是作业里给出的函数有点绕口,花费了我们蛮多心 ...

  3. JAVA第三周作业(从键盘输入若干数求和)

    JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...

  4. 20145213《Java程序设计》第三周学习总结

    20145213<Java程序设计>第三周学习总结 教材学习内容总结 正所谓距离产生美,上周我还倾心于Java表面的基础语法.其简单的流程结构,屈指可数的基本类型分类,早已烂熟于心的运算符 ...

  5. 20145304 Java第三周学习报告

    20145304 <Java程序设计>第三周学习总结 教材学习内容总结 1.定义类: 类定义时使用class关键词,建立实例要使用new关键词. 代码如下: /*定义类 书上例子 衣服的型 ...

  6. 20145330《Java程序设计》第三周学习总结

    20145330 <Java程序设计>第三周学习总结 第三周知识的难度已经逐步上升,并且一周学习两章学习压力也逐渐加大,需要更高效率的来完成学习内容,合理安排时间. 类与对象 对象(Obj ...

  7. 20145337《Java程序设计》第三周学习总结

    20145337 <Java程序设计>第三周学习总结 教材学习内容总结 类与对象 类与对象的关系:要产生对象必须先定义类,类是对象的设计图,对象是类的实例.我觉得在视频中对类与对象关系的描 ...

  8. Linux内核设计第三周——构造一个简单的Linux系统

    Linux内核设计第三周 ——构造一个简单的Linux系统 一.知识点总结 计算机三个法宝: 存储程序计算机 函数调用堆栈 中断 操作系统两把宝剑: 中断上下文的切换 进程上下文的切换 linux内核 ...

  9. 20145218 《Java程序设计》第三周学习总结

    20145218 <Java程序设计>第三周学习总结 教材学习内容总结 定义类 编写程序要产生对象就要先定义类.类是对象的设计图,对象是类的实例.类定义时使用class关键词,建立实例时, ...

随机推荐

  1. 【补档_STM32单片机】脉搏波采集显示硬件设计

    一.脉搏波简介 ​ 脉搏一般情况下指的都是动脉脉搏.每分钟的脉搏次数称为脉率,正常情况下与心率是一致的.心脏的一次收缩和舒张成为一个心动周期.在每个心动周期内,心室的收缩和舒张会引起脉内压力的周期性波 ...

  2. 全景分割:CVPR2019论文解析

    全景分割:CVPR2019论文解析 Panoptic Segmentation 论文链接: http://openaccess.thecvf.com/content_CVPR_2019/papers/ ...

  3. YOLO3升级优化版!Poly-YOLO:支持实例分割!

    YOLO3升级优化版!Poly-YOLO:支持实例分割! POLY-YOLO: HIGHER SPEED, MORE PRECISE DETECTION AND INSTANCE SEGMENTATI ...

  4. GPU加速计算

    GPU加速计算 NVIDIA A100 Tensor Core GPU 可针对 AI.数据分析和高性能计算 (HPC),在各种规模上实现出色的加速,应对极其严峻的计算挑战.作为 NVIDIA 数据中心 ...

  5. GPU端到端目标检测YOLOV3全过程(中)

    GPU端到端目标检测YOLOV3全过程(中)   计算机视觉初级部分知识体系                       总结了一下自己在计算机视觉初级部分的知识框架,整理如下.  个人所学并不全面( ...

  6. 重新整理 .net core 实践篇—————日志系统之结构化[十八]

    前言 什么是结构化呢? 结构化,就是将原本没有规律的东西进行有规律话. 就比如我们学习数据结构,需要学习排序然后又要学习查询,说白了这就是一套,没有排序,谈如何查询是没有意义的,因为查询算法就是根据某 ...

  7. 编译原理-NFA转化成DFA

    1.假定NFA    M=<S,∑,f,S0,F>    对M的状态转换图进行以下改造: ①引进新的初态结点X和终态结点Y,    X,Y∈S,    从X到S0中的任意结点连一条ε箭弧, ...

  8. centos 7 显示系统执行的进程

    命令:ps -aux ps -aux | more USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 1911 ...

  9. NOIP模拟测试29「爬山·学数数·七十和十七」

    爬山题解不想写了 学数数 离散化然后找到以每一个值为最大值的连续子段有多少个,然后开个桶维护 那么怎么找以每一个值为最大值的连续子段个数 方法1(我的极笨的方法) 考试时我的丑陋思路, 定义极左值为左 ...

  10. Linux 安装及管理程序

    Linux 安装及管理程序 目录 一.Linux应用程序基础 1.1.应用程序与系统命令的关系 1.2.典型应用程序的目录结构 1.2.常见的软件包封装类型 二.RPM包管理工具 2.1.RPM软件包 ...