自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

为无为,事无事,味无味。

大小,多少,抱怨,以德。图难乎,其易也;为大乎,其细也;天下之难,作于易;天下之大,作于细。是以圣人终不为大,故能成其大。夫轻诺,必寡信;多易必多难。是以圣人犹难之,故终无难矣。

  • 博客(1395)
  • 资源 (6)
  • 收藏
  • 关注

原创 合格程序员每天每周每月每年应该做的事

程序员每天该做的事 1、总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多 2、考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作 3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法 出错不要紧,最重要的是不要重复犯相同的错误,那是愚蠢 4、考虑自

2009-11-18 12:45:00 2145 7

原创 科普文:软件架构设计之应用安全【身份验证(Authentication):2FA双因素认证详解】

前面我们详细梳理了OTP一次性密码,这里再看看双因素认证(2FA):2FA是结合两种不同的认证因素(如密码和OTP),增强安全性的身份验证方法。双因素认证,英文名称, 简称2FA。常规密码验证码使用2FA的主要目的是增强账户的安全性,提供额外的保护层,以防止未经授权的访问和潜在的安全威胁。降低了密码盗窃的风险弱密码尽管2FA并,但它是一种非常有效的方法,可以显著提高账户的安全性。通过多因素验证,即使密码泄露,攻击者也难以轻松进入您的账户。

2025-05-06 12:48:14 230

原创 科普文:软件架构设计之应用安全【身份验证(Authentication):OTP一次性密码 TOTP详解】

一次性密码(OTP,One-Time Password)是一种用于身份验证的安全机制,通常用于提高用户账户的安全性。前面我们一步一步地分析一下OTP的工作原理。这种机制能有效防止重放攻击和钓鱼攻击,因为每个密码只使用一次且是短暂有效的。在这里我们再继续看看OTP的另一种方式RFC 6238(TOTP)。

2025-05-06 12:25:01 444

原创 科普文:软件架构设计之应用安全【身份验证(Authentication):OTP一次性密码 HOTP详解】

动态口令(OTP)有一个同名确不同翻译的前辈,一次性密码(OTP, One-Time Pad),也叫密电本,是一种应用于军事领域的谍报技术,即对通信信息使用预先约定的一次性密电本进行加密和解密,使用后的密电本部分丢弃不再使用,能够做到一次一密。可以做到一次一个动态口令,使用后作废,口令长度通常为6-8个数字,使用方便,与通常的静态口令认证方式类似,使用方便与系统集成好,因此OTP动态口令技术的应用非常普遍,可以应用于多种系统渠道使用,如:Web应用、手机应用、电话应用、ATM自助终端等。

2025-05-06 11:38:18 308

原创 科普文:软件架构设计之应用安全【身份验证(Authentication):OTP一次性密码 TOTP和HOTP小结】

OTP生成方式:通常基于算法生成,包括TOTP和HOTP两种方式。 生成过程不依赖外部网络,具有更高的独立性。TOTP(基于时间的 OTP,计时使用):根据当前时间和共享密钥生成,基于RFC6238协议。HOTP(基于事件的 OTP,计次使用):根据计数器值和共享密钥生成,基于RFC4266 协议。

2025-05-05 19:30:20 580

原创 科普文:软件架构设计之应用安全【身份验证(Authentication):短信验证、图片验证、TOTP一次性密码、2FA双重身份验证等小结】

为了确保应用程序的安全性和保护用户数据的隐私,开发者需要使用一些必备的身份验证应用安全技术。身份验证(Authentication)是网络安全的核心组成部分,指的是确认用户或系统的身份是否有效的过程。通过身份验证,可以确保只有授权用户才能访问敏感数据或系统资源。随着网络攻击手段的不断演进,传统的身份验证方式面临越来越多的挑战,因此多种身份验证机制相继出现,以应对日益复杂的安全威胁。

2025-05-05 16:21:23 1049

原创 科普文:一文搞懂Spring中常用的注解【‌@EventListener 注解的原理、核心类、应用场景】

EventListener 标记方法作为事件监听器,用于处理应用程序事件。通过松耦合方式实现事件驱动编程,适用于多组件协作场景。需注意同步/异步控制及条件表达式优化,结合具体业务合理设计事件链。我们继续梳理@EventListener的原理、核心类、优缺点、应用场景和注意事项。

