自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

孔繁玉的专栏

穷则独善其身,达则兼济天下

  • 博客(167)
  • 资源 (21)
  • 收藏
  • 关注

原创 AI 工具合集

2024-03-15 17:36:05 316

原创 华为鸿蒙认证TTT讲师真题

学员反的所有问题必须在3个工作日内学以明确的答复,同时要向学院承诺后续的跟踪,并在解决问题后电话或邮件与学员联系,特殊问题可以提交交付管理团队和产品团队领导协商,并跟踪解决问题。对于满意度调查中文字意见,学员反馈的问题,()在培训结束后需配合相关部门做问题的跟踪、闭环处理,并于收到邮件的( )个工作日内回复处理结果。结班后的遗留问题(含培训过程中学员反馈的技术问题和其他问题),班主任在培训结束后需配合相关部门做问题的跟踪、闭环处理。如遇紧急情况,及时上报主管和计划员,保证培训按计划顺利交付。

2024-03-12 09:15:14 968

原创 华为鸿蒙认证高级真题

18、在Column和Row容器组件中,alignItems用于设置子组件在主轴方向上的对齐格式,justifyContent用于设置子组件在交叉轴方向上的对齐格式。E. 属性方法:用于组件属性的配置,统一通过属性方法进行设置,如fontSize()、width()、height()、color() 等。D. 内置组件:ArkTS中默认内置的基本组件和布局组件,开发者可以直接调用,如Column、Text、Divider、Button等。5、Video组件可以支持本地视频路径和网络路径播放。

2024-03-12 09:14:21 1927

原创 Python | 机器学习之数据清洗

​​​​​​​。

2024-01-01 11:40:01 708

原创 nginx启动命令和停止命令

501 7114 6417 0 11:02上午 ttys001 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn nginx。注意:nginx被安装到的目录位置:/usr/local/Cellar/nginx。nginx配置文件位置:/usr/local/etc/nginx。4、查看nginx版本号。

2023-01-27 10:56:39 32354 1

原创 macos nginx 安装/卸载,启动/重启/关闭

在macos中使用homebrew安装 brew install nginx,卸载brew uninstall nginx。当前安装版本为1.21.5,安装路径为 /usr/local/Cellar/nginx。配置文件路径为/usr/local/etc/nginx/nginx.conf。nginx -s quit/stop/reload #退出/停止/重启。// 如果是默认位置的配置文件,可以简写为nginx -t。服务器默认路径为/usr/local/var/www。

2023-01-27 10:50:51 4391

原创 报错package xxx is not in GOROOT or GOPATH 或者 cannot find package “xxx“ in any of

