自定义博客皮肤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)

这是一个俗世行者的空间,这是一个技术交流的平台

  • 博客(290)
  • 资源 (23)
  • 收藏
  • 关注

原创 【算法系列】十大经典排序算法

排序算法时间复杂度 (最好)时间复杂度 (平均)时间复杂度 (最坏)空间复杂度稳定性冒泡排序O(n)O(n²)O(n²)O(1)稳定选择排序O(n²)O(n²)O(n²)O(1)不稳定插入排序O(n)O(n²)O(n²)O(1)稳定希尔排序O(n log n)取决于增量序列O(1)不稳定归并排序O(n log n)O(n log n)O(n log n)O(n)稳定快速排序O(n log n)O(n log n)O(n²)

2025-03-05 14:00:42 918

原创 【算法系列】桶排序算法介绍及实现

桶排序(Bucket Sort)是一种基于分组的排序算法,其核心思想是将一组数据按某种规则分配到多个桶中,然后对每个桶中的数据进行单独的排序操作。通常情况下,桶排序适用于整数类型的数据,并且能够处理大量数据的情况。初始化桶:根据数据范围和分布情况,确定桶的数量和大小。分配数据到桶:将输入数据按照某种规则分配到对应的桶中。对每个桶进行排序:对每个桶中的数据使用适当的排序算法(如插入排序或归并排序)进行排序。合并桶:按顺序遍历所有桶,将排序后的结果依次收集起来。

2025-03-04 14:24:49 347

原创 【算法系列】基数排序

基数排序(Radix Sort)是一种非比较型整数排序算法,它通过逐位处理数字来实现排序。与快速排序、归并排序等基于比较的排序算法不同,基数排序利用了每个数字的位值进行排序,因此可以在O(n)的时间复杂度内完成排序任务。基数排序适用于对正整数、负整数以及固定长度的字符串进行排序。基数是指数字系统中的基本单位或基础值。它决定了一个数位上可能有多少种不同的符号或数值。例如,在十进制系统中,基数是10,因为每一位上有10种可能的符号(0到9)。

2025-03-03 19:59:24 1115

原创 【算法系列】经典的堆排序算法

堆排序(Heap Sort)是一种基于二叉堆数据结构的比较排序算法。它利用了完全二叉树的特性,将待排序的数据构造成一个最大堆或最小堆,然后通过不断移除堆顶元素并重新调整堆来实现排序。堆排序具有稳定的时间复杂度O(n log n),并且不需要额外的空间,因此在处理大规模数据时表现良好。堆排序作为一种经典的排序算法,不仅在理论上有重要的意义,在实际应用中也经常被使用。理解堆排序的工作原理及其背后的二叉堆数据结构,有助于更好地掌握其他高级算法和数据结构。

2025-03-02 14:00:04 832

原创 【算法系列】有趣的计数排序

计数排序是一种高效的非比较型排序算法,特别适用于处理整数且范围较小的数据集。通过统计每个元素出现的次数并使用累积频率来确定它们在输出数组中的位置,计数排序能够在O(n + k)的时间复杂度内完成排序任务。尽管其适用范围有限,但在特定场景下,计数排序能够提供显著的性能优势。

2025-02-26 19:42:10 842

原创 【算法系列】希尔排序算法

希尔排序是一种高效的排序算法,通过引入增量序列来减少数据项移动的次数,从而提高了排序效率。尽管其最坏情况下的时间复杂度可能不如快速排序或归并排序,但在实际应用中,希尔排序仍然具有较好的性能表现,尤其是在处理中小规模数据集时。主要优点简单易实现:希尔排序的实现相对简单,易于理解和调试。高效性:相较于传统的插入排序,希尔排序能够显著减少数据项的移动次数,从而提高排序效率。适用范围广:适用于中小规模数据集的排序任务。主要缺点。

2025-02-26 18:49:22 1057

原创 【算法系列】快速排序详解

Lomuto 分区方案:简单易懂,但相比 Hoare 分区方案,在某些情况下可能会有更多的交换操作,导致效率稍低。Hoare 分区方案:通常比 Lomuto 分区更高效,因为它减少了不必要的交换操作,从而减少了时间复杂度。三数取中法:通过选择数组的第一个、中间和最后一个元素中的中位数作为基准,减少最坏情况的发生概率。尾递归优化:通过优化递归调用栈的深度,避免栈溢出问题,特别适合处理大规模数据集。

