暂时未有相关云产品技术能力~
全栈JAVA领域创作者
目录 JAVA基础篇 6、Java自动装箱与拆箱 装箱就是自动将基本数据类型转换为包装器类型(int-->Integer);调用方法:Integer的 valueOf(int) 方法 拆箱就是自动将包装器类型转换为基本数据类型(Integer-->int)。调用方法:Integer的 intValue方法 在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行: Integer i = new Integer(10); 而在从Java SE5开始就提供了自动装箱的特性,如果要生成一个数值为10的Integer对象,只需要这样就可
目录 基础篇 1、 Java语言有哪些特点 1、简单易学、有丰富的类库 2、面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高) 3、与平台无关性(JVM是Java跨平台使用的根本) 4、可靠安全 5、支持多线程 2、面向对象和面向过程的区别 面向过程:是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,然后在使用的时候一一调用则可。性能较高,所以单片机、嵌入式开发等一般采用面向过程开发 面向对象:是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某个事物在解决整个问题的过程中所发生的行为。面向对象有封
目录 ZooKeeper面试题 1. ZooKeeper面试题? ZooKeeper是一个开放源码的分布式协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 分布式应用程序可以基于 Zookeeper实现诸如数据发布/订阅、负载均衡、命名 服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。 Zookeeper保证了如下分布式一致性特性: 1、顺序一致性 2、原子性 3、单一视图 4、可靠性 5、实时性(最终一致性)
前言:七月末八月初的时候,秋招正式打响,公司会放出大量的全职和实习岗位。为了帮助秋招的小伙伴们,学长这里整理了一系列的秋招面试题给大家,所以小伙伴们不用太过焦虑,相信你们一定能超常发挥,收到心仪公司的Offer~~ 内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技术栈 目录 MyBatis面试题 20、MyBatis实现一对一有几种方式?具体怎么操作的? 21、MyBatis实现一对多有
目录 MyBatis面试题 11、Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式? 第一种是使用标签,逐一定义数据库列名和对象属性名之间的映射关系。 第二种是使用 sql列的别名功能,将列的别名书写为对象属性名。 有了列名与属性名的映射关系后,Mybatis通过反射创建对象,同时使用反射给对象的属性逐一赋值并返回,那些找不到映射关系的属性,是无法完成赋值的。 12、如何执行批量插入? 首先,创建一个简单的 insert语句: id=”insertname”> insert into names (name) values (#
前言:七月末八月初的时候,秋招正式打响,公司会放出大量的全职和实习岗位。为了帮助秋招的小伙伴们,学长这里整理了一系列的秋招面试题给大家,所以小伙伴们不用太过焦虑,相信你们一定能超常发挥,收到心仪公司的Offer~~ 内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技术栈 目录 MyBatis面试题 5、MyBatis与 Hibernate有哪些不同? 6、#{}和${}的区别是什么?
前言:七月末八月初的时候,秋招正式打响,公司会放出大量的全职和实习岗位。为了帮助秋招的小伙伴们,学长这里整理了一系列的秋招面试题给大家,所以小伙伴们不用太过焦虑,相信你们一定能超常发挥,收到心仪公司的Offer~~ 内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、 Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、 Linux等技术栈 目录 一、秋招时间轴 二、JAVA工程师面试题 MyBatis面试题 1、什么是 Mybatis? 2、My
博主传送门: 叶秋学长 博主简介: 全栈领域新星创作者,新星计划第三季人工智能赛道TOP2;阿里云技术博主;退役复学在校大学生,全栈JAVA领域创作者,目光所至,皆为华夏 系列专栏跳转: Vue讲解 Spring系列 Spring Boot 系列 云原生系列(付费专栏) 今天叶秋学长带领大家继续学习vue讲解系列专栏中的Vue组件~~ 一、为什么需要组件? 一个页面逻辑很多,放在一起不利于管理,不利于开发,将一个页面分割成小小的功能块 vue组件化 应用:任何应用都是一颗组件树 1.创建组件 const cpn = Vue.extend({}):创建一个组件构造器 t
作者是名退役复学在校大学生,对jdk、spring、springboot、springcloud、mybatis等开源框架源码有一定研究,欢迎关注,和我一起交流。 今天手把手教学webpack,奶爸级教学,一键三连收藏起来吧。 一、webpack webpack 中文文档 | webpack 中文网 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bu
作者是名退役复学在校大学生,对jdk、spring、springboot、springcloud、mybatis等开源框架源码有一定研究,欢迎关注,和我一起交流。 一、为什么需要组件? 一个页面逻辑很多,放在一起不利于管理,不利于开发,将一个页面分割成小小的功能块 vue组件化 应用:任何应用都是一颗组件树 1.创建组件 2.创建组件语法糖写法 省去Vue.extend()的调用,可以直接使用一个对象代替 Vue.component("myCpn", { template: ` <div> <h1>广告</h1>
博主传送门: 叶秋学长 专栏跳转: Vue讲解 Spring系列 Spring Boot 系列 云原生系列(付费专栏) 今天****叶秋学长****带领大家继续学习vue讲解系列专栏的Nginx和Postman讲解~~ 目录 一、什么是Nginx? 二、启动 三、配置 停止 重启 四、Postman 一、什么是Nginx? Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网
今天叶秋学长带领大家继续学习vue讲解系列专栏~~ 一、 axios发送并发请求 ★有些操作可能需要等待多个请求完成后才接着操作 ★在实例开发中,有些参数是固定的 ★可以把这些参数进行抽取,可以利用axios的全局配置 timeout 指定请求超时的毫秒数(0 表示无超时时间) 如果请求话费了超过timeout的时间,请求将被中断 二、axios实例 ★创建实例 ☆当我们从axios模块中导入对象时,使用的实例是默认的实例 ☆给该实例设置一些配置时,这些配置就固定了 ☆开发中,可能某些配
目录 一、选择什么网络模块? ★传统的Ajax是基于XMLHttpRequest(XHR) ☆自己封装的话比较麻烦,可能存在很多bug ★Jquery-Ajax是Jquery的一部分 ☆整个Vue是没有使用到Jquery的 ☆为了网络请求而去引入Jquery是不合理的 ☆Jquery的体积和Vuejs差不多 二、为什么选择axios ☆在浏览器中发送XMLHttpRequest请求 ☆在node.js中发送http请求 ☆支持Promise API ☆拦截请求和响应
最近云原生领域热火朝天,那么云原生是什么?何为云原生?云原生用来干什么的?今天学长带领大家走进云原生时代~~ 何为云? 技术的变革,一定是思想先行,云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,Cloud+Native。Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。叶秋学长理解的云原生就是用来降本增效的,如下图: 云原生的应用程序是什么? 叶秋学长认为符合云原生架构的应用程序应该是:采用
今天给大家介绍最好用的脚本语言--JavaScript
1.概述 Kafka的使用场景非常广泛,一些实时流数据业务场景,均依赖Kafka来做数据分流。而在分布式应用场景中,数据迁移是一个比较常见的问题。关于Kafka集群数据如何迁移,今天叶秋学长将为大家详细介绍。 2.内容 本篇博客为大家介绍两种迁移场景,分别是同集群数据迁移、跨集群数据迁移。如下图所示: 2.1 同集群迁移 同集群之间数据迁移,比如在已有的集群中新增了一个Broker节点,此时需要将原来集群中已有的Topic的数据迁移部分到新的集群中,缓解集群压力。 将新的节点添加到Kafka集群很简单,只需为它们分配一个唯一的Broker ID,并在新服务器上启动Kafka。
案例分享 | Yelp 如何在 Kubernetes 上运行 Kafka(第 1 部分 - 架构) 这几天小叶秋在网上冲浪的时候,发现一些与云原生相关的文章,特地拿来与大家分享~~ 本文译自 Kafka on PaaSTA: Running Kafka on Kubernetes at Yelp (Part 1 - Architecture)[1]。作者:Lennart Rudolph 在 Yelp,Kafka 每天接收数百亿条消息来推进数据驱动并为关键业务管道和服务提供支持。我们最近通过在 PaaSTA (Yelp 自己的平台即服务)上运行集群,对 Kafka 部署架构进行一些改进。
今天就由叶秋学长带领大家学习云原生专栏系列二:如何实现跨数百个K8s集群的管理? Intuit 实现数百个K8s集群的管理 Intuit公司成立于1983年。它以个人财经软件为主要产品。2019年10月入选《财富》杂志“2019未来50强榜单”,排第21位。截至当年,Intuit公司4大BU、30个业务部门运行了大约160个K8s集群,大约5400个名称空间,每天要进行1300次的部署。那么他是如何做到,今天我们做一个简单的讲解。 首先就是为什么Intuit公司要划分如此多的集群?他们希望在不同的业务部门之间实现隔离,并且各业务部门能够拥有自主权;其次,为了满足合规,将审计限
今天叶秋学长带领大家学习云原生系列三:10大K8s应用安全加固技术~ 将应用部署到K8s集群时,开发者面临的主要挑战是如何管理安全风险。快速解决此问题的一个好方法是在开发过程中对应用清单进行安全加固。本文,将介绍10种开发者可以对应用程序应用加固的方法。 以下技术允许在开发过程中测试强化版本,从而降低在生产环境中应用的控件对运行工作负载造成不利影响的风险。此外,没有强制性控制的集群中,比如Pod安全策略,自愿加固可以帮助降低容器突破攻击的风险。 一般方法 在编写K8s工作负载清单时,无论是pod对象还是部署daemonset之类的更高级别的东西,清单中都有一个名为securityC
今天由叶秋学长来介绍如何通过 Aeraki 来在服务网格中为 Dubbo、Thrift 等协议的服务提供七层流量路由、本地限流、全局限流,以及如何基于 Aeraki Protocol快速开发一个自定义协议,并在 Istio 服务网格中对采用自定义协议的服务进行管理。 本篇文章作为系列教程的先导篇,叶秋学长将从全局视角带您了解 Aeraki Mesh。 Aeraki [Air-rah-ki]是希腊语中“微风”的意思。虽然 Istio 在中连接微服务,但 Aeraki 提供了一个框架,允许 Istio 支持更多的第 7 层协议,而不仅仅是 HTTP 和 gRPC。我们希望这股"微风"
我相信很多程序员都会有这种“线上服务器老是卡”等烦恼,那我今天给大家讲讲该如何优化线上服务器老是卡的问题。 听多了架构优化,数据库优化,今天我们来聊聊服务器优化。 我们开发的软件服务需要在服务器上运行,所以服务器性能代表了软件的性能上限,因此服务器性能调优是个十分重要的环节,然而大部分同学对服务器性能调优关注的较少,今天从3个部分对服务器性能调优进行介绍,分别是:服务器配置选择,服务器负载分析,服务器内核参数调优。 服务器配置选择 服务器一般是由CPU、内存、磁盘和网卡组成,因此选择服务器配置就是选择CPU核数、内存大小、磁盘大小及类型、网络带宽。但是,服务器配置的选择是很难
目录 如何自定义一个SpringBoot Srarter? 首先创建一个项目,命名为demo-spring-boot-starter,引入SpringBoot相关依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.spr
学长在这里想对小伙伴们提问一个问题:你们有对SpringBoot自动配置原理进行了解吗?今天学长来带领大家学习Spring Boot 自动配置原理~~ SpringBoot开启自动配置的注解是@EnableAutoConfiguration ,启动类上的注解@SpringBootApplication是一个复合注解,包含了@EnableAutoConfiguration: SpringBoot自动配置原理 @AutoConfigurationPackage //将main同级的包下的所有组件注册到容器中 @Import({AutoConfigurationImportSelec
目录 一、SpringBoot 是什么? Spring Boot 基于 Spring 开发,Spirng Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。 SpringBoot图标 二、Spring Boot 的优点有哪些? Spring B
目录 MVC 今天叶秋学长带领大家学习Spring系列专栏最后一节Spring MVC. 28.Spring MVC 的核心组件? 29.Spring MVC 的工作流程? Spring MVC的工作流程 Spring MVC 虽然整体流程复杂,但是实际开发中很简单,大部分的组件不需要开发人员创建和管理,只需要通过配置文件的方式完成配置即可,真正需要开发人员进行处理的只有 Handler(Controller) 、View 、Model。 当然我们现在大部分的开发都是前后端分离,Restful风格接口,后端只需要返回Json数据就行了。
目录 什么是事务? 什么是事务? Spring 事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,Spring 是无法提供事务功能的。Spring 只提供统一事务管理接口,具体实现都是由各数据库自己实现,数据库事务的提交和回滚是通过数据库自己的事务机制实现。接下来由叶秋学长带领你们学习Spring事务~ 23.Spring 事务的种类? Spring 支持编程式事务管理和声明式事务管理两种方式: Spring事务分类 编程式事务管理使用 TransactionTemplate,需要显式执行事务。 24.Spring 的事务隔离级别?
该文章收录专栏: 叶秋学长的Spring系列专栏 博主传送门: 叶秋学长 Spring AOP 和 AspectJ AOP 区别? 今天由叶秋学长带领大家学习Spring AOP和AspectJ AOP 的区别~~ Spring AOP Spring AOP 属于运行时增强,主要具有如下特点: 1. 基于动态代理来实现,默认如果使用接口的,用 JDK 提供的动态代理实现,如果是方法则使用 CGLIB 实现 2. Spring AOP 需要依赖 IOC 容器来管理,并且只能作用于 Spring 容器,使用纯 Java 代码实现 3. 在性能上,由于 Spring AOP 是基于
21.说说JDK 动态代理和 CGLIB 代理 ? Spring的AOP是通过动态代理来实现的,动态代理主要有两种方式JDK动态代理和Cglib动态代理,这两种动态代理的使用和原理有些不同。 JDK 动态代理 CgLib 动态代理 我们来看一个常见的小场景,客服中转,解决用户问题: 用户向客服提问题 JDK动态代理实现: JDK动态代理类图 public interface ISolver { void solve(); } public class Solver implements ISolver { @Override pu
AOP 19.说说什么是AOP? AOP:面向切面编程。简单说,就是把一些业务逻辑中的相同的代码抽取到一个独立的模块中,让业务逻辑更加清爽。 横向抽取 具体来说,假如我现在要crud写一堆业务,可是如何业务代码前后前后进行打印日志和参数的校验呢? 我们可以把日志记录和数据校验可重用的功能模块分离出来,然后在程序的执行的合适的地方动态地植入这些代码并执行。这样就简化了代码的书写。 AOP应用示例 业务逻辑代码中没有参和通用逻辑的代码,业务模块更简洁,只包含核心业务代码。实现了业务逻辑和通用逻辑的代码分离,便于维护和升级,降低了业务逻辑和通用逻辑的耦合性。 AOP 可以将遍布
15.说说循环依赖? Spring循环依赖 Spring 循环依赖:简单说就是自己依赖自己,或者和别的Bean相互依赖。 鸡和蛋 只有单例的Bean才存在循环依赖的情况,原型(Prototype)情况下,Spring会直接抛出异常。原因很简单,AB循环依赖,A实例化的时候,发现依赖B,创建B实例,创建B的时候发现需要A,创建A1实例……无限套娃,直接把系统干垮。 Spring不支持基于构造器注入的循环依赖,但是假如AB循环依赖,如果一个是构造器注入,一个是setter注入呢? 看看几种情形: 循环依赖的几种情形 第四种可以而第五种不可以的原因是 Spring 在
目录 10.Bean定义和依赖定义有哪些方式? 有三种方式:直接编码方式、配置文件方式、注解方式。 Bean依赖配置方式 11.有哪些依赖注入的方法? Spring支持构造方法注入、属性注入、工厂方法注入,其中工厂方法注入,又可以分为静态工厂方法注入和非静态工厂方法注入。 Spring依赖注入方法 public CatDaoImpl(String message){ this. message = message; } <bean id="CatDaoImpl" class="com.CatDaoImpl"> <constructor-a
目录 什么是Spring Bean生命周期? 可以看看:Spring Bean生命周期,好像人的一生。。 在Spring中,基本容器BeanFactory和扩展容器ApplicationContext的实例化时机不太一样,BeanFactory采用的是延迟初始化的方式,也就是只有在第一次getBean()的时候,才会实例化Bean;ApplicationContext启动之后会实例化所有的Bean定义。 Spring IOC 中Bean的生命周期大致分为四个阶段:实例化(Instantiation)、属性赋值(Populate)、初始化(Initialization)、销
目录 IOC IOC 5.说一说什么是IOC?什么是DI? Java 是面向对象的编程语言,一个个实例对象相互合作组成了业务逻辑,原来,我们都是在代码里创建对象和对象的依赖。 所谓的IOC(控制反转):就是由容器来负责控制对象的生命周期和对象间的关系。以前是我们想要什么,就自己创建什么,现在是我们需要什么,容器就给我们送来什么。 引入IOC之前和引入IOC之后 也就是说,控制对象生命周期的不再是引用它的对象,而是容器。对具体对象,以前是它控制其它对象,现在所有对象都被容器控制,所以这就叫控制反转。 控制反转示意图 DI(依赖注入):指的是容器在实例化对象的时候把
自从我遇到预报君,在也不用担心成为“落汤鸡”的惨剧发生了!!!预报君是由腾讯云开发的HiFlow场景连接器运营产生的企业微信群机器人。它能精准预报未来几天的天气和气温,并且可以设置暖心的提醒语,提醒企业的同事们夏日多喝水~~简直是爱了。上述说到预报君是由腾讯云开发的HiFlow场景连接器运营产生的机器人,那么接下来叶秋学长带领大家了解HiFlow场景连接器的概念及其使用。HiFlow是一款应用连接自动化助手,零代码连接多应用系统间的数据信息,轻松实现任务自动化!即使你是没有编程基础的小白也可以轻松使用!!!.配置定时器并启动 定时器配置里面可以设置定时发送时间以及发送的日期,设置好参数之后点
有人说,“Java程序员都是Spring程序员”,小叶秋不太赞成这个观点,但是这也可以看出Spring在Java世界里举足轻重的作用。今天叶秋学长带领小伙伴们一起进入Spring学习体系,还等什么快跟着叶秋学长一起内卷起来~~ 基础 1.Spring是什么?特性?有哪些模块? 2.Spring有哪些模块呢? 3.Spring有哪些常用注解呢? 4.Spring 中应用了哪些设计模式呢?
今天叶秋学长带领大家学习VUE基础语法,废话不多说,赶快跟着学习吧~~ 一、绑定事件 1.使用 v-on绑定 格式 v-on:事件类型 = "函数名" 简写 @事件类型 = "函数名" 2.参数问题 没有参数,省略小扩号 绑定函数默认有一个事件对象,写$event当参数 3.事件修饰符 (1)阻止事件冒泡: • @事件类型.stop • 事件中调用event.stopPropagation() (2)阻止默认事件: • @事件类型.prevent • 事件中调用event.preventDefault() (3).once 一次性事件 只做一次的事件 (4).enter 回车事件 (http
前一段时间,尤大发布了Vite3.0,以及更新了Vite的官方文档,今天叶秋学长带领大家一起学习Vite3.0新特性一览,以下是Vite的官方文档图示: 编辑 进入首页反正给我的感觉就是很惊艳。 这篇文档就来简单的介绍一下Vite3.0都有哪些新东西,别被卷的不成样子。 目录 一、模板的变更 二、Vite CLI的优化 三、import.meta.glob API的变化 四、其他内容 Vite3.0还更新的一些其他的内容,如下: Vite整体体积变小; JS和CSS的压缩工具使用了ESbuild(Vite2中开始); 修复了N多个bug; 兼容性做了调整,最低支持node14.18+; Vit
前言:学习前端的小伙伴肯定对VUE很是熟悉吧,今天叶秋学长带领大家一起学习VUE基础语法,不论你是前端小白还是在开发领域的工作者,叶秋学长都希望这篇文章对大家有所帮助!!! 一、绑定事件 1.使用 v-on绑定 格式 v-on:事件类型 = "函数名" 简写 @事件类型 = "函数名" 2.参数问题 没有参数,省略小扩号 绑定函数默认有一个事件对象,写$event当参数 3.事件修饰符 (1)阻止事件冒泡: @事件类型.stop 事件中调用event.stopPropagation() (2)阻止默认事件: @事件类型.prevent 事件中调用event.preventDefault()