问题描述:~/Documents/goproject/src/testproject01/main/unit5/demo09/crm/main » go run main.go [email protected]:6:8: package testproject01/main/unit5/demo09/crm/dbutils is not in GOROOT (/usr/local/go/src/testproject01/main/unit5/demo

2022-01-30 15:35:12 1274

原创 对1234四个数排列组合成无序且不重复的三位数

package com.interview07;/** * Copyright (C), 2018-2021 * FileName: Demo2 * Author: kongfanyu * Date: 2021/3/10 19:10 * 对1234四个数排列组合成无序且不重复的三位数 */public class Demo2 { public static void main(String[] args) { int line = 0; .

2021-03-10 19:25:04 1433 1

原创 HashMap常见面试题整理

HashMap有几种遍历方式?package com.interview.ujiuye10;import java.util.*;/** * Copyright (C), 2018-2021 * FileName: Demo2 * Author: kongfanyu * Date: 2021/2/3 16:43 */public class Demo2 { private static Map<String, String> map = new Ha.

2021-02-03 22:15:17 320

原创 filter、interceptor、aspect应如何选择?

目录前言Filter过滤器Interceptor拦截器Aspect切片总结前言大家应该听说过过滤器、拦截器、切面,印象上都能够起到截断拦截的作用,在做一些业务需求时,不知道如何选择,今天就来介绍一下他们之间的区别。Filter过滤器过滤器可以拦截到方法的请求和响应(ServletRequest request, ServletResponse response),并对请求响应做出过滤操作。过滤器依赖于servlet容器。在实现上,基于函数回调,它可以对几乎所有请求进行过滤,一个过滤

2021-01-19 10:17:11 489 2

原创 03_Spring循环依赖

大厂面试题请谈谈Spring循环依赖?解释下Spring的三级缓存?三级缓存分别是什么?三个map有什么异同?什么是循环依赖?请你谈谈?看过Spring源码吗?一般我们说的spring容器是什么?如何检测是否存在循环依赖?实际开发中见过循环依赖的异常吗?多例的情况下,循环依赖问题为什么无法解决?什么是循环依赖多个bean之间相互依赖,形成一个闭环。比如:A依赖于B、B依赖于C、C依赖于A;通常来说,如果问Spring容器内部如何解决循环依赖,一定是指默认的单例Bean中,属性互相引用的场景

2021-01-19 09:47:12 170 1

原创 03_Spring的AOP执行顺序

AOP的常用注解@Before 前置通知:目标方法之前执行@After 后置通知:目标方法之后执行(始终执行)@AfterReturning:返回后通知,执行方法结束前执行(异常不执行)@AfterThrowing:异常通知,出现异常时候执行@Around:环绕通知,环绕目标方法执行面试题说说aop的全部通知顺序,SpringBoot或SpringBoot2对aop的执行顺序影响;说说你使用aop中碰到的坑;业务类接口CalcServicepublic interface CalcSe

2021-01-19 09:44:17 148

原创 02_AbstactQueuedSynchronizer之ReentantLock

简介Lock接口的实现类,基本都是通过【聚合】了一个【队列同步器】的子类完成线程访问控制的。public class ReentrantLock implements Lock, java.io.Serializable { //Lock接口的实现类 private static final long serialVersionUID = 7373984872572414699L; /** Synchronizer providing all implementation mechani

2021-01-19 09:42:40 99

原创 02_AbstactQueuedSynchronizer之AQS

先总字节跳动及其它大厂面试题说起ReentantLock实现原理,简单说一下AQS?synchronized的锁优化过程,详细说一下吧,偏向锁和轻量级锁有什么区别?前置知识公平锁和非公平锁可重入锁LockSupport自旋锁数据结构之链表设计模式之模板设计模式是什么字面意思抽象的队列同步器源代码public abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchronizer

2021-01-16 23:00:12 123

原创 02_可重入锁(递归锁)+LockSupport+AQS源码分析

题目说明可重入锁可重入锁(递归锁)①. 指的是同一线程外层函数获得锁后,再进入该线程的内层方法会自动获取锁 (前提,锁对象是同一个对象)类似于家里面的大门,进入之后可以进入厕所、厨房等②. Java中ReentranLock(显示锁)和synchronized(隐式锁)都是可重入锁,可重入锁的一个优点是可在一定程度避免死锁③. 隐式锁:(即synchronized关键字使用的锁)默认是可重入锁(同步块、同步方法)原理如下:掌握每个锁对象拥有一个锁计数器和一个指向持有该锁的线程的指针当

2021-01-16 22:52:40 246

原创 01_java字符串常量池

58同城的java字符串常量池面试题代码public class StringPools58Demo { public static void main(String[] args) { /* (1).str1 str1 会有4个对象 一个StringBuilder、 一个58 ldc、 一个tongcheng ldc、 String 这个

2021-01-16 22:47:25 119

原创 为啥需要RPC,而不是简单的HTTP?

一、七层网络结构模型:我们先来了解一下OSI的七层网络结构模型(虽然实际应用中基本上都是五层),它可以分为以下几层:(从上到下)第一层:应用层。定义了用于在网络中进行通信和传输数据的接口;第二层:表示层。定义不同的系统中数据的传输格式,编码和解码规范等;第三层:会话层。管理用户的会话,控制用户间逻辑连接的建立和中断;第四层:传输层。管理着网络中的端到端的数据传输;第五层:网络层。定义网络设备间如何传输数据;第六层:链路层。将上面的网络层的数据包封装成数据帧,便于物理层传输;第七层:物理层。

2021-01-16 22:34:28 1312 1

原创 什么是分布式锁

什么是分布式锁概述为了防止分布式系统中的多个进程之间相互干扰,我们需要一种分布式协调技术来对这些进程进行调度。而这个分布式协调技术的核心就是来实现这个分布式锁。为什么要使用分布式锁成员变量 A 存在 JVM1、JVM2、JVM3 三个 JVM 内存中成员变量 A 同时都会在 JVM 分配一块内存,三个请求发过来同时对这个变量操作,显然结果是不对的不是同时发过来,三个请求分别操作三个不同 JVM 内存区域的数据,变量 A 之间不存在共享,也不具有可见性,处理的结果也是不对的注:该成员变量 A

2021-01-04 09:39:10 341 2

原创 Redisson实现分布式锁-由问题到程序

版本1案例@RestControllerpublic class IndexController { @Autowired private Redisson redisson; @Autowired private StringRedisTemplate stringRedisTemplate; @GetMapping("/deductStock") public String deductStock() throws InterruptedExc

2021-01-04 09:21:13 241 1

原创 Redisson实现分布式锁

Redisson实现分布式锁(1)原理有关Redisson作为实现分布式锁,总的分3大模块来讲。1、Redisson实现分布式锁原理2、Redisson实现分布式锁的源码解析3、Redisson实现分布式锁的项目代码(可以用于实际项目中)本文只介绍Redisson如何实现分布式锁的原理。其它的会在接下来的博客讲,最后有关Redisson实现分布式锁的项目代码的博客中会放上项目源码到GitHub上。一、高效分布式锁当我们在设计分布式锁的时候,我们应该考虑分布式锁至少要满足的一些条件,同时考虑如

2021-01-04 09:09:45 405

原创 MySQL执行计划详解

一、前言当我们工作到了一定的年限之后,一些应该掌握的知识点,我们是必须需要去了解的,比如今天面试官问的SQL执行计划 当我们执行一条SQL的时候,可以直接对应的结果,但是你并不晓得,它会经历多深远黑暗的隧道,通过连接器、查询缓存、分析器、优化器、执行器重重筛选,才有可能展示到我们面前,有时候当你等待N长时间,但是展现的却是 timeout,这个时候想砸电脑的心都有了,不过当你看了今天的SQL执行计划后,你再也不用砸电脑了,看懂了这篇文章你就会知道这都不是事,让我们一起来揭晓这里面的奥妙在实际的应用场景中

2020-11-25 09:19:17 644

原创 深入理解 Mysql 索引底层原理

本文一步一步推导出 Mysql 索引的底层数据结构。Mysql 作为互联网中非常热门的数据库,其底层的存储引擎和数据检索引擎的设计非常重要,尤其是 Mysql 数据的存储形式以及索引的设计,决定了 Mysql 整体的数据检索性能。我们知道,索引的作用是做数据的快速检索,而快速检索实现的本质是数据结构。通过不同数据结构的选择,实现各种数据快速检索。在数据库中,高效的查找算法是非常重要的,因为数据库中存储了大量数据,一个高效的索引能节省巨大的时间。比如下面这个数据表,如果 Mysql 没有实现索引算法,那么

2020-11-23 14:46:25 150

原创 JUC线程框架深度解析-02、线程同步锁

JUC线程框架深度解析 — 02、线程同步锁juc的开发架构解决的核心问题是并发访问与数据安全操作问题,当进行并发访问的时候如果对于锁的控制不当,就会造成死锁这样的阻塞问题,那么为了解决这样的缺陷,juc里面重新针对锁的概念进行了设计。【 JUC锁机制 】➣ JUC锁机制包括有如下组成部分:➣ 核心接口:Lock、ReadWriteLock;➣ AQS抽象类:• AbstractOwnableSynchronizer(排它锁) ;AbstractQueuedSynchronizer(为实现依赖

2020-11-20 09:11:17 187

原创 JUC线程框架深度解析-01、juc基础

JUC线程框架深度解析-juc基础01、JUC基础使用一、JUC开发包简介【 java.util.concurrent开发包 】➣ 传统线程编程模型之中为防止死锁等现象的出现(wait()、notify()、synchronized)时往往会考虑性能、公平性、资源管理等问题,这样加重了程序开发人员的负担;➣ Java5.0添加了一个新的java.util.concurrent开发包(简称JUC)。利用此包进行的多线程编程将有效的减少竞争条件(race conditions)和死锁线程。【 j

2020-11-20 09:05:27 340 1

原创 第25章 JDBC核心技术第10节:手写ORM框架

CSDN上,有好多博客了,想学习的同学可以参考一下:纯手写ORM框架纯手写Mybatis框架

2020-11-19 09:49:47 77

原创 第25章 JDBC核心技术第9节:Apache-DBUtils实现CRUD操作

第9章:Apache-DBUtils实现CRUD操作9.1 Apache-DBUtils简介commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。API介绍:org.apache.commons.dbutils.QueryRunnerorg.apache.commons.dbutils.ResultSetHandler工具类:org.

2020-11-19 09:40:58 98

原创 原创 第25章 JDBC核心技术第8节:数据库连接池

第8章:数据库连接池8.1 JDBC数据库连接池的必要性在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤:在主程序(如servlet、beans)中建立数据库连接进行sql操作断开数据库连接这种模式开发,存在的问题:普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证用户名和密码(得花费0.05s~1s的时间)。需要数据库连接的时候,就向数据库要求一个,执行完成后再断开连接。这

2020-11-19 09:38:40 116

转载 第25章 JDBC核心技术第7节:DAO及相关实现类

第7章:DAO及相关实现类DAO:Data Access Object访问数据信息的类和接口,包括了对数据的CRUD(Create、Retrival、Update、Delete),而不包含任何业务相关的信息。有时也称作:BaseDAO作用:为了实现功能的模块化,更有利于代码的维护和升级。角色: 实体类(Dept)、接口(DeptDao)、实现类(DeptDaoImpl)、工具类(JdbcUtils)、BaseDao下面是项目中DAO使用的体现:层次结构:【手写BaseDao】packa

2020-11-19 09:35:42 111

原创 SpringBoot中使用 RabbitMQ

本章主要建立在已经安装好Erlang以及RabbitMQ的基础上,接下来,简单介绍一下使用一、Direct直接模式通过routingKey和exchange决定的那个唯一的queue可以接收消息1、首先到RabbitMQ的管理界面新建一个队列(Direct模式)2、测试项目的基础结构如下:这里为了方便测试,直接在父项目中建立两个子模块(生产者和消费者)3、pom.xml文件的依赖如下:父项目:<?xml version="1.0" encoding="UTF-8"?>&l

2020-11-15 23:33:57 9517 2

原创 RabbitMQ如何保证消息的可靠投递?

Spring Boot整合RabbitMQSpring有三种配置方式基于XML基于JavaConfig基于注解当然现在已经很少使用XML来做配置了,只介绍一下用JavaConfig和注解的配置方式RabbitMQ整合Spring Boot,我们只需要增加对应的starter即可 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-b

2020-11-15 23:22:10 231

原创 10. RabbitMQ 应用与面试

10.1. 消息堆积当消息生产的速度长时间,远远大于消费的速度时。就会造成消息堆积。消息堆积的影响可能导致新消息无法进入队列可能导致旧消息无法丢失消息等待消费的时间过长,超出了业务容忍范围。产生堆积的情况生产者突然大量发布消息消费者消费失败消费者出现性能瓶颈。消费者挂掉解决办法排查消费者的消费性能瓶颈增加消费者的多线程处理部署增加多个消费者场景介绍在用户登录成功之后,会向rabbitmq发送一个登录成功的消息。这个消息可以被多类业务订阅。登录成

2020-11-15 23:19:13 142

原创 9. RabbitMQ高可用集群

9.1. RabbitMQ集群架构模式主备模式用来实现RabbitMQ的高可用集群,一般是在并发和数据不是特别多的时候使用,当主节点挂掉以后会从备份节点中选择一个节点出来作为主节点对外提供服务。远程模式主要用来实现双活,简称为Shovel模式,所谓的Shovel模式就是让我们可以把消息复制到不同的数据中心,让两个跨地域的集群互联。镜像队列模式镜像队列也被称为Mirror队列,主要是用来保证mq消息的可靠性的,他通过消息复制的方式能够保证我们的消息100%不丢失,同时该集群模式也是

2020-11-15 23:08:38 341

原创 8. RabbitMQ 集群

RabbitMQ这款消息队列中间件产品本身是基于Erlang编写,Erlang语言天生具备分布式特性(通过同步Erlang集群各节点的magic cookie来实现)。因此,RabbitMQ天然支持Clustering。这使得RabbitMQ本身不需要像ActiveMQ、Kafka那样通过ZooKeeper分别来实现HA方案和保存集群的元数据。集群是保证可靠性的一种方式,同时可以通过水平扩展以达到增加消息吞吐量能力的目的。在实际使用过程中多采取多机多实例部署方式,为了便于同学们练习搭建,有时候你不得不在一

2020-11-15 22:58:56 297

原创 7. RabbitMQ 高级

7.1. 过期时间TTL​ 过期时间TTL表示可以对消息设置预期的时间,在这个时间内都可以被消费者接收获取;过了之后消息将自动被删除。RabbitMQ可以对消息和队列设置TTL。目前有两种方法可以设置。第一种方法是通过队列属性设置,队列中所有消息都有相同的过期时间。第二种方法是对消息进行单独设置,每条消息TTL可以不同。如果上述两种方法同时使用,则消息的过期时间以两者之间TTL较小的那个数值为准。消息在队列的生存时间一旦超过设置的TTL值,就称为dead message被投递到死信队列,

2020-11-13 19:28:36 227

原创 6. Spring Boot整合RabbitMQ

6.1. 简介在Spring项目中,可以使用Spring-Rabbit去操作RabbitMQ https://github.com/spring-projects/spring-amqp尤其是在spring boot项目中只需要引入对应的amqp启动器依赖即可,方便的使用RabbitTemplate发送消息,使用注解接收消息。一般在开发过程中:生产者工程:application.yml文件配置RabbitMQ相关信息;在生产者工程中编写配置类,用于创建交换机和队列,并进行绑定注入Rab

2020-11-13 19:15:38 100

原创 Thread类中join方法的实现原理

一.简介join()是Thread类的一个方法,根据jdk文档的定义,join()方法的作用,是等待这个线程结束,即当前线程等待另一个调用join()方法的线程执行结束后再往下执行。通常用于在main主线程内,等待其它调用join()方法的线程执行结束再继续执行main主线程。/*** Waits for this thread to die.**/public final void join() throws InterruptedException二.使用示例通过下面两个例子,我们来看

2020-11-12 11:07:56 582 1

原创 5. RabbitMQ工作模式

5.1. Work queues工作队列模式5.1.1. 模式说明Work Queues与入门程序的简单模式相比,多了一个或一些消费端,多个消费端共同消费同一个队列中的消息。应用场景:对于 任务过重或任务较多情况使用工作队列可以提高任务处理的速度。5.1.2. 代码WorkQueues与入门程序的简单模式的代码是几乎一样的;可以完全复制,并复制多一个消费者进行多个消费者同时消费消息的测试。1)生产者package com.kongfanyu.rabbitmq.work;import com

2020-11-12 10:56:42 382 2

原创 1. 消息中间件概述

1.1. 什么是消息中间件MQ全称为Message Queue,消息队列是应用程序和应用程序之间的通信方法。为什么使用MQ​ 在项目中,可将一些无需即时返回且耗时的操作提取出来,进行异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量。开发中消息队列通常有如下应用场景:1、任务异步处理将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。提高了应用程序的响应时间。2、应用程序解耦合MQ相当于一个中介,生产方通过MQ与消

2020-11-12 10:52:24 383

原创 JDK1.8 新特性

jdk1.8新特性知识点:Lambda表达式函数式接口方法引用和构造器调用Stream API接口中的默认方法和静态方法新时间日期API在jdk1.8中对hashMap等map集合的数据结构优化。hashMap数据结构的优化,原来的hashMap采用的数据结构是哈希表(数组+链表),hashMap默认大小是16,一个0-15索引的数组,如何往里面存储元素,首先调用元素的hashcode方法,计算出哈希码值,经过哈希算法算成数组的索引值,如果对应的索引处没有元素,直接存放,如果有对象在,那么

2020-11-12 10:30:41 415

原创 请用Java语言写出对List<Map<String,Object>>进行排序的函数

请用Java语言写出对List<Map<String,Object>>进行排序的函数,参数为String[] keys和String[] orders,即涉及排序的key和key对应的升序(ASC)或是降序(DESC).普通方法实现:package com.ujiuye.oop;import java.util.*;public class Demo4 { public static void main(String[] args) { M

2020-10-20 10:50:15 944

SpringCloud Alibaba Nacos服务注册和配置中心.pdf

SpringCloud Alibaba Nacos服务注册和配置中心;⼀个更易于构建云原⽣应⽤的动态服务发现、配置管理和服务管理平台。Nacos Dynamic Naming and Configuration Service,Nacos就是注册中⼼+配置中⼼的组合,等价于:Nacos = Eureka + Config + Bus

2020-08-12

springboot的docker项目

springboot项目发布到linux服务器的docker容器,请参考。

2018-09-07

利用Flume将MySQL表数据准实时抽取到HDFS、MySQL、Kafka

利用Flume将MySQL表数据准实时抽取到HDFS、MySQL、Kafka用到的jar包

2018-03-06

Hadoop完全分布式安装笔记

Hadoop完全分布式安装笔记,一步一步安装记录,完全分布式;4台虚拟机。看自己电脑的性能啊。

2017-11-12

Java面试宝典2017版本--带答案

java面试宝典加强版,上海,北京一线公司搜集总结;附带答案。

2017-11-12

Fusioncharts 报表工具

Flash 报表,效果非常炫;远远超过普通的图片效果,有文档,有案例。不可多得的资源。

2012-02-01

struts2整合 jfreechart 实现报表

struts2整合 jfreechart 实现报表组件

2012-02-01

Struts2 Spring3.0 Hibernate3.3 整合全注解配置用的数据库

Struts2 Spring3.0 Hibernate3.3 整合全注解配置用的数据库。

2011-07-25

Struts2 Spring3.0 Hibernate3.3 整合全注解配置

Struts2 Spring3.0 Hibernate3.3 全注解配置,避免了大量业务类在Spring文件的配置,整合了DWR3.0,displayTag 物理分页技术的实现。树形菜单。 另外数据库,在下一个资源;由于20MB的限制。 有问题的话留言。

2011-07-25

Struts2 DisplayTag 分页

Struts2整合DisplayTag 实现分页技术

2010-06-03

java 整合 flex项目

java hibernate flex 整合开发,可以参考一下。

2010-04-28

FusionCharts Free中文开发指南

JAVA 报表 Flash FusionCharts Free 中文 开发指南

2010-04-28

struts menu 菜单

struts menu 菜单的用法,带数据库,其中dbMenu.jsp是连数据库的。

2010-04-16

struts2PPT

struts2 PPT 学习资料;详细的介绍struts2的主要模块。

2010-04-02

MyEclipse + Weblogic的配置

MyEclipse6.5 + Weblogic10的配置

2009-10-06

JAVAEE J2EE WEBLOGIC 集群

JAVAEE J2EE WEBLOGIC 集群

2009-10-06

JAVAEE,J2EE,WEBLOGIC 基础概念

JAVAEE J2EE WEBLOGIC 基础概念

2009-10-06

JAVA 反射PPT的示例代码

JAVA 反射PPT的示例代码;经典示例。

2009-10-06

JAVA 反射详解PPT

50页PPT详细讲解了反射与动态代理;强烈推荐。

2009-10-06

Struts 2.0 教程

struts2 教程,chm版本。专业是Struts2教程,分章节讲解,希望对你的学习有帮助。

2009-03-31

Struts2Spring

Struts2 整合 Spring 有效实践

2008-07-30

空空如也

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

TA关注的人

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