Java后台面试

2023-11-07

一、Nginx负载均衡

  • 轮询:轮询是默认的,每一个请求按顺序逐一分配到不同的后端服务器,如果后端服务器down掉了,则能自动剔除
  • ip_hash:请求按访问IP的hash结果分配,这样来自同一个IP的访客固定访问一个后端服务器,有效解决了动态网页存在的session共享问题。
  • weight:weight是设置权重,用于后端服务器性能不均的情况,访问比率约等于权重之比
  • fair(第三方):这是比上面两个更加智能的负载均衡算法。此种算法可以依据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配。Nginx本身是不支持fair的,如果需要使用这种调度法必须下载Nginx的 upstream_fair 模块。
  • url_hash(第三方):此方法按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率。Nginx本身是不支持url_hash的,如果需要使用这种调度算法,必须安装Nginx 的hash软件包。

二、 Java中名词解释

  • JVM: Java虚拟机,作用屏蔽不同操作系统之间的差异性。
  • JRE: Java的运行环境(JRE= JVM+解释器)
  • JDK: Java的工具包(JDK= 编译器+JRE+类库+工具)
  • Java的运行机制:先编译后解释运行
                               将源文件(.java)--->通过编译器生成对应的字节码文件(.class 二进制文件)---->通过解释器逐行的解释并运行
  • 注意:体现Java的跨平台性的内容为字节码文件。
  • Java的运行特点:一次编译多次运行。(多次运行-》运行的.class文件)

三、冒泡排序、选择排序

  1. 冒泡排序:相邻的两个元素进行一一比较,最大的元素逐渐往后移。
//外层循环控制比较的轮数
			for(int i=1;i<a.length;i++){
				//内层循环:控制每一轮具体比较的内容
				for(int j=0;j<a.length-i;j++){
					if(a[j]>a[j+1]){
						int t = a[j];
						a[j]= a[j+1];
						a[j+1]=t;
					}
				}
			}

    2. 选择排序:固定一个下标位置元素,和后面的元素进行一一比较,小的元素逐渐往前移。

//外层循环控制比较的轮数
			for(int i=0;i<a.length-1;i++){
				//内层循环控制每一轮比较内容
				for(int j=i+1;j<a.length;j++){
					if(a[i]>a[j]){
						int t= a[i];
						a[i]=a[j];
						a[j]=t;
					}
				}
			}

   3. 快速排序:java.util.Arrays.sort(数组名)

四、创建对象的过程

         1.先进行类加载:
                   先加载父类:
                           完成对父类静态属性的初始化工作
                    再加载子类:
                           完成对子类静态属性的初始化工作
          2.再进行对象的创建:
                    分配空间(子类+父类)
                    先创建父类对象:
                           初始化父类的属性:动态代码块执行
                           调用父类的构造方法
                    再创建子类对象:
                            初始化子类的属性:子类的动态代码块执行
                            调用子类的构造方法

五、接口、抽象类区别

  接口 抽象类
关键字 interface abstract class
属性 公开、静态、常量 实例变量、静态属性
成员方法 公开、抽象方法 抽象方法+非抽象方法
构造方法 没有
继承关系 多继承 单继承
相同点

1.编译之后都会生成独立.class文件

2.都不能创建对象

 

