- 博客(29)
- 资源 (3)
- 收藏
- 关注
原创 Java最全面试总结——8.SpringCloud篇
另外,应避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行 构建,可以有一个非常轻量级的集中式管理来协调这些服务,可以使用不同的语言来编写服务,也 可以使用不同的数据存储。微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分为一组小的服务, 每个服务运行在其独立的自己的进程中,服务之间相互协调、互相配合,为用户提供最终价值。负载平衡改善跨多个计算资源的工作负荷,诸如计算机,计算机集群,网络链路, 中央处理单元,或磁盘驱动器的分布。
2024-02-29 16:14:22 940
原创 Java最全面试总结——7.MySQL篇
数据库的三范式是什么?、数据库的三范式是什么?数据库引擎有哪些?如何查看mysql提供的所有存储引擎mysql常用引擎包括:MYISAMInnodbMemoryMERGEMYISAM:全表锁,拥有较高的执行速度,不支持事务,不支持外键,并发性能差,占用空间相对较小,对事务完整性没有要求,以selectinsert为主的应用基本上可以使用这引擎Innodb:行级锁,提供了具有提交、回滚和崩溃回复能力的事务安全,支持自动增长列,支持外键约束,并发能力强,占用空间是。
2024-02-29 15:57:34 795
原创 Java最全面试总结——6.Springboot篇
Spring Boot 优点非常多,如:一、独立运行 Spring Boot而且内嵌了各种servlet容器,Tomcat、Jetty等,现在不再需要打成war包部署到容器 中,Spring Boot只要打成一个可执行的jar包就能独立运行,所有的依赖包都在一个jar包内。二、简化配置 spring-boot-starter-web启动器自动依赖其他组件,简少了maven的配置。
2024-02-24 11:47:57 728 1
原创 Java最全面试总结——5. MyBatis篇
Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直 接编写原生态sql,可以严格控制sql执行性能,灵活度高。(2)MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避 免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
2024-02-21 14:59:39 753
原创 Java 最全面试总结——4.Spring篇
通知是个在方法执行前或执行后要做的动作,实际上是程序执行时要通过SpringAOP框架触发的代 码段。
2024-02-21 13:05:14 609
原创 Java 最全面试总结——3.多线程篇
线程安全就是说多线程访问同一段代码,不会产生不确定的结果。又是一个理论的问题,各式各样的答案有很多,我给出一个个人认为解释地最好的:如果你的代码在多线程下执行和在单线程下执行永远都能获得一样的结果,那么你的代码就是线程安全的。(1)不可变像String、Integer、Long这些,都是final类型的类,任何一个线程都改变不了它们的值,要改变除非新创建一个,因此这些不可变对象不需要任何同步手段就可以直接在多线程环境下使用(2)绝对线程安全不管运行时环境如何,调用者都不需要额外的同步措施。
2023-11-29 21:51:13 960
原创 Java 最全面试总结——2.JVM 篇
JVM定义了不同运行时数据区,他们是用来执行应用程序的。某些区域随着JVM启动及销毁,另外一些区域的数据是线程性独立的,随着线程创建和销毁。jvm内存模型总体架构图如下:(摘自oracle官方网站)JVM在执行Java程序时,会把它管理的内存划分为若干个的区域,每个区域都有自己的用途和创建销毁时间。如下图所示,可以分为两大部分,线程私有区和共享区。JVM内存分为线程私有区和线程共享区Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。
2023-11-28 16:29:56 880
原创 iOS模拟器14.2,文本框无法呼出键盘
选中模拟器,点击 Mac 上方菜单“I/O”---“keyboard”---“connect hardware keyboard”,取消勾选。如果本来没有勾选,就勾选再取消。
2023-09-07 18:35:41 147
原创 SpringBoot集成LibreOffice+jodconverter做文件预览(office转pdf)
LibreOffice 是一款开放源代码的自由免费全能办公软件,可运行于 Microsoft Windows, GNU/Linux 以及 macOS 等操作系统上。它包含了 Writer, Calc, Impress, Draw, Math 以及 Base 等组件,可分别用于文本文档、电子表格、幻灯片演示文稿、绘图文档、数学公式编辑、数据库管理等工作。LibreOffice 采用对企业和个人用户均免费的 MPL 2.0 授权协议。
2022-11-13 11:10:09 4559 4
原创 Ubuntu18.04安装Docker完整教程
1.更新软件源列表sudo apt update2.安装软件包依赖sudo apt install apt-transport-https ca-certificates curl software-properties-common3.在系统中添加Docker的官方密钥curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -4.添加Docker源,选择stable
2022-05-16 21:38:58 10665 2
原创 Mac 解决 Sourcetree 总提示输入密码
git config --global credential.helper osxkeychain
2021-08-27 08:28:40 437
原创 Ubuntu20 JavaWeb环境搭建(JDK8,MySQL8,Maven,nginx,FTP,SSL证书配置)
一、安装JDK1. 更新软件包列表sudo apt-get update2. 安装openjdk-8-jdksudo apt-get install openjdk-8-jdk3. 验证安装结果$ java -versionopenjdk version "1.8.0_292"OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~20.04-b10)OpenJDK 64-Bit Server V..
2021-08-15 08:55:39 1847
原创 centOS安装vnc远程桌面
最近安装了CentOS vnc远程桌面,以此记录一下。Linux系统在服务器上一般都直接最小化安装,是不安装图形界面的,但是有时候,有一些特殊情况,需要使用图形界面,而下面就利用VNC来实现类似windows的远程桌面功能。 首先,系统需要有图形界面,可以在安装系统的时候一起安装gnome,或者后面再安装也行,下面有安装方法。环境: Centos7.2 gnome桌面前提: 需要用gnome桌面,如果服务器安装时使用的最小化安装,那么进行下面操作按章GNOME 桌面...
2021-08-03 23:18:13 6561
原创 Ubuntu安装npm gyp错误。确实解决了我的问题,记录一下
错提示 node-gyp : 依赖: nodejs-dev 但是它将不会被安装 依赖: gyp (>= 0.1+20150913git1f374df9) 但是它将不会被安装 推荐: build-essential 但是它将不会被安装E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系使用下面命令安装sudo apt install aptitudesudo aptitude install npm
2021-06-14 00:12:36 640
原创 PageHelper使用注意,线程污染问题,分页问题
问题复现代码://测试controller。@RestController@RequestMapping("/pageHelperTest")public class PageHelperTestController { @Autowired TestMapper testMapper; @RequestMapping("/list/{pageNo}") public Pagination search(@PathVariable("pageNo") in
2021-05-06 13:28:12 2889 2
原创 图解 MySQL 事务和MVCC多版本并发控制
MySQL事务隔离级别未提交读事务中的修改,即便是没有提交,对其他事务也是可见的。可能会产生脏读、不可重复读、幻读问题。脏读示例:已提交读一个事务开始时,只能“看见”已经提交的事务所做的修改。可能会产生不可重复读、幻读问题。不可重复读示例:可重复读保证了同一个事务中多次读取同样记录的结果是一致的。可能造成幻读问题。幻读示例:可串行化是最高的隔离级别,它通过强制事务串行执行,避免了前面所说的幻读问题。简单来说,它会在读取的每一行数据上都...
2020-06-14 23:26:20 732 2
原创 centos linux 单机搭建Redis集群 Redis5.0
1、在/user/local/创建redis-cluster目录mkdir redis-cluster2、在redis-cluster目录下创建节点目录mkdir 7001 7002 7003 7004 7005 70063、复制一份redis.conf文件到 7001节点目录cp redis.conf ../redis-cluster/7001/4.修改 redis-cluster/7001/redis.conf bind0.0.0.0(0....
2020-06-10 20:27:20 441
原创 centos linux SpringCloud项目 bash shell脚本打包、发布,一站搞定
1、安装gityum install git2、安装mavenyum install maven3、修改maven仓库地址和镜像为国内源,速度快的飞起 vim /etc/maven/settings.xml 将以下代码放入<mirrors>内: <mirror> <!--阿里云仓库--> <id>alimaven</id> <mirrorOf>...
2020-06-09 23:34:46 633 1
原创 腾讯云 centOS Linux 安装Redis
根据官网指导安装官网:https://redis.io/download$ wget http://download.redis.io/releases/redis-6.0.4.tar.gz$ tar xzf redis-6.0.4.tar.gz$ cd redis-6.0.4$ make由于腾讯云内下载redis太慢,手动下载下来,再使用FTP工具上传腾讯云,再执行以上命令。(wget就不用执行了,因为已经下载了嘛)Redis6安装出错报错:error: ‘struct r..
2020-06-07 23:42:01 509
原创 腾讯云 linux centos 安装mysql
首先,我们检测一下系统中是否已安装mysql的相关服务 命令:rpm -qa | grep mysql,无输出则证明未安装 然后我们使用yum检测查找系统自带的mysql安装文件。 CentOS7的yum源中未找到mysql服务。所以,我们要先下载mysql的repo源。 下载命令:wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 下载完成!接下来我们安装mysql-commun...
2020-06-07 22:14:19 337
原创 微信小程序,云开发,云函数数据库环境问题database collection not exists
问题描述:小程序云开发切换运行环境时,进行了以下修改:最关键一步是:app.js里的初始化,要给env设置参数,否则用的是默认环境,就是第一个创建的环境。这里的环境ID不是你自己设置的那个环境名,要去控制台的设置里查看重点来了设置完之后本以为万事大吉,我还是太天真了调用云函数返回异常:reason: Error: errCode: -502005 database collection not exists | errMsg: [ResourceNotFo..
2020-06-06 13:24:05 2538
原创 SpringBoot集成netty4.1 demo,基于NioServerSocketChannel
需要注意的是:writeAndFlush(Object msg)msg虽然是Object类型,却并不是什么类型都可以直接传,仅支持ByteBuf 和 FileRegion 类型以下为demo源码:引入依赖:<dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId></dependency>服务端.
2020-05-28 22:33:41 848
转载 数据结构与算法,红黑树与TreeMap详细解析
本文目录一、为什么要创建红黑树这种数据结构在上篇我们了解了AVL树,既然已经有了AVL这种平衡的二叉排序树,为什么还要有红黑树呢?AVL树通过定义我们知道要求树中每一个结点的左右子树高度差的绝对值不超过1,其是一颗严格的平衡树,这样构建出来的平衡二叉排序树具有很好的查找性能,但是为了保持其每个结点平衡因子绝对值不超过1的特性在插入或者删除的时候需要的维护成本是很大的,插入或者删除需要大量的平衡度计算,比如上一篇在AVL的插入的时候就需要不断回溯其父节点调整平衡因子的值,数据量小没什么问题,但
2020-05-18 00:14:29 179
原创 Ubuntu 安装 Elasticsearch踩坑,遇到could not find java错误
环境变量问题一开始jdk环境变量是这样配置的:/etc/profile:export JAVA_HOME=/usr/lib/java/jdk1.8.0_201/export PATH=${JAVA_HOME}/bin:$PATH启动ES报错:could not find java; set JAVA_HOME or ensure java is in PATH怀疑环境变量级别不够,把环境变量加到系统级,修改 /etc/environment 文件(小心红色部分,否则后悔莫.
2020-05-17 20:59:16 6901
原创 Spring Cloud Bus 配置,实现config自动刷新
Spring Cloud Bus是用轻量的消息代理将分布式的节点连接起来,可以用于广播配置文件的更改或者服务的监控管理。一个关键的思想就是,消息总线可以为微服务做监控,也可以实现应用程序之间相互通信。Spring Cloud Bus可选的消息代理线线泡括RabbitMQ、 AMQP和Kaka等。本节讲述的是用 RabbitMQ作为 Spring Cloud的消息组件去刷新更改微服务的配置文件。为什么需要用 Spring Cloud Bus去刷新配置呢?如果有几十个微服务,...
2020-05-16 18:44:58 473
原创 windows系统下载安装 RabbitMQ,下载太难?镜像版,真香
安装配置请参考:https://www.jianshu.com/p/3874a446a1e0国内镜像下载RabbitMQ:https://mirrors.huaweicloud.com/rabbitmq-server/
2020-05-16 17:18:36 2287
原创 SpringCloud系列-集成Zuul
SpringCloud集成Zuul遇到不少坑,特此记录一下,也希望能给大家借鉴一下在zuul网关module内添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId></dependency> 启动类添加@Ena
2020-05-15 23:15:54 996
原创 Eureka高可用,节点均出现在unavailable-replicas下问题汇总
Eureka高可用部署,启动多个注册中心后,节点均出现在unavailable-replicas,可能问题如下:1.eureka.client.serviceUrl.defaultZone配置项的地址,不能使用localhost,要使用域名,修改hosts文件。2.spring.application.name要一致3.如下两个参数需配为trueeureka.client.register-with-eureka=trueeureka.client.fetch-registry=tru
2020-05-15 06:17:55 489
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人