自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java设计模式---单例模式

几个概念在讲单例模式之前,我先带大家了解一下本博客中用到的概念。线程安全如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代,如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 为什么会出现线程不安全呢?比如你有一个全局变量或者静态变量,若多个线程同时执行写操作,一般都需要考虑线程同步,否则就可能影响线程安全。

2017-09-15 17:39:53 10286

原创 验证

1.Spring Validator简介​ Spring Framework 提供了用于校验对象的Validator 接口,在校验过程中,与 Errors 对象配合。校验器可以通过Errors 对象报告校验失败的信息。实现模式实现 org.springframework.validation.Validator接口实现 supports 方法判断是否需要支持校验...

2018-07-17 19:51:51 288

原创 自定义注解

自定义注解annotation相关语法定义元注解:  元注解的作用是负责注解其他注解。 Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解:1.@Target,2.@Retention,3.@Documented,4.@Inherited这些类型和它们所支持的类ja...

2018-07-17 14:12:24 276

原创 java反射

java反射机制作用Java通过反射机制,可以在程序运行时加载、探知和使用编译期间完全未知的类,并且可以生成相关类对象实例,从而可以调用其方法或则改变某个属性值。概念在Java中的反射机制是指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法;并且对于任意一个对象,都能够调用它的任意一个方法;这种动态获取信息以及动态调用对象方法的功能成为Java语言的反射机制。...

2018-07-17 14:11:39 553

原创 拜读滴滴D8黄轶大神慕课网vue2.0APP教程感想

拜读滴滴D8黄轶大神慕课网vue2.0APP教程感想

2018-01-19 11:09:08 6616

原创 swagger出现no response from server错误的解决办法

swagger出现no response from server错误的解决办法出现这种情况的原因是swagger默认输出你项目本地的swagger页面上,但是通过nginx转发请求之后便会出现no response from server的错误。

2017-12-27 09:11:17 16397

原创 java枚举类封装

java枚举类封装通常后端数据库中需要int型的状态码,我们在编程中记录不方便,所有我们可以使用java枚举类进行封装

2017-12-19 11:10:04 4854

原创 统一异常处理

统一异常处理前言在实际开发中,我们会有许多异常的处理方式都是一样的,比如权限验证、登录失败、未查询到订单等等。我们遵循no-repeat原则。可以将许多共同场景定义为一个统一的异常进行处理。

2017-12-19 11:09:27 2731

原创 权限验证

用户权限验证使用AOP进行权限验证

2017-12-19 11:08:50 3606

原创 面向切面日志记录

在开发场景中,我们在做接口时,难免会遇到使用日志来记录请求参数与返回参数,如果写在我们的业务代码中未免显得不够优雅,所以我们可以采用面向切面编程的技术使其在业务代码中分离。

2017-12-19 10:47:59 3559

原创 使用java8进行分组