2025-05-04 18:16:55 420

原创 科普文:一文搞懂Spring中常用的注解【@Profile、@PropertySource/ @PropertySources、@ConfigurationProperties】

@Profile 多环境隔离 切换开发/生产环境数据源@PropertySource 自定义配置文件加载 加载独立模块配置(如 redis.properties)@ConfigurationProperties 结构化配置映射 封装数据库连接参数对象@ImportResource 传统 XML 配置迁移 整合遗留系统的 XML 配置文件注意事项总结‌配置优先级:@PropertySource 默认优先级低于 application.properties,可通过 @Order 调整加载顺序。‌

2025-05-04 14:52:47 652

原创 科普文:一文搞懂Spring中常用的注解【@PostConstruct、@DependsOn、@Order注解嵌套使用解决Bean加载优先级问题】

解决Bean加载优先级问题@PostConstruct、@DependsOn、@Order注解嵌套使用解决Bean加载优先级问题。注解作用域分析‌注解 作用层级 核心用途 生效阶段@DependsOn Bean 定义级别 显式声明依赖的 Bean,确保被依赖的 Bean 先初始化 Bean 实例化前 @Order Bean 注入/执行顺序 控制同类 Bean 在集合中的排列顺序或组件执行优先级(如拦截器链) Bean 注入时或组件调用时 @PostConstruct Bean 实例级别 标记初

2025-05-04 11:22:22 861

原创 科普文:一文搞懂Spring中常用的注解【@Component、@Order、@DependsOn 三个注解的原理、核心类、应用场景】

DependsOn和@Order是用来解决Bean加载顺序问题的。同时,@Component是用于将类标记为Spring容器的组件,让Spring能够自动扫描并注册为Bean。@Order的使用场景,比如拦截器、过滤器、监听器的执行顺序,以及集合排序的情况。

2025-05-04 11:00:36 528

原创 科普文:一文搞懂Spring中常用的注解【@lazy注解的原理、核心类、应用场景】

前面有对java注解、spring注解做过梳理,这里我们再看看Spring框架中@Lazy注解的原理、核心类、应用场景。

2025-05-04 10:26:31 964

原创 实战:软件架构设计之【Spring Boot 动态注册Controller:实现Mock Server】

例如,提供一个REST接口,允许用户发送一个POST请求来创建一个新的Mock端点,包括路径、方法、响应体等信息。或者使用配置文件,在启动时加载多个预定义的Mock接口。Mock Server在测试过程中快速创建临时的API端点,模拟各种响应,而不需要预先在代码中定义这些Controller。前面梳理了Spring Boot 动态注册Controller,这里我们来实现一个Mock Server,体验一下动态注册Controller。在单元测试或集成测试中动态创建接口,验证系统对不同响应的处理逻辑。

2025-04-29 15:41:41 1421

原创 科普文:软件架构设计之【Spring Boot 动态注册Controller】

Spring Boot 动态注册 Controller 的核心原理是 ‌在运行时通过编程方式向 Spring 容器注册 Bean‌,并利用 Spring MVC 的 RequestMappingHandlerMapping 动态添加请求映射。‌传统静态注册‌:通过 @Controller/@RestController 注解在启动时扫描并注册 Bean。‌动态注册‌:绕过注解扫描,手动创建 Controller 的 Bean 定义,并‌ 实现运行时灵活性,适用于插件化、多租户等动态场景。其核心依赖。

2025-04-29 14:48:08 847

原创 科普文:软件架构设计之【Spring MVC小结】

SpringMVC 注解通过简化配置和增强语义,显著提升了开发效率。在 Spring 的基本架构中, Spring Web MVC 也就是SpringMVC,它是属于Spring基本架构里面的一个组成部分,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面,所以我们在后期和 Spring 进行整合的时候,几乎不需要别的什么配置。

2025-04-29 10:23:11 676

原创 科普文:HTTP协议【GET、DELETE一定没有请求体RequestBody吗?】

