自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

计算机专业同学的充电站。

阿里巴巴Java技术专家一枚~

  • 博客(146)
  • 资源 (24)
  • 收藏
  • 关注

原创 第一条Pulsar消息发送

什么是Pulsarpulsar是一个多租户、高性能server-to-srever消息解决方案,最初由雅虎开发,现在由apache维护。Pulsar的核心特性:多集群云原生支持 低延迟良好的伸缩性 多语言客户端支持多种订阅模式 消息可靠性保证Pulsar-functions;serverless轻量级计算框架架构设计本地启动并收发第一条消息进入下载页,下载稳定版本binary:https://pulsar.apache.org/download/直.

2021-07-21 08:33:11 1025 1

原创 设计数据密集型应用-C5-主从架构及同步延迟问题

本文是《设计数据密集型应用》第5章学习笔记。什么是ReplicationReplication是在多台机器上维护的相同的数据,即副本。保存副本的原因有以下几种: 减小延迟:使得地理位置上数据离访问者更近。 高可用:部分机器宕机后仍可继续运行。 scale out-容量伸缩。 Replication带来的问题以及应对方案如果我们的数据不会发生变化,那么就容易了,只需要把数据拷贝到各个副本就OK了。但是数据是不断变化的,我们需要更新不同的节点的数据。Replic

2021-07-20 11:50:38 427 2

原创 从入门到进阶,JAVA书籍的最佳阅读顺序!

本文首发于知乎,已获得1000+赞和收藏。原文链接:https://www.zhihu.com/question/269505829/answer/1791006152先介绍下本人的情况,希望对大家学习Java之路有一定帮助。本人本科完全没接触过Java,后自学Java,对整个技术栈有一些沉淀,并顺利拿到阿里巴巴集团校招offer,中间也走过很多弯路,希望对楼主有一些帮助。看书一定要看经典书(不在多),先放图镇楼,然后按照由浅入深的顺序(Java语言基础->Java语言进阶-&gt

2021-07-19 15:29:55 6509

原创 记一次线上压测Dubbo线程池队列满的问题

本文记录一次线上全链路压测出现的Dubbo线程池队列满的问题。1 问题描述线上做全链路压测,其中涉及三个系统,调用关系A->B->C,均是dubbo调用。压测的时候C出现CPU满导致服务响应超时的情况,进而导致B以及A接口均超时。停止压测后,B->C的流量依然未有明显降低,系统收敛慢,影响线上业务。2 问题分析2.1 调用来源分析首先分析停止压测后,这些B...

2018-09-09 14:23:41 23449 2

原创 ActiveMQ学习-Network connectors(1)

本文为network connectors的static connector学习笔记。Network connectorsbroker网络能够创建多个相互连接的ActiveMq实例组成的簇,以应对更加复杂的消息场景。Network connectors提供了broker之间的通信。默认情况下,network connector是单向通道,它只会把收到的消息投递给与之建立连接

2015-07-26 15:48:13 7197

原创 Java缓存Ehcache-Ehcache的Cache预热机制及代码实现(Cache Warming for multi-tier Caches)

Ehcache中Cache预热机制Cache预热机制简介Ehcache在程序启动的时候并不会立即去加载位于磁盘上的数据到内存,而是在数据被用到的时候去加载(lazy load)。因此在cache启动的时候,其内部没有数据。如果我们想在用到这些数据之前,它们全部被装载进内存,应该怎么做?Ehcache提供了BootstrapCacheLoader机制来解决这个问题,在Cache被

2014-10-18 15:22:00 19786 4

原创 Java缓存Ehcache-核心类和方法介绍及代码实例

Ehcache中核心类和方法 EhCache里面有一个CacheManager类型,它负责管理cache。Cache里面存储着Element对象,Element必须是key-value对。Cache是实际物理实现的,在内存中或者磁盘。这些组件的逻辑表示就是下面即将要讨论的类。他们的方法提供了可编程的访问方式。 CacheManager负责Cache的创建、访问、移除。

