自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 拷贝粘贴踩坑之Content-length

最近在开发时遇到需要上传文件的功能,我自然而然地上网找了段实现上传功能的代码。我的程序有两个地方需要上传文件,这段代码在一处能用,另一处就报错了。代码如下:File file = new File( "文件路径" ); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);

2021-05-12 15:53:28 688

原创 设备的IP与网关IP可以不在同一个网段

设备的IP与网关IP可以不在同一个网段这是一个伪命题!设备IP与网关IP必须在同一个网段,是基本性原则。最近遇到这样的情况,比如:类型IP值设备192.168.7.8子网掩码255.255.240.0网关192.168.9.1一眼看去,感觉不对劲。我们一般都认为IP前三个字段来表示网段,最后一个字段表示主机。但是,这只能说明我们对网络划分的基本原理没掌握好。在实际生产当中,由于网络资源的非常紧张,网络工程师对网络划分技术运用得扛扛的。结合子网掩码进行分析

2021-04-30 17:59:09 11316

原创 数据存储的随想

文章目录数据分布的演变数据的使用总结数据分布的演变数据分布就是一个关于数据存放在哪里的问题。数据存储的地方不是固定的。随着应用规模的扩大,为了治理的方便,会适时地调整,其中就会包括数据存储的调整:数据与应用部署在同一台设备。在早期以及我们现在刚入门学习编程的时候,都会把数据存储在本地,比如:本地文件或者本地的小型数据库。随着数据的扩大,对数据运算的次数将会急剧增多。应用本身需要运算,再叠加上数据运算,这必然导致设备的资源使用率高升。因此,出现下一阶段的演变。数据与应用分别部署。这种部署方

2020-10-24 10:21:09 447

原创 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 861

原创 Mysql Connector/J 源码分析(Replication)

文章目录前言名词定义一、Replication的逻辑结构前言本文讨论Connector/J 的loadbalance模块。我们先观察整个模块的大概逻辑结构和每一个大组件的作用。然后在代码层面分析对于异常的控制,这里会有两个“区分”:1)区分构造连接过程和使用连接过程;2)区分通讯异常和数据异常。最终分析此模式的实用性。本次分析的版本为5.1.46。若通过maven下载,可添加以下依赖:<dependency> <groupId>mysql</groupId&gt

2020-10-07 19:31:54 978 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 1956 3

原创 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 1529 3

原创 Mysql Connector/J 源码分析(综述)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言我们使用JAVA语言开发的项目,如果应用需要连接到mysql数据库,必须会使用到mysql的connector/j的包,我们通过它来实现数据的增删改查。接下来我会尝试分析这个包的源码,到底是如何实现这些操作的。这个包有好几块特性,我将分开若干篇章来分析它的底层实现方式。本文先介绍这个包的逻辑结构。本次分析的..

2020-09-05 12:40:48 894

原创 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 2057 3

原创 SpringFramework事件与监听机制(泛型事件)

SpringBoot版本:2.0.2.RELEASESpringFramework版本:5.0.6.RELEASE文章目录实现泛型的机制泛型事件的发布测试实现泛型的机制前了前面几篇文章的铺陈,这个话题就容易描述了,读者可顾回这几篇文章:《SpringFramework事件与监听机制(发布器)》《SpringFramework事件与监听机制(事件)》《SpringFramework事件与监听机制(监听器)》泛型事件的发布AbstractApplicationContext作为Applic

2020-08-23 23:14:37 1013

原创 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 482

原创 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 274

原创 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 217

原创 SpringBoot事件与监听机制

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入fdsadfsafsafsfds欢迎使用Markdown编辑器aaaaaddddaaa你好!

2020-08-02 21:13:42 838

原创 SpringBoot:自动装配提速设计

名词约定:配置类:指使用了@Configuration、@Component、@ComponentScan、@Import、@ImportResource、@Bean的类SpringBoot的设计思想就是通过一个配置类导入多个项目范围内适用的配置类到spring容器里。单个配置类封装成ConfigurationClass对象后,它的处理过程如图:通常,如果一个配置类的元标注含有Import标注,解析这个配置类时,程序就会进入ConfigurationClassParser#pr...

2020-07-07 15:21:17 181

原创 SpringBoot:ConfigurationClass的处理过程

前文讲到SpringBoot通过启动时传入的配置类,最终导入程序需要使用的所有配置类到spring中,以完成自动装配。本文主要讲述单个ConfigurationClass在它的一生中,是如何被处理的。它的一生经历了两个阶段,一个是parse阶段,一个是read阶段。read阶段就是图的下半部分棕红色节点。parse阶段由ConfigurationClassParser执行,它是对配置类进行解析,并设置ConfigurationClass的各属性。read阶段由ConfigurationCla

2020-07-03 01:48:57 398

原创 SpringBoot自动装配的设计思想

我首先要感谢《SpringBoot编程思想(核心篇)》的作者,写了这么用心的书。书的内容确实如作者所说,对spring要有一定的了解,看起来才不会太费劲。在此,经过九牛二虎之力反复钻研书籍和代码后,从设计思想的层面来描述下自动装配的构思。名词约定: 配置类:指使用了@Configuration、@Component、@ComponentScan、@Import、@ImportResource、@Bean的类 元标注:指标注使用的标注 种子配置类:SpringApplicat...

2020-06-26 01:06:13 214

原创 我这样解决MySQL Server Instance Configuration Wizard无响应

MySQL Server Instance Configuration Wizard无响应的另类处理

2017-04-29 16:06:52 7063 1

原创 Nginx关于连接超时配置的实验

