自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 SQL变更评审常见问题分享

SQL变更,是我们在开发迭代中不可避免的场景,SQL变更通常是指DDL和DML语句变更,这些sql会影响到数据库表结构或具体数据,变更时如果执行到存在问题的sql脚本,会对实际应用操作难以评估的损失,比如咱们常挂在嘴边的删库跑路。通常情况下程序员并发故意想“删库跑路”,而是因为种种原因,将存在问题的sql脚本放到了生产环境执行,导致最终出现生产环境数据异常。

2023-12-23 21:08:59 214

原创 接口幂等性及如何实现幂等性

接口幂等性及如何实现幂等性概述幂等性,用数学函数表示为,f(f(x)) = f(x),即幂等元素运行多次,还等于原来运行的结果。延伸到我们java接口上就是,一个接口调用多次(每次入参相同),与这个接口调用一次的结果相同。生产中与接口幂等性相关的业务问题有如下:1)提交订单按钮如何防止重复提交?2)表单录入页如何防止重复提交?3)微服务接口,客户端重试时,会对业务数据产生影响吗?带着以上问题,来看看如何实现接口的幂等性。一、我们什么情况下会多次调用接口的场景1、网络延迟,导致调用接口后为

2021-08-25 07:09:12 401

原创 JVM-逃逸分析、标量替换和栈上分配

概述逃逸分析,就是分析变量能不能逃出它的作用域;标量替换和栈上分配,则是基于逃逸分析的前提下去做的。一、逃逸分析1、是什么逃逸分析:指的是分析变量能否逃出它的作用域可以细分为4种场景1)全局变量赋值逃逸代码示例public class EscapeTest{ public static SomeClass someClass; public void globalVariablePointerEscape(){ // 全局变量逃逸 someClass

2020-12-05 11:08:46 407

原创 Hibernate与Mybatis对比总结

Hibernate与Mybatis对比总结概述HibernateHibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO 和数据库表之间的映射,以及SQL 的自动生成和执行。程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过Hibernate 提供的方法完成持久层操作。程序员甚至不需要对SQL 的熟练掌握, Hibernate...

2019-12-01 16:29:38 309

原创 分布式、高并发和多线程之间的区别

分布式、高并发和多线程之间的区别概述在一开始接触的时候,不少人都会将三者混淆,误以为所谓的分布式高并发的系统就是能同时供海量用户访问,而采用多线程手段不就是可以提供系统的并发能力吗?实际上,他们三个总是相伴而生,但侧重点又有不同。1、分布式分布式更多的一个概念,是为了解决单个物理服务器容量和性能瓶颈问题而采用的优化手段。该领域需要解决的问题极多,在不同的技术层面上,又包括:分布式文件系...

2019-12-01 10:42:51 325

原创 Zookeeper:Zookeeper的选举机制

Zookeeper的选举机制0、为什么要进行Leader选举?**Leader 主要作用是保证分布式数据一致性,即每个节点的存储的数据同步。**遇到以下两种情况需要进行Leader选举:1)服务器初始化启动2)服务器运行期间无法和Leader保持连接,Leader节点崩溃,逻辑时钟崩溃。1、服务器初始化时Leader选举zookeeper由于其自身的性质(半数存活机制),一般建议选取奇...

2019-11-18 22:22:54 343

原创 Redis:Redis应用之缓存实现

Redis应用之缓存实现概述缓存(Cache)的作用是减少服务器对数据源的访问频率,从而提高数据库的稳定性。访问的流程如下。1、请求从缓存中获取数据,若数据为空(数据过期或不存在),则访问数据库获取数据,同时将数据存入Redis中;2、请求从缓存中获取数据,若数据存在,则直接从缓存获取该数据。一、存储方式缓存中的数据在redis中的存储方式有两种,一种是永久存在,不设置过期时间,...

2019-11-17 10:06:00 500

原创 redis:快照存储(rdb)与AOF存储的优劣对比

快照存储(rdb)与AOF存储的优缺点1、快照存储优点1)RDB文件是一个很简洁的单文件,它保存了某个时间点的Redis数据,很适合用于做备份。你可以设定一个时间点对RDB文件进行归档,这样就能在需要的时候很轻易的把数据恢复到不同的版本。2)RDB很适合用于灾备。单文件很方便就能传输到远程的服务器上。3)RDB的性能很好,需要进行持久化时,主进程会fork一个子进程出来,然后把持久化的工...

2019-11-15 23:52:17 726

原创 JavaWeb:Criteria类添加或条件

Criteria类添加或条件简述我们在用逆向工程Example类进行数据库where条件查询时,可以通过如下方法实现,以User类为实例,User类中有成员变量 id name age//创建UserExample对象UserExample example = new UserExample();//生成Criteria实例//第一个条件Criteria criteria1 = e...

2019-11-07 23:00:04 4973

