自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 HashMap

插入速度:链表用头插法是最快的数组:查询快,插入慢 定位速度快,可以快速插入,插入之后需要后移链表:查询慢,插入快,定位速度慢,插入后不需要移动...

2022-10-24 08:59:40 128

原创 Java接口响应序列化时使用自定义注解特殊处理数据

在接口响应时,有很多情况需要做数据转换,比如数据脱敏,null值给默认,数据类型转换...,那怎么避免在代码里写过多的 if 判断和处理逻辑呢?那么使用jackson内省器,在组装json的时候处理想要的数据,就会避免使用且面时的问题。Java 接口响应数据都是使用jackson作为序列化框架的,其中有一个对象。在jackson自定义builder的时候可以添加进去。:字面意思 “注释内省器”......

2022-08-31 15:54:00 1094 1

原创 Spring-boot mvn 打包之后Java -jar找不到启动类的问题

spring-boot项目 在mvn打成jar包之后,java -jar xxx.jar 启动时,提示 ‘jar中没有主清单属性’,这是因为mvn打的jar包里没有启动类,在打好的jar包里有一个/META-INF/MANIFEST.MF文件打开后看到内容比较少,确实也没有启动类的配置查看pom.xml 文件,发现少加入了spring-boot的一个重要配置 <parent> <groupId>org.springframework.boo..

2021-11-11 10:29:17 3517 1

原创 Gson 反序列化时,TypeAdapter不被执行的问题解决方案

