ARTS第三周
第三周。上周欠下了 赶紧补上,糟糕了 还有第四篇也得加紧了 难受。
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的发表的见解。
ARTS第三周的更多相关文章
- 三周,用长轮询实现Chat并迁移到Azure测试
公司的OA从零开始进行开发,继简单的单点登陆.角色与权限.消息中间件之后,轮到在线即时通信的模块需要我独立去完成.这三周除了逛网店见爱*看动漫接兼职,基本上都花在这上面了.简单地说就是用MVC4基于长 ...
- Coursera系列-R Programming第三周-词法作用域
完成R Programming第三周 这周作业有点绕,更多地是通过一个缓存逆矩阵的案例,向我们示范[词法作用域 Lexical Scopping]的功效.但是作业里给出的函数有点绕口,花费了我们蛮多心 ...
- JAVA第三周作业(从键盘输入若干数求和)
JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...
- 20145213《Java程序设计》第三周学习总结
20145213<Java程序设计>第三周学习总结 教材学习内容总结 正所谓距离产生美,上周我还倾心于Java表面的基础语法.其简单的流程结构,屈指可数的基本类型分类,早已烂熟于心的运算符 ...
- 20145304 Java第三周学习报告
20145304 <Java程序设计>第三周学习总结 教材学习内容总结 1.定义类: 类定义时使用class关键词,建立实例要使用new关键词. 代码如下: /*定义类 书上例子 衣服的型 ...
- 20145330《Java程序设计》第三周学习总结
20145330 <Java程序设计>第三周学习总结 第三周知识的难度已经逐步上升,并且一周学习两章学习压力也逐渐加大,需要更高效率的来完成学习内容,合理安排时间. 类与对象 对象(Obj ...
- 20145337《Java程序设计》第三周学习总结
20145337 <Java程序设计>第三周学习总结 教材学习内容总结 类与对象 类与对象的关系:要产生对象必须先定义类,类是对象的设计图,对象是类的实例.我觉得在视频中对类与对象关系的描 ...
- Linux内核设计第三周——构造一个简单的Linux系统
Linux内核设计第三周 ——构造一个简单的Linux系统 一.知识点总结 计算机三个法宝: 存储程序计算机 函数调用堆栈 中断 操作系统两把宝剑: 中断上下文的切换 进程上下文的切换 linux内核 ...
- 20145218 《Java程序设计》第三周学习总结
20145218 <Java程序设计>第三周学习总结 教材学习内容总结 定义类 编写程序要产生对象就要先定义类.类是对象的设计图,对象是类的实例.类定义时使用class关键词,建立实例时, ...
随机推荐
- 入坑java工程师那些事
最近在知乎上看到好多关于转行做java的朋友,有的在担心学历,有的在想着如何学习java,有的在纠结如何面试.作为一个工作了近10年的java程序员来聊聊我的一些想法,主要从学历.个人能力.工作环境等 ...
- eclispe--tomcat配置
eclipse安装tomcat方法: 1.下载tomcat,从官网下载,地址:http://tomcat.apache.org/download-70.cgi 2.将下载下来的压缩包解压,放在自己想放 ...
- [LeetCode] 231. 2 的幂
位运算 231. 2 的幂 ``` class Solution { public boolean isPowerOfTwo(int n) { int cnt = 0; while (n>0) ...
- Python+Selenium学习笔记11 - python官网的tutorial - 定义函数
1 def f(a, L=[]): 2 L.append(a) 3 return L 4 5 print f(5) 6 print f(2) 输出 1 def f(a, L=None): 2 if L ...
- 使用Vue写一个九九乘法表
Vue.js是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计. 下面是在Vue 测试实例 - 菜鸟教程(runoob.com)使用Vue写的一个九九乘法表, ...
- Netty 框架学习 —— 传输
概述 流经网络的数据总是具有相同的类型:字节,这些字节如何传输主要取决于我们所说的网络传输.用户并不关心传输的细节,只在乎字节是否被可靠地发送和接收 如果使用 Java 网络编程,你会发现,某些时候当 ...
- Java接口以及匿名内部类,静态代码块
接口 接口中只能定义public并且是final的公共静态常量,不允许定义变量. 抽象类可以定义抽象方法和非抽象方法,接口中只能定义公共的,抽象的实例方法. 接口只能由其他接口实现继承 子接口继承的目 ...
- 【NX二次开发】大开眼界,DLL还可以这么调!
NX二次开发应用程序有交互式.批处理和远程3中模式.交互模式的应用程序(.dll)在NX界面环境下运行.dll以动态链接库的方式被加载到NX的进程空间中.dll可以通过下列几种方式执行. 1.直接激活 ...
- 【SQLite】教程07-C/C++上使用SQLite3
1.配置好C/C++项目环境 2.源码 1 #include <iostream> 2 #include <vector> 3 #include <string> ...
- 基于ILI9341的TFT液晶显示模组LCM240320详解(1)
Hello,大家好,今天我们来讨论当下非常流行的TFT液晶显示模组,它最大的特点是可以显示出效果非常好的彩色信息,绝大多数手机.液晶显示器,液晶电视.MID.MP4等产品都在使用它,你想抗拒它的魅力还 ...