随笔分类 -  java

java
摘要:在项目中使用mybatis做为持久层框架,mysql数据库。项目上线前,DBA要求我们将每张数据库表中的字段都设置默认值和not null。之前项目中有一些insert语句是将表中所有字段都列出来,然后把它做为一个通用的插入语句来使用。举个简单的例子:假如一张数据库表blog中有如下几个字段:id, 阅读全文
posted @ 2021-11-29 10:45 思凡念真 阅读(3060) 评论(0) 推荐(0) 编辑
摘要:Mybatis查询数据部分字段显示为null,怎么转成空串("") 1、先定义一个handler,来把字段为null的转成空串("")2、在Mapper.xml中,把可能为空的字段,加上typeHandler属性,指定处理的handler类的全路径。 CustomStringTypeHandler. 阅读全文
posted @ 2021-10-18 09:41 思凡念真 阅读(1944) 评论(0) 推荐(0) 编辑
摘要:在 springboot 开发过程中遇到一个奇怪的问题,就是已经设置系统时间GMT+8, 但是时间到数据库后会减少14个小时。后来发现是 jvm 时区和数据库时区设置不一致的问题。 jvm 设置的是 GMT+8,数据库是 CST 时区。CST 时区比较混乱,会在冬令时或夏令时导致相差 13 或 14 阅读全文
posted @ 2021-10-15 14:40 思凡念真 阅读(1589) 评论(0) 推荐(0) 编辑
摘要:lombok可以使实体更简洁,主要是会在编译.class文件期间,生成get/set方法,还有hash/equals/toString等。 主要是可以让代码更简洁。 @Data//生成get/set/toString/hash/equals等 @Accessors(chain = true)//开启 阅读全文
posted @ 2021-09-03 15:02 思凡念真 阅读(1331) 评论(0) 推荐(0) 编辑
摘要:Promise是可写的future,从future的分析中能够发如今其中没有写操做的接口,netty特地使promise扩展了future,能够对异步操做结果进行设置。 (一)defaultpromise 包含的字段: //原子保存异步操做结果 private static final Atomic 阅读全文
posted @ 2021-08-23 15:13 思凡念真 阅读(321) 评论(0) 推荐(0) 编辑
摘要:Netty内部的io.netty.util.concurrent.Future<V> 继承自java.util.concurrent.Future<V>,而Promise<V>是前者的一个特殊实现。 (一)jdk中future和netty中future的比较 jdk中future: // 取消异步操 阅读全文
posted @ 2021-08-23 14:15 思凡念真 阅读(210) 评论(0) 推荐(0) 编辑
摘要:线程模型概述 基本的线程池化模式可以描述为: 从池的空闲线程列表中选择一个 Thread,并且指派它去运行一个已提交的任务(一个Runnable 的实现); 当任务完成时,将该 Thread 返回给该列表,使其可被重用。 虽然池化和重用线程相对于简单地为每个任务都创建和销毁线程是一种进步,但是它并不 阅读全文
posted @ 2021-08-16 16:01 思凡念真 阅读(271) 评论(0) 推荐(0) 编辑
摘要:Bootstrap类 引导类的层次结构包括一个抽象的父类和两个具体的引导子类: 相对于将具体的引导类分别看作用于服务器和客户端的引导来说,记住它们的本意是用来支撑不同的应用程序的功能的将有所裨益。也就是说,服务器致力于使用一个父 Channel 来接受来自客户端的连接,并创建子 Channel 以用 阅读全文
posted @ 2021-08-11 11:10 思凡念真 阅读(119) 评论(0) 推荐(0) 编辑
摘要:一.认识Http请求 Netty中,可以注册多个handler。ChannelInboundHandler按照注册的先后顺序执行;ChannelOutboundHandler按照注册的先后顺序逆序执行,如下图所示,按照注册的先后顺序对Handler进行排序,request进入Netty后的执行顺序为 阅读全文
posted @ 2021-08-09 18:15 思凡念真 阅读(1028) 评论(0) 推荐(0) 编辑
摘要:1、SSL/TLS简介 协议是Web浏览器与Web服务器之间安全交换信息的协议,提供两个基本的安全服务:鉴别与保密。 1.1、作用 不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。 窃听风险(eavesdropping):第三方可以获知通信内容。 篡改风险(t 阅读全文
posted @ 2021-08-06 17:32 思凡念真 阅读(2538) 评论(0) 推荐(0) 编辑
摘要:一.编解码技术简介 在了解Netty编解码之前,先了解Java的编解码: 编码(Encode)称为序列化, 它将对象序列化为字节数组,用于网络传输、数据持久化或者其它用途。 解码(Decode)称为反序列化,它把从网络、磁盘等读取的字节数组还原成原始对象(通常是原始对象的拷贝),以方便后续的业务逻辑 阅读全文
posted @ 2021-08-05 17:47 思凡念真 阅读(1224) 评论(0) 推荐(0) 编辑
摘要:1.Channel基本概念和使用 什么是Channel? channel是一个管道,用于连接字节缓冲区Buf和另一端的实体,这个实例可以是Socket,也可以是File, 在Nio网络编程模型中, 服务端和客户端进行IO数据交互(得到彼此推送的信息)的媒介就是Channel。 Channel通过Ch 阅读全文
posted @ 2021-08-04 10:40 思凡念真 阅读(863) 评论(0) 推荐(0) 编辑
摘要:一、ByteBuf类的结构 ByteBuf类继承关系图如下: ReferenceCounted:对象引用计数器,初始化ReferenceCounted对象时,引用数量refCnt为1,调用retain()可增加refCnt,release()用于减少refCnt。refCnt为1时,说明对象实际不可 阅读全文
posted @ 2021-07-29 11:50 思凡念真 阅读(585) 评论(0) 推荐(0) 编辑
摘要:网络应用程序让人与系统之间可以进行通信,当然网络应用程序也可以将大量的数据从一个地方转移到另一个地方。如何做到这一点取决于具体的网络传输,但转移始终是相同的:字节通过线路。传输的概念帮助我们抽象掉的底层数据转移的机制。所有人都需要知道的是,字节在被发送和接收。 1、Channel 类的层次结构 传输 阅读全文
posted @ 2021-07-28 15:50 思凡念真 阅读(246) 评论(0) 推荐(0) 编辑
摘要:1.Redis 脚本 Redis 脚本使用 Lua 解释器来执行脚本。 Redis 2.6 版本通过内嵌支持 Lua 环境。执行脚本的常用命令为 EVAL。 下表列出了 redis 脚本常用命令: 序号命令及描述 1 EVAL script numkeys key [key ...] arg [ar 阅读全文
posted @ 2021-07-26 11:23 思凡念真 阅读(4013) 评论(0) 推荐(0) 编辑
摘要:@PathVariable 代码示例: @ResponseBody @RequestMapping("/user/{uid}") public User getUserById(@PathVariable("uid") Long uid) { } 特点: 1) 应用在Controller层 2) @ 阅读全文
posted @ 2021-07-26 10:04 思凡念真 阅读(798) 评论(0) 推荐(0) 编辑
摘要:在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,Proactor用于异步I/O操作。 Reactor模式称之为响应器模式,通常用于NIO非阻塞IO的网络通信框架中。 几个概念: 什么是阻塞和非阻塞? 阻塞和非阻塞是针对于进程在访 阅读全文
posted @ 2021-07-25 11:31 思凡念真 阅读(1570) 评论(0) 推荐(0) 编辑
摘要:在JDK的bin目录下有很多命令行工具 [root@iZ2ze1224b1em0jij7qlssZ bin]# ls -lak|grep j -rwxr-xr-x 1 root root 7 Apr 18 2019 idlj -rwxr-xr-x 1 root root 7 Apr 18 2019 阅读全文
posted @ 2021-07-14 11:46 思凡念真 阅读(766) 评论(0) 推荐(0) 编辑
摘要:一、方法一 打印虚拟机所有参数 [root@localhost ~]# java -XX:+PrintCommandLineFlags -version -XX:InitialHeapSize=263475648 -XX:MaxHeapSize=4215610368 -XX:+PrintComman 阅读全文
posted @ 2021-07-13 17:58 思凡念真 阅读(827) 评论(0) 推荐(0) 编辑
摘要:1.Java技术体系 把Java程序设计语言、 Java虚拟机、 Java类库这三部分统称为JDK(Java Development Kit) , JDK是用于支持Java程序开发的最小环境。 把Java类库API中的Java SE API子集[3]和Java虚拟机这两部分统称为JRE(Java R 阅读全文
posted @ 2021-07-08 14:23 思凡念真 阅读(92) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示