自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ITMuch的专栏

博客首发:http://www.itmuch.com

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

转载 一条失去条件的动态 SQL,到手的年终奖飞了|文末彩蛋

点击上方IT牧场,选择置顶或者星标技术干货每日送达前言今天想跟大家聊聊一次 mybatis 动态 SQL 引发的生产事故。事情这样的,我们有个订单相关数据库服务,专门负责订单相关的...

2020-12-31 21:32:49 117

转载 MySQL 事务详解

“今天无聊来撩一下MySQL事务,希望你们喜欢~目录概念隔离性与隔离级别事务隔离的实现事务启动方式MVCC工作原理总结一、概念事务到底是什么东西呢?想必大家学习的时候也是对事务的概念很模...

2020-12-30 11:38:00 98

转载 线程安全代码到底是怎么编写的?

点击上方IT牧场,选择置顶或者星标技术干货每日送达相信有很多同学在面对多线程代码时都会望而生畏,认为多线程代码就像一头难以驯服的怪兽,你制服不了这头怪兽它就会反过来吞噬你。夸张了哈...

2020-12-29 21:20:00 162

转载 是时候捋一捋Java的深浅拷贝了

点击上方IT牧场,选择置顶或者星标技术干货每日送达在开发、刷题、面试中,我们可能会遇到将一个对象的属性赋值到另一个对象的情况,这种情况就叫做拷贝。拷贝与Java内存结构息息相关,搞...

2020-12-28 11:38:00 64

转载 由浅入深逐步讲解Java并发的半壁江山AQS

点击上方IT牧场,选择置顶或者星标技术干货每日送达1、JUC的由来synchronized 关键字是JDK官方人员用C++代码写的,在JDK6以前是重量级锁。Java大牛 Doug...

2020-12-27 21:19:00 107

转载 万字Java知识地图助你成为Offer收割机

点击上方IT牧场,选择置顶或者星标技术干货每日送达最近很多读者在问:Java 怎么学习啊?有没有什么学习路线?我相信这些读者或多或少都有一些 Java 基础,但由于看不到全貌,学了...

2020-12-26 21:20:00 504

转载 缓存穿透,雪崩,击穿以及解决方案分析

点击上方IT牧场,选择置顶或者星标技术干货每日送达前言作为一种非关系型数据库,redis也总是免不了有各种各样的问题,这篇文章主要是针对其中三个问题进行讲解:缓存穿透、缓存击穿和缓...

2020-12-25 22:13:22 118

转载 高并发场景下的数据库事务调优

点击上方IT牧场,选择置顶或者星标技术干货每日送达数据库事务是访问可能操作各种数据项的一个数据库操作序列,这些操作要么全部成功,要么全部失败。提起事务,大家都知道ACID属性。在J...

2020-12-24 23:48:12 487

转载 年薪50W的数据分析师需要掌握SQL到什么程度?

在当今企业纷纷推动数字化运营的背景下,“No Data, No BB”成了职场人的口头禅。做一份好的数据分析报告,大到成为能否帮助企业做出正确的商业决策,小到成为能否说服老板获取业务资源...

2020-12-23 11:38:00 154

转载 [ 史上最姨母级 ] 3w字带你揭开WebSocket的神秘面纱~

点击上方IT牧场,选择置顶或者星标技术干货每日送达目录一. WebSocket 简介WebSocket 是一种基于 TCP 的网络协议。在 2009 年诞生,于 2011 年被 I...

2020-12-23 11:38:00 223

转载 SQL:我为什么慢你心里没数吗?

点击上方IT牧场,选择置顶或者星标技术干货每日送达作者|莱乌SQL 语句执行慢的原因是面试中经常会被问到的,对于服务端开发来说也是必须要关注的问题。在生产环境中,SQL 执行慢是很...

2020-12-22 21:20:00 239

转载 一文讲尽门面日志slf4j和log4j、log4j2、logback依赖jar引用关系

前言之前都是使用SparkStreaming开发,最近打算学习一下Flink,就从官网下载了Flink 1.11,打算搞一个客户端,将程序提交在yarn上。因为Flink从1.7之后就不...

2020-12-21 11:38:00 691

转载 10张图让你彻底理解回调函数

点击上方IT牧场,选择置顶或者星标技术干货每日送达不知你是不是也有这样的疑惑,我们为什么需要回调函数这个概念呢?直接调用函数不就可以了?回调函数到底有什么作用?程序员到底该如何理解...

