自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (4)
  • 收藏
  • 关注

原创 mybatis sql执行流程【简化】

执行表达式: configuration.getMappedStatement(statement)拓展:mybatid executor有几种执行器?//从configuration中获取mapperStatement数据。//从MappedStatement 获取当前绑定的sql。二、再mybatis-config.xml中引入mapper。,可以看到对应的statement保存的信息。一、添加一个mapper.xml。进入selectOne方法。四、执行sql:源码。

2023-03-14 16:58:40 559

原创 MyBatis源码分析

扩展:parseConfiguration 解释了mybatis解析配置文件的顺序,由此可见,我们再配置文件中的属性配置不能随便变更顺序。解析mapper,由源码可见,mapper从,package->resource->url->class这个顺序解析。扩展二:mybatis mapper的几种方式:resource url class pacakge。parser.evalNode("/mapper"):解析mapper。//判断是否已加载过mapper。//解析mapper。

2023-03-13 13:08:41 275

原创 ByteBuf 内存问题

使用:ByteBufAllocator.DEFAULT.heapBuffer()创建堆内存。Netty的ByteBuf和NIO的ByteBuffer,支持池化操作。③由于直接使用的系统的内存,因此内存分散,连续性差。②直接内存少了GC的管理,对JVM GC压力小。①直接内存读写效率非常高,少了一次内存复制。JVM从内存中划出的一部分内存,连续性好。直接内存遵循:谁最后用,谁释放relase。④GC不管理内存,因此要自己手动释放。扩容部分内存、可写部分、可读部分,废弃部分。①写指针②读指针③容量④最大容量。

2023-03-09 14:33:36 415

原创 Netty channelHandler注意事項——super.channelRead(ctx, msg)

通过nioSocketChannel.pipeline()的addLast添加入站处理器,如果有多个必须显示的唤醒下一个入站处理器,否则执行链中间会断掉。//这里未调用唤醒下一个处理器。//找到下一个handler并执行。//新启动一个线程,执行新的处理器。

2023-03-09 13:17:18 940

原创 初探netty

connect(new InetSocketAddress("localhost", 8080))//建立链接。

2023-03-09 11:45:29 663

原创 spring 的invokeBeanFactoryPostProcessors()

以事务导入为例:AdviceModeImportSelector 实现了接口ImportSelector,重写了selectImports 方法,导入了其余的配置类:TransactionManagementConfigurationSelector。BeanFactoryPostProcessor在bean的生命周期中,主要增强的是BeanDefinition对象,对bean的定义信息增加。//循环处理实现了BeanFactoryPostProcessor接口的增强器。//注册更多的bean定义信息。

2023-03-06 14:03:01 405

原创 springBoot 事务基本原理

②:ProxyTransactionManagementConfiguration 是一个配置类,用于注册启用基于代理的注释驱动的事务管理所必需的 Spring 基础结构 bean。2):TransactionAttributeSource:一个事务属性相关来源,知道如何获取事务属性,无论是从配置、源代码级别的元数据属性(如注释)还是其他任何位置,解析注解的属性。3):TransactionInterceptor:事务拦截器,具体执行事务的相关内容就在此处。AdviceMode :默认属性为:PROXY。

2023-03-06 13:38:37 1102

原创 springBoot 消息转换器和自定义消息转换器

/Converter S源类型,T目标类型。②服务器引入可生产的数据类型的jar或自定义消息转换器。一、通过实现接口:WebMvcConfigurer。* 添加自定义格式化器或转换器。例如:引入可生产xml消息类型的jar包。* 将输入的内容读成指定的类型并返回。* 返回支持是消息转换器的媒体列表。* 将给定的内容写成指定的类型。* 能否以指定的类读取。* 能否以指定的类写。扩展:自定义消息转换器。二、通过注册Bean。

2023-02-28 16:02:39 597

原创 springBoot内容响应和内容协商原理

/通过循环一个一个判断当前返回值处理器是否支持处理当前返回值。//找到服务器可生产的类型以及游览器可接受的类型,双向同意。//通过游览器可接受的类型和服务器可生产的类型进行匹配。* 当前返回值处理器是否支持处理返回值。2.1:获取游览器可接受的返回值类型。2.2:服务器可生产的返回值类型。//是否支持处理当前返回值。//获取游览器支持的响应类型。//服务器可生产的返回值类型。

2023-02-28 15:16:56 309

原创 springBoot自定义参数类型转换器

