自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【java后端面试问题】

多线程1.多线程会出现的问题?1.1原子性即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。原子操作:即不会被线程调度机制打断的操作解决办法:1.使用原子类2.使用synchronize或者lock来保证原子性1.2可见性可见性:指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。解决办法:1.使用 volatile 这个关键字。当一个共享变量被volatile修饰时,它会保证修改的值会立即被更新到主存,当有其他

2022-01-10 14:28:35 272

原创 xml转json的工具方法

/** * xml转json */ public static void dom4jToJson(Element element, JSONObject json) { //如果是属性 for (Attribute o : element.attributes()) { if (notEmpty(o.getValue())) { json.put("@" + o.getName(), o.ge

2021-09-07 09:21:31 270

原创 开发经验-01

开发经验-011.建表时不使用外键约束2.建表时每个表都添加一个主键ID1.建表时不使用外键约束2.建表时每个表都添加一个主键ID

2020-10-28 13:42:25 122

原创 框架-Dubbo

框架-Dubbo1 SOA思想2 RPC3 微服务的标准4 微服务的调用原理5 Dubbo5.1 Dubbo框架通讯的方式5.2 Dubbo负载均衡的方式1 SOA思想SOA思想要求按照业务将服务进行拆分,之后按照同一的中立的接口进行交互.面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构件在各种各样的系统中的服务可以以一种

2020-10-16 19:17:00 173 1

原创 跨域访问

跨域访问1 同源策略1 同源策略浏览器在解析ajax时,如果发现请求的协议名称://请求的域名:请求的端口号与网址的地址都相同的时候满足同源策略的规定,浏览器可以正确的解析返回值.该访问称之为同域访问.该策略叫做同源策略....

2020-10-16 09:45:05 87

原创 JSON与对象的转化

JSON与对象的转化1 对象转JSON2 对象转JSON1 对象转JSONObjectMapper objectMapper = new ObjectMapper();String result = objectMapper.writeValueAsString(object)2 对象转JSONObjectMapper objectMapper = new ObjectMapper();MAPPER.readValue(json,target.class)...

2020-10-14 22:05:27 327

原创 Linux系统操作

Linux系统操作1 防火墙操作1.1 检查防火墙状态1.2 防火墙配置1.3 手动开关防火墙1.3 开放防火墙端口1 防火墙操作1.1 检查防火墙状态firewall-cmd --state1.2 防火墙配置linux系统以后开机不需要启动防火墙systemctl disable firewalld.servicelinux系统以后开机需要启动防火墙systemctl enable firewalld.service1.3 手动开关防火墙关防火墙systemctl

2020-10-14 11:26:34 82

原创 项目-单点登录系统

项目-单点登录系统1 SSO介绍2 单点登录实现策略3 用户登出操作1 SSO介绍单点登录(SingleSignOn,SSO),当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的,这意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。2 单点登录实现策略当用户输入用户名和密码时需要将数据传递给jt-web服务器进行登录操作.jt-web服务器需要将数据传到jt-sso服

2020-10-13 12:54:41 184

原创 分布式-Redis

分布式-Redis1 Redis介绍1 Redis介绍Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)速度快: 读 11.2万次/秒 写 8.6万次/秒 平均大约10万次/秒...

2020-10-13 10:59:25 74

原创 数据库-SQL基础语法

