IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java面试抽集,初步理解类加载运行机制和类加载过程 -> 正文阅读

[Java知识库]Java面试抽集,初步理解类加载运行机制和类加载过程

将数据写入隔离区,如果成功完成,则将隔离区的数据写入正式区;

如果失败,则清空。

所谓隔离区,如果是数据库操作,则是临时表;如果是文件操作,则是临时文件

Mvc设计模式

M(model) 模型 javaBean

V(view) 视图 html/jsp/volicity/freemaker

C(contron)控制器 servlet/action

最经典的MVC模式:jsp + servlet + javabean

面向接口

降低重复性 使用共通接口 统一调度

jdbc

Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及相关类在java.sql包和javax.sql包里。我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果。

JDBC接口让Java程序和JDBC驱动实现了松耦合,使得切换不同的数据库变得更加简单。

Hibernate工作原理及为什么要是用

读取并解析配置文件

读取并解析映射信息,创建SessionFactory

打开Sesssion

创建事务Transation

持久化操作

提交事务

关闭Session

关闭SesstionFactory

Restful风格

一套编写接口的协议,协议规定如何编写以及如何设置返回值、状态码等信息

注册bean的方法

@ComponentScan

@Bean

@Import

前端数据怎么提交到后台

1、通过表单提交

2、通过网页链接提交

3、通过ajax提交

Ajax具体实现

1.创建XMLHttpRequest对象。

2.设置请求方式。

3.调用回调函数。

4.发送请求。

负载均衡

常见的有:软件负载均衡、硬件负载均衡、DNS负载均衡。

分布式

(1)分布式协调

(2)分布式锁

(3)元数据/配置信息管理

(4)HA高可用性

实现网站在线人数思路

1、用session 记录用户数

java权限设置符

Private、default、Protected、Public

设置Privae的目的

实现数据隐藏,以免意外更改

多线程死锁产生原因

1、互斥使用,即当资源被一个线程使用(占有)时,别的线程不能使用

2、不可抢占,资源请求者不能强制从资源占有者手中夺取资源,资源只能由资源占有者主动释放。

3、请求和保持,即当资源请求者在请求其他的资源的同时保持对原有资源的占有。

4、循环等待,即存在一个等待队列:P1占有P2的资源,P2占有P3的资源,P3占有P1的资源。这样就形成了一个等待环路。

同步锁互斥锁

1:互斥是通过竞争对资源的独占使用,彼此没有什么关系,也没有固定的执行顺序。

2:同步是线程通过一定的逻辑顺序占有资源,有一定的合作关系去完成任务。

内部类会不会生成class文件

会的匿名内部类编译后会生成class文件,名称是 1、2…数字

数据库优化

1、选取最适用的字段属性

2、使用连接(JOIN)来代替子查询(Sub-Queries)

3、使用联合(UNION)来代替手动创建的临时表

4、事务

5、锁定表

6、使用外键

7、使用索引

8、优化的查询语句

Ps:使用缓存

离散度底,建立索引会出现什么问题

有重复的数据时,查找数据会检索大量的数,非常浪费资源、性能和时间;

建立索引的字段,一定要是离散度高的字段,不然会导致上述的问题。

类初始化顺序

1.静态属性:static 开头定义的属性

2.静态方法块: static {} 圈起来的方法块

3.普通属性: 未带static定义的属性

4.普通方法块: {} 圈起来的方法块

5.构造函数: 类名相同的方法

6.方法: 普通方法

加载方式

一.静态加载

1、由 new 关键字创建一个类的实例

在由运行时刻用 new 方法载入

二.动态加载

1、调用 Class.forName() 方法

2、调用某个 ClassLoader 实例的 loadClass() 方法

通过该 ClassLoader 实例的 loadClass() 方法载入。应用程序可以通过继承 ClassLoader 实现自己的类装载器。

通过反射加载类型,并创建对象实例

Final fnally. fnalize区别

Final :最终的

fnally:出现异常时,必须执行的

fnalize:垃圾回收前,必须执行的

垃圾回收机制

Java程序员在编写程序的时候不再需要考虑内存管理;

Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”;

垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存。

Ps:java里面会存在内存泄漏,由于对象不可达的原因,也将其称为“对象游离”。

Main方法线程和垃圾回收线程一起结束的原因

还未调用回收器线程,或还未回收完成所有,主线程已经结束了,并不是主线程结束,虚拟机就结束。

Mysal, Oracle sqlsevice区别

oracle:数据完整性,安全性要求较高的场合;

sqlserver(sybase和ms):ms的sqlserver简单,好用,用于企业级的数据应用,性能没有问题,支持所有大型 rdbms的特性;

mysql:基本免费,功能不错,适合个人网站及一些小企业的网站应用;

代码规范

1.见名知意

2.开头小写驼峰式

3.多注释,代码优美

Springboot和之前xml有什么区别

springboot减少了xml的配置,使用起来更加的方便,同时也占用更多的资源。

Redis简介

是一个nosql(非关系式数据库),key-value,可持久化,内存,分布式的,缓存的数据库

创建线程的方法

1)继承Thread类创建线程

2)实现Runnable接口创建线程

3)使用Callable和Future创建线程

4)使用线程池例如用Executor框架

Jdbc连接数据库的流程

1)加载(注册)数据库驱动(到JVM)。

2)建立(获取)数据库连接。

3)创建(获取)数据库操作对象。

4)定义操作的SQL语句。

5)执行数据库操作。

6)获取并操作结果集。

7)关闭对象,回收数据库资源(关闭结果集–>关闭数据库操作对象–>关闭连接)。

为什么设计jdbc

jdbc提供了高标准的api接口,统一了连接数据库的规范

项目介绍

==================================================================

做项目时,遇到了什么问题,怎么解决的

================================================================================

首先检查自己代码是否写错或是遗漏,然后百度或翻书籍或是以前的项目,不行就问同事、朋友;再解决不了就报告给组长,不能耽误项目工期。

项目重点

==================================================================

销售》需求文档》报价》签合同,首款》 UI设计》测试》部署》上线,应用服务器一台, redis一台, 数据库一台

介绍最近的项目

=====================================================================

| 关键点 | 说辞 |

| — | — |

| 能考虑到代码的扩展性,有参与框架设计的意识 | 我的项目XX保险项目,用到S

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

SH技术,数据库是Oracle,(这个是铺垫),开发的时候,我会先和项目经理一起设计框架,并参与了框架的构建,连接数据库的时候,我们用到了DAO,这样做的理由是,把SQL语句封装到DAO层,一旦要扩展功能模块,就可以不用做太多的改动。 |
| 有调优意识,能通过监控发现问题点,然后解决 | 在开发阶段,我就注意到内存的性能问题和SQL运行的时间问题,在压力测试阶段,我会通过xx工具来监控内存和数据库,发现待提升的代码点,然后通过查资料来优化。最后等项目上线后,我们会部署监控系统,一旦发现内存和数据库问题,我们会第一时间解决。 |
| 动手能力很强,肯干活,会的东西比较多,团队合作精神比较好 | 在项目里,我不仅要做开发的工作,而且需要自己测试,需要自己根据一些日志的输出到数据库或Java端去debug,当我开好一个模块时,需要自己部署到Linux上测试。或者,一旦遇到问题,如果是业务方面的,我会及时和项目经理沟通,如果是技术方面的,我会自己查资料,如果是测试方面的,我会及时和测试的人沟通。 |

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章           查看所有文章
加:2021-12-18 15:50:19  更:2021-12-18 15:52:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:29:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码