/Converter S源类型,T目标类型。方式一:通过实现接口:WebMvcConfigurer 并重写方法的形式。springBoot允许用户自定义转换器,以处理自定义请求参数协议。* 自定义转换逻辑,S源参数类型,T目标参数类型。* 添加自定义格式化器或转换器。

2023-02-28 14:47:33 1043

原创 springBoot请求处理及解析参数

【代码】springBoot请求处理及解析参数。

2023-02-28 14:29:45 823

原创 springBoot请求处理原理---HandlerAdapter

AbstractHandlerMethodAdapter 实现了HandlerAdapter。返回值处理器:HandlerMethodReturnValueHandler。参数解析器:HandlerMethodArgumentResolver。核心:执行handler。

2023-02-28 13:58:38 541

原创 springBoot请求映射原理源码解析(二)

springBoot处理请求通过:DispatcherServlet ->doService->doDispatch(request, response).->getHandler->hand.handler。通过方法:真正执行请求分发。根据请求for循环依次尝试 handler处理器,执行处理。核心代码一:getHandler(processedRequest) 获取处理请求的handler。其中RequestMappingHandlerMapping。

2023-02-28 13:40:01 147

原创 springBoot请求映射原理代码解析(一)

每次发送请求是如何找到那个接口处理这些请求?在springBoot中所有请求都会被:DispatcherServlet处理。子类DispatcherServlet 又继承了FrameworkServlet并重写了 它的方法。在FrameworkServlet 子类中重写了doGet....等方法,这些方法直接调用的是。

2023-02-28 12:15:33 213

原创 springBoot对REST支持源码解析

④:判断请求是否在给定的请求集合内:private static final List ALLOWED_METHODS = Collections.unmodifiableList(Arrays.asList(HttpMethod.PUT.name(), HttpMethod.DELETE.name(), HttpMethod.PATCH.name()));②:进入拦截器后检查请求是否是POST请求,请求是否错误。①:表单请求携带参数:_method。

2023-02-28 12:02:00 369

原创 springBoot 处理静态资源原理

> servletRegistrations:注册原生的Servlet组件例如:Servlet/Listener/Filter等,通过注解:@WebServlet @WebFilter @WebListener。该类通过:@EnableConfigurationProperties 绑定配置类:WebMvcProperties.class, WebProperties.class,实现自动配置。二、找到内部类:该内部类任然是一个配置类,由注解:@Configuration标识。

2023-02-28 11:38:16 545

原创 基于java的树形结构数据组装与展开

基于java的树形结构数据组装与展开

2022-03-15 09:51:07 1528

原创 spring boot+dubbo+nacos+seata分布式事务简单实例

一、下载seata服务端软件(以下以windows 为例): ①:下载链接:https://github.com/seata/seata/releases ②:配置seata;打开seata进入conf目录,编辑file 和registy文件(注意:这里file.conf为实力配置文件,最终生效的文件为,类型为:CONF文件) 配置注册中心:打开registy.conf(文件类型为:CONF)----这里使用nacos作为注册中心配置中心也使用nacos...

2021-04-25 15:36:09 494

原创 JavaFX初探一(创建一个简单的JavaFX窗口)

创建一个简单的FX窗口,废话少说直接上代码:一、创建一个主程序-程序入口main public static void main(String[] args) { launch(args); } //启动窗口 @Override public void start(Stage primaryStage) { this.primaryStage=primaryStage; try { ini

2021-01-12 11:28:16 1346

原创 element ui 表格展开问题

element ui提供了针对表格行展开的方法:通过设置 type="expand" 和Scoped slot可以开启展开行功能,el-table-column的模板会被渲染成为展开行的内容,展开行可访问的属性与使用自定义列模板时的Scoped slot相同<el-table-column type="expand">实例:<!-- 示例展示的为展开内容为表格--><template> <el-table :data="tableD...

2020-07-03 13:27:37 1716

原创 C#学习入门(一)

因为是从事的java开发,因此对java相对熟悉,在 工作之余学习一门新的语言是有必要的,因此开始我的C#学习之路,C#和JAVA在语法上有很相似的地方,因此学习相对容易。一、C#命名空间:namespace命名空间的定义是以关键字namespace开始,后跟命名空间的名称,具体代码如:namespace action{ //类信息、等数据}与JAVA想呼应的为package;即java中的包的概念,如:package packageName;不同的是C# 命名...

2020-06-10 14:18:14 418

原创 JS对象数组去重一

实际开发中常常要用到前端js对象数组去重,网上方法大同小异,然后有些确没有经过实践,现提供经过实践的方法:js对象数组求补集: var B=b;//数组B let test=A.reduce(function(pre,cur){ if(B.every(item=>item.唯一键!==cur.唯一键)){ ...

