编程语言--java练习以及面试题
bobby1994
学习 不能遗忘
沉淀 时刻记牢
展开
-
java 万年历
需求分析寻求:输入一个年份,再输入一个月份,把那个月的日历打印出来,(1900年1月1日是星期一)。“`寻求分析: a:先输出提示语句,并接受用户输入的年、月。 b:根据用户输入的年,先判断是否是闰年。(闰年2月有29天,平年2月有28天); C:根据用户输入的年来判断月的天数。 D:用循环计算用户输入的年份距1900年1月1日(星期一)的总天数。* E:用循环计算用户输入的月份距输入的年原创 2017-11-18 11:48:36 · 1184 阅读 · 0 评论 -
JDK动态代理实现原理
本文转载地址:http://rejoy.iteye.com/blog/1627405之前虽然会用JDK的动态代理,但是有些问题却一直没有搞明白。比如说:InvocationHandler的invoke方法是由谁来调用的,代理对象是怎么生成的,直到前几个星期才把这些问题全部搞明白了。 废话不多说了,先来看一下JDK的动态是怎么用的。 Java代码 package dyna...转载 2018-08-28 08:43:17 · 2767 阅读 · 1 评论 -
Java-线程池相关
转载地址:https://www.cnblogs.com/aspirant/p/6920418.htmlJava-线程池专题 (美团面试题)去美团面试,问到了什么是线程池,如何使用,为什么要用,以下做个总结1、什么是线程池: java.util.concurrent.Executors提供了一个 java.util.concurrent.Executor接口的实现用于创建线程池多...转载 2018-08-27 18:13:03 · 292 阅读 · 0 评论 -
java并发编程:线程池的使用
转载博主地址:https://blog.csdn.net/u011531613/article/details/61921473 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。...转载 2018-08-27 08:25:35 · 253 阅读 · 0 评论 -
Redis面试题及分布式集群
1. 使用Redis有哪些好处?(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型,支持string,list,set,sorted set,hash (3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行 (4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期...转载 2018-06-02 15:13:49 · 345 阅读 · 0 评论 -
深入浅出的Dubbo学习之路(一) Dubbo原理浅析
原文地址:https://www.jianshu.com/p/ad5bc07b1b3duubo结构图我们解释以下这个架构图duubo结构图我们解释以下这个架构图一、初入Dubbo首先,什么是dubbo?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。其核心部分包含:远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列...转载 2018-06-02 09:55:22 · 2394 阅读 · 0 评论 -
ZooKeeper面试
Zookeeper是什么框架分布式的、开源的分布式应用程序协调服务,原本是Hadoop、HBase的一个重要组件。它为分布式应用提供一致性服务的软件,包括:配置维护、域名服务、分布式同步、组服务等。应用场景Zookeeper的功能很强大,应用场景很多,结合我实际工作中使用Dubbo框架的情况,Zookeeper主要是做注册中心用。基于Dubbo框架开发的提供者、消费者都向Zookeeper注册自己...转载 2018-06-01 20:41:01 · 448 阅读 · 0 评论 -
Springmvc面试总结
1.Springmvc的工作流程? 架构流程1、用户发送请求至前端控制器DispatcherServlet2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。4、DispatcherServlet通过Handler...原创 2018-06-01 00:27:07 · 1183 阅读 · 0 评论 -
mybatis题面试集合
1. #{}和${}MyBatis将 #{…} 解释为JDBC prepared statement 的一个参数标记。而将 ${…} 解释为字符串替换。理解这两者的区别是很有用的, 因为在某些SQL语句中并不能使用参数标记(parameter markers)。$多用于模糊查询SELECT * FROM `user` WHERE username LIKE '%${value}%'2. param...原创 2018-05-31 23:18:23 · 1690 阅读 · 0 评论 -
spring 69个面试题及答案
1.什么是Spring?Spring是一个开源的Java EE开发框架。Spring框架的核心功能可以应用在任何Java应用程序中,但对Java EE平台上的Web应用程序有更好的扩展性。Spring框架的目标是使得Java EE应用程序的开发更加简捷,通过使用POJO为基础的编程模型促进良好的编程风格。2.Spring有哪些优点?· 轻量级:Spring在大小和透明性方面绝...转载 2018-05-31 17:22:03 · 230 阅读 · 0 评论 -
hashmap的底层实现原理
HashMap实现原理及源码分析 哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。目录 一、...转载 2018-06-11 17:52:20 · 1161 阅读 · 2 评论 -
面试准备之solr集群及solr集群中zookeeper的应用和activeMQ
activeMQ应用场景:添加商品时需要将索引同步到数据库(这时候的manage-service充当消息的),当调用商品添加功能时,索引库并不会更新,此时如果对商品进行搜索,那么将无法获取到最新商品,所以需要当商品添加时,告诉索引库及时更新,此时activeMQ就充当了消息中间健的作用,当商品更新时,他就是消息生产者,通过activeMQ传达给消息消费者进行索引更新solrcloud:solrcl...转载 2018-06-02 17:43:20 · 633 阅读 · 0 评论 -
JAVA this指针
Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final 使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this转载 2017-11-22 16:19:41 · 377 阅读 · 0 评论 -
Spring框架IOC和AOP的实现原理
本文转载地址:https://www.cnblogs.com/cyhzzu/p/6644981.htmlIoC(Inversion of Control) (1). IoC(Inversion of Control)是指容器控制程序对象之间的关系,而不是传统实现中,由程序代码直接操控。控制权由应用代码中转到了外部容器,控制权的转移是所谓反转。 对于Spring而言,就是由Spring...转载 2018-08-28 08:45:10 · 394 阅读 · 0 评论