- 博客(16)
- 资源 (4)
- 收藏
- 关注
原创 2018搜狐春招编程题题解(2018-04-14)
1.系统设计搜狐已经累计拥有千万级别会员用户,会员成长值公式为:会员成长值=每天成长值+任务成长值。输入一组数组,第一行是n,表示接下来有n行数据输入,从第二行开始,如果第一个是1,则该行有4个数据,第一个1表示每日成长规则,第二个数字表示开始时间,第三个数字表示截止时间,第四个数字表示每日成长值。如果第一个数字是2,则该行总共有3个数字,第二个数字表示某一天做任务,第三个数字表示任务成长值。两种...
2018-04-14 17:28:22 404
原创 ArrayList源码解析(JDK1.8)
ArrayList是基于存储元素的Object[] array来实现的,它会在内存中开辟一块连续的空间来存储。ArrayList实现了List<E>, RandomAccess, Cloneable, java.io.Serializable接口,可以看出它是List接口实现类。接下来通过几个方面来了解ArrayList的工作原理。1.基本参数private stati...
2018-04-12 10:26:20 217
原创 Spring整合Quartz实现任务调度
Spring是个用处十分广泛的容器,而Quartz则是一个具有灵活性的框架,适用于各大框架的整合。本文主要讲述Spring整合Quartz的流程。 前面的博文已经详细讲解了Quartz的知识点,今天主要讲的是整合相关的知识。首先,Quartz配置作业有两种方式。一种是MethodInvokingJobDetailFactoryBean,另一种是JobDetailFac...
2018-04-10 21:55:22 282 2
原创 初识Quartz之CronTrigger
之前已经介绍过Trigger组件,但主要是SimpleTrigger,而SimpleTrigger触发器功能相当于一个Timer的功能。而真正体现出Quartz优于Timer的一点就是CronTrigger的使用。CronTrigger是基于日历的作业调度器,而不像SimpleTrigger那样精确地指定时间间隔。这使得调度更加灵活。1.Cron表达式 说起CronT...
2018-04-10 14:01:42 466
原创 2018春招京东实习编程题解
1.回文串 本题用暴力求解是2^n次,因此采用动态规划。以下附上暴力求解和动态规划的方法import java.util.ArrayList;import java.util.Scanner;public class Palindarome { //动态规划 public static long solve1(String s) { int len=s.length...
2018-04-09 21:36:10 848 4
原创 初识Quartz之第一个Quartz实例
根据前面的博文对Quartz的三大组件:Job、Trigger、Scheduler分别进行了介绍,本文则利用创建三大组件创建一个Quartz的实例,来了解Quartz框架的工作流程。1.创建项目 首先利用eclipse建立一个Maven项目,选择图中所示的Filter选项。并继续完成命名等,创建一个项目。 创建完成后,项目如图所示:2.pom文件 ...
2018-04-09 17:07:31 2220 7
原创 初识Quartz之Scheduler组件
之前在Trigger组件中的withSchedule(ScheduleBuilder scheduleBuilder)方法中,接触过ScheduleBuilder抽象类,通过将ScheduleBuilder对象传入用于调度参数的设置。本文主要讲述的是Scheduler组件,Scheduler组件主要用于将前文讲述的Job组件中的JobDetail对象和Trigger对象绑定在一起,...
2018-04-09 10:53:39 2327
原创 初识Quartz之Trigger组件
前文已经介绍了Job组件,本文介绍Trigger组件,其实Trigger组件关系网与Job组件关系网类似。1.trigger接口 首先Trigger是个接口,继承了Serializable、Cloneable、Comparable接口。public interface Trigger extends Serializable, Cloneable, Comparabl...
2018-04-08 21:56:27 1128
原创 2018春招链家笔试编程题题解
1.Light在小红家里面,有n组开关,触摸每个开关,可以使得一组灯泡点亮。现在问你,使用这n组开关,最多能够使得多少个灯泡点亮呢?输入第一行一个n,表示有n组开关。接下来n行,每行第一个整数为k,表示这个开关控制k个灯泡,接下来k个整数,表示控制的灯泡序号。满足:1<=n<=10001<=k<=1000序号是在int范围内正整数。输出...
2018-04-08 20:56:17 800
原创 初识Quartz之Job组件
Quartz是一个开源的任务调度框架,它有别于Timer,有比Timer更好的性能。由于故障切换以及负载均衡能力使得Quartz框架具有如下特点:1.强大的调度功能。2.灵活的应用方式。3.分布式和集群能力。以上三个特点使得Quartz在多任务调度以及分布式中具有很大的作用,以下通过Quart框架中几个重要的组件来了解Quartz框架是如何工作的。关于Quartz框架,我们需要了解...
2018-04-08 11:39:19 688
原创 Leetcode题解(八)
1.reverse-nodes-in-k-group这题跟reverse-in-pair的思路有些相同,只不过它是k个一组进行翻转,而rerverse-in-pair是k=2的情况。首先也是建立伪头指针,便于翻转后的链表的连接,另外就是链表的断开与连接,断开比较容易,就是用一个循环控制一组链表的个数即可。另外,链表的连接需要用三个临时变量,一个表示该k个结点链表的原来的头,以及原来的尾,同时需要保...
2018-04-07 21:59:02 159
原创 腾讯实习题解
1.n和m,n表示1-n共有n个数,而m表示m个一组,然后以一组减一组加的规律进行操作。比如n=4,m=2,则表示-1-2+3+4;找规律,可以以一组减一组加为一组,即t=n/(2*m)。可以发现减组与加组对应的和等于m,又因为长度为m,所以最终结果为t*m*m。注意需要用long数据类型。import java.util.Scanner;public class ReverseSe { ...
2018-04-05 18:01:13 249
原创 Leetcode题解(七)
1.substring-with-concatenation-of-all-words 这道题可以利用hashmap存储L数组里的字符串,并且需要注意的是有几种情况需要重新初始化hashmap,一种就是完成匹配,另一种就是匹配突然中间断开了。用一个k值来记录是否匹配完成,一旦中间断开k置0;用一个e值来记录一次匹配的初始位置,并且用一个布尔值判断是否更新初始位置,用i记录遍历的下标,...
2018-04-04 17:07:43 305
原创 SpringMVC之数据绑定(下)
前一篇文章已将详细讲解了基本数据类型、包装类以及集合类的相关的数据绑定。本文主要讲解的是数据绑定中的数据转换的内容,比如输入的是字符串,需要将字符串转化成SimpleDate类型的日期格式,这就需要用到类型转换。常见的类型转换的接口有PropertyEditor、Formatter、Converter等,这些接口通常用于自定义参数绑定,其中包含了参数格式的转换,比如日期的转换等,本...
2018-04-03 15:27:14 204
原创 SpringMVC之数据绑定(上)
在使用SpringMVC创建web应用时,需要将界面的控件的元素的属性将后台基本类型或对象属性进行绑定,从而实现界面与后台的一个交互。因此,这是在学习使用SpringMVC完成web开发过程中一个比较重要的知识点。本文只介绍数据的绑定,至于创建相应的项目或者完成相应的配置,可以看前面的博客。1.基本类型的绑定 我们都知道Java数据类型中有八大基本类型,这八大基本类型的绑...
2018-04-02 21:38:18 214
原创 SpringMVC之文件上传功能实现
在客户端发送上传文件请求时,一般会与普通请求一样,将请求发送给SpringMVC的前端控制器DispatcherServlet,然后由DispatcherServlet调用HandlerMapping找到处理该请求的Controller。然后DispatcherServlet将请求提交给Controller(如果不适用可以会自动调用HandlerAdapter适配)。Contro...
2018-04-02 09:55:36 3249
mybatis关联查询多对多查询案例
2018-02-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人