盟讯科技笔试部分答案_第1页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.start()方法来启动线程,真正实现了多线程运行。这时无需等待run方法体代码执行完毕,可以直接继续执行下面的代码;通过调用Thread类的start()方法来启动一个线程,这时此线程是处于就绪状态,并没有运行。然后通过此Thread类调用方法run()来完成其运行操作的,这里方法run()称为线程体,它包含了要执行的这个线程的内容,Run方法运行结束,此线程终止。然后CPU再调度其它线程。run()方法当作普通方法的方式调用。程序还是要顺序执行,要等待run方法体执行完毕后,才可继续执行下面的代码;程序中只有主线程这一个线程,其程序执行路径还是只有一条,这样就没有达到写线程的目的。2.

2、有两种方法来解决此类问题:将共享数据封装成另外一个对象,然后将这个对象逐一传递给各个Runnable对象,每个线程对共享数据的操作方法也分配到那个对象身上完成,这样容易实现针对数据进行各个操作的互斥和通信将Runnable对象作为一个类的内部类,共享数据作为这个类的成员变量,每个线程对共享数据的操作方法也封装在外部类,以便实现对数据的各个操作的同步和互斥,作为内部类的各个Runnable对象调用外部类的这些方法。3.【Java】线程池的作用在程序启动的时候就创建若干线程来响应处理,它们被称为线程池,里面的线程叫工作线程第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第

3、二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。常见的四种线程池和区别fixThreadPool 正规线程(2)caCheThreadPool 缓存线程池(3)singleThreadPoll 单线程线程池(4)ScheduledThreadPoll4.1.保存数据之String要把一个String保存到redis中,用set(key,value),获取值用get(key)2.保存数据之List要把一个List保存到redis中,遍历List,逐个调用lpush(key,value),获取值用lrange(key,start,end),star

4、t代表开始位置,end代表结束位置,如果为-1则代表到未尾。这里lpush的意思是从左边保存,也就是后来居上。3.保存数据之Set要把一个Set保存到redis中,遍历Set,逐个调用sadd(key,value),获取值用smembers(key)4.保丰数据之SortedSetSortedSet的意思是他的每一个元素是有顺序的,顺序根据其score来决定,如果socre一样,则按value排序。保存到redis的方法是,对每一个要保存的元素,调用zadd(key,score,value),获取值用zrange(key,satrt,end),start代表开始位置,end代表结束位置,如果为

5、-1则代表到未尾。5.保存数据之Hash要把一个Hash保存到redis中,遍历Map,逐个调用hset(key,hashKey,hashValue),获取所有值有hgetAll(key)5.Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较,总体来看还是比较客观的,现总结如下:1)性能对比:由于Redis只使用单核,而Memcached可以使用多核,所以平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,但是比起

6、 Memcached,还是稍有逊色。2)内存使用效率对比:使用简单的key-value存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。3)Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached 里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的 GET/SET一样高效。所以,如果需要缓存能够支持更复杂的结构和操

7、作,那么Redis会是不错的选择。6.1)spring-boot-starter这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。2)spring-boot-starter-actuator帮助监控和管理应用。3)spring-boot-starter-amqp通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol)。4)spring-boot-starter-aop支持面向方面的编程即AOP,包括spring-aop和AspectJ。5)spring-boot-starter-artemis通过Apache

8、Artemis支持JMS的API(Java Message Service API)。6)spring-boot-starter-batch支持Spring Batch,包括HSQLDB数据库。7)spring-boot-starter-cache支持Spring的Cache抽象。7.Spring-Boot读取配置文件的方式一.读取核心配置文件信息perties的内容 核心配置文件是指在resources根目录下的perties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单方式一:使用Value方

9、式(常用)方式二:使用Environment方式二.读取自定义配置文件信息,例如:perties使用:ConfigurationProperties在ConfigurationProperties注释中有两个属性:locations:指定配置文件的所在位置prefix:指定配置文件中键名称的前缀(我这里配置文件中所有键名都是以author.开头) 使用Component是让该类能够在其他地方被依赖使用,即使用Autowired注释来创建实例。8.Spring中bean的作用域Spring中bean的作用域用scope来表示。scope的值有两个:singleton为单例,即

10、Spring IoC容器只会创建该bean的唯一一个实例,这也是默认的。该实例就会一直放在缓存里供大家使用。prototype为原型,即每一次请求都会产生一个新的bean实例。9.单例模式的三个注意点:将构造方法私有化(保证外部不能直接构造)。有一个静态属性指向实例提供一个公有的静态方法向外面提供这个实例。饿汉式:public class Singleton private Singleton() private static Singleton instance = new Singleton();public Singleton getInstance() return instance;懒汉式:public class Singleton private Single

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论