自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Netty框架的简单使用,实现socket通讯

个人博客:haichenyi.com。感谢关注   题外话,很多人都把JDK1.4提供的NIO称之为异步非阻塞I/O;其实,并不然,从严格意义上面讲,它只能称为非阻塞I/O。在JDK1.7提供的NIO 2.0,新增了异步的套接字通道Channel,它才是真正的异步非阻塞I/O。下表是不同I/O模...

2018-02-12 11:15:43

阅读数 13198

评论数 1

原创 SpringBoot系列—消息(RabbitMQ)(二十)

个人博客:haichenyi.com。感谢关注   大多数应用当中,可通过消息服务中间件来提升系统的异步通信和扩展解耦能力。 简介 消息服务中两个重要的概念   消息代理和目的地:当消息发送者发送消息之后,将由消息代理接管,消息代理保证消息发送到指定的目的地。 消息发送的两种方式: 队列(Que...

2019-11-27 14:43:37

阅读数 9

评论数 0

原创 SpringBoot系列—Docker(十九)

个人博客:haichenyi.com。感谢关注 简介   Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中, 然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。  ...

2019-11-13 14:43:59

阅读数 12

评论数 0

原创 SpringBoot系列—Run启动原理(十八)

个人博客:haichenyi.com。感谢关注   需要搞清楚几个重要的事件回调机制 配置在META-INF/spring.factories ApplicationContextInitializer SpringApplicationRunListener 只需要放在ioc容器中 Ap...

2019-11-11 17:27:20

阅读数 7

评论数 0

原创 SpringBoot系列—Redis(十七)

个人博客:haichenyi.com。感谢关注   前面一篇说到了spring boot自带的缓存SimpleCache,我们也聊到了他的底层实际上就是HashMap,并且这个缓存是放在内存当中的,这样弊端也是有的,比如:内存大小,当服务器关闭之后,缓存就没了等等。 简介   实际开发中,一般使用...

2019-11-06 16:39:47

阅读数 16

评论数 0

原创 SpringBoot系列—缓存及其源码分析(十六)

个人博客:haichenyi.com。感谢关注   缓存是每个项目都用到的为了提高接口响应效率,降低数据库的查询压力,从而提高系统性能。所以,缓存对于一个项目来说是至关重要的。 简介   spring 3+之后,就定义了CacheManager和Cache接口来统一不同的缓存技术。 CacheM...

2019-11-05 10:51:42

阅读数 20

评论数 0

原创 SpringBoot系列—邮件(十五)

个人博客:haichenyi.com。感谢关注   邮件发送是必不可少的,不管是注册邮件,还是广告。   spring boot中已经集成的mail的启动器,所以,我们只用配置好就行了。   引入启动器: <dependency> <groupId>...

2019-10-31 17:09:32

阅读数 8

评论数 0

原创 SpringBoot系列—异步任务与定时任务(十四)

个人博客:haichenyi.com。感谢关注 异步任务   什么时候用异步,就是耗时操作的时候就可以用到异步,比如:批量处理数据,批量发邮件等等。   用法与前面的事务管理类似,spring 3+之后,就已经内置了 @Async 来处理异步任务。我们使用两个注解即可。 @EnableAysnc...

2019-10-31 14:31:13

阅读数 12

评论数 0

原创 SpringBoot系列—事务管理(十三)

个人博客:haichenyi.com。感谢关注   我们操作数据库,事务管理是必不可少的一部分。 什么是事务   我们在开发企业应用时,用户的一个操作对应数据库可能是多步操作相结合完成的。在这个多个步骤中,其中的一步,可能出现异常,导致后面的步骤无法向下进行,那么,用户的这个操作,可能就没有进行完...

2019-09-17 13:36:34

阅读数 5

评论数 0

原创 SpringBoot系列—Spring Data JPA(十二)

个人博客:haichenyi.com。感谢关注 什么是 Spring Data   Spring Data 是 Spring Boot 底层默认进行数据访问的技术 , 为了简化构建基于 Spring 框架应用的数据访问技术,包 括非关系数据库、Map-Reduce 框架、云数据服务等;另外也包含对...

2019-09-11 17:02:16

阅读数 26

评论数 0

原创 SpringBoot系列—MyBatis(十一)

个人博客:haichenyi.com。感谢关注   上一篇,Druid是用于处理数据库连接池与后台监控。   MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简...

2019-09-07 18:55:33

阅读数 36

评论数 0

原创 SpringBoot系列—Druid(十)

个人博客:haichenyi.com。感谢关注   一个企业项目中最重要的部分那就是数据库了,对数据库的连接,读写是重中之重。在SpringBoot中数据库怎么连接呢? 数据库的连接   这里以MySql为例,还不会用MySql数据库的童鞋,可以看我之前的博客,数据库相关。    第一步, 我们首...

2019-09-05 16:03:58

阅读数 911

评论数 0

原创 SpringBoot系列—自定义拦截器(九)

个人博客:haichenyi.com。感谢关注   拦截器拦截请求做额外的处理。 举个栗子:登录拦截器,拦截所有的请求,必须登录之后才能访问。 package com.haichenyi.springbootbill.interceptors; import org.springframewor...

2019-09-03 09:23:16

阅读数 29

评论数 0

原创 SpringBoot系列—国际化(八)

个人博客:haichenyi.com。感谢关注   所谓的国际化就是语言切换。中文切换到其他语种。   国际化的信息,这些都是需要开发人员在配置类中配置好的。SpringBoot会自动加载这些配置类。 举个栗子:以登录界面为例,我们的登录界面输入账号、密码框的左边,会有这两个提示,我们就自动修改这...

2019-09-02 16:13:15

阅读数 16

评论数 0

原创 SpringBoot系列—热部署与SpringMVC扩展功能(七)

个人博客:haichenyi.com。感谢关注 热部署   默认情况下,在开发中我们修改一个项目文件后,想看到效果不得不重启应用,这会导致浪费大量时间,我们希望不重启应用的情况下,程序可以自动部署(热部署)。   第一步:禁用缓存 #开发环境下关闭thymeleaf模板缓存,thymeleaf默认...

2019-08-30 10:42:33

阅读数 13

评论数 0

原创 SpringBoot系列—Thymeleaf常用属性(六)

个人博客:haichenyi.com。感谢关注 引用公共片段 th:fragment,th:replace,th:insert   很多页面有很多相同的内容,比方说header和foot,这样的内容就需要公共片段引用了,修改一个地方就全部都改了。类似于android里面提取公共方法一样的道理。 方...

2019-08-29 11:07:04

阅读数 101

评论数 0

原创 SpringBoot系列—Thymeleaf(五)

个人博客:haichenyi.com。感谢关注   SpringBoot官方不推荐使用JSP,因为内嵌Tomcat,Jetty容器不支持以jar的方式运行JSP。SpringBoot中提供了大量模板引擎,包含Freemarker,Mastache,Thymeleaf等。而SpringBoot官方推...

2019-08-27 11:22:50

阅读数 22

评论数 0

原创 SpringBoot系列—全局配置(四)

个人博客:haichenyi.com。感谢关注   用IDEA可以直接创建SpringBoot项目,创建Moudle的时候,在选Maven的地方,选择Sping Initializr即可,很简单。前面讲过了IDEA生成Maven项目,并且嵌入SpringBoot,直接创建Spring Boot项目...

2019-08-23 10:25:25

阅读数 154

评论数 0

原创 SpringBoot系列—@SpringBootApplication源码解析(三)

个人博客:haichenyi.com。感谢关注   上一篇,内容很少,说了一下SpringBoot的底层是怎么依赖的。这一篇讲一下SpringBoot底层源码是怎么实现的。   从SpringBoot的入口开始。第一篇的时候说过了,最好把入口文件放在最外层的包下面,至于原因就不多阐述了。   说说...

2019-08-22 16:19:51

阅读数 20

评论数 0

原创 SpringBoot系列—底层依赖(二)

个人博客:haichenyi.com。感谢关注   前面,我们创建了一个Spring Boot的hello world,我们仅仅添加了一个spring-boot-starter-parent,它是怎么帮我们实现这个依赖的呢?我们可以点进去看一下Ctrl+鼠标左键,如下图:   我们发现它,还有...

2019-08-22 14:56:16

阅读数 15

评论数 0

原创 SpringBoot系列—Hello World(一)

个人博客:haichenyi.com。感谢关注   终于要正式开始了java后台之路,虽然,之前断断续续的看过过黑马的java web视频,但是,都是好几年前的视频,很老了,感觉用处比较大的就是MySQL数据库操作,之前也写过几篇关于MySQL数据库操作的博客。目前,java后台最火的框架就属Sp...

2019-08-22 13:57:32

阅读数 32

评论数 0

原创 dagger2整个流程解析(一)

个人博客:haichenyi.com。感谢关注   众所周知,dagger的入门是比较难的,在嵌入之前,我先说一下这个dagger必要的东西,也是比较常见的东西,几个注解 @Component,@Singleton,@Module,@Provides,@Inject   大致的整个流程如下: 编...

2019-07-31 20:16:56

阅读数 23

评论数 0

原创 一场由dagger2引发的一些思考

个人博客:haichenyi.com。感谢关注   用了好几年的dagger2,从dagger2.android。就只有当时刚开始用dagger的时候深入的了解过,后来就再也没有深入的时候研究过。这几天又研究了一下,做个总结。   就拿之前写的kotlin的框架来说,它用的是dagger2.and...

2019-07-31 17:39:06

阅读数 31

评论数 0

原创 Tomcat安装与启动

个人博客:haichenyi.com。感谢关注   搭建android框架的时候总是会遇到测试网络请求没有接口的问题,今天就自己搭建一个服务器Tomcat。不用写web项目就能直接获取到数据   一.Tomcat主页跳转下载   二.Download——版本(点击)——Binary Distrib...

2019-07-25 20:21:34

阅读数 17

评论数 0

原创 Android开发中的小技巧(持续更新...)

个人博客:haichenyi.com。感谢关注 1. 不需要读写权限就可以操作的目录   一谈起要做文件的读写操作,应在脑海中的就是先申请读写权限,没有读写权限就不让对应的操作。那为什么SP也是把数据存本地,缺不需要读写权限呢?   只要是存储在你的APP目录下面,就不需要读写权限。而,手机上面A...

2019-07-25 17:55:44

阅读数 22

评论数 0

原创 kotlin项目框架

个人博客:haichenyi.com。感谢关注 MVP+dagger2.android+LiveData+RxJava2+Retrofit2+OkHttp github项目链接

2019-07-23 17:31:37

阅读数 20

评论数 0

原创 kotlin之协程一简单使用

个人博客:haichenyi.com。感谢关注   kotlin协程用于线程切换,kotlin里面不需要new Thread,并且,协程的开销小于new Thread。有三种写法:runBlocking,launch,async 既然协程的出现可以取代Thread,我们这里想要验证的是: 会不会...

2019-07-18 14:39:32

阅读数 29

评论数 0

原创 kotlin之内部类,匿名内部类与伴生对象

个人博客:haichenyi.com。感谢关注 内部类   kotlin的内部类与java的内部类有点不同***java的内部类可以直接访问外部类的成员,kotlin的内部类不能直接访问外部类的成员,必须用inner标记之后才能访问外部类的成员*** class AAA{ var a = ...

2019-06-14 14:18:48

阅读数 126

评论数 0

原创 kotlin之扩展方法

个人博客:haichenyi.com。感谢关注   kotlin的扩展方法类似于java工具类,但是又优于java的工具类。 扩展方法   扩展方法的写法,新建一个File类型的kt文件,不是Class类型,不是Interface类型,不是枚举类型,不是Object类型,就是File类型   然后...

2019-06-13 17:51:42

阅读数 33

评论数 0

原创 kotlin之构造函数(constructor)

个人博客:haichenyi.com。感谢关注   java中的构造函数是与类名相同即可,kotlin里面的构造函数是用constructor关键字表示。   kotlin里面的构造函数分为主构造函数和次构造函数。主构造函数只能有一个,次构造函数个数不限制,可以有一个或者多个 constructo...

2019-06-12 15:53:06

阅读数 543

评论数 0

原创 kotlin之扩展函数let,run,also,apply

个人博客:haichenyi.com。感谢关注 举个例子 open class Person { var name: String = "" var age: Int = 0 var address: String = "" ...

2019-06-11 15:11:52

阅读数 102

评论数 0

原创 kotlin之基础

个人博客:haichenyi.com。感谢关注   自从18年上一家公司用kotlin做了项目之后,新公司就没有用过kotlin了,都快要忘完了,最近又想起来了,再捡了一下吧。 定义变量的方式   java:类型+变量名+值+逗号 int a = 5;   kotlin:var/val+变量名+...

2019-06-11 13:40:37

阅读数 77

评论数 0

原创 Android——Tensorflow-Lite简单使用

个人博客:haichenyi.com。感谢关注   项目里面用到了tflite,用于做简单的图片处理,不是判断图片是什么类型,就是传进去图片,生成新图片,类似于前面一篇讲的GPUImage的滤镜功能,但是比滤镜功能更加强大。   我这里要做的就是集成,拿人家训练好的模型直接来用,我不用去训练模型。...

2019-05-24 11:43:41

阅读数 342

评论数 0

原创 图片滤镜——GPUImage

个人博客:haichenyi.com。感谢关注   GPUImage图片滤镜处理的第三方开源库,对照IOS版的GPUImage写的,部分功能尚未完善,目前也有很多种滤镜,常用的滤镜基本上都有,请先浏览一遍github上面的用法。 依赖的库 repositories { jcenter() ...

2019-05-23 18:15:37

阅读数 73

评论数 0

原创 Android项目框架之MVP+Dagger.Android+LiveData

个人博客:haichenyi.com。感谢关注   之前的那个系列 从零开始搭建一个主流的项目框架(一&nbsp;~&nbsp;八) ,尽管把dagger2中inject activity 优化了一下,但是依然显得繁琐,每一个activity里面都要写一个inject方法。Dagg...

2018-12-04 17:28:59

阅读数 567

评论数 0

原创 JDBC的简单使用——MySQL

个人博客:haichenyi.com。感谢关注   前面几篇学了基本的SQL语句和用工具操作数据库,今天讲一下用代码操作数据库。 连接MySQL   首先记得需要导包,jdbc连接MySQL数据库的jar包,名字:mysql-connector-java   首先记得需要导包,jdbc连接...

2018-10-10 17:28:55

阅读数 78

评论数 2

原创 MySQL数据库操作(五)——多表查询

个人博客:haichenyi.com。感谢关注 合并结果集 union all(包含相同行)、union(去除相同行)   把查询的结果合并到一起。要求: 查询的结果列数相同,列类型相同 create table emp( eid int, ename varchar(5...

2018-09-21 16:07:21

阅读数 112

评论数 0

原创 MySQL数据库操作(四)——多表之间的关系

个人博客:haichenyi.com。感谢关注 主键与外键 1、一张表可以有多个外键 2、外键是表的主键,可以是别的表,也可以是本身(少见) 3、外键可以为null,可以重复,但是不能不存在,必须要查的到 创建语法 foreign key(本表的列名) references 关联的表名(...

2018-09-20 16:19:44

阅读数 337

评论数 0

原创 MySQL数据库操作(三)——数据库的备份与恢复

个人博客:haichenyi.com。感谢关注 数据库的备份与恢复 备份:mysqldump -u用户名 -p密码 数据库名&amp;amp;gt;生成的脚本路径 //末尾没有分号,也不要登录 mysqldunp -uroot -p123 school&amp;amp;gt...

2018-09-19 16:30:26

阅读数 85

评论数 0

原创 MySQL数据库操作(二)——DQL

个人博客:haichenyi.com。感谢关注 DQL 关键字:select、from、where、group by、having、roder by 基本查询   查询所有:select * from 表名; select * from t_s...

2018-09-12 17:36:41

阅读数 61

评论数 0

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