自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(985)
  • 资源 (11)
  • 收藏
  • 关注

原创 MySQL 反模式:为什么资深 DBA 看到 ENUM 类型直摇头?

ENUM就像是一个诱人的陷阱:它在开发初期给你提供了便利(看着直观、省空间),却在业务高速发展期(需要频繁变更状态)给你埋下了锁表宕机的地雷。在 99% 的场景下,TINYINT都是ENUM的完美替代品。

2026-02-01 08:30:00 533

原创 北京和上海的机房同时宣布“登基”:聊聊分布式“脑裂”惨案

在分布式的世界里,没有**“完美”**。你不可能同时拥有“数据绝对不丢”和“服务永远不挂”和“速度极快”。银行系统选择了CP:取款机断网了,绝对不让你取钱(宁可不可用,不能账不平)。抖音/微博选择了AP:关注数暂时少显示一个没关系,但视频必须能刷出来(宁可数据错,不能服务挂)。架构师的终极任务,不是消灭不确定性,而是管理不确定性。

2026-02-01 08:30:00 308

原创 悄悄加字段,代码不报错:MySQL 8.0 “隐藏列” (Invisible Columns) 的黑魔法

是 MySQL 8.0 给运维人员和架构师的一颗“后悔药”。它完美解决了Schema Evolution(模式演进)中的“先有鸡还是先有蛋”的问题。让数据库的变更可以独立于代码的发布,实现了真正的解耦。以后再看到SELECT *的烂代码,你至少不用担心加个字段就把系统搞崩了。

2026-01-31 08:30:00 518

原创 微服务:把一个简单的问题,拆成 100 个网络问题

结果,你虽然有 10 个服务,但每次上线都得 10 个团队坐在一起,喊“1、2、3”一起按发布按钮。微服务不是为了“性能”而生的(实际上它通常会降低性能),它是为了**“规模”**而生的。你的首页有一个不重要的功能:“显示今日星座运势”。当星座服务挂了时,直接快速失败(Fast Fail),不要卡死线程,保住核心业务。这叫**“分布式单体”**。你失去了单体的简单,却承受了微服务的痛苦。最后你发现,为了保证数据一致性,你花的时间比写业务逻辑还多。,为了解决这个自己制造出来的性能问题,又写了更多的烂代码。

2026-01-31 08:30:00 1341

原创 为什么会有 StackOverflow?栈和堆到底有什么区别?

在 Java/C++ 中,栈和堆不是割裂的,它们通过“引用” (Reference/Pointer)紧紧联系在一起。左边: 是一个引用**(小纸条),存在栈里。右边: 是一个对象**(大自行车),存在堆里。: 是一根红线,把栈里的纸条指向了堆里的自行车。一句话总结:栈是运行时的单位(处理逻辑),堆是存储的单位(存放数据)。

2026-01-31 08:30:00 548

原创 线上事故:为什么用户输入 `Abc` 却登录了 `abc` 的账号?

BINARY 操作符是 MySQL 给开发者留的一个“严谨模式”开关。什么时候用?当业务逻辑依赖字符的精确匹配(邀请码、Token、密码散列值)时。注意什么?别滥用,小心索引失效。长治久安之策是修改 Table Collation。

2026-01-30 08:30:00 685

原创 1=1 就能攻破你的网站?黑客最爱用的 SQL 注入到底有多神?

就像是给机器人下命令时,手里拿一张填空表。

2026-01-30 08:30:00 1014

原创 你敲下的每一行 SELECT *,都藏着一场持续 50 年的硅谷战争

你现在随手写下一行,不到 0.01 秒,数据就出现在屏幕上。你觉得理所当然。但在 60 年前,为了查这点数据,你可能需要一位拥有博士学位的专家,写几千行代码,甚至还需要祈祷火箭不要掉下来。欢迎来到**《数据库风云录:从 IMS 的树根到关系型的表格》**。

2026-01-30 08:30:00 652

原创 为什么 MySQL 的 LIKE 慢如蜗牛,而 ES 快如闪电?

