自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Rachel

欢迎大家互相学习 专研专业技术

  • 博客(26)
  • 收藏
  • 关注

转载 IDEA配置lombox插件

首先我们需要安装IntelliJ IDEA中的lombok插件,打开IntelliJ IDEA后点击菜单栏中的File-->Settings,或者使用快捷键Ctrl+Alt+S进入到设置页面。 2 我们点击设置中的Plugins进行插件的安装,在右侧选择Browse repositories...,然后在搜索页面输入lombok变可以查询到下方的Lombok Plug...

2018-11-28 14:52:07 887

原创 Spring Cloud

下面只简单介绍下经常用的5个服务发现——Netflix Eureka客服端负载均衡——Netflix Ribbon断路器——Netflix Hystrix服务网关——Netflix Zuul分布式配置——Spring Cloud ConfigEureka作用:实现服务治理(服务注册与发现)简介:Spring Cloud Eureka是Spring Cloud Netflix项目...

2019-04-16 09:39:06 147

转载 详述 IntelliJ IDEA 中自动生成 serialVersionUID 的方法

当我们用 IntelliJ IDEA 编写类并实现 Serializable(序列化)接口的时候,可能会遇到这样一个问题,那就是:无法自动生成serialVersionUID.而serialVersionUID又是一个非常重要的字段,因为 Java 的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM 会把传来的字节流中的serial...

2018-11-29 18:55:48 260

原创 Bean Validation

概述 Bean Validation 规范Bean 是 Java Bean 的缩写,在 Java 分层架构的实际应用中,从表示层到持久化层,每一层都需要对 Java Bean 进行业务符合性验证,如图 1 所示。然而对于同一个 Java Bean 的对象,在每一层都需要实现同样的验证逻辑时,这将是一项耗时且容易诱发错误的做法。Bean Validation 规范的目标就是避免多层验证的重复性。事实...

2018-06-20 09:52:13 344

原创 Jersey对HTTPS的支持

Jersey系列文章:Jersey框架一:Jersey RESTful WebService框架简介Jersey框架二:Jersey对JSON的支持Jersey框架三:Jersey对HTTPS的支持 证书的生成过程这里就不介绍了,请参照:Java网络编程二:Java Secure(SSL/TLS) Socket实现 中的证书部分代码结构如下:Maven配置文件:[html] view plain ...

2018-06-20 09:44:31 1749

原创 Jersey框架二:Jersey对JSON的支持

Jersey系列文章:Jersey框架一:Jersey RESTful WebService框架简介Jersey框架二:Jersey对JSON的支持Jersey框架三:Jersey对HTTPS的支持 Jersey提供3种基本方式来使用JSON格式无论使用何种方式,在原有包的基础上,都需要在客户端和服务端Maven配置文件中添加jersey-json包以支持JSON格式[html] view pla...

2018-06-20 09:43:20 536

原创 Jersey框架一:Jersey RESTful WebService框架简介

Jersey系列文章:Jersey框架一:Jersey RESTful WebService框架简介Jersey框架二:Jersey对JSON的支持Jersey框架三:Jersey对HTTPS的支持 开发RESTful WebService意味着支持在多种媒体类型以及抽象底层的客户端-服务器通信细节,如果没有一个好的工具包可用,这将是一个困难的任务为了简化使用JAVA开发RESTful WebSe...

2018-06-20 09:42:05 1067

原创 java集合的交集,并集,差集

今天要用到差集,突然懵逼了,然后脑子一抽写出了下面的代码 Set<String> set1 = new HashSet<>(); Set<String> set2 = new HashSet<>(); set1.add("a"); set1.add("b"); set1.a...

2018-06-15 13:42:24 21352

原创 Redis的安装

  之所以要在工程中添加缓存,是因为在互联网项目中查询功能是非常频繁的,如果每次查询都调用数据库的话,会给数据库造成很大的压力,因此需要在用户和数据库之间加一层缓存,对于同样的查询,只查询一遍数据库,然后把数据保存到缓存当中,当其他用户再访问同样的页面时便可以直接从缓存中去读取数据,这样查询效率将会提升非常多。同时也会大大减轻数据库的压力。         下面开始安装Redis。第一步:下载Re...

