关于数据库知识和面试:https://www.cnblogs.com/yanqb/p/9894943.html

关于数据库知识和面试:https://www.cnblogs.com/yanqb/p/10001593.html

1、JAVA程序优化;

前端性能:http请求数量,CDN网络,使用压缩

Java程序优化:单例,Future模式的非阻塞,线程池,使用NIO,减少上下文切换,减低锁竞争;使用redis缓存;若是springboot项目可以使用它的监控(spring-boot-admin-server),

2、多态表现形式

创建一个List list = new ArrayList(); 就是多态表现

3、float比较是否相等(不是比较大小)

float 类型不能比较相等或不等,但可以比较>,<,>=,<=

应该:用俩个数差的绝对值比较

if (fabs(price - p) < 0.000001)  代替  if (price == p);相当于pice和p很接近或者相等他们的值一定小于0.00001

总结:定义一个精度,用差的绝对值比较,在精度范围内就认为是相等的;大小可以直接比较。

4、SpringMVC特点

  1.@RestController注解  相当于@ResponseBody + @Controller合在一起的作用

4、Springboot特点

一、SpringBoot解决的问题
1、编码变得简单; 2、配置变得简单; 3、部署变得简单; 4、监控变得简单 5、可以使用 RESTful 调试接口

二、springboot主要特性
1、遵循习惯优于配置的原则。使用springboot我们只需要很少的配置,大多数使用默认配置即可
2、项目快速搭建。springboot帮助开发者快速搭建spring框架,可无需配置的自动整合第三方框架
3、可以完全不使用xml配置,只需要自动配置和Java config
4、内嵌servlet容器,降低了对环境的要求,可用命令直接执行项目
5、提供了starter POM,能够非常方便的进行包管理
6、对主流框架无配置集成

三、springboot的核心功能
1、独立运行spring项目。springboot可以以jar包的形式进行独立运行,使用java -jar xx.jar 就可以成功运行项目。
2、内嵌servlet容器。内嵌容器,使得我们可以执行运行项目的主程序main函数,使得项目可以快速运行。
3、提供starter简化Maven配置。springboot提供了一系列的start pol用来简化maven依赖。如:常用的spring-boot-starter-web、spring-boot-starter-tomcat、spring-boot-starter-actuator等
4、自动配置spring。springboot会根据我们项目中类路径的jar包,为jar包的类进行自动装配bean。
5、应用监控。springboot提供了基于HTTP、ssh、telnet对运行时的项目进行监控。
springboot提供了actuator组件,只需要在配置中加入spring-boot-starter-actuator依赖,通过继承AbstractHealthIndicator这个抽象类,然后在doHealthCheck()方法中检测服务健康的方法,就可以实现一个简单的监控。具体可参考该博客:

四、springboot的缺点
1、高度集成,所以对于底层实现可能关注不多,导致项目出了问题会很难排查

4、SpringCloud内容

  1.用注解定义一个接口@FeignClient(value = "users", path = "/users") public interface UserService 