2025-02-25 19:37:55 1197

原创 【算法系列】归并排序详解

归并排序是一种非常高效的排序算法,特别适合处理大规模数据集。尽管它的空间复杂度较高,但由于其稳定性和一致的时间复杂度,使其成为许多实际应用中的首选排序算法之一。

2025-02-25 17:27:23 491

原创 【算法系列】常见排序算法:冒泡排序、选择排序与插入排序

排序算法时间复杂度(最好)时间复杂度(平均)时间复杂度(最坏)空间复杂度稳定性冒泡排序O(n)O(n^2)O(n^2)O(1)稳定选择排序O(n^2)O(n^2)O(n^2)O(1)不稳定插入排序O(n)O(n^2)O(n^2)O(1)稳定。

2025-02-25 16:33:42 839

原创 【Kafka系列】Kafka 消息传递保障机制

定义:在这种模式下,每条消息要么成功发送并处理,要么丢失。实现方式生产者发送消息后不等待任何确认(即acks=0),直接认为消息发送成功。消费者读取消息后立即提交偏移量(offset commit),即使后续的消息处理失败或崩溃,也不会重新消费该消息。定义:在这种模式下,每条消息至少会被处理一次,可能会重复处理。实现方式生产者发送消息时等待确认(通常设置acks=all),确保所有副本都接收到消息后再继续。消费者处理完消息后再提交偏移量。

2025-02-20 13:46:25 1013

原创 【Java 记事本】功能需求文档

本程序将实现记事本的基本功能,同时根据实际需求进行适当的功能扩展和优化,主要包括文件操作、编辑操作、格式设置、视图设置和帮助功能等。本功能需求文档明确了使用 Java 语言开发记事本程序的各项功能需求和非功能需求。在后续的开发过程中,将严格按照本需求文档进行设计、开发和测试,确保开发出的程序能够满足用户的需求,具有良好的性能、易用性和稳定性。

2025-02-18 19:02:36 965

原创 构建高效可靠的交易撮合系统:原理、实现与优化

通过上述设计和技术手段的应用,我们可以构建出一个既满足性能需求又具备良好扩展性的交易撮合系统。分布式部署:利用微服务架构将不同模块拆分到独立的服务中,提升系统的弹性和容错能力。实时数据分析:集成流处理框架(如 Apache Kafka 和 Flink)实现实时市场行情监控和风险预警。智能化决策支持:结合机器学习算法为用户提供更精准的投资建议和个性化服务。希望本文能够帮助读者理解交易撮合系统的背后原理及其开发要点!

2025-01-20 18:13:29 1220

原创 设计模式:构建高效且可维护的软件系统的基石

提供了一种创建一系列相关或相互依赖对象的接口,而不指定它们具体的类。这有助于保持代码的一致性和兼容性,特别是在跨平台的应用中。例如,在GUI库中,抽象工厂可以用来创建一组协调工作的控件集(按钮、文本框等),确保无论是在Windows还是macOS上都能获得一致的用户体验。设计模式不仅是解决问题的工具,更是交流思想的语言。掌握这些经典模式,可以帮助我们在面对复杂问题时找到正确的方向,写出既优雅又实用的代码。当然,选择合适的设计模式应当基于项目的实际情况和技术背景。

2025-01-19 19:33:15 1184

原创 Java线程池相关接口

它是一个抽象类,实现了ExecutorService接口,提供了线程池的基本实现。它是Java Executor框架的核心类,提供了线程池的基本操作,如提交任务、管理线程池、执行任务等。自定义执行器服务可以扩展AbstractExecutorService并覆盖其方法以提供自己的实现。这使开发人员可以创建适合其特定需求的执行器服务。

2025-01-14 19:50:44 561

原创 Spring Boot 整合 Redis 步骤详解

通过上述步骤,我们成功地在 Spring Boot 应用中集成了 Redis,并实现了基本的数据缓存功能。这不仅提高了应用的性能,还为开发者提供了更多灵活的数据管理手段。

2024-12-06 00:47:08 1819 1

原创 Spring Boot 整合 Druid 并开启监控