2014-09-27 15:52:18 37515 2

原创 Jmock-使用ClassImposteriser扩展mock class对象

由于Jmock使用了java的标准反射机制,jmock框架默认配置只能mock interface对象,而不能mockclass对象。但是使用CGLIB 2.1以及Objenesis库,采用ClassImposteriser扩展不仅能够mock interface对象,而且能够mock class对象。 ClassImposteriser mock实例对象的时候,不会调用被mock

2014-09-24 21:41:54 5012

原创 【java web】java执行预编译Groovy脚本

介绍一种使用Groovy的方法:编译成java字节码并且作为正常java应用程序运行在java虚拟机上,即预编译模式。 1、安装Groovy下载Groovy binary:http://groovy.codehaus.org/Download将其解压。然后设置环境变量GROOVY_HOME为解压后文件的目录。然后在path环境变量中添加:%GROOVY_HOME%/bi

2014-05-25 14:31:35 12025 2

转载 四部金融投资经典教材和30部必读的投资学经

四部金融投资经典教材:《货币金融学》-------------------米什金,第七版(人民大学出版社)   《经济科学译丛:货币金融学(第9版)》是货币金融学领域的一本经典著作,自十几年前引入中国以来,一直畅销不衰。由于次贷危机及其所引发的一系列事件极大地改变了金融体系的结构与中央银行的运作模式,因此,《经济科学译丛:货币金融学(第9版)》有关这方面的内容几乎全部进行了改写。此外,围绕

2013-10-28 21:32:25 16913 3

转载 转折后的总结--2014年找工作

大神基友的找工作总结,必须转载保存:原网址:http://blog.csdn.net/lingfengtengfei/article/details/12658215转折后的总结--找工作 好吧,还是忍不住做个总结,毕竟还是我人生中一次比较大的事件了。非常感谢华科,我的第二个母校能提供给我一个优秀的平台。非常感谢信息安全与保密实验室607室的老师们,给我

2013-10-18 15:11:56 11830 6

原创 2014找工作总结-机会往往留给有准备的人

转发请注明出处:http://blog.csdn.net/xiajun07061225/article/details/12844801其实我的求职过程在十一之前就已经结束了,总体讲比较顺利。参加面试的几家公司基本都拿到了offer,分别是阿里巴巴、美团网、创新工场涂鸦移动以及华为。当时也参加了其他公司的面试,比如人人,一面过后收到了二面通知,拒了。创新工场豌豆荚一面结束后等消息。十...

2013-10-17 23:10:28 112774 323

转载 二叉树的遍历-递归与非递归 - 海子

二叉树的遍历-递归与非递归         二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来

2013-10-15 23:30:02 5169

原创 二叉树类型笔试面试题大总结(含代码)

目录一、二叉树的遍历-前序、中序、后序以及层次遍历(递归与非递归)二、重建二叉树,依据前序遍历结果和中序遍历结果三、判断二叉搜索树的后序遍历序列是否合法四、二叉树中和为某一值的路径五、将二叉搜索树转化为双向链表六、求二叉树的深度七、判断一棵二叉树是否是平衡二叉树八、求二叉树第K层节点个数九、求二叉树中两个节点的最低公共祖先节点十、求二叉树中两个节点的最大距离

2013-10-15 23:28:45 18448 3

转载 2014创新工场校招笔试题及参考答案

2013-10-15 23:20:45 5976 2

原创 【Linux】shell命令学习之find

find命令主要用来进行文件或目录的查找。-print指明打印出匹配的文件名-print0指明使用'\0'定界符来打印每一个匹配的文件名 -name:按文件名查找-iname忽略字母大小写 如果想匹配多个条件中的一个,可以采用OR操作: -path将文件路径作为一个整体来匹配。 -regex:与path类似,但是基

2013-09-22 09:44:01 5601 1

原创 【Linux】生产者消费者编程实现-线程池+信号量

