易兮科技团队官方博客

自学之路 路路皆通 摒弃杂念 从一而终

  • 博客(114)
  • 资源 (4)
  • 收藏
  • 关注

原创 易兮科技博客总纲

2020年Java后端技术栈学习路线图[从理论到实战]第一阶段 JavaSE基础JDK与JRE数据类型、运算符流程控制语句方法的使用、数组面向对象、封装JDK1.8常用API继承、抽象接口、多态权限修饰符、内部类、Lambda表达式时间与日历类集合概述、迭代器、泛型单列集合双列集合异常线程概述线程通信、线程池文件类、递归IO流、字符流、字节流、属性操作缓冲流、转换流、序列流、打印流TCP、UDP、网络通信反射、注解枚举第二阶段 JavaSE进阶Java

2020-08-22 19:06:46 34403 24

原创 Spring系列第十九讲 @Configuration和@Bean注解详解

Spring系列第十九讲@Configuration注解用法总结@Bean注解用法案例去掉@Configuration会怎样?新建一个ConfigBean1类来个测试用例test2@Configuration加不加到底区别在哪?再来一个加@Configuration的案例不加的案例spring这块的源码@Configuration注解用法@Configuration这个注解可以加在类上,让这个类的功能等同于一个bean xml配置文件,如下:@Configurationpublic class C

2020-11-15 19:51:45 826

原创 Spring系列第十八讲 深入理解Java注解及Spring对注解的增强(下)