如果默认配置不能满足你的需求,你可以创建一个自定义的 Druid 配置类来覆盖默认设置。@Bean// 如果需要,可以在这里添加更多配置,如过滤器、拦截器等@Bean@Bean通过以上步骤,我们成功地在 Spring Boot 应用中集成了 Druid 数据库连接池,并开启了其监控功能。这不仅提高了数据库访问的效率,还为开发者提供了宝贵的调试和优化工具。希望这篇文章能够帮助你。

2024-12-05 19:39:32 2605

原创 spring boot 配置文件加载的加载和使用

properties与YAML格式的配置作用相同,但YAML使用缩进来表示层级关系,更加易读、易维护,也更加灵活。对于复杂配置,推荐使用YAML,但对于简单的配置项,也可以使用properties。在实际开发中,应用程序的配置文件可能会变得非常复杂,属性的数量也会很多。为了更好地组织和管理属性,可以使用Spring Boot的属性分组功能。以上两种配置方式作用是相同的,都定义了一个upload.file的分组。@Value也能从配置文件中获取属性的值,需要逐个属性进行绑定。声明一个JavaBean。

2024-12-05 16:40:27 848

原创 如何在 IntelliJ IDEA 中为 Spring Boot 应用实现热部署

通过以上步骤,你应该能够在 IntelliJ IDEA 中成功配置 Spring Boot 应用的热部署功能。这不仅可以大大提高开发效率,还能让开发者更加专注于业务逻辑的实现,而无需频繁地等待应用重启。希望这篇文章能帮助你在日常开发中更加高效地工作!

2024-12-05 13:19:35 1543

原创 redis实践

集合并运算如果key不存在,则默认为空集合。结果中去掉了一个重复的d,也就是说,并运算的结果元素不能重复。

2024-12-04 18:15:11 184

原创 Redis数据持久化

为了管理Redis数据,Redis进程除了会基于内存进行数据存储之外,也会将所存储的数据持久化到磁盘之中。

2024-12-04 17:39:25 674

原创 用户密码存储方式的发展史

如果黑客入侵了系统,他们可以直接看到所有用户的密码,就像走进了一家无人看管的糖果店。这就像是给密码穿上了一件迷彩服,即使两个用户使用相同的密码,由于盐值不同,最终的哈希结果也会不同,从而有效防止了彩虹表攻击。用户注册时,后台先生成指定长度的随机字符串作为盐,然后把盐和用户密码拼接后计算整个串的哈希值,然后把上述盐和哈希值同时存入用户表中。安全性问题:尽管哈希后的密码不能直接反推原始密码,但是聪明的黑客们发明了彩虹表——一种预先计算好的哈希值表。风险:密钥管理困难,一旦密钥泄露,所有密码都会暴露。

2024-11-29 21:28:16 729

原创 高并发场景下用户余额更新的五种方法

在高并发场景下更新用户余额,可以通过多种方法来实现。事务和行级锁:简单易实现,但性能瓶颈明显。乐观锁:适用于读多写少的场景,减少锁的竞争。存储过程:减少网络开销,更好地控制事务,但实现复杂。消息队列/日志:解耦生产者和消费者,提高系统的可扩展性和稳定性,但增加了系统复杂性。分段锁思想:通过分段锁和内存中的变更批量写入数据库,提高并发性能,但实现复杂度较高。选择合适的方法取决于具体的业务需求和技术栈。希望这些信息对你有所帮助!

2024-11-28 22:21:48 1056

原创 Java 线程池介绍与实践

创建方式:直接使用 ThreadPoolExecutor 构造函数特点提供了更多的配置选项,如核心线程数、最大线程数、线程空闲时间、任务队列等。可以根据具体需求进行灵活配置。适用场景:适用于需要高度定制化线程池的场景,如高性能服务器、复杂业务逻辑等。

2024-11-18 21:48:06 737

原创 如何保证MySQL与Redis缓存的数据一致性?

从上面的四种方案看,似乎没有一种方案真正能解决并发场景下MySQL数据与Redis缓存数据一致性的问题。如果业务要求必须要满足强一致性,那么不管如何优化缓存策略,似乎都无法满足,那最好的办法是不用缓存。强一致性:它要求系统写入什么,读出来的也会是什么,用户体验好,但实现起来往往对系统的性能影响大。解决方案是读写串行化,而此方案会大大增加系统的处理效率,吞吐量也会大大降低。另外在大型分布式系统中,其实分布式事务大多数情况都不会使用,因为维护成本太高了、复杂度也高。