2020-12-19 21:20:00 217 2

转载 如何处理HTTP接口中的防重复提交

点击上方IT牧场,选择置顶或者星标技术干货每日送达关于防重复提交由于本人从事电商开发工作,项目中面对C端用户或多或少都会接触到提交保存或者修改的请求,例如创建订单,物流包裹签收...

2020-12-18 11:38:00 1484 1

转载 10 张图剖析同步与异步

点击上方IT牧场,选择置顶或者星标技术干货每日送达本文来讨论一下到底什么是同步,什么是异步,以及在编程中这两个极为重要的概念到底意味着什么。相信很多同学遇到同步异步这两个词的时候大...

2020-12-17 23:07:45 670

转载 来一起用 Vue3.0 做个飞机大战游戏

现在但凡出去面试,面试官几乎必问Vue3.0。不仅会问一些核心特性,还会问原理层面的问题。比如:▶框架层面问题:Vue3.0 新特性 Composition API 与 React....

2020-12-16 11:38:00 123

转载 一次惊心动魄的优化之旅

点击上方IT牧场,选择置顶或者星标技术干货每日送达前言某日运营小哥找到产品吐槽导入excel后没反应,经过询问数据量大概在900条左右的数据,数据量不多,于是打算优化一下,于是开始...

2020-12-16 11:38:00 81

转载 线程间到底共享了哪些进程资源?

点击上方IT牧场,选择置顶或者星标技术干货每日送达进程和线程这两个话题是程序员绕不开的,操作系统提供的这两个抽象概念实在是太重要了。关于进程和线程有一个极其经典的问题,那就是进程和...

2020-12-15 21:20:00 3431

转载 首长,Redis性能优化十三条军规立好了,请过目~

点击上方IT牧场,选择置顶或者星标技术干货每日送达前言Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻谨记优化铁则,才能使得Redis性能发...

2020-12-14 11:38:00 90

转载 Kafka 慌了!这个中间件,要火了?

你知道吗?在消息中间件的编年史上,RocketMQ可谓独当一面。作为Apache 顶级项目(TLP),Apache RocketMQ 是国内首个非 Hadoop 生态体系的顶级项目,开源...

2020-12-14 11:38:00 83

转载 缓存与库先写哪个,这十几张图告诉你

点击上方IT牧场,选择置顶或者星标技术干货每日送达作者|莱乌日常生产场景中,为了避免大量请求同时打在数据库上导致故障,数据库+缓存的方式已经成了日常标配。对于读取的部分,大家都很熟...

2020-12-13 21:20:00 111

转载 顺丰快递:请签收MySQL灵魂十连

点击上方IT牧场,选择置顶或者星标技术干货每日送达攻击性不大,侮辱性极强1、SQL语句执行流程MySQL大体上可分为Server层和存储引擎层两部分。Server层:连接器:TCP...

2020-12-12 21:20:00 105

转载 说完观察者和发布订阅模式的区别,面试官不留我吃饭了

点击上方IT牧场,选择置顶或者星标技术干货每日送达来到心仪已久的公司面试,刚推开门还没等我说话HR 小姐姐就主动问我:你是来参加面试的吧?我心想不对啊:难道是因为我长的帅,小姐姐一...

2020-12-11 22:02:56 149

转载 (2020版) 墙裂推荐这十款精选 IntelliJ Idea 插件

俗话说:"工欲善其事必先利其器",小主从项目实战的角度在众多的idea插件中挑选了10款开发必备的神器,帮助大家在日常编码中提升开发效率。1Key Promoter X实用指数:★★★...

2020-12-10 23:40:48 265

转载 用大白话给你解释Zookeeper的选举机制

点击上方IT牧场,选择置顶或者星标技术干货每日送达Zookeeper 是一个分布式服务框架,主要是用来解决分布式应用中遇到的一些数据管理问题如:统一命名服务、状态同步服务、集群管理...

2020-12-09 08:00:00 139

转载 干货!MySQL优化原理分析及优化方案总结

说起MySQL优化的话,想必大部分人都不陌生了。在我们的记忆储备里也早已记住了这些关键词:避免使用SELECT*、避免使用NULL值的判断、根据需求适当的建立索引、优化MySQL参数.....