生产者消费者编程实现,采用了线程池以及信号量技术。线程的概念就不多说,首先说一下多线程的好处:多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 那么为什么又需要线程池呢? 我们知道应用程序创建一个对象,然后销毁对象是很耗费资源的。创建线程,销毁线程,也是如此。因此,我们就预先生成一些线程,等到我们使

2013-09-22 09:38:53 9998 2

原创 Nginx学习之十四-GDB调试Nginx初试

本文的测试环境:Win7+虚拟机VMWareVMware-workstation-full-7.1.4-385536+Ubuntu12.04Nginx-1.4.0要想有效的研究Nginx源码,必须要动手调试,GDB就是有用的利器。下面简要介绍用GDB调试Nginx的一个小例子。本文完成了这样的工作:跟踪worker子进程,观察worker子进程阻塞在何处。然后利用w

2013-07-19 18:11:41 14306 1

原创 【C++】由指针常量和常量指针引发的问题

今天在写一个C++程序的时候,要用到STL的set容器,而且我想让它利用自定义的排序准则来实现自动排序。而且set中元素类型是指向自定义的结构体的指针。结果运行总是出错。下面先贴出起初的代码:#include #include using namespace std;typedef struct test_t{ int a; int b;}test;class

2013-07-18 21:30:20 3792 1

原创 Nginx学习之十三-负载均衡-IP哈希策略剖析

