其他
文章平均质量分 70
其他
代老板说
这个作者很懒,什么都没留下…
展开
-
Tomcat9源代码浅析-类加载体系
Tomcat作为Web容器,支持多个应用程序的部署运行,其中会涉及应用程序间类库的隔离和共享,例如不同不同应用程序既可以使用某个工具类库的不同版本但互不影响,亦可以共享使用某个类库。面对以上问题,本文将基于Tomcat9,浅析Tomcat的类加载体系。原创 2019-10-21 16:46:41 · 450 阅读 · 0 评论 -
Tomcat9源代码浅析-请求处理
概述请求处理源码分析原创 2019-11-08 14:04:01 · 520 阅读 · 0 评论 -
一次JVM内存溢出的处理过程
概要笔者所管理的测试一台业务服务器,近期经常被反馈应用卡顿并且出现过多次内存溢出,本篇为对此问题的处理过程的记录。服务器环境采用Oracle JDK1.6,虚拟机为HosSpot,Web容器为Tomcat7。处理过程获取堆内存转储快照在用户反馈系统卡顿时,登陆服务器通过命令查看内存使用情况jps #获取java的进程IDjstat -gc 31795 #31795为jps查询到的进程...原创 2019-10-15 21:55:30 · 256 阅读 · 0 评论 -
Spring Boot CLI的使用
Spring Boot CLISpring Boot CLI (Command Line Interface)是一个命令行工具,可以让你快速体验spring,你可以使用它运行Groovy脚本。WIndows环境安装和使用下载Spring CLI安装包:https://repo.spring.io/release/org/springframework/boot/spring-boot-cl...原创 2019-11-15 17:42:42 · 149 阅读 · 0 评论 -
Spring Framework源代码环境搭建
概要本文介绍使用IntelliJ IDEA搭建Spring Framework源代码环境,用于源代码阅读与debug。环境搭建1.下载源代码访问Spring Framework在GitHub的地址,下载最新源代码。本人在下载时,版本号为5.2.2.BUILD-SNAPSHOThttps://github.com/spring-projects/spring-framework2.根...原创 2019-11-20 11:14:08 · 784 阅读 · 0 评论 -
Git常用操作之远程仓库
远程仓库Git是分布式版本管理系统,每个客户端节点都是一个完整的版本仓库,节点之间可以互相同步,这样即使在没有网络的情况下,也可以在自己本机的仓库进行修改提交,等到有网络时,在推送修改内容至远程仓库,远程仓库是公共的,其他人就可以同步你提交的内容。GitHub和码云均能提供Git远程仓库,远程仓库可以通过SSH加密的方式进行通讯,则需要生成公钥并添加至GitHub或码云中,此后则可以与远程仓库...原创 2020-04-23 17:41:26 · 210 阅读 · 0 评论 -
Tomcat9源代码浅析-环境搭建
1.概要Apache Tomcat是一个非常受欢迎的开源Web容器,使用Java语言开发。近期公司开始推行开源技术的应用,目前正在将Weblogic替换为Tomcat,我们称之为W2T。本系列为项目过程中对Tomcat 9源代码分析的记录,过程中主要参考了官方文档以及网络上的博客。本篇为源代码分析的第一步,源代码环境的构建。2.构建步骤完整的构建步骤说明为源代码中的BUILDING...原创 2019-10-15 21:54:35 · 185 阅读 · 0 评论 -
PostgreSQL与Oracle的sql差异
1.rownum(1)Oracle分页查询使用rownum,PostgreSQL使用limit offsetOraclePostgreSQLselect * from (select rownum r,e.* from emp e where rownum <=5) t where r>0;select * from emp limit 5 offset...原创 2020-04-21 17:01:02 · 1280 阅读 · 0 评论 -
Git常用操作之分支管理
分支管理创建与合并分支Git的分支是非常强大的工具,在开发新功能或修复缺陷,均推荐使用分支来进行处理。在Git中创建、切换和删除分支都非常快速,下面开始进行实际操作。首先创建一个新的分支dev# git checkout -b dev切换到一个新分支 'dev'git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:$ git branch dev$ git ...原创 2020-04-23 17:41:50 · 476 阅读 · 0 评论 -
Git常用操作之标签管理
标签管理####创建标签命令git tag tagname 用于新建一个标签,默认为HEAD,也可以指定一个commit id;命令git tag -a tagname -m "blablabla…"可以指定标签信息,其中-a指定标签名称,-m指定标签信息。可以用git show tagname 查看标签信息。命令git tag可以查看所有标签。####操作...原创 2020-04-23 17:42:28 · 109 阅读 · 0 评论 -
Linux环境Tomcat不能被shutdown.sh正常关闭
问题分析在Linux环境下,使用shutdown.sh脚本关闭Tomcat,经常会出现无法正常关闭的情况,使用ps -ef命令查看发现仍然有tomcat的进程。查看linux日志以及源代码,问题出在WebappClassLoaderBase中,此类为Context的类加载器父类,在容器关闭时,会调用其stop方法,stop方法会调用clearReferencesThreads方法priva...原创 2019-11-12 14:44:06 · 581 阅读 · 0 评论 -
SoapUI5.5设置请求超时时间
路径位置:Preferences > HTTP settings > Socket Timeout原创 2019-10-23 10:05:27 · 4625 阅读 · 0 评论 -
SpringSecurity总体架构
SpringSecurity是能够提供身份认证(Authentication)和访问控制(Authorization)的Java应用框架,同时还支持多种安全机制以及OAuth2、SMAL2等协议,是一款功能强大的框架。SpringSecurity是基于Servlet Filter实现,在应用中注册一个Filter,其设计思想为委托代理,是用于处理SpringSecurity逻辑功能的入口。Spr...原创 2020-04-25 12:29:25 · 573 阅读 · 0 评论 -
Tomcat9源代码浅析-seesion管理
概述在日常开发中我们经常会接触到session的应用,例如用来存放用户的登陆、身份、权限等信息,尤其涉及到分布式系统,需要特殊处理session。本文将浅析Tomcat9中session的管理。源码解析session相关共有两个类:StandardSession:默认的session的类,是对session的系统抽象StandardManager:默认的session管理类,管理ses...原创 2019-11-12 14:42:57 · 270 阅读 · 0 评论 -
Git常用操作之基本操作
设置名字和邮箱git config --global user.name "Your Name"git config --global user.email "email@example.com"创建版本库使用git init命令,将一个目录创建为版本库创建成功后目标目录中会生成一个.git目录,此目录Git的管理信息。git init把文件添加到版本库在版本库目录创建一个测...原创 2020-04-23 17:40:19 · 219 阅读 · 0 评论 -
Tomcat9源代码浅析-容器的结构与生命周期
概述容器设计模式源代码分析原创 2019-11-05 13:58:48 · 162 阅读 · 0 评论 -
Tomcat9源代码浅析-启动与server.xml加载
概述Tomcat启动server.xml解析框架server.xml解析源代码解析原创 2019-10-22 14:33:02 · 649 阅读 · 0 评论 -
PowerDesigner连接Oracle逆向生成数据模型
软件版本PowerDesigner15Oracle Database 11g Enterprise Edition操作过程配置数据库连接原创 2020-09-16 11:14:19 · 441 阅读 · 0 评论 -
Spring Security身份认证Authentication
文章目录Authentication(身份认证框架)的架构SecurityContextHolderAuthenticationManagerAbstractAuthenticationProcessingFilter关于密码存储密码存储的历史Spring Scurity中的密码存储机制用户/密码认证根据HttpRequest提取用户密码的方式区分FormLogin 页面表单登陆默认页面登陆认证自...原创 2020-04-26 15:10:26 · 6232 阅读 · 2 评论 -
Spring Security OAuth2 Login学习及浅析
概述OAuth2是一个授权框架的标准,Spring Security对OAuth2.0的支持加以改造适配,支持用户使用已有的其他系统账户登陆应用(框架中默认支持包括GitHub, Facebook, Google, Okta)。OAuth2.0 LoginSpring Security OAuth2.0 Login是基于OAuth2.0协议和OpenID Connect Core1.0协议,按照其中的授权码模式实现。使用GitHub账号登陆GitHub中注册应用设置地址为:https://git原创 2020-06-11 15:10:49 · 3432 阅读 · 0 评论 -
Weblogic迁移至Tomcat总结
概述近期参与了公司的另一个项目,将业务系统的中间件由Weblogic替换为Tomcat,具体的版本为:Weblogic10 + JDK6 ==> Tomcat7 + JDK6针对过程中遇到的问题与解决做总结记录。总结主要差异点中间件差别:Weblogic10与Tomcat7,Weblogic为Oracle公司的商用中间件支持Servlet规范EJB规范等,Tomcat只...原创 2020-04-27 09:33:41 · 5422 阅读 · 2 评论 -
Spring FrameWork是什么
Spring使得建设企业应用变得简单了,Spring提供了Java领域的一切,包括对Groovy和Kotlin这两种可选语言的支持,能够根据应用需求构建多种架构。Spring Framework 5.1之后需要JDK8+,目前已经支持JDK11 LTS,Java SE 8 update 60是支持的最低版本。Spring支持多种应用场景,比如运行在JDK和服务器上,也可以是一个内嵌的Jar文件,甚至是在云环境。Spring是开源的并且其社区非常活跃,社区中能接收到行业各异的真是用户的反馈,这使得Spr.原创 2021-10-21 16:59:45 · 1210 阅读 · 0 评论 -
SpringBoot banner生成工具
工具地址:http://patorjk.com/software/taag/原创 2020-04-28 10:50:41 · 495 阅读 · 2 评论 -
Maven快速上手
创建项目首先需要创建一个用于存储项目的文件夹,在控制台中输入以下命令:mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false如果你刚刚安装Maven,则这个命令会需要消耗一些时间,因为Maven需要下载一些插件或者文件至你本地原创 2020-10-10 22:02:27 · 210 阅读 · 0 评论 -
Win10下修改JDK环境Path不切换版本问题
删除目录C:\Windows\System32中的 java.exe,javaw.exe,javaws.exe原创 2020-10-15 15:09:43 · 103 阅读 · 0 评论 -
Maven是什么
介绍Maven是意第绪语的词汇,意思是“知识的积累”,最初是在Jakarta Turbine项目中尝试使项目构建过程简化,期望有一种标准的项目构建方式,能清晰的表达项目的构成、简单的方式发布项目、能够在不同的项目中分享JAR。现在Maven已经能够用于构建和管理任何Java项目,使得Java开发者的日常工作更加简单。Maven的目的Maven的主要目标是使开发者能够快速的理解开发工作的完成状态,为了实现这个目标,Maven包含以下特性:使构建过程更加简单提供统一的构建系统提供高质量的项目信息原创 2020-09-30 11:09:39 · 953 阅读 · 0 评论 -
Maven的POM
介绍Maven的POM文件配置原创 2022-01-19 10:04:11 · 518 阅读 · 1 评论 -
Eclipse免安装/绿色版下载
点击以下链接,进入Eclipse下载页面:https://www.eclipse.org/downloads/选择 Download Packages(如果直接点击下载按钮,则下载的为安装文件,安装时需要连接网络)进入下载列表页面,选择需要下载的版本选择镜像,可以选择距离近的镜像地址进行下载...原创 2020-06-08 15:35:55 · 5217 阅读 · 0 评论 -
12-Factor APP学习及浅析
简介如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或软件即服务(SaaS)。12-Factor 为构建如下的 SaaS 应用提供了方法论:使用标准化流程自动配置,从而使新的开发者花费最少的学习成本加入这个项目。和操作系统之间尽可能的划清界限,在各个系统中提供最大的可移植性。适合部署在现代的云计算平台,从而在服务器和系统管理方面节省资源。将开发环境和生产环境的差异降至最低,并使用持续交付实施敏捷开发。可以在工具、架构和开发流程不发生明显变化的前提下实现扩展。这套理论适用于任意转载 2020-05-18 11:22:13 · 991 阅读 · 0 评论 -
Spring Security访问控制Authorization
文章目录Authorization架构用户权限Authorities前置调用处理AccessDecisionManager基于选举机制的AccessDecisionManagerRoleVoterAuthenticatedVoter其它AccessDecisionVoter后置调用处理HTTP请求访问控制 FilterSecurityInterceptor表达式访问控制规则常见的表达式方法Web ...原创 2020-04-28 10:06:18 · 3089 阅读 · 0 评论 -
Eclipse安装反编译插件
1.进入到Eclipse的插件市场2.检索decompile,安装Enhanced Class Decompiler点击install安装,过程可能出现提示,点击Install Anyway,直接进行安装3.设置文件关联General > Editors > File Associations对*.class、*.class without source 设置安装的Decompiler设置默认工具...原创 2020-09-24 10:56:17 · 560 阅读 · 0 评论 -
Maven的初步使用
确保JAVA_HOME环境变量已正确设置下载文件并解压下载地址:https://maven.apache.org/download.cgiunzip apache-maven-3.6.3-bin.ziportar xzvf apache-maven-3.6.3-bin.tar.gz添加Maven的bin目录值PATH环境变量在控制台输入mvn -v,出现类似以下信息则表示安装成功Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a.原创 2020-10-09 17:37:38 · 5450 阅读 · 0 评论 -
OpenID Connect 1.0学习及浅析
概述OpenID Connect 1.0协议是基于OAuth2.0协议的简单身份认证协议,客户端可以利用此协议对终端用户进行身份认证,而认证过程是通过独立的认证服务器进行,同时还可以获取终端用户的基本信息协议流程RP(客户端)发送请求至OpenID提供者(OP)OP验证终端用户OP返回ID Token,通常是Access TokenRP使用Access Token发送请求OP的UserInfo Endpoint请求用户信息UserInfo Endpoint返回终端用户信息...原创 2020-05-14 15:10:52 · 1086 阅读 · 0 评论 -
Maven使用手册
文章目录什么是Maven如何创建Maven工程编译应用源代码如何编译测试源代码和运行单元测试如何创建JAR并安装到本地资源库什么是快照版本如何使用插件如何为JAR添加资源如何过滤资源文件如何使用外部依赖如何发布自己的jar到远程仓库如何创建其他类型的工程如何同时构建多个工程什么是MavenMaven首先是一种最佳实践的模式,通过提供一些标准来提高效率。Maven本质是项目管理的工具,它能提供:Builds 构建管理Reporting 报告管理Denpendencies 依赖管理SCMs 软件配原创 2020-11-04 22:04:55 · 297 阅读 · 0 评论 -
OAuth2.0学习及浅析
概述OAuth 2.0 授权框架能够是第三方应用获取应用被保护的服务资源,它是一种授权互联网标准,由IETF(Internet Engineering Task Force)管理发布。本文主要参考材料为 RFC 6749初步理解接下来以一个生活中的例子来简单解释OAuth2的应用场景。我家所在的小区门禁系统升级,用户可以下载物业的手机APP,注册用户并通过物业审核之后,就可以使用APP中的“蓝牙开门”功能开启大门。有一次,朋友给我打电话说要到我家拜访,通过访客邀请功能填写基本的信息,然后发送一原创 2020-05-11 14:47:47 · 260 阅读 · 0 评论 -
Maven构建生命周期
介绍Maven的构建生命周期原创 2022-01-10 11:05:20 · 1028 阅读 · 0 评论 -
dbeaver连接mysql8提示Unable to load authentication plugin ‘caching_sha2_password‘.
修改mysql配置文件my.ini(位置:C:\ProgramData\MySQL\MySQL Server 8.0\my.ini),重启mysqldefault_authentication_plugin=mysql_native_password参考:https://stackoverflow.com/questions/49194719/authentication-plugin-caching-sha2-password-cannot-be-loaded...原创 2020-09-18 08:56:37 · 350 阅读 · 0 评论