2024-11-15 23:09:45 1151 1

原创 如何在有限内存下对外部大文件进行排序

外部排序算法是一种用于处理无法完全加载到内存中的数据集的排序方法。最常用的外部排序算法是多路归并排序,它分为两个主要步骤:分割 和 合并。分割:将大文件分割成多个小文件,每个小文件的大小应小于可用内存,以便可以对其进行内部排序。合并:将所有已排序的小文件合并成一个大的已排序文件。基于外部排序思想,我们把文件分成79个,分别存储10、11、12、……、87、88开头的数字,平均每个文件大小约为130MB(10GB/79)。

2024-11-11 21:42:12 908

原创 如何在 Java 中使用 Canal 同步 MySQL 数据到 Redis

特别是将 MySQL 数据实时同步到 Redis,可以显著提升应用的性能和响应速度。Canal 是阿里巴巴开源的一个数据库 Binlog 同步工具,可以实时捕获 MySQL 的 Binlog 日志并将其同步到其他存储系统。Canal的原理是基于mysql binlog技术,所以这里一定需要开启mysql的binlog写入功能,并且配置binlog模式为row。的内容,还要注意JDK版本及配置。在 MySQL 中插入、更新或删除数据,观察 Java 应用是否能够实时捕获这些变化并将数据同步到 Redis。

2024-11-07 22:57:55 1402

原创 在docker中搭建redis哨兵环境

哨兵可以监控主节点和从节点的状态,并在主节点失效时自动进行故障转移。本文详细介绍了如何在docker中配置主节点、从节点和哨兵节点,并提供了详细的步骤和示例。出现该问题的原因是redis sentinel(哨兵)会更改节点和哨兵的conf文件,这涉及文件权限问题。最简单的一种处理方案:挂载文件时,选择挂载conf文件所在的目录,而不直接挂载conf文件。:哨兵在报告主节点和从节点的地址时,会使用主机名而不是 IP 地址。你应该能看到主节点和从节点的信息,确认哨兵已经正确监控主从节点。

2024-11-06 14:06:10 1218

原创 Redis 组网方式入门

Redis 提供了多种组网方式,每种方式都有其适用的场景和优缺点。选择合适的组网方式需要根据具体的业务需求、性能要求和运维能力来决定。例如,对于简单的应用,单实例模式或主从复制模式可能就足够了;而对于高可用性和高性能要求的场景,集群模式或哨兵模式可能是更好的选择。希望本文能帮助读者更好地理解和选择适合自己的 Redis 组网方式。

2024-11-05 00:04:47 867

原创 Redis主从复制入门

Redis 主从复制是一种数据复制机制,它允许将一个 Redis 服务器的数据复制到多个其他 Redis 服务器。这种机制可以用来实现读写分离、提高系统的可用性和容错性。

2024-10-27 14:07:08 574

原创 在MySQL中存储IP地址的最佳实践

在现代网络应用中,IP地址是常见的数据类型之一,无论是用于日志记录、访问控制还是数据分析。正确地存储和处理IP地址对于数据库性能和数据准确性至关重要。本文将探讨在MySQL中存储IP地址的不同方法,并提供最佳实践建议。

2024-10-26 23:54:50 1744

原创 IPv6地址的简化规则及Java中的处理方法

通过上述简化规则和Java代码示例,你可以在实际应用中轻松地处理和简化IPv6地址。合理利用这些规则不仅可以提高可读性,还能优化存储和传输效率。希望本文能够帮助你在处理IPv6地址时更加得心应手。

2024-10-26 15:43:20 1385 1

原创 Redis进阶

单个Redis命令的执行是原子性的,但Redis没有在事务上增加任何维持原子性的机制,所以Redis事务的执行并不是原子性的。事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。Redis Stream提供了消息的持久化和主备复制功能,可以让任何客户端访问任何时刻的数据,并且能记住每一个客户端的访问位置,还能保证消息不丢失。Redis发布订阅(pub/sub)是一种消息通信模式:发送者发送消息,订阅者接收消息。