SELECT [DISTINCT] [FROM table_references [WHERE where_condition] [GROUP BY {col_name | expr | position} [ASC | DESC], ... [WITH ROLLUP]] [HAVING where_condition] [ORDER BY {col_name | expr | position} [ASC | DESC], ...]

2020-10-13 09:27:27 508

原创 分布式-Nginx

Nginx1 反向代理和正向代理1.1 反向代理1.2 正向代理2 Nginx特点3 Nginx反向代理4 Nginx负载均衡4.1 Nginx集群配置4.2 Nginx负载均衡策略4.2.1 轮询策略4.2.2 权重策略4.2.3 IPHASH策略4.3 Nginx负载均衡属性4.3.1 down属性4.3.2 backup属性4.3.3 tomcat高可用配置1 反向代理和正向代理1.1 反向代理反向代理服务器介于用户和真实服务器之间用户以为反向代理服务器就是真实的服务器用户不需要了解真实的

2020-10-12 17:41:41 618

原创 框架-Shiro

Shiro安全框架1 Shiro概述2 Shiro 框架架构3 认证流程4 授权过程5 Shiro缓存配置6 Shiro记住我7 Shiro会话时长配置8 获取用户对象1 Shiro概述Shiro是apache旗下一个开源安全框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证,权限授权、加密、会话管理等功能,组成了一个通用的安全认证框架。使用shiro就可以非常快速的完成认证、授权等功能的开发,降低系统成本。2 Shiro 框架架构Subject :主体对象,负责提交用户认证和授权

2020-10-12 16:33:05 98

原创 项目-自定义异常-全局异常处理-缓存处理

项目-自定义异常-全局异常处理1 自定义异常类2 全局异常处理1 自定义异常类自定义异常类,继承RuntimeException重写父类构造方法public class ServiceException extends RuntimeException { private static final long serialVersionUID = 7793296502722655579L; public ServiceException() {

2020-10-11 09:57:12 239 3

原创 Web-Ajax

Web-Ajax1 Ajax 是什么?2 Ajax 技术优劣势3 Ajax 请求响应过程1 Ajax 是什么?Ajax 是一种Web应用技术,可以借助客户端脚本(javascript)与服务端应用进行异步通讯,获取服务端数据以后,可以进行局部刷新。进而提高数据的响应和渲染速度。2 Ajax 技术优劣势优势就是底层异步,然后局部刷新,进而提高用户体验,常用于商品系统,评价系统,底图系统劣势是不能直接进行跨域访问。3 Ajax 请求响应过程基于dom事件创建XHR对象(XMLHttpRequ

2020-10-10 21:10:07 59

原创 框架-Spring Boot

框架-Spring Boot1 Spring Boot 核心特性2 Spring Boot项目启动过程3 Bean对象特性管理3.1 @Scope3.2 @Lazy3.3 @PostConstruct3.4 @PreDestroy4 @Autowired注解应用规则1 Spring Boot 核心特性Spring boot是一个脚手架(而非框架),构建于Spring框架(Framework)基础之上,基于快速构建理念,提供了自动配置功能,可实现其开箱即用特性(创建完一个基本的项目以后,可零配置或者少

2020-10-09 16:43:17 216

原创 数据库-表设计-SQL优化

数据库-表设计-SQL优化1 数据库设计三范式1 数据库设计三范式三大范式只是一般设计数据库的基本理念,可以建立冗余较小、结构合理的数据库。如果有特殊情况,当然要特殊对待,数据库设计最重要的是看需求跟性能,需求>性能>表结构。所以不能一味的去追求范式建立数据库第一范式(确保每列保持原子性)数据库表中的所有字段值都是不可分解的原子值第二范式(确保表中的每列都和主键相关)在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中第三范式(确保每列都和主键列直接

2020-10-09 11:40:08 130

原创 框架-SpringMVC

框架-SpringMVC1 MVC设计模式1 MVC设计模式控制程序流转的控制器(Controller)封装数据处理数据的模型(Model)负责展示数据的视图(view)符合MVC设计思想的软件应该保证上面这三部分相互独立,互不干扰,每一个部分只负责自己擅长的部分。这样做的好处是,软件的结构会变得更加的清晰,可读性强。有利于后期的扩展和维护,并且代码可以实现复用...

2020-10-09 10:00:43 72

原创 框架-spring

框架-spring1.什么是Spring?2 Spring的优势3 spring的架构1.什么是Spring?spring是分层的JavaSE及JavaEE应用于全栈的轻量级开源框架,以IOC(控制反转/反转控制)和AOP(面向切面编程)为核心,提供了表现层SpringMVC和持久层Spring JDBC以及业务层事务管理等众多模块的企业级应用技术,Spring的本质是管理软件中的对象,即创建对象和维护对象之间的关系2 Spring的优势方便解耦,简化开发通过 Spring提供的 IoC容器,可

2020-10-03 10:41:16 157

原创 框架-MyBatis

框架-MyBatis1 什么是MyBatis2 MyBatis架构图3 MyBatis的优势4 MyBatis的代码实现4 MyBatis中的占位符1 什么是MyBatisMyBatis是一个优秀的持久层框架,它对JDBC访问数据库的过程进行了封装,简化了JDBC代码,解决JDBC将结果集封装为Java对象的麻烦2 MyBatis架构图mybatis-config.xml是Mybatis的核心配置文件,通过其中的配置可以生成SqlSessionFactory,也就是SqlSession工厂基于

2020-10-01 17:16:48 72

原创 数据库-事务

数据库-事务1 什么是事务2 事务的四大特性3 MySQL中的事务4 事务并发读问题4.1 脏读4.2 不可重复读4.3 幻读5 如何防止事务并发读问题的产生6 事务隔离级别6.1 READ UNCOMMITTED(读未提交数据)6.2 READ COMMITTED(读已提交数据)(Oracle默认)6.3 REPEATABLE READ(可重复读)(MySQL默认)6.4 SERIALIZABLE(串行化)1 什么是事务事务就是将一堆的SQL语句(通常是增删改操作)绑定在一起执行,要么都执行成功,要么

2020-09-30 11:53:32 364

原创 数据库-JDBC

数据库-JDBC1 JDBC1.1 JDBC的概念1.2 JDBC的实现过程1 JDBC1.1 JDBC的概念利用Java语言/程序连接并访问数据库的一门技术1.2 JDBC的实现过程注册数据库驱动Class.forName("com.mysql.jdbc.Driver");让JDBC程序加载mysql驱动程序,并管理驱动驱动程序,实现了JDBC API定义的接口以及和数据库服务器交互的功能,加载驱动是为了方便使用这些功能获取数据库连接Connection conn = Dri

2020-09-29 20:30:52 48

原创 JAVA-WEB-JSP

JAVA-WEB-JSPJSP1 JSP概述2 JSP执行过程3 JSP隐含对象4 JavaWeb四大域对象4.1 application4.2 request4.3 session4.4 pageContextJSP1 JSP概述JSP看起来像一个HTML,但和HTML不同的是,JSP中可以书写Java代码,可以通过Java代码展示动态的数据JSP的出现即解决了Servlet不适合输出页面的问题,也解决了HTML无法展示动态数据的问题2 JSP执行过程当浏览器请求服务器中的某一个JSP文

2020-09-29 15:19:10 45

原创 会话-Cookie-Session

会话-Cookie-Session1 什么是会话2 Cookie2.1 Cookie的工作原理2.2 Cookie的代码实现3 Session3.1 Session的工作原理3.2 Session的代码实现3.3 Session域对象的三大特征3.3.1 Session的生命周期3.3.1 Session的作用范围3.3.1 Session的主要功能4 Cookie和Session的区别4.1 Cookie的特点及应用4.2 Session的特点及应用1 什么是会话当浏览器发请求访问服务器开始,一直到访

2020-09-29 11:48:25 70

原创 网络通信协议-TCP/IP+Http

网络通信协议-TCP/IP+Http1 OSI模型2 TCP/IP协议2.1 TCP/IP协议的定义2.1 TCP/IP协议的分层2.1.1 应用层2.1.2 传输层2.1.3 网络层2.1.4 链路层2.1 TCP/IP协议通信的过程1 OSI模型一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。物理层 例如线路、无线电、光纤、信鸽数据链路层 例如以太网、令牌环、HDLC、帧中继、ISDN、ATM、IEEE 802.11、FDDI、PPP网络层 例如IP

2020-09-28 20:32:17 280

原创 JAVA-WEB-Servlet

JAVA-WEB-ServletServlet1 什么是Servlet?2 Servlet的作用?3 开发Servlet程序的步骤4 Servlet调用过程Servlet1 什么是Servlet?Servlet是运行在服务器端的Java程序.Servlet程序无法独立运行,由服务器调用才可以执行2 Servlet的作用?对服务器接收过来的请求进行处理3 开发Servlet程序的步骤写一个类,实现一个Servlet接口或者继承Servlet接口的子类(GenericServlet/HttpSe

2020-09-28 11:44:35 158

原创 JAVA基础06-IO及序列化

JAVA基础061.序列化1.1 序列化与反序列化1.2 序列化的特点1.3 序列化的应用场景1.4 序列化与反序列化的实现IO流IO中flush()和close()的区别BIO、NIO、AIO的区别1.序列化序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。1.1 序列化与反序列化序列化:利用ObjectOutputStream,对象的信息,按固定格式转成一串字节值输出并持久保存到磁盘化。反序列化:利用ObjectInputStream,读取磁盘中序列化

2020-09-26 10:17:53 79

原创 JAVA基础05-易混淆点-异常

JAVA基础05-易混淆点1.数组创建的三种方式1.数组创建的三种方式动态初始化:int[] a = new int[5];静态初始化1:int[] a ={1,2,3,4,5,6,7,8};静态初始化2:int[] a =new int[]{1,2,3,4,5};

2020-09-26 09:53:40 46

原创 JAVA基础04-线程及同步锁

线程1. 进程1.1 进程的概念1.2 进程的特点2 线程2.1 线程的概念2.2 进程和线程的区别2.3 进程和线程的关系2.4 线程状态2.5 多线程创建2.5.1 继承Thread2.5.2 实现Runnable接口2.5.3 创建多线程方法的比较2.5 线程的方法2.5.1 阻塞线程的方法2.5.1 停止线程的方法2.5.3 线程的常用方法1. 进程1.1 进程的概念是程序在执行过程中分配和管理资源的基本单位,每一个进程都有一个自己的地址空间,至少有 5 种基本状态,它们是:初始态,执行态

2020-09-25 00:50:18 59

原创 JAVA基础03-集合-Map

JAVA基础03-MapMap接口1.HashMap实现类1.1Map接口数据都是键值对,K V同时指定K不能重复,只能对应一个VHashMap是无序的1.HashMap实现类1.1HashMap 的实例有两个参数影响其性能:初始容量 和加载因子。容量 是哈希表中桶的数量,初始容量只是哈希表在创建时的容量。加载因子 是哈希表在其容量自动增加之前可以达到多满的一种尺度。当哈希表中的条目数超出了加载因子与当前容量的乘积时,则要对该哈希表进行 rehash 操作(即重建内部数据结构),从而哈希表

2020-09-24 11:35:28 83

原创 JAVA基础02-集合-Collection

Collection接口数组有缺点:要求数据类型是单一类型 + 数组一旦创建长度不能变 + 遍历方式单一 + 不适合插入、删除集合里有很多种工具类,都有很严格的继承结构.1List接口有序 + 有整数索引 + 元素可重复 + 可以存储多个null1.1 ArrayList实现类1.1.1 ArrayList底层实现ArrayList 底层维护了一个Object[ ]在jdk1.6里 , 一旦创建ArrayList,底层立刻分配10个数组的长度jdk1.8里为了优化内存,并不会第一时间

2020-09-23 23:56:47 80

原创 JAVA基础01-面向对象

1.什么是面向对象?1.1面向对象的定义面向对象是把整个需求按照特点、功能划分,将这些存在共性的部分封装成对象。1.2面向对象的特性1.2.1封装1.隐藏实现细节,提供公共的访问方式;2.提高了代码的复用性;3.提高安全性。1.2.2继承1.它可以使用现有类的所有功能;2.并在无需重新编写原来的类的情况下对这些功能进行扩展。1.2.3多态1.2.3.1多态的特点不关心具体的子类类型,会把子类当做父类来看,屏蔽了子类间的不同,写出通用代码做出统一的调用标准,标准就是父类1.2

2020-09-23 20:27:53 100

原创 MySQL数据库存储过程及触发器

MySQL数据库存储过程及触发器1.存储过程1.1概念1.2作用1.3基本语法创建存储过程调用存储过程2.触发器2.1概念2.2作用2.3基本语法1.存储过程1.1概念存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升1.2作用重复使用。存储过程

2020-09-17 20:34:28 352

空空如也

空空如也

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

TA关注的人

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