Java阵营
文章平均质量分 78
yyb_gz
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
拷贝粘贴踩坑之Content-length
最近在开发时遇到需要上传文件的功能,我自然而然地上网找了段实现上传功能的代码。我的程序有两个地方需要上传文件,这段代码在一处能用,另一处就报错了。代码如下:File file = new File( "文件路径" ); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);原创 2021-05-12 15:53:28 · 948 阅读 · 0 评论 -
数据存储的随想
文章目录数据分布的演变数据的使用总结数据分布的演变数据分布就是一个关于数据存放在哪里的问题。数据存储的地方不是固定的。随着应用规模的扩大,为了治理的方便,会适时地调整,其中就会包括数据存储的调整:数据与应用部署在同一台设备。在早期以及我们现在刚入门学习编程的时候,都会把数据存储在本地,比如:本地文件或者本地的小型数据库。随着数据的扩大,对数据运算的次数将会急剧增多。应用本身需要运算,再叠加上数据运算,这必然导致设备的资源使用率高升。因此,出现下一阶段的演变。数据与应用分别部署。这种部署方原创 2020-10-24 10:21:09 · 689 阅读 · 0 评论 -
Mysql Connector/J 源码分析(Replication)
文章目录前言名词定义一、Replication的逻辑结构前言本文讨论Connector/J 的loadbalance模块。我们先观察整个模块的大概逻辑结构和每一个大组件的作用。然后在代码层面分析对于异常的控制,这里会有两个“区分”:1)区分构造连接过程和使用连接过程;2)区分通讯异常和数据异常。最终分析此模式的实用性。本次分析的版本为5.1.46。若通过maven下载,可添加以下依赖:<dependency> <groupId>mysql</groupId>原创 2020-10-07 19:31:54 · 1221 阅读 · 1 评论 -
Mysql Connector/J 源码分析(LoadBalance)
文章目录前言名词定义一、Loadbalance的逻辑结构二、异常处理机制1.构造阶段前言本文讨论Connector/J 的loadbalance模块。我们先观察整个模块的大概逻辑结构和每一个大组件的作用。然后在代码层面分析对于异常的控制,这里会有两个“区分”:1)区分构造连接过程和使用连接过程;2)区分通讯异常和数据异常。最终分析此模式的实用性。本次分析的版本为5.1.46。若通过maven下载,可添加以下依赖:<dependency> <groupId>mysql&原创 2020-10-03 15:53:26 · 2622 阅读 · 3 评论 -
Mysql Connector/J 源码分析(Failover)
文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言本文讨论Connector/J 的failover模块。通过获取连接,我们观察连接的构造,获得相关类的UML图,进而分析failover的运行机制,最终分析此模式的实用性。本次分析的版本为5.1.46。若通过maven下载,可添加以下依赖:<dependency> <groupId>mysql</groupId> &...原创 2020-10-12 18:08:33 · 1262 阅读 · 0 评论 -
Mysql Connector/J 源码分析(普通Connection)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言《Mysql Connector/J 源码分析(综述)》提到普通的Connection是最基本的连接。本文试图揭开它的内幕,看看它是如何与Mysql交互的。本次分析的版本为5.1.46。若通过maven下载,可添加以下依赖:<dependency> <groupId>m..原创 2020-09-07 13:13:27 · 2234 阅读 · 3 评论 -
Mysql Connector/J 源码分析(综述)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言我们使用JAVA语言开发的项目,如果应用需要连接到mysql数据库,必须会使用到mysql的connector/j的包,我们通过它来实现数据的增删改查。接下来我会尝试分析这个包的源码,到底是如何实现这些操作的。这个包有好几块特性,我将分开若干篇章来分析它的底层实现方式。本文先介绍这个包的逻辑结构。本次分析的..原创 2020-09-05 12:40:48 · 1158 阅读 · 0 评论 -
SpringFramework事件与监听机制(@EventListener)
SpringBoot版本:2.0.2.RELEASESpringFramework版本:5.0.6.RELEASE文章目录@EventListener的初始化工作@EventListener的转换之前的“SpringFramework事件与监听机制”系列文章已经从接口层面上介绍了事件、监听器和发布器。然使用@EventListener也能达到ApplicationLister接口的效果,据我们对spring的认识,它们不会轻易放过代码重用的机会,那么@EventListener的使用,背后与Appli原创 2020-08-24 15:04:20 · 2314 阅读 · 3 评论 -
SpringFramework事件与监听机制(泛型事件)
SpringBoot版本:2.0.2.RELEASESpringFramework版本:5.0.6.RELEASE文章目录实现泛型的机制泛型事件的发布测试实现泛型的机制前了前面几篇文章的铺陈,这个话题就容易描述了,读者可顾回这几篇文章:《SpringFramework事件与监听机制(发布器)》《SpringFramework事件与监听机制(事件)》《SpringFramework事件与监听机制(监听器)》泛型事件的发布AbstractApplicationContext作为Applic原创 2020-08-23 23:14:37 · 1428 阅读 · 0 评论 -
SpringFramework事件与监听机制(监听器)
SpringBoot版本:2.0.2.RELEASESpringFramework版本:5.0.6.RELEASE文章目录SpringFramework的监听者监听者从何而来来自SpringBoot的监听器来自SpringFramework的监听器监听器监听的事件监听器实现的接口GenericApplicationListenerAdapter的定义实现ApplicationListener接口的Listener实现GenericApplicationListener接口的Listener实现Gener原创 2020-08-23 10:35:28 · 733 阅读 · 0 评论 -
SpringFramework事件与监听机制(事件)
SpringBoot版本:2.0.2.RELEASESpringFramework版本:5.0.6.RELEASE文章目录SpringFramework事件与监听机制SpringFramework的事件SpringFramework与SpringBoot的事件关系类定义层面的关系发布事件的时机SpringFramework事件与监听机制SpringFramework的事件随着SpringBoot工程的启动,程序会历经以下代码段:SpringApplication.run(XXXX.class,a原创 2020-08-23 09:52:21 · 415 阅读 · 0 评论 -
SpringFramework事件与监听机制(发布器)
本文通过SpringBoot项目的运行,来探讨Spring事件与监听机制,与上文《SpringBoot事件与监听机制》存在关联性,该文提出的疑问将在本文作出回答。本文除了探讨Spring事件与监听机制,也会尽最大努力与运行中的SpringBoot的事件与监听机制一并分析,揭开他们的关系。SpringBoot版本:2.0.2.RELEASESpring版本:5.0.6.RELEASE文章目录Spring事件与监听机制Spring的事件Spring与SpringBoot的事件关系类定义层面的关系发布事件的原创 2020-08-16 15:56:18 · 323 阅读 · 0 评论 -
SpringBoot事件与监听机制
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入fdsadfsafsafsfds欢迎使用Markdown编辑器aaaaaddddaaa你好!原创 2020-08-02 21:13:42 · 1136 阅读 · 0 评论 -
SpringBoot:自动装配提速设计
名词约定:配置类:指使用了@Configuration、@Component、@ComponentScan、@Import、@ImportResource、@Bean的类SpringBoot的设计思想就是通过一个配置类导入多个项目范围内适用的配置类到spring容器里。单个配置类封装成ConfigurationClass对象后,它的处理过程如图:通常,如果一个配置类的元标注含有Import标注,解析这个配置类时,程序就会进入ConfigurationClassParser#pr...原创 2020-07-07 15:21:17 · 270 阅读 · 0 评论 -
SpringBoot:ConfigurationClass的处理过程
前文讲到SpringBoot通过启动时传入的配置类,最终导入程序需要使用的所有配置类到spring中,以完成自动装配。本文主要讲述单个ConfigurationClass在它的一生中,是如何被处理的。它的一生经历了两个阶段,一个是parse阶段,一个是read阶段。read阶段就是图的下半部分棕红色节点。parse阶段由ConfigurationClassParser执行,它是对配置类进行解析,并设置ConfigurationClass的各属性。read阶段由ConfigurationCla原创 2020-07-03 01:48:57 · 517 阅读 · 0 评论 -
SpringBoot自动装配的设计思想
我首先要感谢《SpringBoot编程思想(核心篇)》的作者,写了这么用心的书。书的内容确实如作者所说,对spring要有一定的了解,看起来才不会太费劲。在此,经过九牛二虎之力反复钻研书籍和代码后,从设计思想的层面来描述下自动装配的构思。名词约定: 配置类:指使用了@Configuration、@Component、@ComponentScan、@Import、@ImportResource、@Bean的类 元标注:指标注使用的标注 种子配置类:SpringApplicat...原创 2020-06-26 01:06:13 · 307 阅读 · 0 评论 -
CXF开发WebService客户端
开发必备1.apache-cxf-2.2.62.spring-ws-1.5.83.eclipse-jee-galileo-SR1-win32 开发步骤:一、新建一个普通的java工程,名字叫WebService_CXF_Client二、导入apache-cxf-2.2.6 及 spring-ws-1.5.8 下的jar包三、启动《CXF开发WebService原创 2010-03-13 11:46:00 · 6162 阅读 · 7 评论 -
Eclipse + Struts2.x+Spring2.x+Dwr3.x
我了解过官网关于dwr3的介绍后,发现它介绍的配置dwr的方法不是与spring结合的。也就是说每次进行dwr访问,系统都会重新new一个service来异步处理我们的请求。这对于简单的功能是没什么问题的,但如果涉及到复杂的逻辑处理,特别是需要synchronized的场合,就会出现问题了。所以我在网上专门找把原创 2010-04-21 13:43:00 · 1602 阅读 · 1 评论 -
jquery ui 实现table的sortable功能以及过滤记录功能
<br />本人在工作中曾使用js实现过用鼠标拖动表格的行实现重新排序的功能。当时写了不少的js代码。最近发现jquery ui也能实现这个功能,而且很方便,真后悔当时不知道有这么个好东东。好,现在介绍下如何使用jquery ui来实现。<br /> <br />引入的js文件<br /><script type="text/javascript" src="js/jquery-1.4.2.js"></script><br /><script type="text/javascript" src="js原创 2010-08-01 14:27:00 · 6876 阅读 · 3 评论 -
DWR3.0实现对象的传递
<br />在本例中,列举了从页面传递单个对象/对象集合/对象map集合到服务端;以及页面从服务端获取单个对象/对象集合/对象map集合/单个对象的string形式/多个对象的string形式的方法。关于使用多个对象的string形式,下文会有说明。<br /> <br />新建Dynamic Web Project工程,工程名为dwr3test。<br /> <br />复制DWR3最新的类库到/WEB-INF/lib内。<br /> <br />web.xml内容如下:<br /><?xmlversio原创 2010-06-07 09:28:00 · 1509 阅读 · 0 评论 -
spring3.0.3+hibernate3.5.4+JOTM2.2.1实现JTA事务管理
本文参考资料:http://java.e800.com.cn/articles/2007/417/1176746498587392322_1.html实验方法:本文设置两个entity(Topic, Post ),在事务处理中,如果不抛异常,就分别往Topic与Post所对应数据库的表添加一条记录;如果抛异常,则两个数据库的表不添加记录。Topic的类定义以下映射文件如下:package entity;public class Topic { private long oid; pr原创 2010-09-23 18:39:00 · 3371 阅读 · 4 评论 -
springsecurity2.0.6代码分析成果
<br />之前也试着玩过springsecurity,这回把它搬到项目中,却遇到了意想不到的麻烦。我定义了一些角色与资源,下表显示了它们的情况:<br /> <br />Loginer Role Resource Description<br />admin ROLE_ADMIN /*/*.action 能访问所有的action资源<br />us原创 2011-01-17 16:44:00 · 397 阅读 · 0 评论 -
java原生的hessian和spring的hessian
//服务端与客户端共用的接口package server.service;import server.entity.Student;public interface IRemoteService{ public Student fullfillStudent(Student student); public Student createStudent(String name,int age); public String sayHello(String name);}//服务端接口实现类package se原创 2011-02-22 10:34:00 · 687 阅读 · 0 评论 -
javascript闭包应用
感谢《JavaScript王者归来》作者月影,之前对闭包一点都不懂,看过他的书后,终于懂一点了。以下的例子是创建一个集合,这个集合可以指定数据类型,也可以不指定。另外一个each方法很有意思。/** * 生成一个泛型的List集合 */function ListClassFactory(type){ var data=[]; var ret = function(){ this.append.apply(this,arguments); }原创 2011-04-17 11:11:00 · 461 阅读 · 0 评论 -
Junit3代码分析
<br />TestRunner.main是我们启航的地方:<br /><br />public static void main(String args[]) {<br /> TestRunner aTestRunner= new TestRunner();<br /> try {<br /> TestResult r= aTestRunner.start(args);<br /> if (!r.wasSuccessful()) <br />原创 2011-04-24 16:28:00 · 793 阅读 · 0 评论 -
CXF开发WebService服务器端
开发必备1.apache-cxf-2.2.62.spring-ws-1.5.83.eclipse-jee-galileo-SR1-win32 开发步骤:一、新建一个Dynamic Web Project工程。名字叫WebService_CXF_Host二、将apache-cxf-2.2.6 及 spring-ws-1.5.8 下的jar包拷贝到 WebService_C原创 2010-03-13 11:41:00 · 3502 阅读 · 3 评论
分享