Spring系列第十八讲@Inherit:实现类之间的注解继承用法案例@Repeatable重复使用注解使用步骤为注解指定容器使用注解获取注解信息先来看一个问题Spring @AliasFor:对注解进行增强案例1:通过@AliasFor解决刚才难题案例2:同一个注解中使用@AliasFor案例3:@AliasFor中不指定value和attribute@Inherit:实现类之间的注解继承用法来看一下这个注解的源码@Documented@Retention(RetentionPolicy.RU

2020-11-15 19:21:39 775

原创 Spring系列第十七讲 深入理解Java注解及Spring对注解的增强(上)

Spring系列第十七讲什么是注解?注解如何使用?定义注解定义注解语法注解中定义参数指定注解的使用范围:@Target指定注解的保留策略:@Retention使用注解语法无参注解一个参数的注解一个参数为value的注解,可以省略参数名称数组类型参数为参数指定默认值综合案例@Target(ElementType.TYPE_PARAMETER)@Target(ElementType.TYPE_USE)注解信息的获取AnnotatedElement常用方法案例解析类上的注解解析类上的类型变量解析字段name上的注

2020-11-15 19:12:16 739

原创 Spring系列第十六讲 Spring中的Java动态代理技术(下)

Spring系列第十六讲什么是cglibcglib组成结构5个案例来演示cglib常见的用法案例1:拦截所有方法(MethodInterceptor)案例2:拦截所有方法(MethodInterceptor)案例3:拦截所有方法并返回固定值(FixedValue)案例4:直接放行,不做任何操作(NoOp.INSTANCE)案例5:不同的方法使用不同的拦截器(CallbackFilter)案例6:对案例5的优化(CallbackHelper)案例6:实现通用的统计任意类方法耗时代理类CGLIB和Java动态代

2020-10-25 17:42:04 4258 2

原创 Spring系列第十五讲 Spring中的Java动态代理技术(上)

Spring系列第十五讲为什么要用代理jdk动态代理详解java.lang.reflect.ProxygetProxyClass方法newProxyInstance方法isProxy方法getInvocationHandler方法创建代理:方式一创建代理:方式二案例:任意接口中的方法耗时统计Proxy使用注意为什么要用代理我们先来看一个案例。有一个接口IService,如下:package com.javacode2018.lesson001.demo15;public interface IS

2020-10-25 17:31:45 9043 25

原创 网络安全第六讲 入侵检测系统

网络信息安全第六讲 入侵检测系统一 入侵检测定义入侵:指一系列试图破坏信息资源机密性、完整性和可用性的行为。对信息系统的非授权访问及(或)未经许可在信息系统中进行操作。入侵检测:是通过从计算机网络系统中的若干关键节点收集信息,并分析这些信息,监控网络中是否有违反安全策略的行为或者是否存在入侵行为,是对指向计算和网络资源的恶意行为的识别和响应过程。入侵检测系统(IDS):入侵检测系统通过监视受保护系统的状态和活动,采用异常检测或滥用检测的方式,发现非授权的或恶意的系统及网络行为,为防范入侵行为提供

2020-10-24 17:14:22 5769 7

原创 网络安全第五讲 网络攻击技术分析

网络信息安全第五讲 网络攻击技术分析按照攻击目的,可将攻击分为破坏型和入侵型两种类型。破坏型攻击以破坏目标为目的,但攻击者不能随意控制目标的系统资源。入侵型攻击以控制目标为目的,比破坏型攻击威胁更大,常见的攻击类型多为入侵型攻击。攻击主要内容一 网络信息采集入侵者一般首先通过网络扫描技术进行网络信息采集,获取网络拓扑结构、发现网络漏洞、探查主机基本情况和端口开放程度,为实施攻击提供必要的信息。网络信息采集有多种途径,既可以使用诸如ping、whois等网络测试命令实现,也可以通过漏洞

2020-10-24 17:06:30 11162 25

原创 网络安全第四讲 防火墙工作原理及应用

网络信息安全第四讲 防火墙工作原理及应用一 防火墙概念与分类1.防火墙简介防火墙允许授权的数据通过,而拒绝未经授权的数据通信。网络防火墙是隔离内部网与Internet之间的一道防御系统,允许人们在内部网和开放的Internet之间通信。访问者必须首先穿越防火墙的安全防线,才能接触目标计算机。在没有防火墙时,局域网内部的每个节点都暴露给Internet上的其它主机,此时内部网的安全性要由每个节点的坚固程度来决定,且安全性等同于其中最薄弱的节点。使用防火墙后,防火墙会将内部网的安全性统一到它自身,网

2020-10-20 08:31:41 6138 9

原创 网络安全第三讲 身份认证与访问控制

网络信息安全第三讲 身份认证与访问控制一 身份标识与鉴别1.身份标识与鉴别概念身份标识就是能够证明用户身份的用户独有的生物特征或行为特征,此特征要求具有唯一性,如用户的指纹、视网膜等生物特征及声音、笔迹、签名等行为特征;或他所能提供的用于识别自己身份的信息,如口令、密码等。相比较而言,后一种的安全系数较低,密码容易被遗忘或被窃取,身份可能会被冒充。鉴别是对网络中的主体进行验证的过程,证实用户身份与其声称的身份是否相符。2.身份认证的过程身份认证的过程根据身份认证方法的不同而不同分为:

2020-10-20 08:25:57 6851 11

原创 网络安全系列第二讲 信息加密技术基础

网络信息安全第二讲 信息加密技术基础一 信息加密理论基础1.信息熵基本知识信息熵(information entropy)是对信息状态“无序”与“不确定”的度量(从本质上讲,熵不是对信息的度量,但信息的增加而使产生的熵减小,熵可以用来度量信息的增益)。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jrzuxBuI-1603017997835)(C:\Users\17840\AppData\Roaming\Typora\typora-user-images\i

2020-10-18 20:46:21 7317 7

原创 网络安全系列第一讲 计算机网络安全概述

网络信息安全第一讲 计算机网络安全概述一 网络安全基本概念1.网络安全定义安全在字典中的定义是为了防范间谍活动或蓄意破坏、犯罪、攻击而采取的措施。网络安全就是为了防范计算机网络硬件、软件、数据被偶然或蓄意破坏、篡改、窃听、假冒、泄露、非法访问以及保护网络系统持续有效工作的措施总和。网络安全保护范围:密码安全、计算机系统安全、网络安全、信息安全。2.网络安全目标可靠性(reliability)是所有信息系统正常运行的基本前提,通常指信息系统能够在规定的条件与时间内完成规定功能

2020-10-18 09:40:52 8492 11

原创 Spring系列第十四讲 单例bean中使用多例bean,你未必会玩?

Spring系列第十四讲lookup-method:方法查找案例单例bean中使用多例bean:ApplicationContext接口的方式单例bean中使用多例bean:lookup-method方式实现replaced-method:方法替换replaced-method的使用3个步骤步骤一:定义替换者步骤二:定义替换者bean步骤三:通过replaced-method元素配置目标bean需要被替换的方法案例总结lookup-method:方法查找通常情况下,我们使用的bean都是单例的,如果一个

2020-10-17 09:28:46 6694

原创 Spring系列第十三讲 使用继承简化bean配置(abstract & parent)

Spring系列第十三讲先来看一个案例通过继承优化代码总结先来看一个案例ServiceA.javapackage com.javacode2018.lesson001.demo12;public class ServiceA {}ServiceB.javapackage com.javacode2018.lesson001.demo12;public class ServiceB { private String name; private ServiceA servi

2020-10-17 08:52:57 6632 2

原创 Spring系列第十二讲 lazy-init:bean延迟初始化

Spring系列第十二讲bean实时初始化实时初始化bean的有一些优点案例测试用例延迟初始化的beanspring对这些问题也提供了解决方案:bean延迟初始化。延迟bean的配置案例2总结bean实时初始化在容器启动过程中被创建组装好的bean,称为实时初始化的bean,spring中默认定义的bean都是实时初始化的bean,这些bean默认都是单例的,在容器启动过程中会被创建好,然后放在spring容器中以供使用。实时初始化bean的有一些优点更早发下bean定义的错误:实时初始化的be

2020-10-17 08:34:31 7808 7

原创 Spring系列第十一讲 bean中的autowire-candidate又是干什么的?

Spring系列第十一讲autowire-candidate做什么事情的?场景1:场景2:autowire-candidates属性解析源码autowire-candidate做什么事情的?上一篇文章Spring系列第10篇:primary可以解决什么问题?中遇到的问题我们再来回顾一下,当容器中某种类型的bean存在多个的时候,此时如果我们从容器中查找这种类型的bean的时候,会报下面这个异常:org.springframework.beans.factory.NoUniqueBeanDefiniti

2020-10-16 22:35:58 6944 6

原创 Spring系列第十篇 primary可以解决什么问题?

Spring系列第十篇存在的问题以及解决方案总结存在的问题以及解决方案直接上案例,通过案例来看技术是如何使用的:package com.javacode2018.lesson001.demo8;public class NormalBean { public interface IService{} //@1 public static class ServiceA implements IService{} //@2 public static class Service

2020-10-16 22:15:20 6893 4

原创 Spring系列第九讲 depend-on到底是干什么的?

Spring系列第九讲无依赖bean创建和销毁的顺序通过构造器强依赖bean创建和销毁顺序通过depend-on干预bean创建和销毁顺序总结无依赖bean创建和销毁的顺序我们先来看一下没有任何依赖的bean的创建和销毁的顺序。下面的xml中定义了3个bean:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:x

2020-10-16 21:56:03 7084 4

原创 Spring系列第八讲 自动注入(autowire)详解,高手在于坚持!

Spring系列第八讲手动注入的不足Class.isAssignableFrom方法用法案例自动注入按照名称进行注入(byName)用法案例优缺点按照类型进行自动注入用法案例优缺点注入类型匹配的所有bean(重点)按照构造函数进行自动注入用法案例autowire=default用法案例总结手动注入的不足上篇文章中介绍了依赖注入中的手动注入,所谓手动注入是指在xml中采用硬编码的方式来配置注入的对象,比如通过构造器注入或者set方法注入,这些注入的方式都存在不足,比如下面代码:public class

2020-10-16 18:56:49 11433 28

原创 Spring系列第八讲 依赖注入之手动注入

Spring系列第八讲依赖回顾依赖对象的初始化方式spring依赖注入通过构造器注入根据构造器参数索引注入用法案例优缺点根据构造器参数类型注入用法案例优缺点根据构造器参数名称注入用法关于方法参数名称的问题案例setter注入用法案例优缺点注入容器中的bean内置bean的方式案例其他类型注入注入java.util.List(list元素)注入java.util.Set(set元素)注入java.util.Map(map元素)注入数组(array元素)注入java.util.Properties(props元

2020-10-16 18:40:33 7142 7

原创 Spring系列第六讲 玩转bean scope,避免跳坑里!

Spring系列第六讲singleton单例bean使用注意prototype结论多例bean使用注意requestsessionapplication自定义scope第1步:实现Scope接口第2步:将自定义的scope注册到容器第3步:使用自定义的作用域总结singleton当scope的值设置为singleton的时候,整个spring容器中只会存在一个bean实例,通过容器多次查找bean的时候(调用BeanFactory的getBean方法或者bean之间注入依赖的bean对象的时候),返回的

2020-10-15 23:33:36 7149 5

原创 Spring系列第五讲 创建bean实例这些方式你们都知道?

Spring系列第五讲通过反射调用构造方法创建bean对象UserModel类beans.xml配置通过静态工厂方法创建bean对象beans.xml配置通过实例工厂方法创建bean对象beans.xml通过FactoryBean来创建bean对象总结通过反射调用构造方法创建bean对象调用类的构造方法获取对应的bean实例,是使用最多的方式,这种方式只需要在xml bean元素中指定class属性,spring容器内部会自动调用该类型的构造方法来创建bean对象,将其放在容器中以供使用。语法&lt

2020-10-15 23:21:42 7168 3

原创 Spring系列第四讲 xml中bean定义详解

Spring系列第四讲bean概念回顾bean xml配置文件格式bean元素格式bean名称bean别名bean名称别名定义规则id和name都未指定alias元素import元素总结bean概念回顾我们再来回顾一下,被spring管理的对象统称为bean,我们程序中需要用到很多对象,我们将这些对象让spring去帮我们创建和管理,我们可以通过bean xml配置文件告诉spring容器需要管理哪些bean,spring帮我们创建和组装好这些bean对象;那么我们如何从spring中获取想要的bean

2020-10-15 23:13:44 7143 2

原创 Spring系列第三讲 Spring容器基本使用及原理

Spring系列第三讲IOC容器Bean概念Spring容器使用步骤Spring容器对象案例总结IOC容器IOC容器是具有依赖注入功能的容器,负责对象的实例化、对象的初始化,对象和对象之间依赖关系配置、对象的销毁、对外提供对象的查找等操作,对象的整个生命周期都是由容器来控制。我们需要使用的对象都由ioc容器进行管理,不需要我们再去手动通过new的方式去创建对象,由ioc容器直接帮我们组装好,当我们需要使用的时候直接从ioc容器中直接获取就可以了。那么spring ioc容器是如何知道需要管理哪些对象呢

2020-10-15 22:58:19 7221 3

原创 Spring系列第二讲 控制反转(IoC)与依赖注入(DI),晦涩难懂么?

Spring系列第二讲引出springspring容器IOC:控制反转DI:依赖注入总结引出spring有2个类,A和B,如下:public class A{ public void m1(){}}public class B{ public void m1();}上面2个类都有同样的m1方法。现在我们调用B的m1方法完成一些事情,而B中的m1方法需要调用A中的m1方法才可以完成这个事情,所以B的代码变成了下面这样:public class B{ privat

2020-10-15 21:26:09 7286 4

原创 Sping系列第一讲 请问各位大佬为何要学spring?

Sping系列第一讲为什么需要学习spring?什么是spring?感受一下spring的强大总结为什么需要学习spring?最大程度的简化了开发spring是一个非常优秀的java框架,其目标是为了简化java企业级开发,spring出来已经十几年了,这期间也一直围绕着这个目标在进行,像后面需要学习的springmvc、springboot、springcloud,这些技术也都是围绕着简化开发的目标在努力,到目前为止已经做的足够好了,可以说spring除了不能帮助我们实现业务逻辑代码之外,其他的

2020-10-15 20:59:28 7349 5

原创 Mybatis系列第十一讲 类型处理器,这个你得会玩!

Mybatis系列第十一讲mybatis内部参数设置和结果的处理自定义类型转换器mybatis内部参数设置和结果的处理先来看一个案例:jdbc的方式插入用户信息,参数为UserModel:public class UserModel { private Integer id; private String name; private Integer age; //省略了get set方法}public static int insert(UserModel us

2020-10-15 20:34:33 7517 3

原创 Mybatis系列第十讲 动态SQL,这么多种你都会?

Mybatis系列第十讲案例sql脚本if元素choose/when/otherwise元素where元素set元素trim元素foreach元素案例:in多值查询案例:批量插入sql/include元素bind元素#和$案例sql脚本DROP DATABASE IF EXISTS `javacode2018`;CREATE DATABASE `javacode2018`;USE `javacode2018`;DROP TABLE IF EXISTS t_user;CREATE TABLE

2020-10-15 20:26:06 10906 24

原创 Mybatis系列第九讲 延迟加载、鉴别器、继承怎么玩?

Mybatis系列第九讲建库建表延迟加载全局配置延迟加载sqlmap中设置延迟加载鉴别器(discriminator)继承(extends)建库建表创建一个db:javacode20184张表:t_user(用户表)t_goods(商品表)t_order(订单表)t_order_detail(订单明细表)表之间的关系:t_order和t_user是一对一的关系,一条订单关联一个用户记录t_order和t_order_detail是一对多关系,每个订单中可能包含多个子订单,每个子订单对应一

2020-10-15 20:15:13 7602 4

原创 Mybatis系列第八讲 自动映射,使用需谨慎!

Mybatis系列第八讲什么是自动映射?自动映射开关mybatis自动映射全局配置NONEPARTIALFULLautoMapping使用案例1示例2总结一下什么是自动映射?介绍自动映射之前先看一下手动映射,如下:<resultMap id="orderModelMap1" type="com.javacode2018.chat05.demo7.model.OrderModel"> <id column="id" property="id"/> <resu

2020-10-15 20:00:56 8095 6

原创 Mybatis系列第七讲 各种查询详解

Mybatis系列第七讲建库建表单表查询(3种方式)需求方式1方式2方式3一对一关联查询(4种方式)方式1方式2方式3一对多查询(2种方式)需求方式1方式2总结建库建表创建一个db:javacode20184张表:t_user(用户表)t_goods(商品表)t_order(订单表)t_order_detail(订单明细表)表之间的关系:t_order和t_user是一对一的关系,一条订单关联一个用户记录t_order和t_order_detail是一对多关系,每个订单中可能包含多个子订

2020-10-15 19:48:57 7918 5

原创 Mybatis系列第六讲 恕我直言,mybatis增删改你未必玩得转!

Mybatis系列第六讲建库建表增删改返回值说明创建案例创建UserModel类创建UserMapper接口创建UserMapper.xml文件创建属性配置文件创建mybatis全局配置文件引入logback日志支持创建测试用例Demo1Test运行测试用例jdbc获取主键的几种方式方式1:jdbc内置的方式方式2:插入之后查询获取方式3:插入之前获取mybatis获取主键的3种方式方式1:内部使用jdbc内置的方式方式2:插入后查询获取主键方式2:插入前查询获取主键建库建表/*创建数据库javacod

2020-10-15 18:46:31 8996 7

原创 Mybatis系列第五讲 Mapper接口多种方式传参详解、原理、源码解析

Mybatis系列第五讲传递一个参数用法案例传递一个参数用法Mapper接口方法中只有一个参数,如:UserModel getByName(String name);Mapper xml引用这个name参数:#{任意合法名称}如:#{name}、#{val}、${x}等等写法都可以引用上面name参数的值。案例...

2020-10-13 23:21:52 8311 10

原创 Mysql系列第二十五讲 mysql如何确保数据不丢失?有几点值得我们借鉴

Mysql系列第二十五讲预备知识mysql确保数据不丢失原理分析做一个总结预备知识mysql内部是使用b+树的结构将数据存储在磁盘中,b+树中节点对应mysql中的页,mysql和磁盘交互的最小单位为页,页默认情况下为16kb,表中的数据记录存储在b+树的叶子节点中,当我们需要修改、删除、插入数据时,都需要按照页来对磁盘进行操作。磁盘顺序写比随机写效率要高很多,通常我们使用的是机械硬盘,机械硬盘写数据的时候涉及磁盘寻道、磁盘旋转寻址、数据写入的时间,耗时比较长,如果是顺序写,省去了寻道和磁盘旋

2020-10-11 18:33:36 8565 11

原创 Mysql系列第二十四讲 聊聊mysql如何实现分布式锁?

Mysql系列第二十四讲分布式锁的功能预备技能:乐观锁使用mysql实现分布式锁建表分布式锁工具类:测试用例分布式锁的功能分布式锁使用者位于不同的机器中,锁获取成功之后,才可以对共享资源进行操作锁具有重入的功能:即一个使用者可以多次获取某个锁获取锁有超时的功能:即在指定的时间内去尝试获取锁,超过了超时时间,如果还未获取成功,则返回获取失败能够自动容错,比如:A机器获取锁lock1之后,在释放锁lock1之前,A机器挂了,导致锁lock1未释放,结果会lock1一直被A机器占有着,遇

2020-10-11 18:10:24 10914 9

原创 Mysql系列第二十三讲 如何正确的使用索引?

Mysql系列第二十三讲先来回顾一些知识b+树中数据检索过程唯一记录检索查询某个值的所有记录范围查找模糊匹配索引区分度正确使用索引无索引检索效果主键检索between and范围检索in的检索多个索引时查询如何走?模糊查询回表索引覆盖索引下推数字使字符串类索引失效函数使索引无效运算符使索引无效使用索引优化排序总结一下使用索引的一些建议先来回顾一些知识本篇文章我们以innodb存储引擎为例来做说明。mysql采用b+树的方式存储索引信息。b+树结构如下:说一下b+树的几个特点:叶子节点(最下

2020-10-09 22:05:39 8476 6

原创 Mysql系列第二十二讲 mysql索引管理详解

Mysql系列第二十二讲索引分类聚集索引非聚集索引(辅助索引)索引管理创建索引删除索引查看索引索引修改示例创建索引并指定长度查看表中的索引删除索引索引分类分为聚集索引和非聚集索引。聚集索引每个表有且一定会有一个聚集索引,整个表的数据存储在聚集索引中,mysql索引是采用B+树结构保存在文件中,叶子节点存储主键的值以及对应记录的数据,非叶子节点不存储记录的数据,只存储主键的值。当表中未指定主键时,mysql内部会自动给每条记录添加一个隐藏的rowid字段(默认4个字节)作为主键,用rowid构建聚集索

2020-10-09 21:51:00 7561 4

原创 Mysql系列第二十一讲 mysql索引原理详解

Mysql系列第二十一讲背景预备知识mysql中的页数据检索过程我们迫切的需求是什么?循环遍历查找二分法查找有序数组链表单链表双向链表二叉查找树二叉树的优缺点:平衡二叉树(AVL树)B-树b+树b+树的特征b+树与b-树的几点不同B-Tree和B+Tree该如何选择?Mysql的存储引擎和索引InnoDB数据检索过程MyISAM数据检索过程页结构对page的结构总结一下背景使用mysql最多的就是查询,我们迫切的希望mysql能查询的更快一些,我们经常用到的查询有:按照id查询唯一一条记录按

2020-10-09 21:35:37 8420 4

原创 Mysql系列第二十讲 什么是索引?

Mysql系列第二十讲方案1方案2方案3方案4理想情况:最坏的情况:索引是什么?本文开始连续3篇详解mysql索引:第1篇来说说什么是索引?第2篇详解Mysql中索引的原理第3篇结合索引详解关键字explain本文为索引第一篇:我们来了解一下什么是索引?路人在搞计算机之前,是负责小区建设规划的,上级领导安排路人负责一个万人小区建设规划,并提了一个要求:可以快速通过户主姓名找到户主的房子;让路人出个好的解决方案。方案1刚开始路人没什么经验,实在想不到什么好办法。路人告诉领导:你可以去敲每户的

2020-10-09 21:22:46 8768 12

原创 Mysql系列第十九讲 异常捕获及处理详解

Mysql系列第十九讲准备数据异常分类Mysql内部异常外部异常准备数据创建库:javacode2018创建表:test1,test1表中的a字段为主键。/*建库javacode2018*/drop database if exists javacode2018;create database javacode2018;/*切换到javacode2018库*/use javacode2018;DROP TABLE IF EXISTS test1;CREATE TABLE test1(

2020-09-28 21:54:06 10394 2

基于区块链的茶叶溯源平台源代码.zip

使用区块链技术简单地搭建了一个溯源平台 使用JavaWeb原生代码,不含任何框架 支持用户再扩展,更改或拓展平台功能 eclipse项目,可使用IDEA或eclipse再开发

2020-08-09

情侣空间网站源码.rar

浪漫大气的情侣网站,支持用户一键式删改 打造自己的情侣小窝。需要专属定做的请微信联系: HD15542547268 谁说程序员不懂浪漫?

2020-08-09

tomcat源码.zip

作者将tomcat安装版的class文件逐个反编译并整合,最后打包还原成tomcat源码形式。非常适合tomcat初学者仔细钻研,读懂tomcat运行机制,从读懂源码开始。

2020-08-08

yixi-dddb-1.6.jar

快速开发JavaWeb项目的”超级工具包“ 工具包详细操作说明,请移步 https://blog.csdn.net/m0_47157676/article/details/107884550?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159688939419725250129684%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159688939419725250129684&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v3~pc_rank_v2-1-107884550.first_rank_ecpm_v3_pc_rank_v2&utm_term=dddb%E8%B6%85%E7%BA%A7%E2%80%9D%E5%B7%A5%E5%85%B7%E5%8C%85%E2%80%94%E2%80%94%E9%AB%98%E6%95%88%E3%80%81%E5%BF%AB%E9%80%9F%E5%BC%80%E5%8F%91JavaWeb%E9%A1%B9%E7%9B%AE%E5%90%8E%E7%AB%AF&spm=1018.2118.3001.4187

2020-08-08

空空如也

空空如也

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

TA关注的人 TA的粉丝

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