自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(182)
  • 收藏
  • 关注

原创 第四章 Dubbo高可用

TODO

2020-04-25 22:09:10 214

原创 第三章 Dubbo配置实战

TODO

2020-04-25 22:01:51 199

原创 第二章 Dubbo配置

TODO

2020-04-25 21:52:37 209

原创 重温索引优化

1. 索引失效1.1 普通索引场景一:SELECT * FROM user_info WHERE id + 1 = 2;索引的列如果是表达式的一部分或者是函数的参数,则失效。场景二:SELECT * FROM user_info WHERE name LIKE '%ook';like查询前面部分未输入,以%开头无法命中索引。可以使用覆盖索引(type=index)。场景三:S...

2020-04-22 22:57:04 233

原创 第一章 Dubbo简介

1.1 背景单一应用架构:当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。不易于扩展不易于协同开发,前端后端以及各个业务模块都会耦合在一起。对于服务器压力比较大垂直应用架构:当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率**(每一个应用包括...

2020-04-21 21:51:58 133

原创 八、泛型

8.1 为什么要使用泛型程序设计泛型是JavaSE1.5的新特效,泛型的本质是参数化类型,就是说所操作的数据类型被指定为一个参数,这种参数可以用在类、接口和方法中创建,分别称为泛型类、泛型接口、泛型方法。引用泛型的好处是安全简单。泛型机制将类型转换时的类型检查从运行时提前到了编译时,使用泛型编写的代码比使用Object时强制类型转换的机制具有更好的可读性和安全性。8.1.1 类型参数的...

2019-08-30 00:27:38 594

转载 异常日志之异常处理

1、 【强制】不要捕获 Java 类库中定义的继承自 RuntimeException 的运行时异常类,如: IndexOutOfBoundsException / NullPointerException,这类异常由程序员预检查来规避,保证程序健壮性。正例:if(obj != null) {...}反例:try { obj.method() } catch(NullPointerExcep...

2018-07-02 23:36:27 816

原创 Git基础

自报家门:因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。$ git config --global user.name "Your Name"$ git config --global user.email "[email protected]"注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库...

2018-03-18 22:14:22 162

转载 MySQL数据库之索引规约

唯一索引 【强制】业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引。 说明:不要以为唯一索引影响了 insert 速度,这个速度损耗可以忽略,但 高查找速度是明显的;另外,即使在应用层做了非常完善的校验控制,只要没有唯一索引,根据墨菲定律,必然有脏数据产生。多表关联查询 【强制】超过三个表禁止 join。需要 join 的字段,数据类型必须绝对一...

2018-03-17 15:51:51 391

原创 Java中的时间与日期

import java.sql.Timestamp;import java.text.ParseException;import java.text.SimpleDateFormat;import java.time.*;import java.time.format.DateTimeFormatter;import java.util.Calendar;import java.uti...

2018-03-16 22:11:52 215

原创 选择合适的数据类型

char 与 varcharchar是固定长度的字符串类型,varchar是可变长度的字符串类型。检索时会从char列删除尾部的空格。char是固定长度的,所以处理速度比varchar快。varchar会用多余的字节来保存字符串长度信息。对于那些长度变化不大并且对查询速度有较高要求的数据可以考虑使用char类型来存储。对于不同的存储引擎,使用规则也不同:MyISAM:ch...

2018-03-16 15:48:36 502

原创 表类型(存储引擎)的选择

1、查看默认的存储引擎:show engines \G;2、设置表的存储引擎: 创建表的时候设置存储引擎。3、修改存储引擎:mysql> alter table vc engine = myisam;各种存储引擎的特性MyISAM不支持事务和外键,优势是访问速度快,对事务完整性没有要求或者以select、insert为主的应用基本上都...

2018-03-16 15:03:23 662

原创 常用函数

字符串函数ASCII(char):返回字符的ASCII码值。BIT_LENGTH(str):返回字符串的比特长度。CONCAT(s1,s2…,sn):将s1,s2…,sn连接成字符串。任何字符串与NULL连接的结果都是NULL。CONCAT_WS(sep,s1,s2…,sn) 将s1,s2…,sn连接成字符串,并用sep字符间隔。INSERT(str,x,y,instr) ...

2018-03-15 22:12:46 154

原创 MySQL中的运算符

算术运算符比较运算符逻辑运算符位运算符算术运算符 进行除法和求余的运算时,如果第二个参数是0或者null,计算结果将是空值(NULL)。比较运算符 数字作为浮点数比较,而字符串以不区分大小写的方式进行比较。1.在运用“=”运算符判断两个字符是否相同时,数据库系统都是根据字符的ASCII码进行判断的。如果ASCII码相等,则表示这两个字符相同。如果ASCII...

2018-03-15 22:07:39 247

原创 MySQL支持的数据类型

数值类型1、整数类型所有的整数类型都有一个可选属性unsignedauto_increment:产生唯一标识或顺序值 在插入null到一个auto_increment列时,MySQL插入一个比该列中最大值大1的值。一个表最多只能有一个auto_increment列。任何一个auto_increment列应该定义为not null,并且定义为primary key或者定...

2018-03-14 21:47:15 445

原创 SQL基础

SQL:Structure Query Language,结构化查询语言。DDL语句:数据定义语言DML语句:数据操纵语言DCL语句:数据控制语言DDL语句对数据库内部的对象进行创建(create)、删除(drop)、修改(alter)等操作。 与DML语句最大的区别就是DML只是对表内部数据(记录)进行操作,而不涉及表的定义、结构的修改,更不会涉及其他对象。...

2018-03-14 20:29:04 189

翻译 编程规约之其他

正则表达式 【强制】在使用正则表达式时,利用好其预编译功能,可以有效加快正则匹配速度。 说明:不要在方法体内定义:Pattern pattern = Pattern.compile(规则);velocity 【强制】velocity 调用 POJO 类的属性时,建议直接使用属性名取值即可,模板引擎会自动按规范调用 POJO 的 getXxx(),如果是 bool...

2018-03-14 14:28:07 340

翻译 编程规约之注释规约

【强制】类、类属性、类方法的注释必须使用 Javadoc 规范,使用/**内容*/格式,不得使用 // xxx方式。 说明:在 IDE 编辑窗口中,Javadoc 方式会提示相关注释,生成 Javadoc 可以正确输出相应注释;在 IDE 中,工程调用方法时,不进入方法即可悬浮提示方法、参数、返回值的意义,提高阅读效率。 【强制】所有的抽象方法(包括接口中的方法)必须要用...

2018-03-14 14:19:55 281

翻译 编程规约之控制语句

【强制】在一个 switch 块内,每个 case 要么通过 break/return 等来终止,要么注释说明程 序将继续执行到哪一个 case 为止;在一个 switch 块内,都必须包含一个 default 语句并且 放在最后,即使它什么代码也没有。 【强制】在 if/else/for/while/do 语句中必须使用大括号。即使只有一行代码,避免采用 单行的编码方式: ...

2018-03-14 14:05:02 175

翻译 编程规约之OOP规约

【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成 本,直接用类名来访问即可。 【强制】所有的覆写方法,必须加@Override 注解。 【强制】相同参数类型,相同业务含义,才可以使用 Java 的可变参数,避免使用 Object。 说明:可变参数必须放置在参数列表的最后。( 倡同学们尽量不用可变参数编程) 正例:public ...

2018-03-14 13:29:37 4284

翻译 编程规约之代码格式

【强制】采用 4 个空格缩进,禁止使用 tab 字符。 说明:如果使用 tab 缩进,必须设置 1 个 tab 为 4 个空格。IDEA 设置 tab 为 4 个空格时, 请勿勾选Use tab character。public static void main(String[] args) { // 缩进 4 个空格 String say = "hello";...

2018-03-14 13:16:31 341

翻译 编程规约之常量定义

【强制】不允许任何魔法值(即未经定义的常量)直接出现在代码中。 反例:String key = “Id#taobao_” + tradeId; cache.put(key, value); 【强制】long 或者 Long 初始赋值时,使用大写的 L,不能是小写的 l,小写容易跟数字 1 混 淆,造成误解。 说明:Long a = 2l; 写的是数字的21,还是Lo...

2018-03-14 13:07:15 299

翻译 编程规约之命名风格

【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。 注意,即使纯拼音命名方式 也要避免采用。 【强制】类名使用UpperCamelCase风格,必须遵从驼峰形式,但以下情形例外:DO /...

2018-03-14 13:00:41 239

原创 编程规约之集合处理

ArrayList的subList函数 【强制】ArrayList的subList结果不可强转成ArrayList,否则会抛出ClassCastException 异常,即java.util.RandomAccessSubList cannot be cast to java.util.ArrayList. 说明: subList 返回的是 ArrayList 的内部类 Sub...

2018-03-13 17:48:32 218

转载 JDK8新特性:接口的静态方法和默认方法

在jdk8之前,interface之中可以定义变量和方法,变量必须是public、static、final的,方法必须是public、abstract的。由于这些修饰符都是默认的,所以在JDK8之前,下面的写法都是等价的。public interface JDK8BeforeInterface { public static final int field1 = 0; int

2017-10-07 13:44:07 670

原创 内部类

内部类:将一个类的定义放在另一个类的定义内部。 为什么需要内部类:内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据。内部类可以对同包中的其他类隐藏起来。当需要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。一、创建内部类public class Parcel2 { class Contents { private int i = 11; pub

2017-10-06 10:46:28 165

原创 枚举类

enum Size { SMALL("S"), MEDIUM("M"), LARGE("L"), EXTRA_LARGE("XL"); private Size(String abbreviation) { this.abbreviation = abbreviation; } public String getAbbreviation() { return abbrev

2017-10-05 17:54:46 255

原创 Java泛型

Java泛型(Generic)的引入加强了参数类型的安全性,减少了类型的转换,它与C++中的模板templates比较类似。但是有一点,Java的泛型在编译期有效,在运行期被删除,也就是说所有的泛型参数类型在编译后都会被清除掉。一、类型擦除import java.lang.reflect.InvocationTargetException;import java.util.ArrayList;i

2017-10-05 12:26:50 255

原创 double精度相关问题

保留4位小数方法一:强制保留4位小数,最末位是四舍五入的double f = 111.123456789123456789123456789123456789;System.out.println(f); //111.12345678912345BigDecimal b = new BigDecimal(f);double f2 = b.setScale(4, BigDecimal.ROUND_

2017-10-03 08:36:22 335

原创 Java基础面试

1. 面向对象和面向过程的区别面向过程 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。 缺点:没有面向对象易维护、易复用、易扩展 面向对象 优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护 缺

2017-08-29 10:48:51 293

原创 项目开发知识点汇总

1. Spring Boot为什么选择SpringBoot2. 注解Java注解3. SpringSpring知识汇总4. SpringMVChttp://blog.sina.com.cn/s/blog_7ef0a3fb0101po57.html SpringMVC:后端处理Web请求的框架 1、DispatcherServlet:前端控制器Servlet,负责将请求发送给控制器(control

2017-08-27 21:29:15 444

原创 一、为什么选择SpringBoot

JavaEE仅仅使用Spring逐渐变得笨重起来,大量的XML文件存在与项目中,繁琐的配置,整合第三方框架的配置问题,低下的开发效率和部署效率等等问题。Spring Boot解决的问题(1) Spring Boot使编码变简单 (2) Spring Boot使配置变简单 (3) Spring Boot使部署变简单 (4) Spring Boot使监控变简单 (5) Spring的不足Spri

2017-08-27 18:40:29 4309

转载 将本地项目上传到git

1、本地账号的设置: git本地配置用户名及邮箱 Git操作切换本地帐号2、将本地项目与远程资源库关联起来 如何用命令将本地项目上传到git SSH访问权限问题

2017-08-27 16:35:28 215

原创 Java注解

一、什么是注解(Annotation)我们大家都知道Java代码中使用注释是为了向以后阅读这份代码的人解释说明一些事情,注解是注释的升级版,它可以向编译器、虚拟机等解释说明一些事情。比如我们非常熟悉的@Override就是一种注解,它的作用是告诉编译器它所注解的方法是重写父类的方法,这样编译器就会去检查父类是否存在这个方法,以及这个方法的签名与父类是否相同。注解是描述Java代码的代码,它能够被编译

2017-07-24 23:10:50 385

原创 数据库事务的四大特性

如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。一致性(Consistency)  一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状

2017-07-21 00:54:12 463

原创 数据库事务隔离级别

Read uncommitted 读未提交脏读:一个事务读到了另一个事务尚未提交的数据脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。举例:公司发工资了,领导把5000元打到singo的账号上,但是该

2017-07-21 00:21:19 370

原创 数据库设计三大范式

范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2NF),

2017-07-20 23:37:49 481

原创 二、计算机网络知识汇总

一、TCP/IP四层模型和OSI七层模型的概念TCP/IP四层模型TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。ISO制定的OSI参考模型的过于庞大、复杂招致了许多批评。与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用。TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为: 1、应用层:应用程序间

2017-07-19 16:19:08 453

原创 二、Spring知识汇总

Spring简介spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器,可以单独使用,也可以和Struts框架,ibatis框架等组合使用。 Spring总结起来优点如下:低侵入式设计,代码的污染极低。独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺。S

2017-07-18 12:29:40 382

原创 Java 笔记2

类修饰符1、内部类可以是静态static的,也可用 public,default,protected 和 private 修饰。 2、与第一条相比,普通类只能由public或默认访问权限修饰符(类名前没有访问权限修饰符)。内部类的作用使用内部类可以给我们带来以下优点:内部类可以很好的实现隐藏(一般的非内部类,是不允许有 private 与 protected 权限的,但内部类可以);内部类拥有外围

2017-07-17 22:52:27 208

空空如也

空空如也

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

TA关注的人

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