2018-06-14 13:28:34 742

原创 Nginx介绍及搭建

第一:什么是Nginx?       Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。第二:Nginx的应用场景是什么?1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静...

2018-06-13 13:45:30 118

原创 2.4 Redis原理知识点集锦

1、Redis有哪些数据结构?字符串String、字典Hash、列表List、集合Set、有序集合SortedSet。高级数据结构HyperLogLog:基数统计GEO:地理位置PUB/SUB:订阅发布2、Redis是单进程单线程的吗?是的。Redis是基于内存的单进程单线程KV数据库,基于C语言编写,不比单进程多线程的Memcached差。快的原因:(1)完全基于内存。(2)数据结构简单、对数据...

2018-06-06 10:03:04 115

原创 2.3 数据库面试题

1、数据库有哪些索引?根据功能分类唯一索引(Unique):可单列也可多列组合,每个索引值对应唯一的记录,且索引的字段具有唯一性,最多只能有一个NULL。主键索引(Primary Key):可单列也可多列组合,其值唯一标识表中的一行,不能为NULL。聚集索引(Cluster):一个表只能包含一个聚集索引,表中行的物理顺序与键值的逻辑顺序相同,加快查询速度。根据实现方式分类B+树索引:平衡的树,不一...

2018-06-06 10:02:41 133

原创 2.2 REQUIRES_NEW不起作用导致整个事务回滚——Spring事务传播机制

1、Propagation.REQUIRES_NEW的作用假设有个对象A,有a()方法,有个对象B,有b()方法。在a方法中调用了b方法,b方法被称为内嵌事务,不管a方法是否开启事务,只要b方法的事务的隔离级别为REQUIRES_NEW,则一定会在调用b方法时产生一个新的事务。2、一个场景A的a()方法:[java] view plain copy    @Transactional      p...

2018-06-06 10:02:13 2035 5

原创 2.1 Spring声明式事务的实现方式选择(JDK动态代理与cglib)

1、简介Spring声明式事务的具体实现方式是动态决定的,与具体配置、以及事务代理对象是否实现接口等有关。2、使用JDK动态代理的情况在满足下面两个条件时,Spring会选择JDK动态代理作为声明式事务的实现方式。(1)事务代理类必须实现接口且不能显式继承父类(Object这个父类不算)。(2)配置:springboot的启动类要加上@EnableTransactionManagement和@En...

2018-06-06 10:01:49 1135

原创 2.0 抽象类和接口的区别

    接口和抽象类有什么区别你选择使用接口和抽象类的依据是什么?接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.所以,在高级语言上,一个类只能继...

2018-06-06 10:00:55 123

原创 1.3 装饰者模式原理(Decorator Pattern)

> 装饰者模式原理> 装饰者模式示例演示> Java里装饰者介绍> 装饰者模式关键点、注意点1.4.1 装饰者模式原理1.4.1.1 咖啡馆订单系统项目1.4.1.2 装饰者模式原理1.4.1.1.1 咖啡种类:Espresso、ShortBlack、LongBlack、Decaf1.4.1.1.2 调料:Milk、Soy、Chocolate1.4.1.1.3 扩展性好、改...

2018-06-05 10:43:18 805 1

原创 1.2 观察者模式(Observer Pattern)

> 观察者模式原理> 观察者模式示例演示> Java内置观察者> 观察者模式关键点、注意点1.3.1 观察者模式原理1.3.1.1 Internet气象站项目,普通OO设计方案,有些问题1.3.1.2 引入观察者模式概念1.3.1.3 新的设计方案1.3.1.1.1 Internet气象站项目:提供温度、气压和温度的接口测量数据更新时需时时通知给第三方需要设计开放型API,...

2018-06-02 10:46:10 465 1

原创 1.1 策略模式(Strategic Pattern)

> 模拟鸭子项目> 项目的新需求> 用OO原则解决新需求的不足> 用策略模式来新需求解决> 重新设计模式鸭子项目1.1 模拟鸭子项目 1.1.1 从项目“模拟鸭子游戏”开始 1.1.2 从OO的角度设计这个项目,鸭子超类,扩展超类: 1、GreenHeadDuck继承Duck: 2、同理可有RedHeadDuck等 3、Stim...