2024-10-21 23:08:31 352

原创 【并发控制策略详解】悲观锁与乐观锁

悲观锁(Pessimistic Locking)是一种假设最坏情况的锁定策略。它认为在处理过程中很可能发生冲突,因此在整个数据处理过程中会对数据进行锁定。当一个事务获取了某个数据项上的悲观锁之后,其他事务就不能对该数据项进行任何操作,直到第一个事务释放了这个锁。乐观锁(Optimistic Locking)是一种假设最好的情况的锁定策略。它认为在处理过程中不太可能发生冲突,因此允许事务自由地读取数据,但在提交更改前检查是否有其他事务已经修改了该数据。如果检测到数据已被更改,则当前事务会被回滚或者重新执行。

2024-10-20 19:35:45 1116

原创 Redis的Bin目录文件及常用命令

什么是基数:比如数据集{1, 3, 5, 5, 7, 7, 8}的基数集为{1, 3, 5, 7, 8},基数(不重复元素个数)为5。假设西经为负,东经为正,南纬为负,北纬为正,即[-180, 180],[-90, 90]。Redis HyperLogLog是用来做基数统计的算法,它的优点是在输入元素的数量或体积非常大时,计算基数所需要的空间总是固定的、并且是很小的。集合的成员是唯一的,但分数是可以重复的。一个列表最多可以包含。实际应用中,可以继续做二分操作,通常二分操作的次数记为N,它是可以自定义的。

2024-10-20 19:20:24 953

原创 缓存系统的三大挑战:缓存击穿、缓存穿透和缓存雪崩

缓存击穿是指一个非常热门的数据(通常是热点数据)在缓存中过期或被删除后,同时有大量的请求并发访问该数据。由于缓存中数据已过期,这些请求会直接穿透到数据库,对数据库造成瞬间的巨大压力。缓存穿透是指查询一个不存在的数据,由于缓存中没有该数据,每次请求都会穿透缓存直接访问数据库,而数据库中也没有该数据。这种情况会导致大量的无效请求直接打到数据库上,增加了数据库的压力。

2024-10-08 16:09:25 892

原创 Redis BigKey问题

例如,如果需要频繁地查询某个范围内的元素,可以考虑使用有序集合(Sorted Set)而不是列表(List)。如果需要在网络上传输BigKey的数据(如主从复制、集群同步等),可能会导致网络传输延迟增加,影响系统的整体性能。例如,将一个大的列表拆分成多个小列表,或者将一个大的哈希表拆分成多个小哈希表。在进行RDB持久化或AOF日志备份时,BigKey会导致备份文件变得非常大,从而增加备份和恢复的时间。通过以上方法,可以有效地发现和解决Redis中的BigKey问题,提高系统的性能和稳定性。

2024-10-08 15:26:21 1311

原创 一个简单的SQL面试题

平时使用join写SQL时一般使用的等值连接,即在on后面紧跟着表的主键等于另一个表的某一列,很少使用不等于或其他比较操作符判断。在语法上,可以使用等值连接以外的方式,这种类型的连接被称为非等值连接或范围连接。但在实际应用中,使用非等值连接可能会导致较大的中间结果集,特别是在数据量大的情况下,这可能会影响查询性能。

2024-10-03 18:27:32 2337

原创 在Java中如何利用ClassLoader动态加密、解密Class文件

在Java开发中,保护代码的安全性是一个重要的课题。为了防止代码被轻易反编译,我们可以使用ClassLoader来动态地对Class文件进行加密和解密。本文将详细介绍如何实现这一过程,并提供完整的示例代码。

2024-09-24 23:03:27 936 4

原创 MySQL索引测试

表中没有任何数据时,无论是否使用索引,查询结果都是一样的。但直接扫描表(全表扫描)可能比使用索引更快,因为即使是空表,访问索引也需要一定的开销,但并不会带来性能提升。使用如下SQL语句建表,并使用b列作为条件查询。按照索引最左匹配原则,此时应该无法使用索引。但如果表中只包含主键列和索引列,此时查询优化器还是会使用索引。在MySQL中,即使表中没有数据,查询优化器也会考虑使用索引来执行查询。但在某些情况下,查询优化器可能会选择不使用索引,这通常是基于成本效益分析的结果。

