上一页 1 ··· 59 60 61 62 63 64 65 66 67 ··· 73 下一页
摘要: 什么是Mybatis? (1) Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,加载驱动、创建连接、创建statement等繁杂的过程,开发者开发时只需要关注如何编写SQL语句,可以严格控制sql执行性能,灵活度高。 (2) 作为一个半ORM框架,MyBatis 可以使用 X 阅读全文
posted @ 2021-12-20 12:56 残城碎梦 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 什么是Spring MVC ?简单介绍下你对springMVC的理解? Spring MVC是一个基于Java实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错 阅读全文
posted @ 2021-12-20 08:49 残城碎梦 阅读(47) 评论(0) 推荐(0) 编辑
摘要: Spring是什么? Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。 主要模块有: Spring Context:提供框架式的Bean访问方式,以及企业级功能(JNDI、定时任务等); 阅读全文
posted @ 2021-12-19 19:40 残城碎梦 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 什么是反射 反射是一种能够在程序运行时动态访问、修改某个类中任意属性(状态)和方法(行为)的机制(包括private实例和方法),java反射机制提供了以下几个功能: 在运行时判断任意一个对象所属的类; 在运行时构造任意一个类的对象; 在运行时判断任意一个类所具有的成员变量和方法; 在运行时调用任意 阅读全文
posted @ 2021-12-19 16:28 残城碎梦 阅读(53) 评论(0) 推荐(0) 编辑
摘要: ArrayList ArrayList底层是基于动态数组,根据下标随机访问数组元素的效率高,向数组尾部添加元素的效率高;但是,删除数组中的数据以及向数组中间添加数据效率低,因为需要移动数组。 只要ArrayList的当前容量足够大,add()操作向数组的尾部的效率非常高的,当向数组指定位置添加数据时 阅读全文
posted @ 2021-12-19 16:23 残城碎梦 阅读(74) 评论(0) 推荐(0) 编辑
摘要: SpringBoot之所以可以做到简化配置文件直接启动,无外乎是其内部的两种设计策略:开箱即用和约定大于配置。 开箱即用:在开发过程中,通过maven项目的pom文件中添加相关依赖包,然后通过相应的注解来代替繁琐的XML配置以管理对象的生命周期。 约定大于配置:由SpringBoot本身来配置目标结 阅读全文
posted @ 2021-12-19 16:22 残城碎梦 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 单独的数据库 微服务设计的一个关键是数据库设计,基本原则是每个服务都有自己单独的数据库,而且只有微服务本身可以访问这个数据库。它是基于下面三个原因。 优化服务接口:微服务之间的接口越小越好,最好只有服务调用接口(RPC或消息),没有其他接口。如果微服务不能独享自己的数据库,那么数据库也变成了接口的一 阅读全文
posted @ 2021-12-19 15:45 残城碎梦 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 服务熔断 服务熔断的作用类似于我们家用的保险丝,当某服务出现不可用或响应超时的情况时,为了防止整个系统出现雪崩,暂时停止对该服务的调用。 服务降级 服务降级是从整个系统的负荷情况出发和考虑的,对某些负荷会比较高的情况,为了预防某些功能(业务场景)出现负荷过载或者响应慢的情况,在其内部暂时舍弃对一些非 阅读全文
posted @ 2021-12-19 15:36 残城碎梦 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 应对大流量的一些思路 什么是大流量? TPS(每秒事务量),QPS(每秒请求量),1W+,5W+,10W+,100W+...。其实并没有一个绝对的数字,如果这个量造成了系统的压力,影响了系统的性能,那么这个量就可以称之为大流量了。 应对大流量的一些常见手段是什么? 缓存:让数据尽早进入缓存,离程序近 阅读全文
posted @ 2021-12-19 14:54 残城碎梦 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。 下面从几个例子作为切入点来讲解下 Java 里有哪些方法来实现线程间通信。 如何让两个线程依次执行? 那如何让 两个线程按照指定方式有序交叉运行呢? 四个线程 A B 阅读全文
posted @ 2021-12-19 13:31 残城碎梦 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 拷贝的引入 引用拷贝 Teacher teacher = new Teacher("Taylor",26); Teacher otherteacher = teacher; System.out.println(teacher); System.out.println(otherteacher); 阅读全文
posted @ 2021-12-19 12:46 残城碎梦 阅读(62) 评论(0) 推荐(0) 编辑
摘要: Object 的 wait()和notify() 方法 Object 对象中的 wait()和notify()是用来实现实现等待 / 通知模式。其中等待状态和阻塞状态是不同的。等待状态的线程可以通过notify() 方法唤醒并继续执行,而阻塞状态的线程则是等待获取新的锁。 调用 wait()方法后, 阅读全文
posted @ 2021-12-19 11:59 残城碎梦 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 线程安全的原因 SimpleDateFormat(下面简称sdf)类内部有一个Calendar对象引用,它用来储存和这个sdf相关的日期信息,例如sdf.parse(dateStr), sdf.format(date) 诸如此类的方法参数传入的日期相关String, Date等等, 都是交由Cale 阅读全文
posted @ 2021-12-19 10:42 残城碎梦 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 分布式事务的实现主要有以下 5 种方案: XA 方案 TCC 方案 本地消息表 可靠消息最终一致性方案 最大努力通知方案 两阶段提交方案/XA方案 所谓的 XA 方案,即:两阶段提交,有一个事务管理器的概念,负责协调多个数据库(资源管理器)的事务,事务管理器先问问各个数据库你准备好了吗?如果每个数据 阅读全文
posted @ 2021-12-19 09:21 残城碎梦 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 能不能说一说 TCP 和 UDP 的区别? TCP是一个面向连接的、可靠的、基于字节流的传输层协议。而UDP是一个面向无连接的传输层协议。和 UDP 相比,TCP 有三大核心特性: 面向连接。所谓的连接,指的是客户端和服务器的连接,在双方互相通信之前,TCP 需要三次握手建立连接,而 UDP 没有相 阅读全文
posted @ 2021-12-18 22:38 残城碎梦 阅读(49) 评论(0) 推荐(0) 编辑
摘要: Redis 是速度非常快的非关系型(NoSQL)内存键值数据库。键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。 Redis常用的数据类型 数据类型 可以存储的值 操作 STRING 字符串、整数或者浮点数 对整个字符串或者字符串的其中一部分执行操作对整数和浮点数执行 阅读全文
posted @ 2021-12-18 21:39 残城碎梦 阅读(77) 评论(0) 推荐(0) 编辑
摘要: Redis两种持久化的方式 RDB持久化可以在指定的时间间隔内生成数据集的时间点快照 AOF持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集,AOF文件中全部以redis协议的格式来保存,新命令会被追加到文件的末尾,redis还可以在后台对AOF文件进行重写。 阅读全文
posted @ 2021-12-18 21:18 残城碎梦 阅读(93) 评论(0) 推荐(0) 编辑
摘要: cpu个数:是指物理上,也及硬件上的核心数;核数:是逻辑上的,简单理解为逻辑上模拟出的核心数;一个CPU核心数模拟出2线程的CPU线程数:是同一时刻设备能并行执行的程序个数,线程数=cpu个数 * 核数,及程数=cpu个数(2) * 核数(2)=4 cpu线程数和Java多线程 (1) 线程是CPU 阅读全文
posted @ 2021-12-18 12:26 残城碎梦 阅读(78) 评论(0) 推荐(0) 编辑
摘要: Thread.State枚举类型中定义了线程的六种状态:NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING和TERMINATED。 线程在某一时刻只能拥有一种状态,但是在线程的整个生命周期,线程的状态会发生变化。 public enum State { NEW, R 阅读全文
posted @ 2021-12-18 11:46 残城碎梦 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 首先我们来了解几个知识。 自动装箱 对于下面这行代码: Integer a = 1; 变量a为Integer类型,而1为int类型,且Integer和int之间并无继承关系,按照Java的一般处理方法,这行代码应该报错。 但因为自动装箱机制的存在,在为Integer类型的变量赋int类型值时,Jav 阅读全文
posted @ 2021-12-15 13:43 残城碎梦 阅读(145) 评论(0) 推荐(0) 编辑
上一页 1 ··· 59 60 61 62 63 64 65 66 67 ··· 73 下一页