关于数据库知识和面试: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. 【Git之旅】1.Git常用命令

    1.创建初始化版本库 git init 2.将文件添加到版本库中 git add index.html (添加到暂存区) git add . 命令让Git把当前目录及目录中的文件都添加到版本库里 gi ...

  2. 【Android Studio安装部署系列】十九、Android studio使用SVN

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 在AndroidStudio中开发版本控制,除了Git就是SVN,和Eclipse不同,Android Studio没有提供单独的插 ...

  3. Bumblebee微服务网关的部署和扩展

    Bumblebee是.netcore下开源基于BeetleX.FastHttpApi扩展的HTTP微服务网关组件,它的主要作用是针对WebAPI集群服务作一个集中的转发和管理:作为应用网关它提供了应用 ...

  4. 卷积神经网络 CNN 学习笔记

    激活函数Relu 最近几年卷积神经网络中,激活函数往往不选择sigmoid或tanh函数,而是选择relu函数.Relu函数的定义 $$f(x)= max(0,x)$$ Relu函数图像如下图所示: ...

  5. Asp.Net Core 轻松学-利用xUnit进行主机级别的网络集成测试

    前言     在开发 Asp.Net Core 应用程序的过程中,我们常常需要对业务代码编写单元测试,这种方法既快速又有效,利用单元测试做代码覆盖测试,也是非常必要的事情:但是,但我们需要对系统进行集 ...

  6. 【转载】Sqlserver数据库中无自增Id的情况下使用ROW_NUMBER()函数进行数据分页

    在Sqlserver数据库中,如果查询表中含有自增长Id列,一般会采用select Top的方式来数据的分页操作.而实际上很多数据表设计的时候,不一定含有自增长Id列,那么数据库没有Id自增列的时候要 ...

  7. 【译】最大限度地降低多线程 C# 代码的复杂性

    分支或多线程编程是编程时最难最对的事情之一.这是由于它们的并行性质所致,即要求采用与使用单线程的线性编程完全不同的思维模式.对于这个问题,恰当类比就是抛接杂耍表演者,必须在空中抛接多个球,而不要让它们 ...

  8. Yii2设计模式——注册树模式

    应用举例 在Yii.php中: <?php class ServiceLocator extends Component { //保存实例化的对象,每个对象都是单例,且有唯一string类型的I ...

  9. element表格切入按钮以及复选框

    1,element表格切入按钮 关键代码: html:<el-table :data="tableList" border style="width: 100%&q ...

  10. PhotoshopCS5中将单位修改成百分比

    PhotoshopCS5中单位默认是厘米或px,当用同一动作修改两张照片时,会因为片子大小不同,修改收到影响.若将单位修改成百分比,则动作会根据照片大小,自动进行调整. 1)选择菜单栏中的“编辑”选项 ...