2024-09-20 19:31:51 425

原创 MyISAM引擎介绍

MyISAM是MySQL的一种存储引擎,它以其简单性和高速度而著称。在早期的MySQL版本中,MyISAM广泛使用,尤其是在那些以读操作为主的应用场景中。然而,随着InnoDB存储引擎的成熟和普及,MyISAM的使用逐渐减少。

2024-09-18 21:16:31 1050

Hyperledger Fabric kafka配置

Hyperledger Fabric默认使用solo共识,实际上它早就已经支持kafka共识,只是配置相对复杂点儿。该资源就是使用kafka共识的多orderer集群环境下的网络所需要使用的配置文件。你也可以参考下文帮您理解:http://blog.youkuaiyun.com/binbinxyz/article/details/79491254

2018-03-09

纯JavaScript实现的复制/剪切库

纯JavaScript实现的复制/剪切库

2015-10-08

java记事本

java版记事本(含源码)。仿照windows系统记事本,实现了标题栏、菜单栏、状态栏等的UI。功能上实现了文件、编辑、格式、查看、帮助菜单。该记事本具体功能有:文件的新建、打开、保存、另存功能,退出功能,撤消、恢复功能,剪切、复制、粘贴、删除功能,跳转到指定行功能,全选、日期时间功能,自动换行功能,查看行号、状态栏、全屏功能,以及查找、替换、字体功能(未实现)。注意:已实现复制、粘贴、剪切功能,已实现撤消、恢复功能,已实现状态栏显示光标行列信息功能,已实现显示行号、全屏功能。欢迎大家下载、体验,随时欢迎各位与我沟通、交流。

2015-09-30

js版俄罗斯方块

俄罗斯方块,一个精典又好玩的游戏。这是一个javascript版本的俄罗斯方块。多浏览器支持(兼容IE,360,火狐等)。

2014-03-17

FilterAndInterceptor

本资源是包含过滤器、拦截器的一个完整的MyEclipse项目。下载后可以直接导入MyEclipse中部署运行。 关于过滤器和拦截器: 过滤器--是在java web中,提前过滤掉一些信息或者提前设置一些参数,然后再传入servlet/struts的 action进行业务逻辑处理。比如过滤掉非法url或者在传入servlet/struts的action前统一设置字符集,或者去除掉一些非法字符等; 拦截器--它由spring管理,只对action起作用,不能拦截jsp页面、图片等其他资源。执行顺序:过滤前 - 拦截前 - Action处理 - 拦截后 - 过滤后

2013-08-20

WebService开发入门(XFire)

网上有很多Web Service开发相关的资料,但java方面的不多,完整的项目示例更少。我整理了一下使用XFire1.2.6进行Web Service开发的思路,尝试完成了一个入门实例(完整的MyEclipse项目)。如果你正在学习Web Service或者对这个有兴趣,你可以下载该附件,导入MyEclipse中运行以查看示例效果。希望对你有用!如果有兴趣,也可以查看我的相关博文http://blog.youkuaiyun.com/binbinxyz/article/details/8906990

2013-05-09

jQuery 1.4.1 速查表

jQuery 文档XML文件内英文及代码部分版权归原官方wiki所有,中文部分分属为之漫笔, Shawphy and Cloudream所有。欢迎转载、替换其他XSL样式或其他形式的转载,但必须保证XML文件原样转载,保留署名以及不可用于商业用途。本文档仅供参考,出于方便学习的目的而分发。使用者必须自行承担风险,因使用此文档造成的任何损失或者潜在的损失,译者均不为其负责。

2013-04-28

经典游戏-俄罗斯方块(二)

个人原创代码,js版经典游戏——俄罗斯方块。该游戏经过版本升级,重构后的代码更加优质,修复了1.0版本中出现的多个BUG。该版本加入游戏说明、游戏级别、方块颜色等功能

2013-03-27

经典游戏-俄罗斯方块

个人原创代码,js版经典游戏——俄罗斯方块

2013-03-18

SSI框架整合开发

基于SSI的框架整合开发Demo。该Demo是一个完整的MyEclipse项目,可以直接导入运行。注意:该demo连接oracle数据库,所以需要相应用户及权限。如有必要可以直接修改%项目%/src/jdbc.properties。版本说明:Struts2.1-spring2.5-ibatis2.3。

