Mycat 源码阅读之JarLoader
package io.mycat.config.classloader;
import java.util.jar.*;
import java.lang.reflect.*;
import java.net.URL;
import java.net.URLClassLoader;
import java.io.*;
import java.util.*;
public class JarLoader {
/** Unpack a jar file into a directory. */
public static void unJar(File jarFile, File toDir) throws IOException {
JarFile jar = new JarFile(jarFile);
try {
Enumeration entries = jar.entries();
while (entries.hasMoreElements()) {
JarEntry entry = (JarEntry)entries.nextElement();
if (!entry.isDirectory()) {
InputStream in = jar.getInputStream(entry);
try {
File file = new File(toDir, entry.getName());
if (!file.getParentFile().mkdirs() && !file.getParentFile().isDirectory()) {
throw new IOException("Mkdirs failed to create " +
file.getParentFile().toString());
}
OutputStream out = new FileOutputStream(file);
try {
byte[] buffer = new byte[8192];
int i;
while ((i = in.read(buffer)) != -1) {
out.write(buffer, 0, i);
}
} finally {
out.close();
}
} finally {
in.close();
}
}
}
} finally {
jar.close();
}
}
}
测试代码:
public class JarDemo {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
File jarFile = new File("C:/Intel/joda-time-2.3.jar");
File toDir = new File("C:/Intel");
JarLoader.unJar(jarFile, toDir);
}
}
解压之后的文件夹
Mycat类图研究
相关推荐
Mycat源码分析Mycat源码分析Mycat源码分析Mycat源码分析Mycat源码分析
深入研究Mycat-Server 1.6的源码,可以帮助开发者理解其内部机制,比如连接管理、SQL解析、事务处理、负载均衡等模块。源码阅读有助于定制化开发和优化性能,例如针对特定业务场景调整分片策略,或者改进SQL执行效率...
本文将深入探讨Mycat 1.6的核心概念、设计原理以及源码解析,帮助读者了解并掌握这款强大的数据库中间件。 1. **Mycat架构概述** Mycat采用主备模式设计,主要由Server节点和Schema节点构成。Server节点负责处理...
《深入解析Mycat-Server-1.6源码》 Mycat是开源的分布式数据库中间件,它主要用于解决大数据环境下数据分片、...因此,对于有志于在大数据领域深入研究的开发者来说,掌握Mycat-Server-1.6的源码是必不可少的一步。
总结来说,Mycat源码包包含了大量的设计思想和技术实现,如分库分表策略、读写分离机制、数据复制与一致性保证、SQL优化以及监控管理等。通过对这些源码的深入学习,开发者不仅可以掌握Mycat的运作方式,也能提升...
一个彻底开源的,面向企业应用开发的“大数据库集群”,支持事务、ACID、是一个加强版的数据库,结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品,一个新颖的数据库中间件产品。
通过深入研究Mycat2 v1.21-2022-4-7的源码,开发者不仅可以掌握分布式数据库中间件的设计理念,还能提升在大数据环境下解决实际问题的能力。对于希望从事分布式数据库领域的工程师来说,这是一份宝贵的参考资料。
《深入剖析Mycat-Server源码:Eclipse调试与Maven实践》 Mycat,作为一款开源的分布式数据库中间件,广泛应用于大数据环境下的高并发、高性能场景。其核心在于提供数据分片、读写分离以及负载均衡等功能,为大型...
《深入解析mycat1.6源码:一次技术探索之旅》 Mycat,作为一款开源的分布式数据库中间件,广泛应用于大型分布式系统中,它实现了数据分片、读写分离、故障切换等功能,为高并发、大数据量的场景提供了优秀的解决...
MyCat是一个开源的分布式数据库系统,它是基于MySQL协议的分布式数据库中间件,旨在提供高性能、高可用性和易扩展性的数据库解决方案。MyCat的设计目标是为了解决单一数据库服务器性能瓶颈和数据容量限制的问题,...
该项目为基于Java开发的高性能MySQL集群中间件Mycat-Server的设计源码,总计包含1123个文件。其中,Java源文件占比最高,达到998个,此外还包括29个XML配置文件、22个文本文件、19个属性文件、14个HTML文件、8个PNG...
【标题】"兼容高版本驱动的mycat1.6.6源码"涉及的主要知识点是Mycat数据库中间件与MySQL驱动以及Druid连接池的兼容性问题。Mycat是一款开源的分布式数据库系统,它作为数据库中间件,用于解决大数据量、高并发场景下...
Mycat2 v1.21-2022-4-7源码(Mycat2-1.21-2022-4-7.zip)
Mycat 几种分片规则的使用说明以及例子 第5课 Mycat跨分片问题 Mycat跨分片聚合处理、Mycat跨分片JOIN、Mycat分布式事务 第6课 Mycat性能测试与调优 Mycat性能参数及调优 Mycat性能测试 第7课 Mycat高可用...
内含:mycat-web文本安装教程和基础环境包(javajdk,zookeeper,mycat-web,mycat-server)以及本人购买的mycat学习视频(安装配置,分库分表,主从复制读写分离)
Mycat-server-1.6.7.6-release.jar 源码所需的pom.xml文件
### Mycat从入门到精通之Mycat源码分析 #### 一、NIO源码分析 Mycat作为一个高性能的数据库中间件,在其架构设计上充分利用了Java NIO技术来提升性能。NIO(Non-blocking I/O)是非阻塞I/O的简称,通过采用非阻塞...
Mycat 2.0 预览版。 基于Nio实现,有效管理线程,解决高并发问题。 前后端共享buffer,支持全透传和半透传,极致提升内核性能,稳定性和兼容性。 功能特性 支持SQL92标准。 支持单库内任意sql。 支持读写...
命令行工具指南 第4课 Mycat分片规则详解 Mycat 几种分片规则的使用说明以及例子 第5课 Mycat跨分片问题 Mycat跨分片聚合处理、Mycat跨分片JOIN、Mycat分布式事务 第6课 Mycat性能测试 与调优 Mycat性能参数及调优 ...
基于MyCat1.6正式版的源码修改的,支持subTables的按月分表正则配置 subTables=“ tableName_$201701-?” subTableWay="BYMONTH" 表示从201701月份开始进行分表处理,?表示当前日期的月份,是动态的。只需配置开始...