如果说是一个老老实实、按部就班的**“图书管理员”“速记员”**。当你在几亿条数据中搜索一个词时,MySQL 需要把所有数据(全表扫描)。而 ES 只需要,就能直接告诉你答案。这个“关键词表”,在技术上就叫做。它是所有搜索引擎(Google, Baidu, ES, Lucene)的核心基石。

2026-01-29 06:43:40 932

原创 为什么 ID 是 8848 就要 sleep(2000)?揭秘那些不敢动的“防御性代码”

你被迫在那台摇摇欲坠的老服务器上,一直守着这个僵尸。老系统通常是一个**“大泥球” (Big Ball of Mud)**。类是 10 年前写的**“上帝类” (God Class)**。它是前辈们在当时有限的时间、有限的资源下,为了活下去而做出的妥协。你只能在原来的屎山上,小心翼翼地贴上一块新的胶布。、且原作者已经离职 3 年无法联系的**“大泥球”**。第二天,全公司的财务系统崩溃,老板无法发工资。你删了栅栏,结果被栅栏后面冲出来的公牛撞死了。所有的模块都混在一起,没有分层,没有解耦。

2026-01-29 06:41:58 539

原创 MySQL 删库自救指南:除了跑路,你还有 `binlog2sql`

是将数据库时间轴**“局部倒流”**的技术。确保你的 MySQL 配置了且。遇到误删,先别急着重启或导备份。只要是 DML 操作,binlog2sql或MyFlash能让你在 10 分钟内体面地挽回局面。

2026-01-29 06:38:38 723

原创 别对着报错发呆了!手把手教你还原 MySQL 死锁的“案发现场”

在日志里找到和分别在执行什么 SQL。看还是,确定是锁主键还是锁二级索引(二级索引死锁非常常见)。如果是AB-BA(互斥锁):调整代码里的加锁顺序,保证所有线程都按ID升序加锁。如果是(间隙锁):优化索引,尽量让 Update/Delete 命中唯一索引(退化为行锁),减少锁的范围。只保留最后一次死锁的信息。如果死锁频发,建议开启全局参数,让每一次死锁都记录到 MySQL 的错误日志(error.log)里,方便事后复盘。

2026-01-28 08:30:00 1118

原创 微服务最大的坑:A 扣钱了 B 报错,钱去哪了?(分布式事务详解)

在单体应用时代(比如一个巨大的 Java 程序连一个 MySQL),事务很简单。你对数据库喊一声:“”(ACID),数据库就会乖乖听话。但是到了,事情变得失控了。你想实现:“下订单 -> 扣库存 -> 扣款”。如果“下订单”成功了,“扣库存”成功了,但“扣款”时网络断了……这就是要解决的“数据一致性”问题。

2026-01-28 08:30:00 1654

原创 “在我的电脑上明明能跑啊!”——聊聊 Docker 解决和制造的麻烦

Docker 的承诺很美好:我把环境打包成一个盒子(镜像),你不用管服务器是 Linux 还是 Windows,直接跑盒子就行。虽然你限制了 Pod 只能用 2G,但 Java 看到宿主机(Node)有 64G 内存,于是它豪爽地申请了 16G 堆内存。因为当你的服务器从 1 台变成 1000 台时,你宁愿去写 YAML,也不愿去手动登录 1000 台服务器敲命令。于是,死掉的子进程就像孤魂野鬼一样,永远占着系统资源,直到把容器撑爆。它是谷歌级的基础设施,自动化扩容,自动化修复,永不宕机。

2026-01-28 08:30:00 422

原创 MySQL 8.0 被忽视的神级功能:配置 `admin_port` 专治“连接池爆满”

在常规设计中,普通用户流量和管理员的操作流量通常共用同一个网络端口(如 MySQL 的 3306,Tomcat 的 8080)。Admin Port (管理端口)的核心思想是**“资源隔离”**:为了防止普通用户的“拥堵”波及到管理员,我们单独开辟一个 TCP 端口(或独立的线程池),专门供管理员使用。高速公路上堵车了(业务流量爆满),救护车(管理员)也堵在后面动弹不得。Admin Port 就是那条永远畅通的“应急车道”。无论主路堵成什么样,这条路只有拿“特权证”的人才能走。

2026-01-27 08:30:00 1632