原创 Java:Spring AOP

Spring AOP概述AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。面向切面是面向对象中的一种方式。在代码执行过程中,动态嵌入其他代码,叫做面向切面编程。常见的使用场景:日志、事务、数据库处理等面向切面编程,就是将交叉业务逻辑封装成切面,利用AOP的功...

2019-10-24 20:44:55 124

原创 Servlet面试题:重定向和请求转发的区别

重定向和请求转发的区别简述原理: 请求转发是servlet 内部调用;重定向是两次请求和响应;1)请求转发是一次请求一次响应, 重定向是两次请求两次响应。2)请求转发地址栏不会变化的, 重定向地址栏发生变化。3)请求转发路径不带工程名, 重定向需要带工程名路径(是浏览器执行的操作)。4)请求转发只能在本网站内部, 重定向可以定向到任何网站。5)如果需要用request域去保存数据,必...

2019-09-28 22:23:22 397

原创 Servlet:Servlet概括及其使用

Servlet概括及其使用概述Servlet是Sun(Oracle)公司制定的一种用来扩展Web服务器功能的组件规范。1、什么是BS(B扩展web服务器功能?在rowser Server)架构中,早期的Web服务器只能处理静态资源的请求,也就是无法根据请求进行计算后再生成相应的HTML内容。servlet可以处理动态资源的请求。web服务器收到请求之后,可以调用servlet来动态处理、...

2019-09-27 21:18:13 206

原创 Selvlet:请求转发与重定向比较

请求转发与重定向比较简述1、请求转发是一个请求一次响应,而重定向是多次请求多次响应;2、请求转发后浏览器地址栏不会有变化,而重定向会有变化,因为重定向是重新从浏览器请求了一个新地址;3、请求转发只能转发到本项目中的其他资源**,**而重定向不仅能重定向到本项目的其他资源,还能定向到其他项目的资源4、请求转发是只发生在服务器端行为,只需给出转发的Servle路劲;而重定向需要给出reque...

2019-09-26 16:11:33 210

原创 java:Servlet之路径

Servlet之路径概述servllet中与路径相关的操作有:超链接、表单、重定向、转发、包含、配置url-pattern、ServletContext获取资源、Class获取资源ClassLoader获取资源。本文通过以上方法的使用,分别区分不同情况下使用路径名的效果。1、客户端路径(主要有 超链接、表单、重定向)2、服务器路径3、转发4、url-pattern 路径5、S...

2019-09-21 15:37:36 700

原创 数据库总结(oracle)

数据库总结(oracle)概述什么是数据库:存储数据的仓库 ,主要用于解决数据的持久化存储优点:1.可存储大量数据2.方便检索3.保持数据的一致性、完整性4.安全,可共享一、表1、创建表语法:create table t_name(字段1 数据类型1(数据长度),字段2 数据类型2(数据长度),字段3 数据类型3(数据长度),…);代码示例 create t...

2019-09-10 19:40:27 306

原创 Java:类加载、类加载机制及双亲委派模型

类加载及类加载机制概述类的加载、连接、初始化系统可能在第一次使用某个类时加载类,也可能采用预加载机制来加载某个类。当调用Java命令运行某个Java程序时,该命令会启动一个Java虚拟机进程,无论该Java程序有多么复杂,给程序启动了多少个线程,他们都处于Java虚拟机进程。同一个JVM的所有线程、所有变量都处于同一个进程里,他们都是用该JVM进程的内存区,当系统出现以下几种情况时,J...

2019-09-10 11:13:41 159

原创 Java:XML之JavaSE Dom4j解析

XML之JavaSE Dom4j解析概述Dom4j不熟悉JacaSE的一部分,属于第三方jar包,集成了DOM和SAX的优点。具有DOM操作方便和SAX处理大文件效率高的特点。Dom4j进行逐行解析,逐行读取,类似SAX,但是每读取一行都会在内存中保存对应的节点信息。缺点:如果想要像dom一样随意获取到任意一个子节点,不太方便,但可以通过XPath表达式来解决。优点:1)不需要创建工厂...

2019-09-04 20:54:25 189

原创 Java:XML之JavaSE SAX解析

XML之JavaSE SAX解析概述SAX(Simple API For XML)是一个公共的基于事件的XML文档解析标准,能够通过一个简单的、快速的方法来对XML文档进行处理,和DOM相比它所占用的系统资源更少。SAX既是一个接口,也是一个软件包。作为接口,SAX是事件驱动型XML解析的一个标准接口,对文档进行顺序扫描,当扫描到文档(document)开始、元素(element)开始与结...

2019-09-03 00:05:44 325

原创 Java:XML之JavaSE Dom解析