2020-12-08 21:20:00 283

转载 装完B就跑,这几个Linux指令真的Diǎo

点击上方IT牧场,选择置顶或者星标技术干货每日送达2.1 sl先看一下呼啸而过的火车;安装指令如下;sduoapt-getinstallsl执行结果如下:2.2 htop图...

2020-12-07 11:38:00 68

转载 速入! 3W字带你迅速上手MQ

点击上方IT牧场,选择置顶或者星标技术干货每日送达❝高清思维导图已同步Git:https://github.com/SoWhat1412/xmindfile,关注公众号IT牧场 获...

2020-12-06 21:20:00 89

转载 求你别再用swagger了,给你推荐几个在线文档生成神器

点击上方IT牧场,选择置顶或者星标技术干货每日送达前言最近公司打算做一个openapi开放平台,让我找一款好用的在线文档生成工具,具体要求如下:必须是开源的能够实时生成在线文档支持...

2020-12-05 22:14:26 648

转载 IDEA下如何查看字节码?

我们都知道编写java程序是要先安装jdk, 要知道 jdk与 java源文件 之间的执行原理,就需要理解字节码了。本篇文章教大家IDEA中查看字节码的三个方法 以及 jdk对字符串拼接...

2020-12-03 11:38:00 3274

转载 年终福利 | 抽奖送书(50本)

为感谢各位忠实粉丝一直以来对公众号的支持,小编特地联合了一些技术好友给大家免费送书,帮助大家更好的提升技术。不废话,划重点:1、一共会抽50位兄弟。2、只要中奖,下图的书单池任选一本。3...

2020-12-02 21:20:00 162

转载 45 张图深度解析 Netty 架构与原理

点击上方IT牧场,选择置顶或者星标技术干货每日送达接下来我们会学习一个 Netty 系列教程,Netty 系列由「架构与原理」,「源码」,「架构」三部分组成,今天我们先来看看第一部...

2020-12-02 21:20:00 218

转载 抽奖送书!一次50本!刺激!

为了感谢各位忠实粉丝一直以来对公众号的支持,小编特地联合了一些技术好友给大家免费送书,帮助大家更好的提升技术。不废话,划重点:1、一共会抽50位兄弟。2、只要中奖,下图的书单池任选一本。...

2020-12-01 22:00:00 169

转载 深入拆解类加载器

点击上方IT牧场,选择置顶或者星标技术干货每日送达本文导读:1、前奏,举个生活中的小栗子2、为何Java类型加载、连接在程序运行期完成?3、一个类在什么情况下才会被加载到JVM中?...

2020-12-01 22:00:00 175

lukeall 5.4.0

lukeall 5.4.0 最新版本。 呵呵。

2016-02-22

lukeall 5.3.1

lukeall 5.3.1 最新版本.

2015-11-16

lukeall5.2.0

luke5.2.0 可以查看lucene5.2.0及以下版本的索引

2015-08-13

SecurityCRT_SFX7.2.1 x64 64位机器可用

SecurityCRT_SFX7.2.1 x64 64位机器可用 32位机器没试过.

2015-03-23

easyexplore eclipse插件,文件查看利器

easyexplore eclipse插件,文件查看利器 很好用的.

2015-03-20

jquery拖拽布局DEMO

基于jquery-fallr-1.3的一个jquery拖拽布局

2015-01-26

SQLyog-11.4.2-0.exe

SQLyog-11.4.2-0 mysql GUI利器,哈哈。 WIN7 X64亲测可用

2015-01-16

lukeall-4.7.1

lukeall-4.7.1 很好用的哦。Lucene索引查看利器

2015-01-05

lukeall-4.10.3

lukeall-4.10.3最近版本哈。

2015-01-05

lukeall-4.10.2

lukeall-4.10.2最新版本。 很好用的。 Lucene开发必备。

2014-12-05

lukeall-4.10.0.jar

lukeall-4.10.0.jar 最新版 找了好久才找到的。

2014-09-23

jupiter4.0.0 提升代码质量利器 Eclipse插件

jupiter4.0.0 提升代码质量利器 Eclipse插件

2014-09-12

propedit5.0.1 properties编辑器

propedit5.0.1 properties编辑器 嘿嘿。挺好用的。

2014-09-12

重构_改善既有代码的设计 高清 PDF

