- 博客(80)
- 收藏
- 关注
原创 常见的springboot面试题六
1、在 Spring Initializer 中,如何改变一个项目的包名字?好消息是你可以定制它。点击链接“转到完整版本”。你可以配置你想要修改的包名称!2、 JPA 和 Hibernate 有哪些区别?简而言之JPA 是一个规范或者接口Hibernate 是 JPA 的一个实现当我们使用 JPA 的时候,我们使用 javax.persistence 包中的注释和接口时,不需要使用 hib...
2020-04-21 13:02:47
525
原创 常见的springboot面试题五
1、当 Spring Boot 应用程序作为 Java 应用程序运行时,后台会发生什么?如果你使用 Eclipse IDE,Eclipse maven 插件确保依赖项或者类文件的改变一经添加,就会被编译并在目标文件中准备好!在这之后,就和其它的 Java 应用程序一样了。当你启动 java 应用程序的时候,spring boot 自动配置文件就会魔法般的启用了。当 Spring Boot 应用...
2020-04-21 13:02:02
353
原创 常见的SpringBoot面试题四
1、Spring Boot中的监视器是什么?Spring boot actuator是spring启动框架中的重要功能之一。Spring boot监视器可帮助您访问生产环境中正在运行的应用程序的当前状态。 有几个指标必须在生产环境中进行检查和监控。即使一些外部应用程序可能正在使用这些服务来向相关人员触发警报消息。监视器模块公开了一组可直接作为HTTP URL访问的REST端点来检查状态。2、...
2020-04-20 18:08:08
240
原创 常见的SpringBoot面试题三
1、什么是 Spring Boot Stater ?启动器是一套方便的依赖没描述符,它可以放在自己的程序中。你可以一站式的获取你所需要的 Spring 和相关技术,而不需要依赖描述符的通过示例代码搜索和复制黏贴的负载。例如,如果你想使用 Sping 和 JPA 访问数据库,只需要你的项目包含 spring-boot-starter-data-jpa 依赖项,你就可以完美进行。2、Spring ...
2020-04-20 18:07:02
214
原创 常见的SpringBoot面试题二
1、什么是 Spring Boot Stater ?启动器是一套方便的依赖没描述符,它可以放在自己的程序中。你可以一站式的获取你所需要的 Spring 和相关技术,而不需要依赖描述符的通过示例代码搜索和复制黏贴的负载。例如,如果你想使用 Sping 和 JPA 访问数据库,只需要你的项目包含 spring-boot-starter-data-jpa 依赖项,你就可以完美进行。2、Spring ...
2020-04-17 13:55:39
319
原创 常见的SpringBoot面试题一
1 什么是springboot ?用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件)创建独立的spring引用程序 main方法运行 嵌入的Tomcat 无需部署war文件 简化maven配置 自动配置spring添加对应功能starter自动化配置 答:spring boot来简化spring应用开发,约定大于配置,去繁从简,just...
2020-04-17 13:54:41
355
原创 关于多线程问题总结及答案八
这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍,不会去看网上的答案,因此可能有些问题讲的不对,能指正的希望大家不吝指教。1、Semaphore有什么作用Semaphore就是一个信号量,它的作用是限制某段代码块的并发数。Semaphore有一个构...
2020-04-16 12:52:26
139
原创 关于多线程问题总结及答案七
这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍,不会去看网上的答案,因此可能有些问题讲的不对,能指正的希望大家不吝指教。1、什么是Java内存模型Java内存模型定义了一种多线程访问Java内存的规范。Java内存模型要完整讲不是这里几句话能说清...
2020-04-16 12:51:25
153
原创 关于多线程问题总结及答案六
这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍,不会去看网上的答案,因此可能有些问题讲的不对,能指正的希望大家不吝指教。1、不可变对象对多线程有什么帮助前面有提到过的一个问题,不可变对象保证了对象的内存可见性,对不可变对象的读取不需要进行额外的同...
2020-04-14 14:31:42
163
原创 关于多线程问题总结及答案五
这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍,不会去看网上的答案,因此可能有些问题讲的不对,能指正的希望大家不吝指教。1、ReadWriteLock是什么首先明确一下,不是说ReentrantLock不好,只是ReentrantLock某些时候...
2020-04-14 14:31:03
149
原创 关于多线程问题总结及答案四
这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍,不会去看网上的答案,因此可能有些问题讲的不对,能指正的希望大家不吝指教。1、synchronized和ReentrantLock的区别synchronized是和if、else、for、while一...
2020-04-13 12:45:17
173
原创 关于多线程问题总结及答案三
这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍,不会去看网上的答案,因此可能有些问题讲的不对,能指正的希望大家不吝指教。1、sleep方法和wait方法有什么区别这个问题常问,sleep方法和wait方法都可以用来放弃CPU一定的时间,不同点在于...
2020-04-13 12:44:16
142
原创 Java程序员开发常用的工具四
1、为什么要使用线程池避免频繁地创建和销毁线程,达到线程对象的重用。另外,使用线程池还可以根据项目灵活地控制并发的数目。点击学习线程池详解。2、怎么检测一个线程是否持有对象监视器我也是在网上看到一道多线程面试题才知道有方法可以判断某个线程是否持有对象监视器:Thread类提供了一个holdsLock(Object obj)方法,当且仅当对象obj的监视器被某条线程持有的时候才会返回true...
2020-04-11 13:53:44
138
原创 Java程序员开发常用的工具三
1、如何在两个线程之间共享数据通过在线程之间共享对象就可以了,然后通过wait/notify/notifyAll、await/signal/signalAll进行唤起和等待,比方说阻塞队列BlockingQueue就是为线程之间共享数据而设计的2、sleep方法和wait方法有什么区别这个问题常问,sleep方法和wait方法都可以用来放弃CPU一定的时间,不同点在于如果线程持有某个对象的...
2020-04-11 13:52:22
370
原创 关于多线程问题总结及答案二
这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍,不会去看网上的答案,因此可能有些问题讲的不对,能指正的希望大家不吝指教。1、volatile关键字的作用一个非常重要的问题,是每个学习、应用多线程的Java程序员都必须掌握的。理解volatile关...
2020-04-10 13:40:48
209
原创 关于多线程问题总结及答案一
这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍,不会去看网上的答案,因此可能有些问题讲的不对,能指正的希望大家不吝指教。1、多线程有什么用?一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓"...
2020-04-10 13:39:02
248
原创 数据库设计的10个最佳实践二
一、数据库设计的文档化很重要事实上,文档化并非人见人爱,因为实在太烦了。但要记得,文档化对于良好的数据库设计至关重要,可以追踪所有的小细节。数据库设计应当附有指示说明、ER图、存储过程及所有其他相关的信息。文档还应当为编程者和终端用户提供足够信息量,确保他们能够理解并使用。二、隐私是首要考量很多时候,存储在数据库中的信息是加密信息,隐私就成了一个值得关注的问题。为了获得最大程度的安全性,我...
2020-04-09 12:37:10
588
原创 数据库设计的10个最佳实践一
用我们订购衬衫的在线商城网站举例。如今,从网站上订购衬衫的过程似乎很简单,但涉及了很多信息交换。例如:第一次浏览网页时,系统会展示给你一系列信息,包含产品分类,所有可用商品、相应价格、可用尺码、颜色以及其他相关信息。网站会从存储数据的数据库中检索,当用户选中所需商品并继续操作购买时,网站会询问个人详细信息、送货地址、付款详细信息,并确认订单。目前在此过程中产生的新数据,如用户详细信息、订单详细信...
2020-04-09 12:35:52
1046
原创 Java程序员开发常用的工具一
1、常用开发工具作为一名Java程序开发人员,可以的选择集成开发环境IDE(Integrated Development Environment)非常多,得益于Java是一门开源语言。有开源免费的;有商用收费的。如何选择一款适合自己的集成开发环境,亦或说选择一款符合自己项目开发需要的集成开发环境。如果选择得当,那么就能够使得开发工作事半功倍;否则事倍而功半。免费开源EclipseEclip...
2020-04-08 14:23:27
443
原创 Java程序员开发常用的工具二
1、常用远程连接工具做开发是国内程序员大部分都是在windows环境开发,但是开发完毕后,免不了需要部署到服务器(Liunx);特别是Java开发的程序,几乎都是部署在Unix或者Linux系统,而Unix和Liunx系统是无界面的系统。如何把程序部署到远程的Unix或者Linux服务呢?这时候远程连接工具就派上用场了。这里特别提一下如果做得是银行项目,远程连接工具是常伴左右的。Secure...
2020-04-08 14:21:37
208
原创 MySQL面试题-数据库优化二
读写分离有哪些解决方案?读写分离是依赖于主从复制,而主从复制又是为读写分离服务的。因为主从复制要求slave不能写只能读(如果对slave执行写操作,那么show slave status将会呈现Slave_SQL_Running=NO,此时你需要按照前面提到的手动同步一下slave)。方案一使用mysql-proxy代理优点:直接实现读写分离和负载均衡,不用修改代码,master和s...
2020-04-07 14:33:06
194
原创 MySQL面试题-数据库优化一
为什么要优化系统的吞吐量瓶颈往往出现在数据库的访问速度上随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢数据是存放在磁盘上的,读写速度无法和内存相比优化原则:减少系统瓶颈,减少资源占用,增加系统的反应速度。数据库结构优化一个好的数据库设计方案对于数据库的性能往往会起到事半功倍的效果。需要考虑数据冗余、查询和更新的速度、字段的数据类型是否合理等多方面的内容。将字...
2020-04-07 14:32:04
267
原创 MySQL面试题-SQL优化
SQL的生命周期?应用服务器与数据库服务器建立一个连接数据库进程拿到请求sql解析并生成执行计划,执行读取数据到内存并进行逻辑处理通过步骤一的连接,发送结果到客户端关掉连接,释放资源2. 大表数据查询,怎么优化优化shema、sql语句+索引;第二加缓存,memcached, redis;主从复制,读写分离;垂直拆分,根据你模块的耦合度,将一个大的系统分为多个小的系统,...
2020-04-06 15:02:41
446
原创 MySQL面试题-表连接
什么是子查询条件:一条SQL语句的查询结果做为另一条查询语句的条件或查询结果嵌套:多条SQL语句嵌套使用,内部的SQL查询语句称为子查询。子查询的三种情况子查询是单行单列的情况:结果集是一个值,父查询使用:=、 <、 > 等运算符– 查询工资最高的员工是谁?select * from employee where salary=(select max(salary) ...
2020-04-06 14:41:43
463
原创 MySQL面试题-常用SQL语句
SQL语句主要分为哪几类数据定义语言DDL(Data Ddefinition Language)CREATE,DROP,ALTER主要为以上操作 即对逻辑结构等有操作的,其中包括表结构,视图和索引。数据查询语言DQL(Data Query Language)SELECT这个较为好理解 即查询操作,以select关键字。各种简单查询,连接查询等 都属于DQL。数据操纵语言DML(Dat...
2020-04-03 13:22:47
3191
1
原创 MySQL面试题-存储过程与触发器
存储过程与函数什么是存储过程?有哪些优缺点?存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需要创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。优点1)存储过程是预编译过的,执行效率高。2)存储过程的代码直接存放于数据库中,通过存储过程名直接调用,减少网络通讯。3)安全性高,执行存储过程需要有一定权限的用...
2020-04-03 13:21:35
1720
原创 MySQL面试题-视图
为什么要使用视图?什么是视图?为了提高复杂SQL语句的复用性和表操作的安全性,MySQL数据库管理系统提供了视图特性。所谓视图,本质上是一种虚拟表,在物理上是不存在的,其内容与真实的表相似,包含一系列带有名称的列和行数据。但是,视图并不在数据库中以储存的数据值形式存在。行和列数据来自定义视图的查询所引用基本表,并且在具体引用视图时动态生成。视图使开发者只关心感兴趣的某些特定数据和所负责的特...
2020-04-02 13:40:15
1255
原创 MySQL面试题-锁
对MySQL的锁了解吗当数据库有并发事务的时候,可能会产生数据的不一致,这时候需要一些机制来保证访问的次序,锁机制就是这样的一个机制。就像酒店的房间,如果大家随意进出,就会出现多人抢夺同一个房间的情况,而在房间上装上锁,申请到钥匙的人才可以入住并且将房间锁起来,其他人只有等他使用完毕才可以再次使用。隔离级别与锁的关系在Read Uncommitted级别下,读取数据不需要加共享锁,这样...
2020-04-02 13:38:01
266
原创 MySQL面试题-事务
什么是数据库事务?事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行的结果必须使数据库从一种一致性状态变到另一种一致性状态。事务是逻辑上的一组操作,要么都执行,要么都不执行。事务最经典也经常被拿出来说例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小明的余额减少1000元,将小红的余额增加1000元。万一在这两个操作之间突然出现错误...
2020-04-01 13:55:20
181
原创 MySQL面试题-索引二
创建索引时需要注意什么?• 非空字段:应该指定列为NOT NULL,除非你想存储NULL。在mysql中,含有空值的列很难进行查询优化,因为它们使得索引、索引的统计信息以及比较运算更加复杂。你应该用0、一个特殊的值或者一个空串代替空值;• 取值离散大的字段:(变量各个取值之间的差异程度)的列放到联合索引的前面,可以通过count()函数查看字段的差异值,返回值越大说明字段的唯一值越多字段的离...
2020-04-01 13:53:30
183
原创 MySQL面试题-索引
什么是索引?索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。更通俗的说,索引就相当于目录。为了方便查找书中的内容,通过对内容建立索引形成目录。索引是一个文件,它是要占据物理空间的。...
2020-03-31 13:47:17
132
原创 MySQL面试题-引擎
MySQL存储引擎MyISAM与InnoDB区别存储引擎Storage engine:MySQL中的数据、索引以及其他对象是如何存储的,是一套文件系统的实现。常用的存储引擎有以下:• Innodb引擎:Innodb引擎提供了对数据库ACID事务的支持。并且还提供了行级锁和外键的约束。它的设计的目标就是处理大数据容量的数据库系统。• MyIASM引擎(原本Mysql的默认引擎):不提供事务...
2020-03-31 13:43:18
324
原创 MySQL面试题-数据类型
mysql有哪些数据类型• 1、整数类型,包括TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,分别表示1字节、2字节、3字节、4字节、8字节整数。任何整数类型都可以加上UNSIGNED属性,表示数据是无符号的,即非负整数。长度:整数类型可以被指定长度,例如:INT(11)表示长度为11的INT类型。长度在大多数场景是没有意义的,它不会限制值的合法范围,只会影响显示...
2020-03-30 15:40:33
550
原创 MySQL面试题-数据库基础知识
为什么要使用数据库 数据保存在内存优点:存取速度快缺点:数据不能永久保存 数据保存在文件优点:数据永久保存缺点:1)速度比内存操作慢,频繁的IO操作。2)查询数据不方便 数据保存在数据库1)数据永久保存2)使用SQL语句,查询方便效率高。3)管理数据方便什么是SQL?结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询语...
2020-03-30 15:38:18
1316
原创 Java学习参加培训班值吗?
目前随着我们国家的互联网发展,网民的数量和规模也是越来越大,随之增长的互联网公司也是越来越多,IT行业的职位需求也是呈现一个上升的趋势,并且由于IT行业的薪资待遇要远远好于其它行业,也让越来越多的人先要通过学习来进入这个行业。Java形势Java市场需求大:随着信息产业的迅猛发展,行业人才需求量也在逐年扩大。据国内权威数据统计,未来五年,我国信息化人才总需求量高达1500万—2000万人。J...
2020-03-06 18:02:13
202
原创 自定义Java线程池
线程池创建的参数在创建线程的各种方式中我们有讲到过通过创建线程池来完成异步操作,但实际上jdk提供的Executors来创建线程池都还有些缺陷,线程池有以下几个参数: 代码节选自源码ThreadPoolExecutor.java的构造函数public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAl...
2020-03-04 09:01:56
248
原创 计算机网络基础面试必问二
6、TCP和UDP的区别?TCP提供面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报。TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般。7、TCP对应的协议和UDP对应的协议TCP对应的协议:(1) FTP:定义了文件传输协议,使用21端口。(2) ...
2020-03-03 09:25:32
212
原创 计算机网络基础面试必问一
1、OSI,TCP/IP,五层协议的体系结构,以及各层协议OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。每一层的协议如下:物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器,网关);数据链路:PPP...
2020-03-03 09:23:42
212
原创 消息队列常见的几种使用场景
一、简介消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能、高可用、可伸缩和最终一致性架构。使用较多的消息队列有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ。二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景:异步处理,应用解耦,流量削锋和消息通讯四个场景。1、异步处理场景说明:用户注...
2020-03-02 10:05:57
272
原创 MySQL使用技巧
1.将大字段、访问频率低的字段拆分到单独的表中存储,分离冷热数据。有利于有效利用缓存,防⽌止读入无用的冷数据,较少磁盘IO,同时保证热数据常驻内存提⾼高缓存命中率。2.禁止在数据库中存储明文密码。采用加密字符串存储密码,并保证密码不可解密,同时采用随机字符串加盐保证密码安全。3.表必须有主键,推荐使用UNSIGNED自增列作为主键。表没有主键,INNODB会默认设置隐藏的主键列;没有主...
2020-03-02 10:01:38
357
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人