XML之JavaSE API解析概述对于重量级配置文件XML,JavaSE提供了用于解析的API,本章简单讲解如何用Java进行XML文档内容的增删查减。Java 提供了 Document(文档)、Attribute(属性节点)、Text(文本节点)、Element(元素节点)及Node1、获取到文档对象来操作XML文档 //利用抽象类DocumentBuilderFactory中的...

2019-09-01 16:58:39 215

原创 Java面试题:简述final,finally和finalize的区别

简述1、final 修饰符(关键字)如果一个类被final修饰,意味着它不能再派生出新的子类,不能作为父类被继承。因此,一个类不能既被声明为abstract,又被声明为final。如果一个方法被final修饰,意味着它只能被使用,不能被重写(override)。如果一个变量被final修饰,意味着它在使用过程中,不可以被改变。而且,被final修饰的变量的初始化有两种方式:1、在final...

2019-08-28 22:10:59 322 1

原创 Java:对象锁、sleep、wait、notify、notifyAll

说明几个概念: 对象锁、sleep、wait、notify、notifyAll简述对象锁:在Java中,每一个对象都拥有一个锁标记(monitor),也称为监视器,多线程同时访问某个对象时,线程只有获取了该对象的锁才能访问。  在Java中,可以使用synchronized关键字来标记一个方法或者代码块,当某个线程调用该对象的synchronized方法或者访问synchronized代码...

2019-08-28 22:09:20 628

原创 Java:设计模式之 单例模式

单例模式保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。单例设计模式主要关心的几个点:1.延迟加载2.线程安全3.效率特点该类在全局只有一个实例。只提供一个访问该实例的全局访问点。应用场景Windows 的任务管理器 就是最典型的单例模式Windows 的回收站也是典型的单例应用项目中,读取配置文件的类,一般也只有一个对象,没必要每次使用配置文...

2019-08-25 22:29:33 129

原创 Java:文件类 File的概述和使用

File类概述文件的本质:本质就是 文件或者文件夹路径的 抽象表现形式,就是文件指针。重点:凡是对文件的操作,必须先创建文件指针指向你需要操作的文件。文件的创建之前,指针所指向的位置所对应的父目录一定要存在,否则会抛出 IOException1、构造方法 public File(String pathname) pathname文件路径名 public File(String...

2019-08-24 08:56:28 185

原创 Java面试题:HashMap与Hashtable的 区别

HashMap与Hashtable的 区别简述1)HashMap和Hashtable底层数据结构都是哈希表,2)HashMap线程不安全,效率高,可以存储 null 值 null键3)Hashtable是旧版的HashMap,线程安全,效率低,不可以存储 null 值 null键...

2019-08-19 23:19:59 287

原创 Java:集合框架一(List、ArrayList、Vector、Statck、Queue、Deque、ArrayDeque、LinkedList)总结

List概述有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。Collection将集合划分为两大类:List集合Set集合List接口的特点有序【存储有序】可重复可以存储 null值部分子集合线程安全,部分不安全 例如 Arra...

2019-08-19 23:12:33 289

原创 Java面试题:ArrayList和Vector的区别?

ArrayList和Vector的区别?1) Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。2) 当Vector或ArrayList中的元素超过它的初始大小时,Vector会将它的容量翻倍,而ArrayList只增加50%的大小,这...

2019-08-17 23:32:35 320

原创 Java:你没有见过的List去重方法(补充,不适用Map情况下)

List去重方法(不使用map)简述该方法类似于选择法,但是比选择法更精简,直接上代码,自己体会哈import java.util.ArrayList;import java.util.List;public class RemoveTestDemo { public static void main(String[] args) { List<String> lis...

2019-08-17 11:48:16 152

原创 Java面试题:异常语句的嵌套运用

异常语句的嵌套运用面试题如下代码,最终输出的结果为?public class ReturnExceptionDemo { public static void methodA() { try { System.out.println("进入方法A"); throw new RuntimeException("制造异常"); } finally { System.ou...

2019-08-16 12:25:41 357

原创 Java:异常处理

异常处理1.为什么需要学习异常处理1)观察程序的错误;2)能够让错误指示程序修改;3)JVM处理异常的方式不能够满足我们的需求,需要程序猿自己来处理异常。4)为什么需要处理异常? 在程序出现问题后,还能够让程序继续执行2.什么是异常异常的概述: 异常是指在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序。异常本质就是Java当中对可能出现的问题进行描述的一种对象体现。...

2019-08-16 08:17:07 119

原创 Java面试题: 模拟虚拟机处理异常的方式

面试题: 模拟虚拟机处理异常的方式JVM处理异常的方式:1.打印错误信息a.异常的类名b.异常信息c.异常的位置d.错误的行号2.将程序停止public class ExceptionDemo04 { public static void main(String[] args) throws IOException { System.out.println("Start"...

2019-08-15 23:27:07 557

原创 Java面试题:包装类Integer自动拆箱、装箱理解

包装类Integer自动拆箱、装箱理解代码一、public class IntegerDemo { public static void main(String[] args) { Integer i01 = 28; int i02 = 28; Integer i03 = Integer.valueOf(28); Integer i04 = new Integer(28);...

2019-08-15 15:03:45 244

原创 Java:内部类说明及其使用

内部类说明及其使用1.为什么要学习内部类?能够提高类成员的安全性。2.定义内部类就是把类定义在类的内部。如果A 类中定义 B类,那么 A类就是外部类,B类就是内部类,,其他与A类同级别的类就是外界。3.内部类的分类1)成员内部类访问格式:外部类类名.内部类类名 对象名 = new 外部类对象().new 内部类对象();当外部类成员名字和内部类成员名字重名的时候: 外部类类名.t...

2019-08-14 21:28:37 138

原创 正则表达式二、常用正则表达式

正则表达式二、常用正则表达式概述为方便后续正则表示式使用,整理了部分比较常用的正则表达式。1.校验数字的正则表达式1)数字:^ [0-9]*$ 不限个数2)n位数字:^\d{n}$3)至少n位数字:^\d{n,}$4)m-n位数字:^\d{m,n}$5)零和非零开头的数字:^(0|[1-9] [0-9]*)$6)带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2...