在开发中会遇到这样的一个场景,按照某一个字段分组,生成一个以分组id为key,组信息是一个list的map,java8中提供了一个方法 List里面的对象元素,以某个属性来分组,例如,以id分组,将id相同的对象放到一起Map<Integer, List<UserInfo>> groupBy = appleList.stream().collect(Collectors...

2017-12-08 14:21:27 5682

原创 解决emoji插入不到数据库的问题

解决emoji插入不到数据库的问题

2017-11-23 15:45:38 3255

原创 将本地jar包打入到本地maven仓库中进行管理

将本地jar包打入到本地maven仓库中进行管理

2017-11-23 15:37:15 2492

原创 使用日志框架如何输出printStackTrace()的堆栈信息

使用log4j的时候如何输出printStackTrace()的堆栈信息 研究了一下发现很简单,如下: log.error(e.getMessage(),e);

2017-11-10 08:42:26 7531

原创 nginx代理wss

nginx代理wss

2017-10-30 12:24:04 4967

原创 搭建nginx服务与并支持域名绑定与https

搭建nginx服务与并支持域名绑定与https一、安装nginx1.登录http://nginx.org/官网根据下面的图片引导找到Pre-Built Packages for Stable version 2.按照官网的说明进行安装Pre-Built Packages for Stable versionTo set up the yum repositor...

2017-10-19 10:50:34 6879

原创 算法与数据结构---插入排序

算法与数据结构—插入排序算法思路​ 例如:给定一个无序数组int arr={1,3,2,6,9}; n代表集合数组的长度,给出一个算法将数组arr按照从小到大的顺序进行排列。​ 插入排序:看当前位置i的值是否比它前一个数小,如果小就与前面的数交换位置。

2017-10-16 14:23:38 3900

原创 算法与数据结构---选择排序

算法与数据结构—选择排序算法思路​ 例如:给定一个无序数组int arr={1,3,2,6,9}; n代表集合数组的长度,给出一个算法将数组arr按照从小到大的顺序进行排列。​ 选择排序:遍历[i,n)寻找最小值,找到之后与i的位置进行交换,以此类推。

2017-10-16 14:23:04 4041

转载 java中抽象类与接口的区别

java中抽象类与接口的区别一、抽象类用abstract关键字修饰一个类时,这个类叫做抽象类,用abstract修饰一个方法时,这个方法叫做抽象方法。含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。抽象类不能被实例化。抽象方法只需声明,不需要实现。简单来说, 接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的。

2017-10-14 15:08:27 3633

原创 java设计模式---抽象工厂模式

java设计模式—抽象工厂模式何为抽象工厂围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。抽象工厂模式与工厂方法模式的最大区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则需要面对多个产品等级结构。注意事项:抽象工厂模式,产品族难扩展,产品等级易扩展。什么是产品族和产品等级?所谓产品族,是指位于不同产品等级结构中,功能相关联的产品组成的家族。

2017-09-20 22:45:14 7844

原创 java设计模式---工厂模式

java设计模式—工厂模式何为工厂模式顾名思义,工厂是生产产品的地方,我们需要什么产品就去什么工厂中拿就行了,而不需要关心它是如何制作的。对于我们面向对象的编程来说,当需要某一个对象的时候,运用工厂设计模式,我们可以不去关心该对象的复杂创建过程,创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。作为一种创建类模式,在任何需要生成复杂对象的地方,都可以使用工厂方法模式

2017-09-20 22:44:30 7689

原创 ==与equals的区别

java中”==”与”equals”的区别前言这虽然是一个很基础的话题了,但是很多初学者在网上搜资料与自己跑测试的时候还会出现很多的疑问。下面我就结合这两个的区别以及大家在跑代码时的疑问来深度解析一下。总的来说大家应该牢记一点就是:”==”号比较的是内存地址,如果是相同的地址就会返回true,反之false。“equals”,是对象的方法,所以我们要看一下所有对象的父类Object对象的源码是如何定

2017-09-20 22:43:18 7463

原创 如何把java程序作为Linux服务启动

java程序作为Linux服务启动前言当作为服务启动之后,对于程序的管理更加简单方面了,通过命令行systemctl start xxx.service //启动项目systemctl stop xxx.service //停止项目systemctl restart xxx.service //重启项目而且当程序被异常关闭之后,服务会将程序自动拉起。

2017-09-20 22:42:06 12492

原创 Linux常用命令

Linux常用命令查看进程ps -ef |grep java 是用标准的格式显示java这个进程,显示的项目有UID , PID , PPID , C , STIME , TTY , TIME , CMD获取用户权限sudo这个SuperUserDo是Linux新手要使用的最重要的命令。需要根权限的每一个命令都需要这个sudo命令。你可以在需要根权限的每个命令之前使用sudo。查看目录内容ls

2017-09-19 15:57:47 8408

转载 关于 RESTful API 中 HTTP 状态码的定义

链接:https://www.zhihu.com/question/58686782/answer/159603453 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。最近正好使用了一会儿 Koa ,在这说一下自己对各个 请求码的见解和使用场景,懒人直接看 200、400、401、403、404、500 就可以了。

2017-09-19 15:52:01 22292

原创 常用的spring-data-jpa 规范

常用的spring-data-jpa 规范

2017-09-19 15:34:29 8493

原创 java设计模式---开题篇

不管是参加Java面试还是其他语言的面试,设计模式和软件设计都是任何编程面试中的必问问题。实际上,编程能力和设计技巧是对彼此很好的补充。一个好的程序员通常都是一个好的软件设计人员。他们知道怎么把一个问题分割成一段段代码或者软件设计,但这些能力和技巧并不能凭空而来。你需要持续做大型、小型系统的设计和编码,并且不断从错误中学习。我会将java的23中设计模式在java设计模式系列博客中结合代码来讲解

2017-09-15 13:57:39 7686

原创 编程杂记--事务相关

事务的特性原子性、一致性、隔离性、持久性 隔离性:多个用户并发访问数据库时,一个用户的事务不可以被其他用户的事务所干扰,多个并发事务之间,数据要相互隔离。 如果不考虑事务的隔离性将会导致:脏读、不可重复读、幻读脏读、不可重复读、幻读概念脏读:一个事务读取了另一个事务改写但还未提交的数据,如果这些数据被回滚,则读到的数据是无效的。 不可重复读:在同一事务中,多次读取同一数据返回的结果有所不同。

2017-09-15 10:55:43 7198

原创 Gzip压缩

gzip 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求服务器对应资源后,从服务器端将资源文件压缩,再输出到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进压缩。

2017-09-14 17:42:09 7378

原创 使用idea快速搭建springmvc meavn项目

使用idea快速搭建springmvc meavn之前看网上写了好多搭建springmvc项目的博客,但是大多数都是比较繁琐的,本文采取最快速最实用的方式来搭建springmvc meavn项目的Hello World!页面,以及controller接口实现。

2017-09-14 16:47:00 7662

转载 Netty系列之Netty百万级推送服务设计要点

最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题。问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为如下几类:Netty是否可以做推送服务器?如果使用Netty开发推送服务,一个服务器最多可以支撑多少个客户端?使用Netty开发推送服务遇到的各种技术问题。由于咨询者众多,关注点也比较集中,我希望通过本文的案例分析和对推送服务设计要点的总结,帮助大家在实际工作中少走弯路。

2017-07-12 10:05:56 8623

原创 android事件分发机制和消费机制

我们在开发view空间嵌套比较严重的应用时,可能会被点击事件给搞乱,我们下面先了解一下相关概念以及代码演示,从而由浅入深的去了解事件的分发机制,便于我们以后的工作需要。

2016-11-16 16:55:09 7304

原创 android内存泄漏与解决方案

android内存泄漏与解决方案应用场景android系统为每个应用分配的java object heap都是固定的,如果我们不及时释放废弃资源所占用的内存空间,那么就会使我们的程序运行起来非常卡顿,当超过系统为我们分配的内存空间时,系统就会抛出OOM

2016-11-16 13:58:51 7287

原创 android handler的用法与处理机制

我们在实际开发中,总会遇到处理网络信息、子线程中需要进行更新UI操作、封装一些请求回调等api,这时便需要处理不同线程之间的通信,而我们android提供的handler消息处理机制便发挥到了作用。

2016-11-14 19:01:28 3769

原创 android内存管理

android内存管理与内存泄漏应用场景我们在开发应用程序的时候,了解其内存的运作机制以及如何防止内存泄漏都是非常重要的,内存问题也是android面试中经常问到话题。今天我就讲讲有关android内存方面的知识吧。android内存概述

2016-11-12 15:01:56 7450

原创 android View的绘制机制

android内置的view无法满足我们的需求,这时我们需要开发自定义的view,再开发之前我们需要先了解android view的绘制机制,这样可以更加便于我们的开发。以下是view绘制机制的简单讲解以及自定义view的代码示例。

2016-11-11 11:28:38 7780

原创 android Activity管理器

管理活动的Activity,可实现将一个activity添加到管理器、得到保存在管理器中的Activity对象、返回管理器的Activity是否为空、关闭所有活动的Activity除了指定的一个之外、移除Activity对象,如果它未结束则结束它、返回管理器中是否包含指定的名字,用于android开发时相当有用,例如我们在开发界面跳转比较频繁、定义android的HOME键、返回键如何跳转页面等项目时非常有用。

2016-11-07 15:59:59 8666 2

转载 android中的静态变量

Android是用Java开发,其静态变量的生命周期遵守Java的设计。我们知道静态变量是在类被load的时候分配内存的,并且存在于方法区。当类被卸载的时候,静态变量被销毁。在PC机的客户端程序中,一个类被加载和卸载,可简单的等同于jvm进程的启动和结束。那么在Android中呢?用的Dalvik vm也是一样的。不过Android不太突出的进程概念,所以对静态变量的生命周期就会感觉模糊,这种模糊对于值类型是无所谓的,如果是静态的对象引用,则与内存回收、内存泄漏这些问题有关,有必要加深研究和理解

2016-11-07 13:49:20 4691

原创 android自定义异常处理与错误日志上传

使用场景:1.作为一个android开发者,我们在使用真机调试的时候如果不建立adb连接是很难查看程序报出的错误信息的,我们通过使用此方法可以将错误日志捕获并且存储到本地或者上传到服务器。2.当我们的应用程序上线,可能会因为机型问题导致我们的程序出现问题,我们可以通过此方法来将错误日志上传到我们服务器上,通过查看日志来使我们不断的完善我们的APP

2016-11-05 17:44:27 12427 1

原创 android的广播发送与接收

android的广播发送与接收

2016-07-21 16:35:19 5066

空空如也

空空如也

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

TA关注的人

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