首先:

  @FeignClient(value = "users", path = "/users")
  public interface UserService {
  @RequestMapping(value = "/getUserDetail/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
  User getUserById(@PathVariable Long id);
  }

然后:@Autowired获取UserService,他会自动创建实现类

  2.SpringCloud服务间调用两种方式:RestTemplate和FeignClient  实际上都是通过REST形式 调用服务的http接口

首先:RestTemplate的Bean @Configuration @Bean 创建一个RestTemplate  bean

然后:使用的地方之间获取即可@Autowired获取RestTemplate         restTemplate.getForObject("http://users/getUserDetail/" + userId, UserDTO.class);

JAVA基础知识回顾(面试资料)的更多相关文章

  1. java基础知识回顾之---java String final类普通方法

    辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      ...

  2. Java基础知识回顾之七 ----- 总结篇

    前言 在之前Java基础知识回顾中,我们回顾了基础数据类型.修饰符和String.三大特性.集合.多线程和IO.本篇文章则对之前学过的知识进行总结.除了简单的复习之外,还会增加一些相应的理解. 基础数 ...

  3. Java基础知识回顾(一):字符串小结

    Java的基础知识回顾之字符串 一.引言 很多人喜欢在前面加入赘述,事实上去技术网站找相关的内容的一般都应当已经对相应知识有一定了解,因此我不再过多赘述字符串到底是什么东西,在官网中已经写得很明确了, ...

  4. Java基础知识回顾之一 ----- 基本数据类型

    前言 在开始工作至今,学习各种各样的技术之中发现自己的很多Java的基础知识都忘了⊙﹏⊙b汗... 而且越是学习越是发现Java基础的重要性,所以准备单独抽一下时间进行Java基础的重新学习.在重新学 ...

  5. Java基础知识回顾

    Java回顾之I/O Java回顾之网络通信 Java回顾之多线程 Java回顾之多线程同步 Java回顾之集合 Java回顾之序列化 Java回顾之反射 Java回顾之一些基础概念 Java回顾之J ...

  6. Java基础知识回顾之二 ----- 修饰符和String

    前言 在上一篇中,回顾了Java的基本数据类型 ,这篇就来回顾下Java中的一些修饰符以及String. 修饰符介绍 Java修饰符主要分为两类: 访问修饰符 非访问修饰符 其中访问修饰符主要包括 p ...

  7. Java基础知识回顾之四 ----- 集合List、Map和Set

    前言 在上一篇中回顾了Java的三大特性:封装.继承和多态.本篇则来介绍下集合. 集合介绍 我们在进行Java程序开发的时候,除了最常用的基础数据类型和String对象外,也经常会用到集合相关类. 集 ...

  8. Java基础知识回顾之三 ----- 封装、继承和多态

    前言 在上一篇中回顾了java的修饰符和String类,这篇就来回顾下Java的三大特性:封装.继承.多态. 封装 什么是封装 在面向对象程式设计方法中,封装是指一种将抽象性函式接口的实现细节部份包装 ...

  9. Java基础知识回顾之六 ----- IO流

    前言 在上一篇文章中,回顾了Java的多线程.而在本篇文章中主要介绍Java IO的相关知识. IO的介绍 什么是IO? IO的名称又来是Input与Output的缩写,也就是输入流和输出流.输入流用 ...

随机推荐

  1. python --- 插入排序算法

    先上一张图,看看能不能从里面悟出些什么: 问题的解决思路: 就是当插入第i个的时候,前面的[i- 1]个已经排好了,这时候lst[i]就倒过来逐个和前面的关键字顺序进行比较,找到插入位置即将lst[i ...

  2. was cached in the local repository, resolution will not be reattempted until the update interval of fintech has elapsed or updates are forced

    今天使用命令mvn compile编译maven项目时提示错误信息,错误信息如下: [ERROR] Failed to execute goal on project <project_name ...

  3. 一套代码小程序&Web&Native运行的探索07——mpvue简单调研

    前言 接上文:[一套代码小程序&Native&Web阶段总结篇]可以这样阅读Vue源码 最近工作比较忙,加之上个月生了小孩,小情人是各种折腾他爸妈,我们可以使用的独立时间片不多,虽然这 ...

  4. WebApi中使用Ninject 依赖注入

    之前Ninject依赖注入是在MVC中使用,最近在WebApi中使用,用之前的MVC方式发现使用接口注入,一直是Null错误,网上查询了一些资源,总结一下,以后备用. 主要分为以下几步骤: 在NuGe ...

  5. 事件Event一

    事件(Event)例如:最近的视觉中国'黑洞事件'.我们大多数人(订阅者)是通过XX平台(发布者)得知的这一消息,然后订阅者A出售视觉中国的股票(触发的方法),订阅者B买入视觉中国的股票. using ...

  6. javascript小记三则:ASP.NET启动web调试,窗体自动放大的方法

    源码如下,简单一句JS,轻松解决窗体不会自动放大的浏览器: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN& ...

  7. WPF ResourceDictionary 主题资源替换(一)

    当我们需要在程序中替换主题,更换另一套背景.颜色.样式时,如何在不修改资源Key值,直接替换呢? 问题&疑问 1. Key值冲突 同一ResourceDictionary中,不可以使用相同Ke ...

  8. C# T4 模板 数据库实体类生成模板(带注释,娱乐用)

     说明:..,有些工具生成实体类没注释,不能和SqlServer的MS_Description属性一起使用,然后照着网上的资源,随便写了个生成模板,自娱自乐向,其实卵用都没有参考教程    1.htt ...

  9. Android 设计模式之MVC模式

    说到Android设计模式的MVC模式,估计很多人都是比较熟悉了,这里深入了解一下MVC到底是怎么回事,以ListView为例子讲解. 一.深入理解MVC概念 MVC即Model-View-Contr ...

  10. ButterKnife的使用详解

    ButterKnife的使用详解 1,概述: ButterKnife则是注解中相对简单易懂的很不错的开源框架. ButterKnife是目前常用的一种依托Java注解机制实现辅助代码生成的框架:用到了 ...