暂无个人介绍
暂时未有相关通用技术能力~
阿里云技能认证
详细说明死磕Tomcat系列(3)——Tomcat如何做到一键式启停的 在没有SpringBoot内嵌有Tomcat之前,我们都是将项目打为War包放在Tomcat的webapp目录下面,然后如果是Linux系统,运行命令start.sh、如果是Windows系统,运行命令start.bat以后就能启动起来并访问到页面。
死磕Tomcat系列(2)——EndPoint源码解析 在上一节中我们描述了Tomcat的整体架构,我们知道了Tomcat分为两个大组件,一个连接器和一个容器。而我们这次要讲的EndPoint的组件就是属于连接器里面的。
死磕Tomcat系列(1)——整体架构 在许多的高端开发的岗位中都会或多或少有要求面试人员要研究过一些常用中间件源码。这是因为一切的秘密都是藏在源码中,阅读源码能够让我们对框架或者中间件的理解更加深刻,而我们也能够在源码的研究中获得其中一些优秀的设计方式。
如何断点调试Tomcat源码 Tomcat作为一个老牌的一个Web容器框架,用途十分的广泛。无论是为了学习其框架的整体设计还是为了碰到问题更好的解决,作为程序员我们都应该对于Tomcat有一定的了解。
工作半年遇到最奇葩的问题 背景 公司最近买了一套项目,在启动的时候出现了一系列奇怪的问题,对方的技术栈要求是Tomcat7启动,但是由于我们公司出于安全的考虑所以是要求用Tomcat9进行启动的。 问题描述 下面情况都是相同war包相同Tomcat情况下 系统 Tomcat版本 能否启动 Windows Tomcat7 能 Windows Tomcat9 能 macOS Tomcat7 能 macOS Tomcat9 不能 Linux Tomcat7 能 Linux Tomcat9 不能 由于对于项目的不熟悉,导致找了很久才找出来原因。
适配器模式 智者千虑必有一失,愚者千虑必有一得 在我们开发过程中也会经常碰到一些给原有的系统加一些功能,所以不管前期我们呢可行性、需求分析和系统设计处理的多好,随着时间的推移,总会出一些“意外”。
JAVA中NIO再深入 在上一章节的JAVA中的I/O和NIO我们学习了如何使用NIO,接下来再深入了解一下关于NIO的知识。 缓冲器内部的细节 Buffer由数据和可以高效地访问及操作这些数据的四个索引组成。
String字符串中获取所有匹配结果的索引值 例如现在我们有这样一段代码 public interface ActErrorHisMapper { public List getPage(Map params); public L...
在工作中被逼出来的解决之道 相信初入职场的小伙伴们肯定经历过在组内统计一些东西的事情,简单却繁琐。前一段时间给了一个关于统计组内各个系统中都用了哪些用户下的表的任务。
JAVA中的I/O和NIO I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。
在使用MyBatis时,有时候会想,为什么只写一个接口没有编写任何的实现类,但是就能返回接口的实例,并且调用接口的方法返回数据库中的数据?此时脑海中浮现了写动态代理时候的记忆,记得动态代理也是接管了接口,不需要实际的代理角色。
装饰模式 在开始之前 我们可以用一个简单的例子引出来装饰模式,在小的时候,相信大家都有过这样的经历:小学每年会有好几次的考试,如果有一次成绩非常差,而且考完以后学校会有个很损的招,就是打印出来成绩单,然后让家长签字。
新的博客的地址 http://modouxiansheng.top/,在简书中也会更新文章,有感兴趣的小伙伴可以进去看看。有什么问题可以随时指出来。
Spring注入后反射的空指针异常 自动装配是在spring环境下当使用该类的实例时由spring容器完成了类的实例化过程,包括对依赖对象的实例化过程。
1. 出现的异常以信息 代码如下: Mapper接口中的代码: List queryTransCdByType(String type); MapperXML中的SQL代码: SELECT * FROM 表名 t where 1=1 and t.
组合模式 在DebugMybatis的源码时,在DynamicSqlSource.getBoundSql动态获取sql的时候,Debug会发现相同的方法但是进去的实现类却不相同,不明白为什么会这样,于是上网查了资料说是运用了组合的设计模式。
动态代理 1. 什么是动态代理 在上一章节中,我们讲的是代理其实都是静态代理,动态代理是在运行阶段动态的创建代理并且动态的处理对所代理方法的调用。在动态代理上所做的所有调用都会被重定向到单一的调用处理器中。
1. 代理 Provide a surrogate or placeholder for another object to control access to it(为其他对象提供一种代理以控制对这个对象的访问) 1.1 什么是代理 代理是基本的设计模式之一,它是你为了提供额外或者不同的行为,而插入的用来代替”实际对象“的对象。
反射和内省的区别 内省是基于反射实现的,主要用来操作JavaBean,通过内省可以很方便的动态获得bean的set/get方法,属性,方法名,他相当于是反射的工具类一样 1. 反射 反射其实简单来说就是通过类的名字获得对于这个类的描述,这种描述包括方法、构造器、属性的描述。
反射:运行时的类信息 运行时类型信息使得你可以在程序运行时发现和使用类型信息 1. Class对象 通过Class对象可以在运行时发现一个对象完整的类继承结构 类是程序的一部分,每一个类都会有一个Class对象。
SpringBoot--Actuator 1. 初识Actuator 在开发过程中,项目被放置到生产服务器上运行时,有可能需要我们全方位的监控应用服务的运行情况。
SpringBoot 1.创建自己的Auto-configuration 无论是在公司中你想开发自己的一套框架,定制一些东西,或者是在开源网站中分享自己做的一些东西。
SpringBoot 1 连接数据库 Spring框架为连接数据库提供了许多的帮助,从JDBC连接到使用JdbcTemplate完成元素之间的映射技术。例如Hibernate、Spring Data提供了更高级别的功能,创建Repository的实现,用接口中的方法和xml文件具体SQL的映射,使得用java调用Sql更加简便。
InterruptedException异常 在了解InterruptedException异常之前应该了解以下的几个关于线程的一些基础知识。而且得知道什么时候会抛InterruptedException异常 当阻塞方法收到中断请求的时候就会抛出In...
SpringBoot 1.开发一个Web程序 SpringBoot是非常适合开发Web应用的,因为他内嵌有Tomcat、Jetty、Undertow或者Netty。
SpringBoot 1.Profiles Spring Profiles能够在不同的环境中使不同的应用配置生效。@Component和@Configuration两个注解都能够通过@Profiles来标记。
SpringBoot-外部资源的配置 1.外部资源的配置优先级 为了能够在不同的环境运行不同的配置文件,或者有些代码的一些变量是跟随着环境的改变而改变的,这时候就需要在外部做一些配置。
SpringBoot 1.Starters Starters是一套技术,是什么技术呢?是SpringBoot整理出来,人们经常要用的技术。有了starters人们在想要使用这些技术的时候,就不用扒之前的老代码将那些依赖啊或者配置的都拷贝过来,只需要加上SpringBoot提供的依赖就行,它自动会进行依赖管理。
SpringBoot 1.SpringBoot简介 在刚接触SSM框架的时候,想必都会被这个框架的配置文件所烦扰,需要自己手动配置的东西非常多,哪怕有些东西自己不需要也是需要配置的。