2013-01-05

struts2_validation

一个健壮的Web应用程序必须确保用户输入是合法的。例如,在把用户输入的信息存入数据库之前,通常需要进行一些检查以确保用户选择的口令不少于n个字符、用户的出生日期不晚于今天,等等。Struts2提供了一些基于XWork Validation Framework的内建验证程序,它们大大简化了输入验证工作。 使用这些验证程序不需要编程,程序员只需要在一个XML文件里对验证程序应该如何工作做出声明就行了。需要声明的内容包括:哪些字段需要进行验证,在验证失败时应该把什么样的出错消息发送到浏览器,等等。 该资源就是完成该示例的一个完整项目,基于MyEclipse完成的。如有兴趣,请下载查看详细内容。

2012-12-24

MD5校验工具

MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。

2012-04-24

ecside_1.30_full

EC Side是一个开源的列表组件。 他源自著名开源列表组件 eXtremeComponents (http://www.extremecomponents.org), 但现在已经脱离eXtremeComponents,独立发展(仍有大量代码来自 eXtremeComponents)。 “做最实用易用的列表组件”是ECSide最终的目标。

2012-03-29

ECSide官方文档

ECSide官方文档 ECSide应用在WEB程序 1 项目说明 1.1 项目模块组成 本项目是结合了ECSide(JSP列表组件)完成了列表的显示,以及单表的增删改查。ECSide是一个开源的列表组件。他源自著名开源列表组件eXtremeComponents(http://www.extremecomponents.org),但现在已经脱离eXtremeComponents,独立发展(仍有大量代码来自eXtremeComponents)。 此项目实现了: 1. 实现了批量增加,批量修改,批量删除 2. 利用ECSide组件实现了列表的分页,排序,查询,修改列宽。其中分页、排序、查询都是基于数据库开发的,对于数据量大的情况下也有非常好的性能。 ……

2012-03-29

使用ant从多个SourceFolder的项目中导出jar包的测试项目

有些项目中存在多个SourceFolder,而我们可能需要从其中一个SourceFolder中导出jar包。使用ant进行简单的编译打包已经不能满足该需求。笔者经过细心研究,找到了一种可行的解决方案。详情请参考该完整的java项目,或者笔者博文《如何使用ant从多个Source Folder的项目中导出jar包? 》(地址:http://blog.youkuaiyun.com/binbinxyz/article/details/7361376)

2012-03-19

数字转换成中文大写

在做商业领域中,开发票、支票等与金钱相关的项目时通常会遇到要求把数字转换成中文大写。诸如“壹拾圆陆角玖分”。借鉴网友成熟的想法,再加上我周密的思考,最终形成此代码。压缩包中仅包含一个java文件,里面仅有的一个方法就是转换的方法。该方法经过我多次测试均能正常工作,但我不能保证它不会出现问题。如果你发现了其中的BUG,欢迎留言或邮件通知我。我也会及时更新该代码。

2012-03-15

功能强大的java版代码行数统计程序

一个功能十分强大的java版代码行数统计程序,可以用来统计.java .htm .html .jsp .xml等格式的文件的代码行数。如有需要,可以对本程序稍加扩展,以支持其他格式文件(如.css .js .php等)的代码统计

2012-02-21

java版日历

java版日历,可以查询某一年所有月份的日历,也可以查询某一个指定月份的日历。

2012-02-20

spring参考文档

spring官方参考文档,PDF电子书格式的。 spring-framework-reference.pdf

2012-02-08

testproject

web项目中在jsp页面从文件中读取信息或者向文件中写入信息时文件路径的处理方法

2011-05-26

delphi版的简易计算器程序

一个简易计算器程序,完成了正负整数、小数的加减乘除基本运算。

2010-10-31

java版的时钟应用程序【可直接运行】

一个java版时钟应用程序,可以显示出当前系统的日期和时间。 时针、分针和秒针都会随着时间走动。

2010-10-31

点灯——好玩的java小游戏【免费】

点灯 属性:精彩而又富有挑战性的益智类java小游戏 版本:1.4 自己和同学一块编写了一个小游戏,后来我又抽空进行了修改完善。不会让您失望的!

2010-07-21

空空如也

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

TA关注的人

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