前面介绍过nginx负载均衡的加权轮询策略(http://blog.csdn.net/xiajun07061225/article/details/9318871),它是Nginx负载均衡的基础策略,所以一些初始化工作,比如配置值转储,其他策略可以直接复用他。在后面的初始化的代码中将可以看到。IP哈希初始化IP哈希的初始化函数ngx_http_upstream_init_i

2013-07-15 17:29:28 24143 3

原创 Nginx学习之十二-负载均衡-加权轮询策略剖析

本问介绍的是客户端请求在多个后端服务器之间的均衡,注意与客户端请求在多个nginx进程之间的均衡相区别(Nginx根据每个工作进程的当前压力调整它们获取监听套接口的几率,那些当前比较空闲的工作进程有更多机会获取到监听套接口,从而客户端的请求到达后也就相应地被它捕获并处理)。如果Nginx是以反向代理的形式配置运行,那么对请求的实际处理需要转发到后端服务器运行,如果后端服务器有多台,如何选择一台合适

2013-07-13 15:52:19 48083 6

原创 Nginx学习之十一-Nginx启动框架处理流程

Nginx启动过程流程图下面首先给出Nginx启动过程的流程图:ngx_cycle_t结构体Nginx的启动初始化在src/core/nginx.c的main函数中完成,当然main函数是整个Nginx的入口,除了完成启动初始化任务以外,也必定是所有功能模块的入口之处。Nginx的初始化工作主要围绕一个类型为ngx_cycle_t类型的全局变量(cycle)

2013-07-12 11:24:54 15730

转载 Nginx学习之十-超时管理(定时器事件)

Nginx事件管理主要是网络事件和定时器事件。下面介绍定时器事件管理,即超时管理。为什么要进行超时管理Nginx有必要对可能发生超时的事件进行统一管理,并在事件超时时作出相应的处理,比如回收资源,返回错误等。举例来说,当客户端对nginx发出请求连接后,nginx机会accept()并建立对应的连接对象、读取额护短请求的头部信息。而读取这个头部信息显然是要在一定的时间内

2013-07-09 19:03:37 14749 3

原创 Nginx学习之九-负载均衡(客户端请求与Nginx进程间负载均衡)

负载均衡问题的产生在nginx中,建立连接的时候,会设计负载均衡问题。在多个子进程争抢处理一个新连接事件时,一定只有一个worker子进程最终会成功建立连接,随后它会一直处理这个连接直到连接关闭。那么,就有可能出现这样的情况:有的子进程建立并处理了大部分连接,而有的子进程只处理了少量连接。这对多核CPU架构下的应用是很不利的。因为子进程之间应该是平等的,每个子进程应该尽量独占一个CPU

2013-07-08 15:19:09 7282 1

原创 Nginx学习之八-惊群问题

惊群问题(thundering herd)的产生在建立连接的时候,Nginx处于充分发挥多核CPU架构性能的考虑,使用了多个worker子进程监听相同端口的设计,这样多个子进程在accept建立新连接时会有争抢,这会带来著名的“惊群”问题,子进程数量越多越明显,这会造成系统性能的下降。一般情况下,有多少CPU核心就有配置多少个worker子进程。假设现在没有用户连入服务器,

2013-07-06 21:37:18 12811 3

原创 【Linux学习】epoll详解

什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通知方法。 epoll的相关

2013-07-05 11:50:42 152983 26

原创 Nginx学习之七-模块ngx_epoll_module详解(epoll机制在nginx中的实现)

本文结合实际代码介绍事件驱动模块接口与epoll用法是如何结合起来发挥作用的。Nginx中ngx_epoll_module模块基于epoll实现了Nginx的事件驱动。模块定义(src/event/ngx_epoll_module.c):ngx_module_t ngx_epoll_module = { NGX_MODULE_V1, &ngx_epoll_modu

2013-07-05 11:30:50 16293 2

原创 笔试面试常考数据结构-单链表常用操作编程实现

单链表是笔试以及面试手写代码中常考的数据结构之一。下面实现了单链表的常见操作:创建单链表、删除节点、打印单链表(包括正向打印以及逆向打印)、反转单链表、找出单链表的倒数第K个节点、合并两个有序单链表等操作。代码(C++)://笔试面试单链表常用操作编程实现#include #include #include using namespace std;//单链表节点数据结

2013-07-04 20:50:06 9034 4

原创 Nginx学习之六-nginx核心进程模型

一、Nginx整体架构正常执行中的nginx会有多个进程,最基本的有master process(监控进程,也叫做主进程)和woker process(工作进程),还可能有cache相关进程。一个较为完整的整体框架结构如图所示:二、核心进程模型启动nginx的主进程将充当监控进程,而由主进程fork()出来的子进程则充当工作进程。nginx也可以

2013-07-04 11:22:23 16232 6

原创 Nginx学习之四-Nginx进程同步方式-自旋锁(spinlock)

自旋锁简介Nginx框架使用了三种消息传递方式:共享内存、套接字、信号。Nginx主要使用了三种同步方式:原子操作、信号量、文件锁。基于原子操作,nginx实现了一个自旋锁。自旋锁是一种非睡眠锁。如果某进程视图获得自旋锁,当发现锁已经被其他进程获得时,那么不会使得当前进程进入睡眠状态,而是始终保持进程在可执行状态,每当内核调度到这个进程执行时就持续检查是否可以获取到所锁。

2013-07-02 10:27:31 7896

转载 【C++学习】C++中的强制转换

C++中的强制转换1、旧风格的强制换转换C 风格(C-style)强制转型如下: (T) exdivssion // cast exdivssion to be of type T 函数风格(Function-style)强制转型使用这样的语法: T(exdivssion) // cast exdivssion to be of type T 这两种形式之间没有本质上的不同

2013-06-28 21:16:43 2521

原创 Nginx学习之三-ngx_http_request_t结构体

ngx_http_request_s是nginx中非常重要的一个结构体,贯穿于htpp请求处理的整个过程中。下面解释了ngx_http_request_s结构体中与HTTP框架相关的重要的成员变量。struct ngx_http_request_s { uint32_t signature; /* "HTTP

2013-06-27 16:41:50 17923

原创 Nginx学习之二-配置项解析及编程实现

在开发功能灵活的Nginx模块时,需要从配置文件中获取特定的信息。不过,我们并不需要再编写一套读取配置的系统,Nginx已经为用户提供了强大的配置项解析机制,同时还支持“-s reload”命令,可以在不重启服务的情况下可使配置生效。一、Nginx配置文件简介如果编译安装Nginx时使用默认路径,那么Nginx运行目录是/usr/local/nginx,其配置文件存放目录是/usr

2013-06-21 17:36:33 14735 3

原创 Nginx学习之一-第一个程序Hello World

本例子实现了一个简单的hello world程序。运行效果:虚拟机Ubuntu中:win7中chrome浏览器:一、config文件编写Nginx提供了一种简单的方式将第三方的模块编译到Nginx中。首先把源代码文件全部放到一个目录下,同时在该目录中编写一个文件用于通知Nginx如何编译本模块,这个文件名必须为config。然后,在configure

2013-06-19 16:50:42 28219 11

原创 【Linux学习】pthread_create主线程与创建的新线程之间退出关系

我们在一个线程中经常会创建另外的新线程,如果主线程退出,会不会影响它所创建的新线程呢?下面就来讨论一下。 1、  主线程等待新线程先结束退出,主线程后退出。正常执行。实例代码:#include "apue.h"#include pthread_t ntid;//线程IDvoid printids(const char *s){ pid_t pid;

2013-05-26 16:21:06 24531 3

原创 【Linux学习】GDB调试器基本命令必知必会(一)

本文介绍Linux下GDB调试器常用的基本命令。测试均在Ubuntu12.10下完成。先看看GDB调试的效果图:对应的源代码://插入排序,GDB调试测试代码#include int x[10],//存放输入数据 y[10],//工作空间数组 num_inputs,//输入数组长度 num_y = 0;//y中当前元素个

2013-05-22 14:54:10 42275 2

原创 【笔试面试题】腾讯2013实习生面试算法题及参考答案

总结了一下自己遇到的以及同学遇到的面试算法题,是技术二面。有几道题给出了参考答案,还有几道没有好的思路。路过的大侠如果有好的思路请留个言交流下呗~1、八数码问题:3*3的格子,有1~8个数,空了一个,挪动,让这8个数排好1-8的顺序(按行),空格在最后,描述算法,如何优化。解答:八数码问题,这是一道ACM题:参考:八数码2、计算机模拟魔方的旋转。

2013-05-04 10:38:36 23877 14

原创 【设计模式】设计模式C++编程实现之观察者模式(ObserverPattern)

观察者模式定义:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会受到通知并自动更新。观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听

2013-04-18 20:15:51 2785 2

原创 【设计模式】设计模式C++编程实现之单例模式(Singleton Pattern)

有一些对象我们只需要一个,比如说线程池(threadpool)缓存(cache)、对话框、处理偏好设置和注册表的对象、日志对象,充当打印机、显卡等设备的驱动程序的对象。如果制造出多个实例,则会导致许多问题的产生。许多时候的确可以通过程序员之间的阅读就可以办到,但是利用单例模式是更好的办法。单例模式给我们一个全局的访问点,和全局变量一样方便,有没有全局变量的缺点(必须在程序开始就创建,如果后

2013-04-17 14:57:58 3275 1

原创 【STL深入学习】SGI STL空间配置器详解(二)-第二级空间配置器

本文讲解SGI STL空间配置器的第二级配置器。相比第一级配置器,第二级配置器多了一些机制,避免小额区块造成内存的碎片。不仅仅是碎片的问题,配置时的额外负担也是一个大问题。因为区块越小,额外负担所占的比例就越大。额外负担是指动态分配内存块的时候,位于其头部的额外信息,包括记录内存块大小的信息以及内存保护区(判断是否越界)。要想了解详细信息,请参考MSVC或者其他malloc实现。

2013-04-17 11:10:50 3955 1

OpenGL中VAO(vertex array object)介绍

详细介绍了OpenGL中的新特性VAO(Veretx Array Object)的使用入门。它只在OpenGL3.X以上的版本中才有。

2012-06-03

C++实现bmp旋转

不调用库函数,纯C++读取、旋转和保存bmp图像实现。可以处理任意大小、旋转任意角度、灰度图像,将其保存到磁盘上。

2011-09-30

纯C++实现bmp图片旋转

不调用库函数,纯C++实现灰度bmp任意尺寸图片的任意角度旋转~~~~采用最邻近插值法~~

2011-09-30

OpenCV实现在一张图片上用鼠标画矩形

OpenCV实现在一张图片上用鼠标画矩形。C++实现,VS2008+OpenCV。

2011-08-24

OpenCV的cvTrackBar实现开关功能功能

VS2008+OpenCV,C++实现的用trackbar实现开关功能。

2011-08-24

画图工具(VS2008实现)

这是我自己用VS2008写的画图工具。能够实现画直线、矩形、椭圆,并且能够选择线条颜色、线条类型(实线、虚线、点线等)、线条宽度。并且在选择线条类型的对话框里面能够显示出示例线条,能动态地随着选择的不同而改变。还有重绘功能,保存所绘制的图形。功能还可以,欢迎试用~~~~

2011-07-23

TCP/IP三卷【第三卷】

资源共享,予人玫瑰,手留余香! TCP/IP很全的资料,三卷都有,想学习网络的兄弟们拿去用啦!这是第三卷!

2010-08-15

TCP/IP三卷【第二卷】2

资源共享,予人玫瑰,手留余香! TCP/IP很全的资料,三卷都有,想学习网络的兄弟们拿去用啦!这是第二卷! 由于只能上传20M以内的资源,故分成2部分。

2010-08-15

TCP/IP三卷【第二卷】1

资源共享,予人玫瑰,手留余香! TCP/IP很全的资料,三卷都有,想学习网络的兄弟们拿去用啦!这是第二卷! 由于只能上传20M以内的资源,故分成2部分。

2010-08-15

TCP/IP三卷【第二卷】

资源共享,予人玫瑰,手留余香! TCP/IP很全的资料,三卷都有,想学习网络的兄弟们拿去用啦!这是第二卷!

2010-08-15

TCP/IP三卷【第一卷】

资源共享,予人玫瑰,手留余香! TCP/IP很全的资料,三卷都有,想学习网络的兄弟们拿去用啦!这是第一卷!

2010-08-15

TCP/IP三卷【第一部分:TCP/IP基础】

资源共享,予人玫瑰,手留余香! TCP/IP很全的资料,三卷都有,想学习网络的兄弟们拿去用啦!这是基础部分!

2010-08-15

华为内部编程规范和范例

华为内部的编程规范和范例,仅供内部使用。想成为程序员高手的下载啦!

2010-08-15

编译原理与实践【双语版】_ppt【张菁 著】

《编译原理与实践【双语版】》张菁 著 是这本书的课件,对想学好编译原理的人会有帮助的!

2010-07-09

VHDL程序【实验课自己编写的几个程序】

VHDL实验课自己编写的几个程序,对初学者可能会有帮助!

2010-07-09

Linux内核分析及高级编程_ppt【入门及提高】

这是我们上《Linux内核分析及高级编程》,老师的课件。对于初学者很有用的哦!入门极其提高,相信会对你有用!

2010-07-09

云计算入门指南_SUN公司

云计算作为计算机界的一种新趋势,深受关注。想了解云计算的同仁们,想必会对你们有用的!

2010-07-09

Windlx资料大全

系统结构实验要用的,Windlx模拟器,以及模拟器介绍资料、实验资料、实验模板等等。辛辛苦苦收集的.....相当全的啦!做系统结构不可少的哦!

2010-06-29

SQl server2000编程指南(编程技术员必备)

对SQL2000这款软件的运用做了详细描述,面面俱到。是工程技术员的必备工具书!

2009-10-04

汇编语言程序设计(入门经典)

详细描述了汇编语言的基础知识,是一本汇编语言入门的好书!

2009-10-04

C语言程序设计及应用实例

这本书介绍了C语言的基本用法还有很多例子,源代码。应用实例很有用的!推荐给想学好C语言的!

2009-10-02

计算机算法设计与分析ppt

这是《计算机算法设计与分析》王晓东的ppt,大家可以参考一下!对学习算法很有帮助的!

2009-10-01

面试题大全 自己收藏的

各种Java面试题 给大家免费下载吧!

2009-06-13

空空如也

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

TA关注的人

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