2018-06-01 17:14:31 191

原创 1.8 Java常见面试题及答案 11-20(JVM)

1. 类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,他们的执行顺序答:先静态、先父后子。 先静态:父静态 > 子静态 优先级:父类 > 子类 静态代码块 > 非静态代码块 > 构造函数 一个类的实例化过程: 1,父类中的static代码块,当前类的static 2,顺序执行父类的普通代码块 3,父类的构造函数 4,子类普通代码块 5,子类(...

2018-06-01 16:57:50 2927

原创 1.7 数据库设计优化

如果严格遵循三大范式,会导致在查询时经常需要连接许多表,查询效率降低,可以结合业务要求,适当的做冗余。2.适度的建立索引。索引加快某些字段的查询效率,但是更新操作速度会降低,会占用储存空间。索引建立的规则:a.索引的字段必须是经常用来做查询条件的字段b.若索引是多个字段组合的情况,要把经常作为查询条件的字段作为第一个。否则当通过单个字段查询时,数据库不会通过索引查询。c.索引的字段必须有足够的区分...

2018-06-01 16:54:28 100

原创 1.6 单例模式的三种写法

1.延迟实例化当我们不急切需要一个实例时,也就是当用户需要一个实例时,再创建实例。a.同步低效率版[java] view plain copypublic class Singleton {        private static Singleton uniqueInstance;      //私有化构造方法,防止用户通过构造器构造      private Singleton(){}   ...

2018-06-01 16:54:12 136

原创 1.5 Spring AOP 原理

一、AOP是什么?    AOP的全称是Aspect Orient Programming,即面向切面编程。是对OOP(Object Orient Programming)的一种补充,战门用于处理一些具有横切性质的服务。常常用于日志输出、安全控制等。       上面说到是对OOP的一种补充,具体补充的是什么呢?考虑一种情况,如果我们需要在所有方法执行前打印一句日志,按照OOP的处理思想,我们需要...

2018-06-01 16:53:53 141

原创 1.4 Spring IOC 和 DI原理

一、IOC是什么?IOC全称为“Inversion of Control”,即控制反转,不是一种技术,而是一种设计思想。在这种设计思想中,你设计好的对象交给容器管理,而不是在应用程序内部对对象进行管理。控制的含义是IOC容器控制了对象(也可以包括文件及其他外部资源);而反转的含义是IOC容器负责创建及注入依赖的对象,但在传统的应用程序中,我们需要在对象内部去创建(new)依赖的对象,这叫“正”,在...

2018-06-01 16:53:30 217

原创 1.3 SpringMVC 原理

一、简介SpringMVC是Spring框架的一个子模块,类似于AOP,IOC等模块。也是通常所说的那层薄薄的Web层,也就是MVC架构中的C(Controller),负责接收分发用户请求。二、原理详细解释这幅图。1、用户发起请求,一般是HTTP请求,带有URL和参数。2、DispatcherServlet的匹配的URL与请求的URL相匹配,DispatcherServlet接收请求。3、把URL...

2018-06-01 16:53:08 200

原创 1.2 Java面试题及回答集锦

1、问题:如果A和B对象循环引用,是否可以被GC?回答:可以,现在的虚拟机基本都是通过可达性分析算法来判断对象是否存活的,而不是通过简单的引用计数法来判断对象是否存活。可达性分析算法使用一系列的“GC Roots”对象(虚拟机栈中引用的对象、静态属性引用对象)作为起始点,这些节点向下搜索的路径称为引用链,当一个对象到GC Roots没有任何引用链连接,则证明对象是不可用的。2、Java中的内存溢出...

2018-06-01 16:51:35 142

原创 1.1 SQL语句优化

1. 使用慢日志,explain记录那些查询很慢的SQL语句。2. 避免全表扫描,考虑在WHERE和ORDER BY中使用到的列建立索引3. 尽量避免在WHERE子句中使用NULL值判断,这样会使DBMS放弃使用索引进行全表扫描,可以设计不影响业务的默认值.4. 尽量避免在WHERE子句中使用  !=  或<>,也会导致DBMS放弃使用索引进行全表扫描,可以使用<,<=,=...

2018-06-01 16:51:01 123

空空如也

空空如也

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

TA关注的人

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