原创 只是看了一眼图片,我的 1000 块钱怎么就转给黑客了?

这是最简单的 CSRF 攻击,利用的是程序员的不规范(用 GET 请求做敏感操作)。既然浏览器的“自动携带 Cookie”机制是万恶之源,我们就得想办法绕过它。这几年,浏览器厂商终于意识到自己太蠢了,推出了新的 Cookie 属性。黑客在自己的网站(evil.com)或者随便一个论坛里,发了一个帖子。(哪怕是从黑客的网站发出的),浏览器都会傻傻地带上 Cookie。服务器不再只认 Cookie,它还要求一个**“临时暗号”**。写了一个隐藏的表单,并用 JavaScript 自动提交。浏览器太“忠诚”了。

2026-01-27 08:30:00 1107

原创 为什么 Java 还要发生 STW (时间暂停)?

Serial: 单线程保洁员。扫地时全场暂停。适合小餐厅。Parallel: 多线程保洁员。好几个保洁员一起扫,扫得快一点,但还是全场暂停。: 边吃饭边扫地。保洁员尽量不打扰客人吃饭,只有在关键时刻暂停一下。现代主流。它不分大厅包厢了,而是把餐厅切成几百个小格子。哪里垃圾多,优先扫哪里。一句话总结:GC 就是在“空间利用率”和“停顿时间”之间做平衡的艺术。

2026-01-27 08:30:00 1699

原创 你的连接池设了 1000?难怪系统崩了!揭秘“连接池越大越好”的谎言

不要被直觉欺骗。数据库连接池的大小配置,是一门**“平衡的艺术”**。请求排队,CPU 没吃满,浪费资源。CPU 忙于上下文切换,磁盘队列爆满,性能雪崩。保持 CPU 使用率在 80% 左右,队列极短。下次遇到数据库慢,先去检查慢 SQL 和索引,千万别上来就无脑调大连接池。那是饮鸩止渴。

2026-01-26 08:30:00 954

原创 20 小时感染 100 万用户:当年那个让 MySpace 瘫痪的脚本是啥?

即便黑客真的执行了脚本,我们也要保护核心资产。给 Session ID 的 Cookie 加上HttpOnly属性。JavaScript 禁止读取该 Cookie。即便黑客运行了,他也拿不到你的登录凭证,只能干瞪眼。

2026-01-26 08:30:00 1067

原创 刚改完数据刷新就不见了?聊聊主从延迟下的“读后写” (Read Your Writes) 陷阱