六、

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java后台面试 的相关文章

  • 今天发现rabbitMQ消息堆积

    发现有三十多万的消息堆积在10的queue里没有被消费 记录一下查看问题的步骤 1 jps 找出程序的PID 2 jstack PID 查看线程dump 发现rabbitMQ的consumer worker线程block住了 Thread
  • Java IO流 缓冲流-BufferedInputStream、BufferedOutputStream

    首先抛出一个问题 有了InputStream为什么还要有BufferedInputStream BufferedInputStream和BufferedOutputStream这两个类分别是FilterInputStream和FilterO
  • 必须掌握的hashcode()方法

    一 hashcode是什么 1 hash和hash表是什么 想要知道这个hashcode 首先得知道hash 通过百度百科看一下 hash是一个函数 该函数中的实现就是一种算法 就是通过一系列的算法来得到一个hash值 这个时候 我们就需要
  • java基础:日志框架

    文章目录 一 日志技术的概述 二 日志技术体系 三 Logback日志框架 四 Logback快速入门 五 Logback 配置详解 5 1 输出位置 格式设置 5 2 对日志不同内容是否输出的控制 一 日志技术的概述 程序中的日志可以用来
  • 剑指offer第二版面试题39:数组中出现次数超过一半的数字(java)

    题目描述 数组中有一个数字出现的次数超过数组长度的一半 请找出这个数字 例子说明 如输入一个长度为9的数组 1 2 3 2 2 2 5 4 2 由于数字2在数组中出现了5次 超过数组长度的一半 因此输出2 分析思路1 基于Partition
  • 六、03【Java 多线程】之Java线程

    Java 创建线程的方式 Java创建线程有四种方式 继承 Thread 类 实现 Runnable 接口 实现 Callable 接口 使用 Executors 工具类创建线程池 1 继承 Thread 类 创建一个类继承 Thread
  • Java中变量的作用域【Java基础】

    最近在看 Thinking in Java 想把Java基础再巩固一下 在博客上遇到的以前没注意到的知识点或者较难的知识点记录下来 与大家分享 Java中的基本类型变量的作用域为 int x 1 变量x的作用域只在大括号内 System o
  • 【java基础】 方法,实参和形参,方法的重载,签名,递归

    目录 方法概念及使用 实参和形参的关系 重要 方法的重载 方法签名 简单了解 递归 简单介绍 方法概念及使用 方法就是一个代码片段 类似于 C 语言中的 函数 作用 是能够模块化的组织代码 当代码规模比较复杂的时候 做到代码被重复使用 一份
  • javaSE进阶1之static用法

    JavaSE进阶 静态关键字 static static关键字的作用 成员变量分类 静态成员变量 实例成员变量 static修饰成员变量内存原理 static 修饰成员方法的基本用法 成员方法的分类 static修饰成员方法内存原理 sta
  • Java中的IO流如何理解——精简

    目录 引言 缓冲流 字节缓冲流 字符缓冲流 转换流 字符输入转换流 字符输出转换流 序列化和反序列化 对象序列化 对象反序列化 打印流 Properties 引言 通过前面的简单学习 我们已经能够大致了解了关于文件的操作 但是能够明显感受到
  • 各种注释总结

    jsp注释 html注释
  • java 泛型 作用与定义

    1 泛型方法的定义和使用 public static void main String args throws ClassNotFoundException String str get 哈士奇 world System out print
  • Java 泛型 T,E,K,V,?

    泛型带来的好处 在没有泛型的情况的下 通过对类型 Object 的引用来实现参数的 任意化 任意化 带来的缺点是要做显式的强制类型转换 而这种转换是要求开发者对实际参数类型可以预知的情况下进行的 对于强制类型转换错误的情况 编译器可能不提示
  • JAVA--GUI(2)--布局

    布局 为了更好适应不同平台而引入的概念 Java的布局管理器是一个实现了LayoutManager接口的实例 用户无法设置setLocation 这些方法 如果想自己设置则需要取消布局管理器 采用布局管理器 边界布局 顺序布局 网格布局 卡
  • Java对象的快速复制的几种方式

    浅拷贝 深度复制 BeanUtils copyProperties 对象的克隆是指创建一个新的对象 且新的对象的状态与原始对象的状态相同 当对克隆的新对象进行修改时 不会影响原始对象的状态 注释 clone 是object类的protect
  • SM2加解密、签名验签

    导论 SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法 在我们国家商用密码体系中被用来替换RSA算法 国产SM2算法 是基于ECC的 但二者在签名验签 加密解密过程中或许有些许区别 目前鄙人还不太清楚 后期有机会的话
  • java动态代理简单实例

    java动态代理简单实例 package hello import java lang reflect InvocationHandler import java lang reflect Method import java lang r
  • 设计模式(2)

    2 2 结构型模式 结构型模式一共有七种 其中 适配器模式和装饰模式统称为包装模式 装饰模式和代理模式的类图基本相同 但目的不同 这些有相似目的或者有相似结构的模式需要对其概念辨析清楚 才能较好地掌握 下面将对结构型模式分别进行介绍 2 2
  • 关于svn如何上传一个完整的项目

    注意 请一定要按照该步骤进行操作 请上传新项目时将项目名称进行规范命名 例如原始文件是arrange v2 将此项目需要注入新的医院 则命名为 arrange 某医院名称 门诊或者医技或者药房 v2 重新命名文件夹名称快捷键 F12 一 先
  • java基础之HashSet详解

    HashSet详解 HashSet是基于HashMap实现的一个单列存储的集合类 将所有的数据存在HashMap的key值中 而value全部使用一个Object对象存储 继承关系 public class HashSet

