我们知道了何谓重构和为何重构,那么什么时候才是重构的好时机呢?我们是不是应该安排专人专门安排时间来进行重构呢? 答案是否。 重构本来就不是一件需要专一去做的事情(并不是说重构不重要),重构应该随时随地进行!记住一点:不应该为重构而重构。之所以重构,是因为你要做别的事情,而重构可以帮助你把事情做好。
我们知道了何谓重构和为何重构,那么什么时候才是重构的好时机呢?我们是不是应该安排专人专门安排时间来进行重构呢? 答案是否。 重构本来就不是一件需要专一去做的事情(并不是说重构不重要),重构应该随时随地进行!记住一点:不应该为重构而重构。之所以重构,是因为你要做别的事情,而重构可以帮助你把事情做好。
项目经过不断的迭代、修改、升级...基于原先的设计所得到的系统,整体结构逐渐衰弱,代码质量不断降低,代码的可读性、弹性越来越差,冗余代码越来越多,导致新的需求只能胡乱拼凑上去...再加上公司内部的人员调整,陈年代码无人能懂更不敢随意优化(稍不注意就会导致意想不到的灾难发生)。 这样导致的结果就是代码质量、项目性能慢慢下降,程序的设计逐渐腐败变质,本来严谨的编码工作逐渐变成胡乱拼凑的随性行为
数据库(database) 创建新的数据库: create database [if not exists] db_name; 删除数据库: drop database db_name; 使用数据库: use db_name; 显示所有数据库: show databases; 表(table) 创建表: Create table table_name(列名 数据类型...); 删除表: Drop table table_name; 查看表: Describe(…
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 评注:表单验证时很实用 匹配网址URL的正则表达式:[a-zA-z]+://[^\s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 评注:表单验证时很实用 匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7} 评注:匹配形式如 0511-4405…
1.枚举允许继承类吗? 枚举不允许继承类。Jvm在生成枚举时已经继承了Enum类,由于Java语言是单继承,不支持再继承额外的类(唯一的继承名额被Jvm用了)。 2.枚举允许实现接口吗? 枚举允许实现接口。因为枚举本身就是一个类,类是可以实现多个接口的。 3.枚举可以用等号比较吗? 枚举可以用等号比较。Jvm会为每个枚举实例对应生成一个类对象,这个类对象是用public static final修饰的,在static代码块中初始化,是一个单例。 4.可以继承枚举吗? 不可以继承枚举。因为Jvm在生成枚举类时,将它声…
ElasticSearch不支持修改mapping,但是新增mapping还是挺简单的,偶尔倒是可以搞点骚操作。 添加mapping: curl -X PUT \ http://{ElasticSearchHost}:{Port}/{index}/_mapping/{type} \ -d '{ "properties": { "field": { "type": "nested", "proper…
序 为什么要用线程池?什么情况下才会用到线程池? 并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 因此,就用到了线程池;线程池中的线程可以复用,就是执行完一个任务,并不被销毁,而是继续执行下一个任务。 如下使用线程: public class Test{ public static void main(String[] args) { long start = System.currentTimeMil…
总结: 1.查询时能用rowKey查询尽量使用rowKey查询,这样hbase能最快确定数据在集群中的哪台机器上。 2.Scan.setReversed(true)、Filter.setReversed(true)可以将查询结果反转,但是有些限制: 使用Scan.setStartRow() Scan.setStopRow()时,如果Scan.setReversed(true)会导致查询不到数据。 使用FilterList时,所有的filter的reversed必须相同,否则会报错(Filters in…
公司项目需要,接触了下HBASE,吐槽下感受。 1、官网基本找不到想要的资料... 难道是我方法有问题?emmmmm~ 2、版本兼容性简直了... 3、依赖jar包版本太低... 比如guava(HBASE1.2.4版本的 还在用guava14.0的jar包,坑死我了) 4、操作用法倒还算得上简单明了... 5、对分页支持不是很友好,但是也可以理解,毕竟你不能让秀才去杀牛不是 暂时这么多,其他的遇到再说。
什么是微服务 微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。 微服务中的“微”指的是组件的粒度,而非暴露接口的粒度。 微服务架构的一些通用特性 根据MartinFowler的分析,微服务架构有以下的一些通用特性,但并非所有微服务架构应用都必须具备所有这些特性: 1.通过服务实现应用的组件化(Componentizationvia …
花褪残红青杏小,燕子飞时,绿水人家绕。枝上柳绵吹又少,天涯何处无芳草。
墙里秋千墙外道,墙外行人,墙里佳人笑。笑渐不闻声渐悄,多情却被无情恼。
COPYRIGHT © 2025 lifengdi.com. ALL RIGHTS RESERVED.
Theme Kratos Made By Seaton Jiang