在分布式系统中,我们很难做到所有节点数据的强一致性(Strong Consistency)。通常我们接受“最终一致性”。但在用户体验层面,有一个底线必须守住,那就是“虽然全世界都可以晚一点看到我的更新,但我自己必须立刻看到我的更新。如果连我自己都看不到,我就会产生恐慌(是不是没保存成功?“读写分离”不是万能药,引入架构复杂度的同时,必然引入数据一致性问题。解决区分对象。别人看我,可以晚一点。(最终一致性)我看我自己,必须是现在。(即时一致性)对于 90% 的业务,“关键业务强制读主”或。

2026-01-25 08:30:00 840

原创 99% 的程序员都写不对“验证邮箱”的正则,不信你试试

一个。

2026-01-25 08:30:00 685

原创 ThreadLocal 为什么要用弱引用?

在 Java 并发编程的世界里,我们通常谈论的是“如何安全地共享数据”(比如用或Lock但在某些时候,我们根本不想共享。我们希望每个线程都有自己独立的一份数据,互不干扰。这就是的使命。它不搞“排队”,而是搞“隔离”。它给每个线程发了一个**“私房钱存折”**。

2026-01-25 08:30:00 1302

原创 MySQL 性能优化第一课:为什么说 `SELECT *` 扼杀了“覆盖索引”?

不要为了省去打几个字段名的功夫,而给系统埋下无数的地雷。它破坏覆盖索引,增加 I/O 负担。它增加耦合,降低代码健壮性。它泄露隐私数据。字段按需取,索引能覆盖;大列要避开,流量省一半。

2026-01-24 08:30:00 694

原创 我只是想要个红字,你却送了我一套操作系统:聊聊 node_modules

你得画出一张巨大的依赖树图,像侦探一样去寻找是哪个该死的库偷偷引入了那个不兼容的版本,然后用。你根本不知道是哪里出了问题,因为那个有毒的库,是你依赖的库的依赖的依赖(第 10 层孙子)。当你为了省去写 10 行代码的力气,而引入一个外部库时,你也就把自己的性命交到了别人手里。这时候,为了打破循环,它可能会给 A 一个**“未完全初始化”**的空对象。这是软件历史上最著名的**“蝴蝶效应”**,揭示了我们的地基有多脆弱。,代码走到 A 的逻辑里,调用了一个 v1.0 的方法。硅谷、北京、伦敦……

2026-01-24 08:00:00 642

原创 为什么 MySQL 索引选 B+ 树?

B+ 树不是最快的树(内存里红黑树更快),也不是最快的查询结构(哈希表更快)。但它是最适合磁盘的结构。它通过增加节点的宽度(胖),来减少树的高度(矮),从而最大程度地减少了那昂贵的磁盘 I/O 操作。一句话总结:B+ 树就是一个“矮胖子”,而且脚底下装了“滑轮”(链表)。

2026-01-24 08:00:00 1761

原创 为什么资深架构师都禁止使用 `TIMESTAMP`?

TIMESTAMP是上个世纪存储资源匮乏时代的产物。在 2026 年的今天,除非你是在维护一个极其古老的遗留系统,否则没有任何理由在新表中使用TIMESTAMP。时间要想存得久,DATETIME必须有;跨国业务怕时区,BIGINT解千愁。

2026-01-23 08:00:00 1506

原创 为什么 “emoji“ 的长度是 11?聊聊字符串里的“长度谎言”

当你截图发给竞争对手时,公司通过解码截图里的“隐形文字”,直接定位到是你泄的密。表情,然后你的数据库报错了,你的计算逻辑崩了,你的页面乱码了。如果你的 APP 要做“评论功能”或“聊天功能”,只要你没配。用户输入了一个“👨‍👩‍👧‍👦”(一家四口)的 Emoji。你的系统里出现了两个“真假美猴王”。(这是因为 UTF-8 的容错字符被再次编码产生的奇观)。用户明明只输了一个表情,你的系统提示:“字数超限”。,因为这是系统层面的 Bug,你写再多代码也防不住。(好吧,这对公司是好事,对摸鱼的你是恐怖故

2026-01-23 08:00:00 943

原创 Select、Poll、Epoll 到底有什么区别?

理解了 IO 多路复用,你就理解了现代高性能中间件的灵魂。Redis: 我是单线程,但我用了 Epoll,所以我不用等,谁有数据我处理谁。Nginx: 我也是 Epoll,所以我能做反向代理,抗住高并发。Node.js: 我是异步非阻塞,底层也是 libuv (基于 Epoll/IOCP)。一句话总结:Select 是“主动轮询”,Epoll 是“事件通知”。

2026-01-23 08:00:00 725

原创 为什么这个“emoji“ 的长度是 11?聊聊字符串里的“长度谎言”

• 👨 (男人) + ZWJ (连接符) + 👩 (女人) + ZWJ + 👧 (女孩) + ZWJ + 👦 (男孩)。当你截图发给竞争对手时,公司通过解码截图里的“隐形文字”,直接定位到是你泄的密。表情,然后你的数据库报错了,你的计算逻辑崩了,你的页面乱码了。如果你的 APP 要做“评论功能”或“聊天功能”,只要你没配。用户输入了一个“👨‍👩‍👧‍👦”(一家四口)的 Emoji。你的系统里出现了两个“真假美猴王”。客服根本分不清谁是谁。用户明明只输了一个表情,你的系统提示:“字数超限”。

2026-01-23 07:30:40 599

原创 为什么这个“emoji“ 的长度是 11?聊聊字符串里的“长度谎言”

• 👨 (男人) + ZWJ (连接符) + 👩 (女人) + ZWJ + 👧 (女孩) + ZWJ + 👦 (男孩)。当你截图发给竞争对手时,公司通过解码截图里的“隐形文字”,直接定位到是你泄的密。表情,然后你的数据库报错了,你的计算逻辑崩了,你的页面乱码了。如果你的 APP 要做“评论功能”或“聊天功能”,只要你没配。用户输入了一个“👨‍👩‍👧‍👦”(一家四口)的 Emoji。你的系统里出现了两个“真假美猴王”。客服根本分不清谁是谁。用户明明只输了一个表情,你的系统提示:“字数超限”。

2026-01-23 07:30:40 929

原创 为什么这个“emoji“ 的长度是 11?聊聊字符串里的“长度谎言”

• 👨 (男人) + ZWJ (连接符) + 👩 (女人) + ZWJ + 👧 (女孩) + ZWJ + 👦 (男孩)。当你截图发给竞争对手时,公司通过解码截图里的“隐形文字”,直接定位到是你泄的密。表情,然后你的数据库报错了,你的计算逻辑崩了,你的页面乱码了。如果你的 APP 要做“评论功能”或“聊天功能”,只要你没配。用户输入了一个“👨‍👩‍👧‍👦”(一家四口)的 Emoji。你的系统里出现了两个“真假美猴王”。客服根本分不清谁是谁。用户明明只输了一个表情,你的系统提示:“字数超限”。

2026-01-23 07:30:40 863

原创 为什么这个“emoji“ 的长度是 11?聊聊字符串里的“长度谎言”

• 👨 (男人) + ZWJ (连接符) + 👩 (女人) + ZWJ + 👧 (女孩) + ZWJ + 👦 (男孩)。当你截图发给竞争对手时,公司通过解码截图里的“隐形文字”,直接定位到是你泄的密。表情,然后你的数据库报错了,你的计算逻辑崩了,你的页面乱码了。如果你的 APP 要做“评论功能”或“聊天功能”,只要你没配。用户输入了一个“👨‍👩‍👧‍👦”(一家四口)的 Emoji。你的系统里出现了两个“真假美猴王”。客服根本分不清谁是谁。用户明明只输了一个表情,你的系统提示:“字数超限”。

2026-01-23 07:30:40 294

原创 为什么这个“emoji“ 的长度是 11?聊聊字符串里的“长度谎言”

• 👨 (男人) + ZWJ (连接符) + 👩 (女人) + ZWJ + 👧 (女孩) + ZWJ + 👦 (男孩)。当你截图发给竞争对手时,公司通过解码截图里的“隐形文字”,直接定位到是你泄的密。表情,然后你的数据库报错了,你的计算逻辑崩了,你的页面乱码了。如果你的 APP 要做“评论功能”或“聊天功能”,只要你没配。用户输入了一个“👨‍👩‍👧‍👦”(一家四口)的 Emoji。你的系统里出现了两个“真假美猴王”。客服根本分不清谁是谁。用户明明只输了一个表情,你的系统提示:“字数超限”。

2026-01-23 07:30:40 845

原创 为什么这个“emoji“ 的长度是 11?聊聊字符串里的“长度谎言”

• 👨 (男人) + ZWJ (连接符) + 👩 (女人) + ZWJ + 👧 (女孩) + ZWJ + 👦 (男孩)。当你截图发给竞争对手时,公司通过解码截图里的“隐形文字”,直接定位到是你泄的密。表情,然后你的数据库报错了,你的计算逻辑崩了,你的页面乱码了。如果你的 APP 要做“评论功能”或“聊天功能”,只要你没配。用户输入了一个“👨‍👩‍👧‍👦”(一家四口)的 Emoji。你的系统里出现了两个“真假美猴王”。客服根本分不清谁是谁。用户明明只输了一个表情,你的系统提示:“字数超限”。

2026-01-23 07:30:40 803

原创 为什么这个“emoji“ 的长度是 11?聊聊字符串里的“长度谎言”

• 👨 (男人) + ZWJ (连接符) + 👩 (女人) + ZWJ + 👧 (女孩) + ZWJ + 👦 (男孩)。当你截图发给竞争对手时,公司通过解码截图里的“隐形文字”,直接定位到是你泄的密。表情,然后你的数据库报错了,你的计算逻辑崩了,你的页面乱码了。如果你的 APP 要做“评论功能”或“聊天功能”,只要你没配。用户输入了一个“👨‍👩‍👧‍👦”(一家四口)的 Emoji。你的系统里出现了两个“真假美猴王”。客服根本分不清谁是谁。用户明明只输了一个表情,你的系统提示:“字数超限”。

2026-01-23 07:30:40 731

原创 为什么这个“emoji“ 的长度是 11?聊聊字符串里的“长度谎言”

• 👨 (男人) + ZWJ (连接符) + 👩 (女人) + ZWJ + 👧 (女孩) + ZWJ + 👦 (男孩)。当你截图发给竞争对手时,公司通过解码截图里的“隐形文字”,直接定位到是你泄的密。表情,然后你的数据库报错了,你的计算逻辑崩了,你的页面乱码了。如果你的 APP 要做“评论功能”或“聊天功能”,只要你没配。用户输入了一个“👨‍👩‍👧‍👦”(一家四口)的 Emoji。你的系统里出现了两个“真假美猴王”。客服根本分不清谁是谁。用户明明只输了一个表情,你的系统提示:“字数超限”。

2026-01-23 07:30:40 682

原创 为什么这个“emoji“ 的长度是 11?聊聊字符串里的“长度谎言”

• 👨 (男人) + ZWJ (连接符) + 👩 (女人) + ZWJ + 👧 (女孩) + ZWJ + 👦 (男孩)。当你截图发给竞争对手时,公司通过解码截图里的“隐形文字”,直接定位到是你泄的密。表情,然后你的数据库报错了,你的计算逻辑崩了,你的页面乱码了。如果你的 APP 要做“评论功能”或“聊天功能”,只要你没配。用户输入了一个“👨‍👩‍👧‍👦”(一家四口)的 Emoji。你的系统里出现了两个“真假美猴王”。客服根本分不清谁是谁。用户明明只输了一个表情,你的系统提示:“字数超限”。

2026-01-23 07:30:40 340

原创 为什么这个“emoji“ 的长度是 11?聊聊字符串里的“长度谎言”

• 👨 (男人) + ZWJ (连接符) + 👩 (女人) + ZWJ + 👧 (女孩) + ZWJ + 👦 (男孩)。当你截图发给竞争对手时,公司通过解码截图里的“隐形文字”,直接定位到是你泄的密。表情,然后你的数据库报错了,你的计算逻辑崩了,你的页面乱码了。如果你的 APP 要做“评论功能”或“聊天功能”,只要你没配。用户输入了一个“👨‍👩‍👧‍👦”(一家四口)的 Emoji。你的系统里出现了两个“真假美猴王”。客服根本分不清谁是谁。用户明明只输了一个表情,你的系统提示:“字数超限”。

2026-01-23 07:30:40 366

原创 为什么这个“emoji“ 的长度是 11?聊聊字符串里的“长度谎言”

• 👨 (男人) + ZWJ (连接符) + 👩 (女人) + ZWJ + 👧 (女孩) + ZWJ + 👦 (男孩)。当你截图发给竞争对手时,公司通过解码截图里的“隐形文字”,直接定位到是你泄的密。表情,然后你的数据库报错了,你的计算逻辑崩了,你的页面乱码了。如果你的 APP 要做“评论功能”或“聊天功能”,只要你没配。用户输入了一个“👨‍👩‍👧‍👦”(一家四口)的 Emoji。你的系统里出现了两个“真假美猴王”。客服根本分不清谁是谁。用户明明只输了一个表情,你的系统提示:“字数超限”。

2026-01-23 07:30:40 595

原创 为什么这个“emoji“ 的长度是 11?聊聊字符串里的“长度谎言”

• 👨 (男人) + ZWJ (连接符) + 👩 (女人) + ZWJ + 👧 (女孩) + ZWJ + 👦 (男孩)。当你截图发给竞争对手时,公司通过解码截图里的“隐形文字”,直接定位到是你泄的密。表情,然后你的数据库报错了,你的计算逻辑崩了,你的页面乱码了。如果你的 APP 要做“评论功能”或“聊天功能”,只要你没配。用户输入了一个“👨‍👩‍👧‍👦”(一家四口)的 Emoji。你的系统里出现了两个“真假美猴王”。客服根本分不清谁是谁。用户明明只输了一个表情,你的系统提示:“字数超限”。

2026-01-23 07:30:40 479

jquery autocomplete下载

教程地址:http://blog.csdn.net/dandandeshangni/article/details/47320973

2015-08-06

gradle+spring+springmvc+springjdbc

采用IDE idea 创建的gradle项目,项目框架为 spring+springMVC+springJDBC 实现单表的insert,update,delete ,getList等操作,一个小小的demo()

2015-09-14

JAVA工具类

原文:https://github.com/yangchenjava/com.yangc.utils cache EhCacheUtils - 基于ehcache的工具类 LruCacheUtils - 基于LinkedHashMap实现LRU缓存的工具类 MemcachedUtils - 基于memcached的工具类 RedisUtils - 基于redis的工具类,与redis的集群配置无缝结合 db JdbcUtils - 操作jdbc的工具类 MongodbUtils - 操作mongodb的工具类 email EmailUtils - 邮件工具类,支持发送带附件的邮件 encryption AesUtils - 实现AES加密解密 Base64Utils - 实现Base64加密解密 Md5Utils - 获取字符串或文件的md5 excel ReadExcel2003 - 以model方式读2003版Excel(大数据) ReadExcel2007 - 以sax方式读2007版Excel(大数据) WriteExcel - 写Excel image CaptchaUtils - 生成验证码 ImageUtils - 图片压缩、截图 QRCodeUtils - 生成二维码、解析二维码 io SerializeUtils - 序列化、反序列化对象 ZipUtils - 压缩、解压文件 json JsonUtils - json格式转换 lang CharsetDetectorUtils - 获取文本文件编码格式 ChineseCalendar - 农历日历 ConvertUtils - 高低字节转换 DateUtils - 日期工具类 HtmlFilterUtils - 过滤html标签 JsoupUtils - 基于jsoup过滤html标签 MoneyUtils - 获取大写金额 NumberUtils - 数字工具类 PinyinUtils - 汉字转拼音 media MediaUtils - 基于ffmpeg,qtfaststart,yamdi的多媒体工具类 net AttachmentUtils - HTTP文件下载防止中文乱码 FastDFSUtils - 操作FastDFS的工具类 FtpUtils - 操作FTP的工具类(基于sun自家的包,jdk7以后不建议使用) FtpUtilsApache - 基于apache操作FTP的工具类 HttpUtils - 发送HTTP请求 IpUtils - 获取IP SFtpUtils - 操作SFTP的工具类 prop PropertiesUtils - 操作properties配置文件

2015-08-18

elastic-job-lite-console-3.0.0.M1-SNAPSHOT.tar.gz

elastic-job-lite-console 控制面板

2020-05-13

左手画圆,右手画方

java 利用多线程 实现两个面板上 一个画圆 一个画方 源码的噢

2014-02-22

dubbo-admin-0.0.1-SNAPSHOT.jar

dubbo-admin-0.0.1-SNAPSHOT 修改zookeeper连接地址 jar -jar dubbo-admin-0.0.1-SNAPSHOT

2020-05-28

human_resources

oracle 10 g 中hr用户需要单独安装,很麻烦,上传资料是HR用户的所有创建语句 ,下载后释放到$ORACLE_HOME/demo/schema/human_resources/目录下,在SYS用户下运行$ORACLE_HOME/demo/schema/human_resources/hr_main.sql来创建就可以,希望能帮到大家。 如有不懂打开这个http://blog.csdn.net/dandandeshangni/article/details/45244855

2015-04-24

java 猜数字游戏源码

利用随机数产生的数字 ,接收键盘录入,实现才数字游戏!

2014-02-22

全屏雪花飘落

此软件使用vb编写的!谢谢打开全屏化飘落花瓣!

2013-03-13

jquery.validationEngine校验插件

jquery 校验插件、不用写坑爹的 取值和正则比较了 http://blog.csdn.net/dandandeshangni/article/details/47339781

2015-08-07

gralde+spring+springmvc+springjdbc+mysql

idea+gralde+spring+springmvc+springjdbc+mysql实现单表的增删改查

2015-09-16

空空如也

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

TA关注的人

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