A payload within a GET request message has no defined semantics; sending a payload body on a GET request might cause some existing implementations to reject the request.可以看到,RFC7231规范并没有说明GET请求不能携带body(A payload within a GET request message has no

2025-04-29 09:18:42 752

原创 科普文:Java基础系列之【线程和线程池伪共享:ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal小结】

‌ThreadLocal‌:单线程数据隔离(如 Spring 的 RequestContextHolder)。‌InheritableThreadLocal‌:简单父子线程数据传递(如单次任务拆分)。‌TransmittableThreadLocal‌:线程池、异步任务、分布式链路跟踪(如日志 traceId 透传)‌类别‌ ‌优点‌ ‌缺点‌‌ThreadLocal‌ 轻量级、线程隔离性强、无锁性能高 父子线程无法传递数据、线程池场景失效、内存泄漏风险需手动清理‌InheritableThrea

2025-04-28 20:33:13 1092 1

原创 科普文:软件架构设计之【国内最好的Java 权限认证框架Sa-Token】

​Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。官方地址:Sa-Token最新版本:sa-token-doc/start/new-version.md · dromara/Sa-Token - Gitee.com​

2025-04-28 13:11:19 1078

原创 科普文:OAuth 2.0认证框架小结

OAuth 2.0 是一种 ‌‌,也是一个开放标准,允许第三方应用在用户授权下访问其资源服务器的数据,而无需直接获取用户凭据(如密码)。例如:用户把照片、视频、联系人数据存储在内容托管云服务R(Resource)中的Picture、Video、Contact三个模块中;用户使用在线照片打印服务P(Printer),用户需要让P服务读取R服务中的照片进行打印,但不想让P服务读取R服务中的其他数据。

2025-04-28 12:51:00 911

原创 科普文: Java web应用性能分析【Java性能优化:Java高效NIO之IO模型和零拷贝】

传统IO模式,在处理数据流过程中,线程处于阻塞状态,直到流处理(读取后写入)完毕,所以一个线程只能处理一个IO任务,如果IO未准备就绪无数据(或不可写)线程只能一直等待,直到可以有数据(或可写);NIO模式,采用IO多路复用技术,使用选择器(Selector)监控一组IO,虽然Selector线程也处于阻塞状态,但一个线程可以同时处理多个IO任务,当IO就绪时,Selector返回就绪的IO并由程序进行处理。

2025-04-26 14:32:18 752

原创 科普文: Java web应用性能分析【Java性能优化:Java高效NIO之直接内存映射】

通过用户缓存和Kernel缓存的共享,用户程序的操作直接作用到Kernel内存,无需进行内存拷贝。使用内存映射文件处理磁盘上的文件时,无需对文件执行IO操作,也不需要再为文件进行内存分配、加载和释放等管理工作,因此此模式在处理大量数据的文件时能起到高效的作用。例如,对于数据库服务等比较复杂的应用,程序根据业务更懂如何使用内存,为了提高性能,希望绕过内核缓存区,由自己在用户空间管理IO缓存,包括缓存机制和写延迟机制等,以支持事务、提高查询缓存命中率等。才是提供实际功能的其直接子类,他同时实现了。

2025-04-26 14:14:27 630

原创 科普文: Java web应用性能分析【Java性能优化:Undertow踩坑小结】

关于Undertow,前面已经做了梳理,这里整理一下用Undertow碰到的三个坑。1.spring.mvc.servlet.load-on-startup=1   对undertow 无效2.文件上传报错MultipartException3.静态资源报错404

2025-04-26 14:06:24 1258

原创 科普文: Java web应用性能分析【Java性能优化:Undertow性能调优小结】

性能调优效果对比优化项 默认配置 优化后配置 QPS提升Worker线程数 CPU*8 CPU*4 +15%~20%直接内存缓冲区 堆内存 直接内存 +30%HTTP/2支持 关闭 启用 +25%响应压缩阈值 无压缩 >10KB启用 带宽减少40%Undertow的优势‌:‌轻量级和高性能‌:Undertow基于非阻塞I/O模型,具有低资源消耗和高并发处理能力。‌支持HTTP/2和WebSockets‌:开箱即支持HTTP/2和WebSockets,无需重写启动类路径‌。‌可嵌入式‌:只

2025-04-26 13:12:34 540

原创 科普文: Java web应用性能分析【Java性能优化:传统IO、堆外内存 ByteBuffer.allocateDirect、MappedByteBuffe的io操作】

传统 IO、堆外内存 (直接内存 ByteBuffer.allocateDirect、内存映射MappedByteBuffer)的IO操作。如果你的应用主要涉及小文件处理或者需要频繁的随机访问,传统的IO可能就足够了。对于大文件或者需要高速数据传输的应用,直接内存的ByteBuffer或内存映射的MappedByteBuffer可能是更好的选择。直接内存更适合于需要频繁读写操作的场景,而内存映射更适合于大文件的随机访问。三种方式都有其独特的优势和适用场景。

2025-04-26 10:01:02 840

原创 科普文: Java web应用性能分析【Java性能优化:堆外内存 ByteBuffer.allocateDirect、MappedByteBuffe的io操作】

在Java中,内存管理主要通过垃圾回收器(Garbage Collector)进行,也就是jvm的运行时区Runtime Data Area。然而,有时我们需要直接管理内存,以实现更高效的性能或满足特定需求。这就是堆外内存的用武之地。堆外内存是Java堆内存之外的内存空间。与堆内存不同,堆外内存的分配和释放不由Java的垃圾回收器管理。这意味着,一旦你分配了堆外内存,就意味着你放弃了java自带的内存管理机制GC,所以需要你手动释放,否则可能会导致内存泄漏。

2025-04-26 09:34:24 1003

原创 科普文: Java web应用性能分析【Java性能优化:纯java编程的优化方法论小结】

switch 优化: 使用 switch 代替多个 if-else,提高分支预测效率。合理配置容器: 设置合适的初始容量,减少扩容带来的性能损耗。并行处理: 利用多线程和 Fork/Join 框架,充分利用多核 CPU。锁粒度优化: 使用细粒度锁和读写锁,减少线程竞争。池化资源: 使用线程池、数据库连接池、对象池,减少资源创建和释放的开销。直接内存: 使用 ByteBuffer.allocateDirect() 进行高效 I/O 操作。日志优化: 使用 isDebugEnabled 检查、占位符

2025-04-25 17:25:21 854

原创 实战: Java web应用性能分析之【springboot自定义Starter 】

前面我们梳理springboot自动装配的starter原理,并分析springboot如何支持tomcat、jetty、undertow三款内嵌web服务器。这里我们一起看看如何自定义一个starter。Starter 的核心目标是简化依赖管理和自动配置逻辑,我们可通过自定义 Starter 实现通用功能的模块化封装。当然其核心原理spi,这里就不再展开。我们这里还是以springboot2.X为例,构建一个自定义的starter,核心代码实现MyServiceAutoConfiguration

2025-04-25 13:11:51 968

原创 科普文: Java web应用性能分析之【springboot2.6、2.7、3.0的starter自动装配小结】

关于springboot2.6、2.7、3.0、3.5等的历史和特性,有兴趣的可以去看看前面的文章,这里我们做一个小结。即使2.6的支持已经到期‌,‌Spring Boot的自动装配主要通过@注解触发,其中是关键。‌稳定性与性能‌:Spring Boot 3.x版本因其对Java 17的支持和优化对Spring Framework 6的支持,被认为是当前最稳定的版本,适合需要高性能和长期维护的项目。‌社区支持‌:尽管2.x版本仍然有一定的市场占有率,但3.x版本因其最新的功能和性能优化,逐渐成为社区和企业

2025-04-25 11:33:25 870

原创 科普文: Java web应用性能分析之【java线程池中线程共享数据总结】

常见的并发问题竞态条件(Race Condition):多个线程同时访问和修改同一数据,导致结果依赖于线程的执行顺序。内存一致性错误(Memory Consistency Errors):一个线程写入的值可能在另一个线程中看不到,除非使用适当的同步机制。死锁:两个或多个线程相互等待对方释放资源,导致程序无法继续执行。java线程池中线程共享数据分类在分析并发问题前,我们有必要对java线程池中线程共享数据做一个分类,以便于更好的理解线程池和并发问题。下面从 ‌“共享方式”‌(如显式同步

2025-04-24 22:26:15 725

原创 实战:Java web应用性能分析之【死扣代码性能:日志输出为什么要用isDebugEnabled() 】

当你在用Arthas、JPfofile等性能分析工具分析服务端应用性能时可以看到应用运行时的状态,耗时,从而及时发现性能瓶颈。以我们可以看到trace监控下,每个方法内部的耗时情况。可以明显的观察到:加了isDebugEnabled判断,在info级别时,只做了debug判断,并未执行日志拼接操作;而不加isDebugEnabled判断,info级别时,没有做debug判断,并执行日志拼接操作。至此我们再去看看开发手册,是不是就能理解为什么要这么规定。

2025-04-24 10:59:44 668

原创 实战:Java web应用性能分析之【为什么springboot的restful接口第一次访问很慢,第二次之后就快很多】

如题:为什么springboot的restful接口第一次访问很慢,第二次之后就快很多?如上日志所示:第一次访问耗时【763ms【528ms【329ms】】】第二次访问耗时【70ms【11ms【6ms】】】访问controller,第一次和第二次访问相差10-50倍,是哪里出了问题?当前环境:springboot2.6.8 + JDK11.0.2 同时用undertow替换了内置Tomcat。

2025-04-23 22:23:46 923

原创 实战:Java web应用性能分析之【spring boot 高性能日志:UDP+异步日志log4j2+logstash】

通过 ‌Log4j2异步日志 + UDP传输 + Logstash聚合‌ 的三层优化,可实现百万级TPS的日志处理能力,同时将主线程日志记录耗时控制在微秒级。Log4j2的异步日志机制,如AsyncAppender或AsyncLogger,能够减少日志记录对主线程的影响,提升应用性能。而UDP协议相比TCP,传输速度快,但不可靠,不过对于日志这种允许部分丢失的场景,UDP是合适的选择。Logstash作为日志收集工具,需要配置对应的输入插件来接收UDP传输的日志。

2025-04-23 18:34:49 718

原创 科普文:Java web应用性能分析之【UDP+异步日志log4j2,性能马上飞】

Log4j2 凭借无锁队列、零 GC 和动态异步策略,在吞吐量和稳定性上全面领先;Logback 适用于轻量级场景但需严格调优;Log4j (1.x) 已不推荐使用。选型需结合业务负载和运维成本综合考量‌。

2025-04-21 19:27:21 821 1

原创 实战:Java web应用性能分析之【springboot日志log4j2.xml中获取配置文件application.yaml中的配置】

继续前面的细节,springboot日志log4j2.xml中如何获取配置文件application.yaml中的配置?springboot都不是单点部署,那么在集群环境下如何区分同一个服务多点部署时,如何区分日志?其实这两个问题是一个问题,多点部署时,服务名、服务IP、服务端口这三要素是唯一的。如上面application.yaml配置示例,服务名=Ecommerce、服务IP=0.0.0.0、服务端口=8080。只要服务启动时将这些打印到日志中,即可完成服务多点部署时的日志区分。

2025-04-21 19:02:56 1178 1

原创 实战:Java web应用性能分析之【异步日志:性能优化的金钥匙】

前面提到了Log4j2的高可扩展性,同时Log4j2的性能也是极高的,下面是Log4j2官方的benchmark数据,仅供参考:Log4j2之所以性能如此之高,其中一个很重要的原因就是其基于Disrupter的环形缓冲区的无锁化结构Ringbuffer设计。Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,基于Disruptor开发的系统单线程能支撑每秒600万订单。目前,包括Apache Strom、Log4j2在内的很多知名项目都应用了Disruptor来获取高性能。

2025-04-20 21:08:54 945

原创 实战:Java web应用性能分析之【VO/BO/DTO间的对象拷贝】

问题‌:BeanUtils.copyProperties()在getDetail中耗时51ms(16.95%),在add1中耗时4.7ms,反射拷贝效率低。‌优化方案‌:使用‌MapStruct‌(编译时生成代码)或‌BeanCopier‌(动态字节码)替代Spring的BeanUtils。手写get/set,效果最好最明显,只是维护时,代码量多一点。

2025-04-20 16:23:00 849

原创 科普文:Java基础之算法系列【链表之缓存:2Q(Two Queues)两队缓存替换算法详解】

2Q缓存实现:结合FIFO队列和LRU队列的缓存替换策略。* 适用场景:存在短期重复访问的数据(如Web请求路径缓存)* - 淘汰时优先淘汰FIFO队列中的旧数据。* - 二次命中后晋升到LRU队列。* - 新数据进入FIFO队列。FIFO、LRU实现方式‌。LRU实现方式二: ‌。对于高并发场景,可将。实现更细粒度的锁控制。

2025-04-20 15:27:56 1006

原创 科普文:Java基础之算法系列【链表之缓存:ARC(Adaptive Replacement Cache)自适应替换缓存算法详解】

结合 ‌LFUCacheWithHeap(LFU)‌ 和 ‌DynamicLRUCacheWithSkipList(LRU)‌ 实现 ‌ARC(Adaptive Replacement Cache)‌ 算法的完整代码。详细参见前面LRU和LFU的文章。即通过结合 ‌跳表(LRU)‌ 和 ‌最小堆(LFU)‌ 的优势,该实现能在保证并发安全性的同时,动态适应不同的数据访问模式,是 ARC 算法的高效工程实践。* ARC(自适应替换缓存)实现:* - T1(LRU列表):用跳表维护最近访问数据*

2025-04-20 14:53:14 770

原创 科普文:Java基础之算法系列【链表之缓存:LFU(Least Frequently Used)最不经常使用算法详解】

LFU实现方式一: ‌TreeMap + 哈希表+synchronizedLFU实现方式二: ‌最小堆 + 哈希表+ReentrantReadWriteLockLFU(Least Frequently Used):概念:最不经常使用算法。原理:记录每个缓存项的使用频率,定期清除使用频率最低的项。优点:适用于那些有部分热点数据的场景,因为这些热点数据会被频繁访问,从而kromah地留在缓存中。缺点:实现相对复杂,需要维护频率计数器;对于一些突发性的高频访问,LFU可能会频繁地替换缓存项。

2025-04-20 13:41:48 887

原创 科普文:Java基础之算法系列【链表之缓存:LRU(Least Recently Used):最近最少使用算法详解】

LRU实现方式一: ‌双向链表 + 哈希表+读写锁LRU实现方式二: ‌跳表 + 哈希表+分段锁最近最少使用算法(Least Recently used -LRU):这个缓存算法将最近使用的条目存放到靠近缓存顶部的位置。当一个新条目被访问时,LRU将它放置到缓存的顶部。当缓存达到极限时,较早之前访问的条目将从缓存底部开始被移除。

2025-04-20 13:12:34 620

原创 科普文:Java基础之算法系列【链表之缓存:三种方式实现FIFO】

概念:先进先出算法。原理:按照缓存项的进入时间顺序进行替换,最早进入的项会被优先移出。优点:实现简单,不需要额外的记录结构。缺点:无法区分不同项的重要性,可能会导致热点数据被移出,影响缓存性能。记住它的核心原则:如果一个数据最先进入缓存,则应该最早淘汰掉。下面用三种方式来实现FIFO:实现方式‌ 插入/淘汰时间复杂度 内存占用双向链表 + 哈希表 O(1) 较高队列 + 哈希表 O(1) 较低LinkedHashMap O(1) 最低

2025-04-20 11:29:41 935

Modultils 工具源码分析之 insmod 篇

Modultils 工具源码分析之 insmod 篇

2024-11-22

El caso de las hojas de ruta seguras para la memoria

El caso de las hojas de ruta seguras para la memoria Por qué tanto los ejecutivos de alto nivel como los expertos técnicos deben tomarse en serio la codificación segura para la memoria

2024-11-03

The Case for Memory Safe Roadmaps 内存安全案例路线图

The Case for Memory Safe Roadmaps 内存安全案例路线图

2024-11-03

java开发手册最新版黄山版

java开发手册最新版--黄山版

2024-07-19

Sybase语法大全.pdf

Adaptive Server Enterprise参考手册

2012-03-08

jsp+servlet+javabean.ppt

9.1 Servlet概述 9.2 Servlet的基本结构与成员方法 9.3 调用Servlet的多种方法 9.4 两种模式的JSP技术 9.5 Servlet模式的留言板案例 9.6 Servlet的会话跟踪 习题9

2010-04-02

mysql-connector-net-5.2.5-src.zip

mysql connector net 5.2.5 装上就可用...

2009-10-29

Devexpress学习篇(请大家多多指教)

Devexpress学习篇(请大家多多指教)博客文章 因为大家看不到图片,所以我将博客文章保存在word里面 请大家 下载一下啊 帮帮忙看看 多谢指教

2009-07-28

Devexpress自学案例

Devexpress自学案例 请大家 多多指教

2009-07-28

2009届应届生求职指南

涵盖2009年各行业,各职业介绍,以及求职准备,求职注意事项,简历制作,面试技巧等等各方面的信息。

2008-12-19

空空如也

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

TA关注的人

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