最近在断断续续研究Nginx+Memcached+Tomcat实现均衡负载。总算搞出来了,在我另一博文有总结。本文根据别人对Nginx连接超时的配置,结合自己实验的经验,来做个总结。环境搭建如下:1.宿主机是WIN7,安装了Nginx2.有3个tomcat以及memcached安装在同一个虚拟机里。系统是CentOs。第三个tomcat作为后备机。3.通过httpwatch来观察请

2017-02-12 23:26:17 82722

原创 nginx+tomcat+memcached不成功的总结

近日试着搭建nginx+tomcat+memcached,想实现共享session,久久不能成功。要么报java.lang.NoSuchFieldError: attributes要么报final方法被重载要么根本不生效。经过不断的尝试,终于成功了。在此说说不成功的原因:1. 包版本不匹配。比如,会报final方法被重载,或者报NoSuchFiledError.2. man

2017-01-24 21:52:32 1077

原创 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 698

原创 javascript闭包应用

感谢《JavaScript王者归来》作者月影,之前对闭包一点都不懂,看过他的书后,终于懂一点了。以下的例子是创建一个集合,这个集合可以指定数据类型,也可以不指定。另外一个each方法很有意思。/** * 生成一个泛型的List集合 */function ListClassFactory(type){    var data=[];    var ret = function(){        this.append.apply(this,arguments);    }  

2011-04-17 11:11:00 398

原创 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 631

原创 java原生的RMI与spring的RMI

 RMI应用程序通常包括两个独立的程序:服务器程序和客户机程序。典型的服务器应用程序将创建多个远程对象,使这些远程对象能够被引用,然后等待客户机调用这些远程对象的方法。而典型的客户机程序则从服务器中得到一个或多个远程对象的引用,然后调用远程对象的方法。RMI为服务器和客户机进行通信和信息传递提供了一种机制。   在与远程对象的通信过程中,RMI使用标准机制:stub和skeleton。远程对象的stub担当远程对象的客户本地代表或代理人角色。调用程序将调用本地stub的方法,而本地stub将负责执行对远程对

2011-02-21 14:40:00 1064 4

原创 Spring事务总结

我之前对事务一支半解,通过查资料,把一些模糊的知识弄懂了,感谢以下链接作者:http://cupoy.javaeye.com/blog/251796http://en.wikipedia.org/wiki/Isolation_%28computer_science%29#READ_COMMITTEDhttp://www.javaeye.com/topic/332577http://www.javaeye.com/topic/866364http://www.javaeye.com/topic/78674(介

2011-02-18 11:50:00 426

原创 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 336

原创 ubuntu10+java+oracle11g2r (二)

现在介绍如何通过java来连接刚装上的oracle11g2r数据库。java用jdbc连数库的方法是不变的。我用的帐户密码是:scott /  tiger 。我的测试类要读取emp表的数据。在运行以测试类前,我们要先打开数据库,并且也要打开监听器!如何打开数据库跟监听器,ubuntu10+java+oracle11g2r (一)有介绍。我的测试类如下:import java.sql.Connection;import java.sql.DriverManager;import java.sql.

2010-10-17 14:42:00 259

原创 ubuntu10+java+oracle11g2r (一)

文先介绍在ubuntu10下安装oracle11g2r,下一篇文章装介绍如果通过java访问这个oracle11g2r数据库的emp表数据。我是ubuntu以及oracle的新手,所以凭我一个人力量是无法做得到的,因此感謝以下链接的作者,他们教会了我如何安装以及使用oracle。http://blog.sina.com.cn/s/blog_6c9018eb0100m7vf.html (主要介绍了安装的步骤)http://ncowboy.blog.51cto.com/36000/343856  (主要介绍如何

2010-10-17 14:03:00 475

原创 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 3299 4

原创 ubuntu10上安装mysql

安装服务器与客户端sudo apt-get install mysql-server进入命令行模式1.mysql -u 用户名 -p2.输入密码进入图形界面模式1.安装软件System-->Administration Synaptic Package Manager安装mysql-query-browser  mysql-admin  mysql-gui-tools-common2.Applications-->Programming中多了MYSQL Administr

2010-08-14 23:33:00 498

原创 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 6756 3

原创 ubuntu10上安装jdk6

为了在ubuntu10上安装jdk6,我参考以下网页,谢谢那些作者。http://hi.baidu.com/china_ebaby/blog/item/155c87ddb17072d38c1029de.htmlhttp://hi.baidu.com/jacklock/blog/item/7e5053034290a0044bfb518f.htmlhttp://goby2008.javae

2010-07-04 10:04:00 845

原创 ubuntu10上安装万能五笔

我听同事说ubuntu上运行eclipse会比window上快,我抱着好奇就安装了ubuntu来试玩玩。安装完毕,上网找资料的时候,发现我需要中文输入,尤其是五笔。后来返回到window上上网搜索,找到了些资料,知道如何通过ibus来使用拼音,以及如何安装万能五笔了。此文章就是在ubnutu10的平台上,通过万能五笔来写的。文章的目的是记下如何开通ibus来使用拼音,以及如何安装万能五笔。

2010-07-03 15:21:00 1383

原创 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 1411

原创 Eclipse + Struts2.x+Spring2.x+Dwr3.x

我了解过官网关于dwr3的介绍后,发现它介绍的配置dwr的方法不是与spring结合的。也就是说每次进行dwr访问,系统都会重新new一个service来异步处理我们的请求。这对于简单的功能是没什么问题的,但如果涉及到复杂的逻辑处理,特别是需要synchronized的场合,就会出现问题了。所以我在网上专门找把

2010-04-21 13:43:00 1476 1

原创 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 6059 7

原创 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 3416 3

nginx+tomcat+memcached例子

tomcat的lib内已经包括了相关的jar

2017-01-12

空空如也

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

TA关注的人

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