随机推荐

  • 基于vue2开发的毕业设计(时光云平台)

    自己经过一段时间的琢磨和设计 该平台已经完成了基本的功能需求 大家可以来一起看一下 或许对你的设计有所帮助 视频详解 基于vue2开发的毕业设计 时光云平台 访问连接 点击进入 前端的登录首页界面 前台注册页面展示界面 登录进去的首页界面展
  • java访问其他机器上的mysql_java实现从一台机器访问另外一台机器的mysql数据库

    烙印99 驱动程序名 String driver com mysql jdbc Driver URL指向要访问的数据库名scutcs String url jdbc mysql 另一台电脑的ip地址 3306 数据库名 MySQL配置时的用
  • Java 内部是如何判断Map中的两个键是否一样

    Java 内部是如何判断Map中的两个键是否一样 为什么会问这个问题呢 源于我在慕课网看到相关的教学视频 http www imooc com video 5987 中有出现这个判断方法 是关于重写hashcode 和equals 方法 但
  • [TFF学习]官方教程jupyter运行记录_联邦学习之图像分类任务_1

    chapter 1 检查系统环境和第三方库是否安装完毕 在Web服务器 gui应用程序和jupyter笔记本运行python程序时 出现 RuntimeError This event loop is already running 可能是
  • python“ModuleNotFoundError: No module named 模块名” 错误的一种情况

    跨目录导包 运行python脚本时 有时出现如题的错误 原因一般是用了os sys两个模块 而没有理解清楚两者的关系 os是关于本地系统的操作 sys是关于python环境的操作 如模块搜索路径配置 一种情况如下 import sys os
  • 又回老家了

    不愿意在朝阳区当天选打工人了 于是回老家了 找了份点云渲染的工作 月薪两万五 下月入职 本打算从小公司起步 做ue 没想到 现有的两套框架和十几个成熟项目不让碰 大概是提防着我吧 只让攻坚克难 做cesium for ue和热更新 想想也没
  • UE4.25 Slate源码解读

    优质资源分享 学习路线指引 点击解锁 知识定位 人群定位 Python实战微信订餐小程序 进阶级 本课程是python flask 微信小程序的完美结合 从项目搭建到腾讯云部署上线 打造一个全栈订餐系统 Python量化交易实战 入门级 手
  • echarts中的legend属性

    legend orient vertical right 0 top 15 icon circle 小圆点 itemWidth 8 itemHeight 8 itemGap 15 间隔 formatter function params l
  • 潜在结果框架(Potential outcomes)与工具变量(Instrumental variable)介绍

    Potential outcomes framework 什么是potential outcome呢 考虑在医学中 X 0表示不吃药 X 1表示吃药 那么很显然 一个人是没有办法同时吃药与不吃药的 所以我们只能够观测到其中的一个结果 即 Y
  • Javaweb学生信息管理系统(Mysql+JSP+MVC+CSS)

    目录 一 项目介绍 二 运行效果 1 登录界面 2 主界面 点击学号修改学生信息 3 增加学生界面 编辑 三 项目目录结构 四 代码展示 1 jsp及css代码 登录界面代码 login jsp 登录界面css login css 注册用户
  • js深拷贝

    js深拷贝的几种方式 概念介绍 深拷贝 在堆内存中重新开辟一个存储空间 完全克隆一个一模一样的对象 浅拷贝 不在堆内存中重新开辟空间 只复制栈内存中的引用地址 本质上两个对象 数组 依然指向同一块存储空间 一 递归方式 推荐 项目中最安全最
  • 4款超实用绘图软件

    对于新手来说 很多人认为绘图软件需要一定基础的设计功底 但其实也不完全是 在网上有很多非常实用的绘图软件可以迅速的帮助我们解决工作中的绘图问题 以下4款是这两年我的小伙伴们用的最多的 推荐给大家 亿图图示 亿图图示是我用的比较多的一个绘图软
  • windows的磁盘操作之九——区分本地磁盘与移动硬盘

    转载自 windows的磁盘操作之九 区分本地磁盘与移动硬盘 bunny技术坊的技术博客 51CTO博客 原文如下 最近碰到了个新问题 记录下来作为windows的磁盘操作那个系列的续篇吧 一些时候我们的程序需要区分本地存储设备和USB存储
  • JAVA毕设可能遇到的问题,老程序员来告诉你

    在进行JAVA毕设时 有一些常见问题需要考虑和解决 以下是几个可能遇到的问题和建议的解决方案 缺乏清晰的项目目标 在开始JAVA毕设之前 需要明确项目的目标和范围 如果没有清晰的目标 可能会导致项目无法顺利进行 或者最终无法达到预期的结果
  • 正大期货交易时间

    交易所及时间 上海期货交易所 上午是9点到10点15 以及10点半到11点半 下午是13点半到14点10 以及14点20到15点 夜盘是21点到次日凌晨的2点半 大连 郑州商品交易所 上午是9点到10点15 以及10点半到11点半 下午是1
  • C++ set容器使用方法

    set是STL中一种标准关联容器 它底层使用平衡的搜索树 红黑树实现 插入删除操作时仅仅需要指针操作节点即可完成 不涉及到内存移动和拷贝 所以效率比较高 在set中 每个元素都是唯一的 如果想要允许重复元素 可以使用multiset 1 s
  • 第一次使用Android Studio时你应该知道的一切配置

    文章来源 http www cnblogs com smyhvae p 4390905 html 系列 第一次使用Android Studio时你应该知道的一切配置 第一次使用Android Studio时你应该知道的一切配置 二 新建一个
  • Adapter的getView方法详解

    BaseAdapter就Android应用程序中经常用到的基础数据适配器 它的主要用途是将一组数据传到像ListView Spinner Gallery及GridView等UI显示组件 它是继承自接口类Adapter 我们经常使用的List
  • Intel威武全球第一座450毫米晶圆厂动工

    Intel今天确认 位于美国俄勒冈州的Fab 1DX二期工程已经破土动工 这也是全球第一座将会用来生产450毫米大尺寸晶圆的工厂 目前主流300毫米 Intel发言人Chuck Mulloy对媒体透露说 D1X二期工程的建设已经开始 Int
  • Java后台面试

    一 Nginx负载均衡 轮询 轮询是默认的 每一个请求按顺序逐一分配到不同的后端服务器 如果后端服务器down掉了 则能自动剔除 ip hash 请求按访问IP的hash结果分配 这样来自同一个IP的访客固定访问一个后端服务器 有效解决了动