2019-08-14 21:27:26 464

原创 Java面试题:String s=new String(xyz)创建多少个Object对象,为什么?

String s=new String(xyz)创建多少个Object对象,为什么?简述分两种情况,1)如果String常理池中,已经创建"xyz",则不会继续创建,此时只创建了一个对象new String(“xyz”),此时为一个Obeject对象;2.如果String常理池中,没有创建"xyz",则会创建两个对象,一个对象的值是"xyz",一个对象new String(“xyz”),此...

2019-08-14 15:18:34 6060

原创 正则表达式一、正则表达式概述及语法

正则表达式一、正则表达式概述及语法概述使用单个字符串来描述/匹配一系列符合某个语法规则的字符串,通过正则表达式来处理字符串的相关复杂操作;正则表达式不属于Java的技术,却是大部分语言都支持的技术,类似于json。内容1.为什么要学习正则表达式?使用正则表达式可以方便的处理来字符串复杂的查找 find/替换replace/匹配matches/分割split工作2.正则表达式使用步骤...

2019-08-13 23:37:48 259

原创 Java:内部类说明及其使用

内部类说明及其使用1.为什么要学习内部类?能够提高类成员的安全性。2.定义内部类就是把类定义在类的内部。如果A 类中定义 B类,那么 A类就是外部类,B类就是内部类,,其他与A类同级别的类就是外界。3.内部类的分类1)成员内部类访问格式:外部类类名.内部类类名 对象名 = new 外部类对象().new 内部类对象();当外部类成员名字和内部类成员名字重名的时候: 外部类类名.t...

2019-08-13 23:05:14 154

原创 Java面试题:重写和重载的区别

重写和重载的区别内容:重写和重载没有任何关系。方法重写:是存在子类与父类关系的两个类中,是子类继承的父类方法无法满足子类需求时进行的,重写的方法具有相同的名字,相同的参数列表,返回类型为同类或子类,方法的修饰权限不能缩小。方法重载:指的是指一个类中多个方法具有相同的方法名,但是参数不同、返回值不同。是为了适用于在不同参数返回值类型时均能调用同一方法而出现的。...

2019-08-11 11:24:02 1857

原创 Java :接口的使用及其注意事项

接口的使用及其注意事项概述加深对接口概念的理解及熟悉该类的使用1.接口是什么在生活中,接口是一种规范java中,接口是一种比抽象类还要抽象的类。2.接口的格式:interface 接口名 {常量 和 抽象方法的集合(在JDK1.8之后还可以有 静态方法和默认方法)}3.接口的实现类格式:class 接口名Impl implements 接口名 { // 实现接口中所有的抽...

2019-08-10 20:57:15 403 1

原创 Java :抽象类的使用及其注意事项

抽象类的使用及其注意事项概述加深对抽象类概念的理解及属性该类的使用1.什么是抽象类通俗的说,不是具体的东西,都是抽象的,那么在java中,可以理解为不是具体的类,就是抽象类。对抽象类的理解,需要结合抽象类的特点及其使用方法。2.为什么要有抽象类在学习完面向对象的继承之后,我们都遇到过一个问题,对于子类继承的父类方法,如果子类有特殊的实现需求,那么,无论父类方法实现得如何,子类都需要...

2019-08-10 20:33:40 1341

原创 Java面试题:继承后子类调用问题

继承后子类调用问题题目如下代码,输出结果为?public class TestDemo { public static void main(String[] args) { Zi zi = new Zi(); System.out.println(zi.num); }}class Fu { int num = 10; public Fu(int num) { this....

2019-08-09 21:11:48 502

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除