重构:改善既有代码的设计 中文版 软件开发的不朽经典 2010年人民邮电再版中文版(清晰PDF) 本书提供作译者介绍   Martin Fowler世界软件开发大师,在面向对象分析设计、UML、模式、XP和重构等领域都有卓越贡献,现为著名软件开发咨询公司ThoughtWorks的首席科学家。他的多部著作《分析模式》、《UML精粹》和《企业应用架构模式》等都已经成为脍炙人口的经典。 熊节 ThoughtWorks中国公司的高级咨询师、架构师和项目经理,在大型企业应用及互联网应用的架构和管理方面拥有丰富经验。作为敏捷方法学顾问和重构专家,他拥有在各种技术平台、编程语言、软件形态的项目中实施重构的丰富经验,并曾主持极具挑战性的超大规.. 目录回到顶部↑第1章 重构,第一个案例 1 1.1 起点 1 1.2 重构的第一步 7 1.3 分解并重组statement() 8 1.4 运用多态取代与价格相关的条件逻辑 34 1.5 结语 52 第2章 重构原则 53 2.1 何谓重构 53 2.2 为何重构 55 2.3 何时重构 57 2.4 怎么对经理说 60 2.5 重构的难题 62 2.6 重构与设计 66 2.7 重构与性能 69 2.8 重构起源何处 71 第3章 代码的坏味道 75 3.1 duplicated code(重复代码) 76 3.2 long method(过长函数) 76 3.3 large class(过大的类) 78 3.4 long parameter list(过长参数列) 78 .3.5 divergent change(发散式变化) 79 3.6 shotgun surgery(霰弹式修改) 80 3.7 feature envy(依恋情结) 80 3.8 data clumps(数据泥团) 81 3.9 primitive obsession(基本类型偏执) 81 3.10 switch statements(switch惊悚现身) 82 3.11 parallel inheritancehierarchies(平行继承体系) 83 3.12 lazy class(冗赘类) 83 3.13 speculative generality(夸夸其谈未来性) 83 3.14 temporary field(令人迷惑的暂时字段) 84 3.15 message chains(过度耦合的消息链) 84 3.16 middle man(中间人) 85 3.17 inappropriate intimacy(狎昵关系) 85 3.18 alternative classes with different interfaces(异曲同工的类) 85 3.19 incomplete library class(不完美的库类) 86 3.20 data class(纯稚的数据类) 86 3.21 refused bequest(被拒绝的遗赠) 87 3.22 comments(过多的注释) 87 第4章 构筑测试体系 89 4.1 自测试代码的价值 89 4.2 junit测试框架 91 4.3 添加更多测试 97 第5章 重构列表 103 5.1 重构的记录格式 103 5.2 寻找引用点 105 5.3 这些重构手法有多成熟 106 第6章 重新组织函数 109 6.1 extract method(提炼函数) 110 6.2 inline method(内联函数) 117 6.3 inline temp(内联临时变量) 119 6.4 replace temp with query(以查询取代临时变量) 120 6.5 introduce explaining variable(引入解释性变量) 124 6.6 split temporary variable(分解临时变量) 128 6.7 remove assignments to parameters(移除对参数的赋值) 131 6.8 replace method with method object(以函数对象取代函数) 135 6.9 substitute algorithm(替换算法) 139 第7章 在对象之间搬移特性 141 7.1 move method(搬移函数) 142 7.2 move field(搬移字段) 146 7.3 extract class(提炼类) 149 7.4 inline class(将类内联化) 154 7.5 hide delegate(隐藏“委托关系”) 157 7.6 remove middle man(移除中间人) 160 7.7 introduce foreign method(引入外加函数) 162 7.8 introduce local extension(引入本地扩展) 164 第8章 重新组织数据 169 8.1 self encapsulate field(自封装字段) 171 8.2 replace data value with object(以对象取代数据值) 175 8.3 change value to reference(将值对象改为引用对象) 179 8.4 change reference to value(将引用对象改为值对象) 183 8.5 replace array with object(以对象取代数组) 186 8.6 duplicate observed data(复制“被监视数据”) 189 8.7 change unidirectional association to bidirectional(将单向关联改为双向关联) 197 8.8 change bidirectional association to unidirectional(将双向关联改为单向关联) 200 8.9 replace magic number with symbolic constant(以字面常量取代魔法数) 204 8.10 encapsulate field(封装字段) 206 8.11 encapsulate collection(封装集合) 208 8.12 replace record with data class(以数据类取代记录) 217 8.13 replace type code with class(以类取代类型码) 218 8.14 replace type code with subclasses(以子类取代类型码) 223 8.15 replace type code with state/strategy(以state/strategy取代类型码) 227 8.16 replace subclass with fields(以字段取代子类) 232 第9章 简化条件表达式 237 9.1 decompose conditional(分解条件表达式) 238 9.2 consolidate conditional expression(合并条件表达式) 240 9.3 consolidate duplicate conditional fragments(合并重复的条件片段) 243 9.4 remove control flag(移除控制标记) 245 9.5 replace nested conditional with guard clauses(以卫语句取代嵌套条件表达式) 250 9.6 replace conditional with polymorphism(以多态取代条件表达式) 255 9.7 introduce null object(引入null对象) 260 9.8 introduce assertion(引入断言) 267 第10章 简化函数调用 271 10.1 rename method(函数改名) 273 10.2 add parameter(添加参数) 275 10.3 remove parameter(移除参数) 277 10.4 separate query from modifier(将查询函数和修改函数分离) 279 10.5 parameterize method(令函数携带参数) 283 10.6 replace parameter with explicit methods(以明确函数取代参数) 285 10.7 preserve whole object(保持对象完整) 288 10.8 replace parameter with methods(以函数取代参数) 292 10.9 introduce parameter object(引入参数对象) 295 10.10 remove setting method(移除设值函数) 300 10.11 hide method(隐藏函数) 303 10.12 replace constructor with factory method(以工厂函数取代构造函数) 304 10.13 encapsulate downcast(封装向下转型) 308 10.14 replace error code with exception(以异常取代错误码) 310 10.15 replace exception with test(以测试取代异常) 315 第11章 处理概括关系 319 11.1 pull up field(字段上移) 320 11.2 pull up method(函数上移) 322 11.3 pull up constructor body(构造函数本体上移) 325 11.4 push down method(函数下移) 328 11.5 push down field(字段下移) 329 11.6 extract subclass(提炼子类) 330 11.7 extract superclass(提炼超类) 336 11.8 extract interface(提炼接口) 341 11.9 collapse hierarchy(折叠继承体系) 344 11.10 form tem plate method(塑造模板函数) 345 11.11 replace inheritance with delegation(以委托取代继承) 352 11.12 replace delegation with inheritance(以继承取代委托) 355 第12章 大型重构 359 12.1 tease apart inheritance(梳理并分解继承体系) 362 12.2 convert procedural design to objects(将过程化设计转化为对象设计) 368 12.3 separate domain from presentation(将领域和表述/显示分离) 370 12.4 extract hierarchy(提炼继承体系) 375 第13章 重构,复用与现实 379 13.1 现实的检验 380 13.2 为什么开发者不愿意重构他们的程序 381 13.3 再论现实的检验 394 13.4 重构的资源和参考资料 394 13.5 从重构联想到软件复用和技术传播 395 13.6 小结 397 13.7 参考文献 397 第14章 重构工具 401 14.1 使用工具进行重构 401 14.2 重构工具的技术标准 403 14.3 重构工具的实用标准 405 14.4 小结 407 第15章 总结 409 参考书目 413 要点列表 417 索引 419

2014-08-16

JD-GUI X64位也可用

JD-GUI.exe,JAVA的反编译工具。呵呵。 X64位也可用的哈。

2014-05-05

Memcached与Spring、Mybatis集成

Memcached与Spring、Mybatis集成

2014-05-04

PL/SQL Developer V10 注册码

PL/SQL Developer 10.0.0.3 的注册码。自测可用。

2014-03-16

颜色拾取小工具,很方便

颜色拾取小工具,使用很方便,鼠标移动到哪里,软件上就会显示鼠标指针这边的颜色值。

2014-02-22

I-DEAS 11 安装教程

IDEAS 安装教程。十分详细,解压缩打开,然后就可以使用了。嘿嘿。

2010-07-09

ANSYS 11 安装教程

绝对的好东西 有图解。嘿嘿。PDF格式,照着上面做就行了,很详细。

2010-07-09

小巧强大的刻录软件 ones

ones,大家知道的吧。跟Nero一样,都是刻录软件。

2010-06-26

空空如也

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

TA关注的人

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