2020-04-23 15:16:57 216

原创 vue父子页面参数和事件问题一

一、如何在父组件中打开子组件(弹框) ①:引入子组件import 组件名 from './组件页面' ②:注册子组件:components: {组件名}, ③:在页面中插入组件二、父子组件如何传递参数: ①:子组件注册事件、属性 属性通过使用【:属性名】,事件使用:【@事件名】。其中,属性名在父组件中data()中初始化,事件在父组件:m...

2020-04-22 14:44:52 233

原创 java树形菜单查询(mybatis树形结构查询)

树形菜单在很多系统中都存在,然后在查询的时候确实很费事,如果使用后台代码逻辑去查询,会设计到递归等操作,频繁发起数据库连接,增加数据库压力。经过我多番研究发现mybatis可以实现树形菜单查询(包括多级树);树形菜单如下:该图仅只有三级菜单,但是提供的方法可以做到多级菜单适用一、创建数据库表(略): 具体表中要有 id和父id字段二、创建实体类: ...

2019-07-01 14:32:44 6469

原创 ActiveMQ 学习札记二

在ActiveMQ 学习札记一中写了简单ActiveMQDemo。下面一步一步跟着创建过程分析源码。一、ActiveMQConnectionFactory 创建ActiveMQ连接工厂ActiveMQConnectionFactory 实现了ConnectionFactory, QueueConnectionFactory, TopicConnectionFactory。因此可以创...

2019-06-13 11:38:23 605

原创 ActiveMQ 学习札记一

Apache ActiveMQ™是最流行的开源,多协议,基于Java的消息服务器。它支持行业标准协议,因此用户可以通过广泛的语言和平台获得客户选择的好处。可以使用C,C ++,Python,.Net等连接。使用无处不在的AMQP协议集成您的多平台应用程序。使用STOMP通过websockets在Web应用程序之间交换消息。使用MQTT管理您的IoT设备。支持您现有的JMS基础架构及其他。...

2019-06-12 14:29:46 293

原创 spring容器之ApplicationContext

一、ApplicationContext:是spring继BeanFactory之外的另一个核心接口或容器,允许容器通过应用程序上下文环境创建、获取、管理bean。为应用程序提供配置的中央接口。在应用程序运行时这是只读的,但如果实现支持这一点,则可以重新加载。一个ApplicationContext提供:•访问应用程序组件的Bean工厂方法。从org.springframework.bea...

2019-05-16 14:16:28 59477

原创 BeanFactory容器之AutowireCapableBeanFactory、HierarchicalBeanFactory、ListableBeanFactory

一、AutowireCapableBeanFactory:提供了自动装配Bean的实现,提供bean创建(带有构造函数解析)、属性填充、连接(包括自动装配)和初始化。处理运行时bean引用、解析托管集合、调用初始化方法等。支持自动装配构造函数、按名称的属性和按类型的属性。其通过实现类AbstractAutowireCapableBeanFactory 实现bean的创建,对应源码:...

2019-05-16 10:46:52 996

原创 spring中的BeanFacoty和ApplicationContext

一、顶级Factory-BeanFactory:是所有Factory的父级,是spring 的核心,spring IOC容器通过BeanFactory创建、管理Bean。提供了用于访问Spring IoC容器的根接口。其子类包括:ApplicationContext,AutowireCapableBeanFactory,ConfigurableApplicationContext,Configur...

2019-05-15 15:34:41 476

原创 java 对象clone之 深克隆、浅克隆