基本写法,如果按照这种方式直接去写,那么Gson注册的TypeAdapter不会被执行public static <K, V> Map<K, V> jsonToMap(String json, Class<K> kClass, Class<V> vClass) { Type type = new TypeToken<Map<K, V>>() {}.getType(); return GSON.fromJson(js

2021-11-03 10:50:01 512

原创 mybatis-plus 修改指定字段(通用解决方案)

// 继承原来的公共mapper// java8 interface可以写方法的实现逻辑,直接在这里写好,// 其他地方调用时直接继承自定义的 mapperpublic interface CustomBaseMapper<T> extends BaseMapper<T> { /** * 目前仅支持主键/属性为 id的更新 * @param dirtyFields: 指定更新的属性 */ default int updateBy.

2021-11-02 18:38:30 2627

原创 Gson 反序列化Map时遇到的问题

Gson 反序列化,对类型不明确的属性值,在默认情况下,会出现的问题:会把null变成"null"字符串,在后期判断处理时导致出现问题 对数字类型的值会全部变成double格式(1->1.0)(序列化时也会有)解决办法// 针对map结构自定义反序列化解析import com.google.gson.*;import com.google.gson.internal.LinkedTreeMap;import java.lang.reflect.Type;import java

2021-09-15 14:05:03 1096

原创 HttpServletRequest 执行过reader之后,无法向下传的解决方法

String requestParamJson = readAsChars(req);DecryptHttpWrapper wrapper = new DecryptHttpWrapper(req, requestParamJson);wrapper.setContentType("application/json;charset=UTF-8");chain.doFilter(wrapper, res);// 字符串读取public static String readAsChars(...

2021-03-11 17:43:26 409

原创 缓存几大问题

缓存穿透问题缓存穿透是指查询一个一定不存在的数据,由于缓存不命中,并且出于容错考虑, 如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。可能造成原因:1.业务代码自身问题2.恶意攻击。爬虫等等危害对底层数据源压力过大,有些底层数据源不具备高并发性。 例如mysql一般来说单台能够扛1000-QPS就已经很不错了解决方案1.缓存空对象2.布隆过滤器1)Google布隆过滤器的缺点基于JVM内存的一种布隆过滤器.

2020-10-19 16:29:26 146 1

原创 nginx 的安装

安装环境准备:(1)linux 内核2.6及以上版本:只有2.6之后才支持epool ,在此之前使用select或pool多路复用的IO模型,无法解决高并发压力的问题。通过命令uname -a 即可查看。# 查看 linux 内核uname -a(2)GCC编译器GCC(GNU Compiler Collection)可用来编译C语言程序。Nginx不会直接提供二进制可执行程序,只能下载源码进行编译。(3)PCRE库PCRE(Perl Compatible Regular

2020-09-17 16:12:16 88

原创 zookeeper : 安装与启动

版本:zookeeper-3.6.2 下载1. 解压之后进入到conf目录,配置cfg文件;// 默认存在的是zoo_sample.cfg,而启动时找的时zoo.cfg文件;cp zoo_sample.cfg zoo.cfg# 通信心跳时间;毫秒;客户端与服务器或者服务器与服务器之间维持心跳tickTime=2000 # 集群中follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数 initLimit=10# 集群中flower服务器(F)跟le.

2020-09-16 15:15:27 1737 2

原创 JavaSE:ArrayList原理解析

1、在StackOverFlow 中:传送门 得票最高的答案的回答者说他问了当初写这段代码的 Josh Bloch,得知这就是一个写法错误。I’ve asked Josh Bloch, and he informs me that it was a mistake. He used to think, long ago, that there was some value in it,but he since “saw the light”. Clearly JDK maintainers haven’

2020-09-11 14:22:18 95

原创 Java 序列化Serializable

序列化:将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据,在Java中的这个Serializable接口其实是给jvm看的,通知jvm,我不对这个类做序列化了,你(jvm)帮我序列化就好了。如果我们没有自己声明一个serialVersionUID变量,接口会默认生成一个serialVersionUID,默认的serialVersinUID对于class的细节非常敏感,反序列化时可能会导致InvalidClassEx

2020-09-11 10:22:32 75

原创 java深拷贝/浅拷贝

类实现Cloneable接口,重写clone方法、方法内容默认调用父类的clone方法。 浅拷贝 基础类型的变量拷贝之后是独立的,不会随着源变量变动而变 String类型拷贝之后也是独立的(final) 引用类型拷贝的是引用地址,拷贝前后的变量引用同一个堆中的对象 深拷贝 变量的所有引用类型变量(除了String)都需要实现Cloneable(数组可以直接调用clone方法),clone方法中,引用类型需要各 自调用clone,重新赋值 static void c

2020-09-11 09:47:48 95

原创 SpringCloud 使用知识点

服务器发现:Eureka、Zookeeper、Consul 服务之间互相调用: RestTemplate Feign 负载均衡:ribbon 消息中间件:Rabbit、Kafka。。。 Spring Cloud Stream 配置中心:Config Server Spring bus 自动更新 webhook 动态更新 服务网关和Zuul 路由 cookie和动态路由,高可用 过滤器:pre、post 限流、鉴权。。。 跨域 服务容错:Hystr

2020-09-03 19:54:54 84

原创 Idea 正则匹配替换

目标:把属性变成驼峰private String product_name; private BigDecimal product_price;private Integer product_stock;首先用正则匹配出来需要处理的部分:_\w // 匹配一个下划线和一个字母需要把下划线后边的一个字母变成大写,那么就得把需要处理的正则用括号包起来: _(\w) 在replace输入: $1 表示需要改变的正则(每一个被括号包含的正则就表示1)这样则直接替...

2020-08-25 11:31:47 1029

原创 SSH 设置快捷免密登陆

1.设置快捷登陆:在~/.ssh目录里创建config,并写入下边的内容(可以设置多个)Host test HostName 192.168.0.1 #服务器Ip Port 22 #端口号 User root #以什么用户登陆的# 需要多个的话可以直接再向下写原来的登陆方式:ssh root@192.168.0.1 ...

2020-04-07 17:21:51 275

原创 mysql 显示分组行号,并更新到表

表内新增了一列用来设置排序的,但是有不同的分组,每个分组都要有自己的序号;SELECT main.`id`, IF(@gid <> `group_id`, @rowNo := 0, @rowNo := @rowNo + 1) as rowNo, -- 注意顺序,修改分组ID的一定要在修改行号之后 IF(@gid <> `group_...

2020-03-18 16:43:47 620

转载 Mac 下IntelliJ IDEA 常用快捷操作

转载:http://www.cnblogs.com/wxd0108/p/5295017.htm原文章里写的很全面,平常用不了这么多,记录一些自己常用的或者感觉会用到的,简化一下

2019-05-21 15:07:47 140

原创 项目启动时报错:Protocol handler start failed

错误原因是因为端口被占用了,Windows直接关掉java进程,再重新启动或者Linux命令查询 losf -i :8080把java对应的pid杀掉就好了

2019-05-17 17:19:02 3542

原创 spring-boot + mybatis 配置

http://start.spring.io/ 在该网站构建项目 创建application.properties # 数据库配置spring.datasource.url=jdbc:mysql://127.0.0.1/testspring.datasource.username=root spring.datasource.password=passwordspring.da...

2019-05-16 09:30:43 80

原创 postgres 项目中使用问题记录

在postgresql中,双引号表示列(column),单引号表示字符串日期:字符串 >> 日期 注:必须用单引号,在第二个参数格式化后,输出的日期会是多加这个时间的开始,例:select to_date('2015-08-03 23:59:59', 'yyyy') --> 2015-01select to_date('2015-08-03 23:59:59',...

2015-11-12 14:35:39 547

原创 数据库大数据BLOB类型转换文本

jsp解析HTML<s:propertyvalue="content" escape="false" /> ${content}-->数据库大数据BLOB类型转换文本 DBSys dbsys = newDBSys(); StringstrSQL="select t.id,t.title,t.content,t.newsimage

2013-09-05 13:25:18 2635

空空如也

空空如也

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

TA关注的人

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