话不多说上代码解释深浅克隆:建立两个对象student和teacher:public class student implements Serializable,Cloneable{//实现克隆空接口Cloneable    /**     * 序列id     */    private static final long serialVersionUID = -51034173...

2018-07-19 11:33:51 299

原创 java 解析xml

 简单的使用JAXBContext进行object和xml之间的转换:            JAXBContext context = JAXBContext.newInstance(clazz);              // 进行将Xml转成对象的核心接口              Unmarshaller unmarshaller = context.createUnmarsha...

2018-07-18 16:36:27 222

原创 java webService接口如何传参和接收参数

一、获取接口信息:   使用工具soapUI获取接口调用信息:   双击request:复制接口调用格式:webService接口通常传递xml参数因此需要组装数据: ①若传递单个参数则:&lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cen...

2018-07-18 16:25:31 44995 3

原创 java 调用webService接口

  由于项目中使用webService接口,因此学习了下如何调用webService接口。一、使用httpClient调用webService接口:    public static String executeWebService(String urls,String soapXml) throws IOException {            //设置url,不是WSDL地址 ...

2018-07-18 16:06:20 671

原创 java SSM 开发webservice接口

      之所以写这篇文章是因为公司有一个项目要用webservice进行开发,由于之前没有接触过webservcie接口。因此在网上简单的学习了一下如果用java开发并发布webservice接口。简单的webservice接口示例:@WebService  public class JwsServiceHello {    /**     * 非静态方法,改方法会被发布出去 ...

2018-07-18 15:54:38 2016 1

原创 spring boot +activeMQ(一)

        ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。多种语言和协议编写客户端。语言: Java,C,C++,C#,Ruby,Perl,Python,PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP。引用...

2018-06-25 20:26:00 576

原创 spring 底层简单分析(一)

spring通过IOC和DI进行bean的依赖和管理,其中spring具体结构如下:    其中core container是spring的核心内容包括:core:为spring提供uitl的支持协助context、bean进行spring管理。contex:为bean提供spring的环境、提供bean的各种信息。bean:spring 核心组件中的核心组件,为spring提供Bean,相当于O...

2018-06-21 15:32:53 380

原创 java 框架之Jersey+springboot 简单学习(一)

     Jersey RESTful 框架是开源的RESTful框架, 实现了JAX-RS (JSR 311 &amp; JSR 339) 规范。它扩展了JAX-RS 参考实现, 提供了更多的特性和工具, 可以进一步地简化 RESTful service 和 client 开发。尽管相对年轻,它已经是一个产品级的 RESTful service 和 client 框架。与Struts类似,它同样...

2018-06-15 14:27:03 1975

原创 并发 同步器CyclicBarrier(循环栅栏)、CountDownLatch(闭锁)、Semaphore(信号灯)---简单学习

CyclicBarrier:java.util.concurrent.CyclicBarrier包下提供的一个同步器类,该类会等待指定个数的线程全部执行完后才执行后续逻辑。该类提供了两个构造函数:注:译自java apiCyclicBarrier(int parties)创建一个新的循环栅栏,当给定的缔约方(线程)等待它时,它将会等待,并且当栅栏被等待时,它不会执行预先定义的操作CyclicBar...

2018-06-12 16:37:31 389

原创 分布式服务架构之Hessian原理分析(一)

使用HessianServiceExporter向外暴露服务,接收请求:HessianServiceExporter接收到请求后通过调用handleRequest的invoke进一步执行请求:在invoke中,拿到请求的Servlet  InputStream检索请求体作为二进制数据,返回数据也是一个适合在响应中写入二进制数据的Servlet Output Stream。servlet容器不对二进...

2018-06-07 15:23:02 1755

原创 分布式框架之Hessian简单了解

Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。使用Hessian调用远程接口,更简单、快捷、方便。下面是我整合spring boot+Hessian的简单应用测试。一、服务端(客户端一致)引入Hessian依赖:...

2018-06-07 14:28:47 1173

如何实现大客户沟通中的价值创造.pdf

本PDF是是时代光华管理课程中 如何实现大客户沟通中的价值创造亲测答案

2019-06-13

Spring.MVC-A.Tutorial-Spring.MVC学习指南.rar

Spring MVC是Spring框架中用于Web应用快速开发的一个模块,其中的MVC是Model-View-Controller的缩写。作为当今业界最主流的Web开发框架,Spring MVC已经成为当前最热门的开发技能,同时也广泛用于桌面开发领域。 本书重在讲述如何通过Spring MVC来开发基于Java的Web应用。全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,本书还配有丰富的示例以供读者练习和参考。 本书是一本Spring MVC的教程,内容细致、讲解清晰,非常适合Web开发者和想要使用Spring MVC开发基于Java的Web应用的读者阅读。

2019-06-13

算法导论第三版(中文版)-1.rar

本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。本书还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问题的NP完全性的证明等内容。全书提供了900多个练习题和思考题以及叙述较为详细的实例研究。 本书内容丰富,对本科生的数据结构课程和研究生的算法课程都是很实用的教材。本书在读者的职业生涯中,也是一本案头的数学参考书或工程实践手册。

2019-06-13

大型网站技术架构.rar

本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布、运维监控等在内的大型网站开发全景视图。 本书不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经理、项目经理、测试运维人员等了解网站技术架构的基础概念;还可供包括企业系统开发人员在内的各类软件开发从业人员借鉴,了解大型网站的解决方案和开发理念

2019-06-13

空空如也

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

TA关注的人

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