阿生的果园
码龄6年
关注
提问 私信
  • 博客:92,188
    社区:1
    92,189
    总访问量
  • 28
    原创
  • 382,266
    排名
  • 3
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2018-06-16
博客简介:

weixin_42470128的博客

查看详细资料
个人成就
  • 获得69次点赞
  • 内容获得12次评论
  • 获得172次收藏
创作历程
  • 4篇
    2021年
  • 17篇
    2020年
  • 7篇
    2019年
成就勋章
TA的专栏
  • Java
    3篇
  • idea使用
    4篇
  • idea
    2篇
  • JVM
    1篇
  • 快速的单线程
    1篇
  • 线程数一般性计算
  • 服务器
    1篇
  • 数据处理
    2篇
兴趣领域 设置
  • 人工智能
    机器学习深度学习神经网络自然语言处理tensorflowpytorchnlp数据分析
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

@JsonSerialize(using = ToStringSerializer.class)和@JsonSerialize注解的使用方法

java中long数据能表示的范围比js中number大,在跟前端交互时,这样也就意味着部分数值在js中存不下(变成不准确的值)。解决办法可以这样:使用fastjson的ToStringSerializer注解,让系统序列化时,保留相关精度。/** * 记录属性的主键 */ @JsonSerialize(using = ToStringSerializer.class) private Long id;@JsonSerialize注解的使用方法关于这个注解的
原创
发布博客 2021.05.10 ·
21503 阅读 ·
15 点赞 ·
2 评论 ·
49 收藏

@Accessors(chain=true)

这样就可以用链式访问,该注解设置为chain=true,生成setter方法返回this(也就是返回的是对象),代替了默认的返回void。package com.pollyduan;import lombok.Data;import lombok.experimental.Accessors;@Data@Accessors(chain=true)public class User { private Integer userId; private String name;
原创
发布博客 2021.05.10 ·
35426 阅读 ·
41 点赞 ·
2 评论 ·
61 收藏

关于Spring Boot Configuration Annotation Processor not configured的原因

在使用一个Java注解类时出现的问题,这个的意思是“Spring Boot配置注解处理器没有被配置完成”。这个的作用是配置注解执行器配置完成后,当执行类中已经定义了对象和该对象的字段后,在配置文件中对该类赋值时,便会非常方便的弹出提示信息,这意思就是在写yaml或者properties资源文件时.号之后会有相应的提示。一般加入以下信息之后,刷新一下就可以了。<dependency> <groupId>org.springframework.boot</groupI.
原创
发布博客 2021.04.25 ·
1564 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

关于idea file encoding中的Transparent native-to-ascii conversion是否勾选

Transparent native-to-ascii conversion是否勾选?Properties文件后面还跟随着一个复选框Transparent native-to-ascii conversion。这个会将我们输入的所有字符转换成Unicode序列码保存,中文也会这样。这个直接翻译过来则是透明的将本地编码转成ascii编码,本质上调用的是jdk bin目录下的native2ascii.exe。实际使用中,最好是勾选吧,如果你用的系统的gbk,那会出现乱码,但如果你使用的utf-8那就勾选不勾选
原创
发布博客 2021.04.22 ·
734 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

redis的哈希槽与一致性哈希

一致性哈希先看一致性hash,常见的一个环形图如下:在1997年,麻省理工学院的 Karger 等人提出了一致性哈希算法,为的就是解决分布式缓存的问题。在一致性哈希算法中,整个哈希空间是一个虚拟圆环。对于各个 Object,它所真正的存储位置是按顺时针找到的第一个存储节点。例如 Object A 顺时针找到的第一个节点是 Node A,所以 Node A 负责存储 Object A,Object B 存储在 Node B。一致性哈希算法大概如此,那么它的容错性和扩展性如何呢?假设 Node C
原创
发布博客 2020.10.05 ·
608 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

装饰者模式案例

关键在于多态的层层嵌套public interface Beverage { double cost();}public class DarkRoast implements Beverage { @Override public double cost() { return 1; }}public class HouseBlend implements Beverage { @Override public double cost.
原创
发布博客 2020.10.03 ·
125 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux的进程状态

在Linux系统中,一个进程被创建之后,在系统中可以有下面5种状态。进程的当前状态记录在进程控制块的state成员中。Linux的五种进程状态:R running or runnable (on run queue)正在执行或者可执行,此时进程位于执行队列中。状态标志state的值为TASK_RUNNING.D uninterruptible sleep (usually I/O)不可中断阻塞,通常为 IO 阻塞。状态标志state的值为TASK_UNINTERRUPTIBL。此时,进程也处于等待
原创
发布博客 2020.10.02 ·
263 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

未来的http3

先看一下http2的起源,一个称为 SPDY 的东西了。目的是什么呢?当然是加快互联网的速度。SPDY 是一个规范,还是建议继续使用 HTTP,但要更改一些规则。通过压缩标头、对请求进行优先级排序和多路复用,它将把所有 TCP 请求和连接变成单独的一个!具体来说,当你读取 HTML 时,浏览器会查看你在页面中要询问的所有内容。然后,它可以一次获取所有内容,这样就可以避免一个文件一个文件地获取了。HTTP2 的第一份草案基于 SPDY。HTTP2 很快被广泛采用,随后互联网上的一切变得快多了。今天,互联
原创
发布博客 2020.10.02 ·
136 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Caffine Cache 在算法上的优点-W-TinyLFU

常见的缓存淘汰算法还有FIFO,LFU:FIFO:先进先出,在这种淘汰算法中,先进入缓存的会先被淘汰,会导致命中率很低。LRU:最近最少使用算法,每次访问数据都会将其放在我们的队尾,如果需要淘汰数据,就只需要淘汰队首即可。仍然有个问题,如果有个数据在 1 分钟访问了 1000次,再后 1 分钟没有访问这个数据,但是有其他的数据访问,就导致了我们这个热点数据被淘汰。LFU:最近最少频率使用,利用额外的空间记录每个数据的使用频率,然后选出频率最低进行淘汰。这样就避免了 LRU 不能处理时间段的问题。上面
原创
发布博客 2020.10.02 ·
507 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

MySQL优化一般性考虑点

大概分为以下几点:1.数据库设计和表创建时就要考虑性能2.sql的编写需要注意优化3.分区4.分表5.分库1.数据库设计和表创建时就要考虑性能设计表时要注意:1.表字段避免null值出现,null值很难查询优化且占用额外的索引空间,推荐默认数字0代替null。2.尽量使用INT而非BIGINT,如果非负则加上UNSIGNED(这样数值容量会扩大一倍),当然能使用TINYINT、SMALLINT、MEDIUM_INT更好。3.使用枚举或整数代替字符串类型4.尽量使用TIMESTAMP而非
原创
发布博客 2020.10.01 ·
126 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

i++,++i的区别

++i 立马交换栈.public class MyExam { public static void main(String[] args) {// int[] arr={2,4,76,19,57,4,79,45};// int i = rob2(arr);// int i = climbStairs(4); //int i = zuHeUniquePaths1(3, 1);// System.out.println
原创
发布博客 2020.08.29 ·
133 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Collections.synchronizedList(List list)用法解析

public static void main(String[] args) { ArrayList<Integer> integers = new ArrayList<>(); LinkedList<Integer> integers1 = new LinkedList<>(); List<String> list = Collections.synchronizedList(new ArrayLi
原创
发布博客 2020.08.18 ·
3531 阅读 ·
2 点赞 ·
2 评论 ·
2 收藏

Spring Boot直观特点

使用自动配置Spring Boot 的一个主要特性是使用自动配置。这是 Spring Boot 的一部分,它可以简化你的代码并使之工作。当在类路径上检测到特定的 jar 文件时,自动配置就会被激活。使用它的最简单方法是依赖 Spring Boot Starters。因此,如果你想与 Redis 进行集成,你可以首先包括:<dependency> <groupId>org.springframework.boot</groupId> <artifa.
原创
发布博客 2020.07.27 ·
127 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2020IDEA有个巨坑,这里一定要勾选

2020IDEA有个巨坑,这里一定要勾选,不然pom文件没错,但运行就各种找不到包,比如:连springboot启动类都找不到
原创
发布博客 2020.07.04 ·
3530 阅读 ·
1 点赞 ·
3 评论 ·
6 收藏

Java中的 volatile 关键字

说这个之前,要先说到cpu的运行,大家都知道,计算机在执行程序时,每条指令都是在 CPU 中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟 CPU 执行指令的速度比起来要慢的多,因此如果任何时候对数据的操作都要通过和内存的交互来进行,会大大降低指令执行的速度。因此在 CPU 里面就有了高速缓存。如果程序中存在有被多个线程访问的变量也就是共享变量,有可能就会造
原创
发布博客 2020.07.03 ·
116 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

RabbitMQ的简单使用

RabbitMQ使用消费者和生产者模式。@Componentpublic class GoodsListener { @Autowired private GoodsHtmlService goodsHtmlService; @RabbitListener(bindings = @QueueBinding( value = @Queue(value = "leyou.create.web.queue", durable = "true"),
原创
发布博客 2020.07.01 ·
144 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

索引是建的越多越好吗

明显不是,有以下几点:1.数据量小的表不需要建立索引,建立会增加额外的索引开销2.不经常引用的列不要建立索引,因为不常用,即使建立了索引也没有多大意义。对经常用于查询的字段应该创建索引。3.经常频繁更新的列不要建立索引,因为肯定会影响插入或更新的效率4.数据重复且分布平均的字段,因此他建立索引就没有太大的效果(例如性别字段,是否上架等等,不适合建立索引)5.数据变更需要维护索引,意味着索引越多维护成本越高。当对表中的数据进行增加、删除、修改时,索引也需要动态的维护,降低了数据的维护速度。6.更多
原创
发布博客 2020.06.30 ·
7679 阅读 ·
4 点赞 ·
0 评论 ·
26 收藏

是否线程池一定比单线程高效?

不一定,比如Redis就是单线程的,但它却非常高效,基本操作都能达到十万量级/s。从线程这个角度来看,部分原因在于:1.多线程带来线程上下文切换开销,单线程就没有这种开销;2.采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗;3.使用多路I/O复用模型,非阻塞IO;一个线程监控多个socket。这里“多路”指的是多个网络连接,“复用”指的是复用同一个线程。4.数据结构
原创
发布博客 2020.06.30 ·
494 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

高并发下,怎么选择最优的线程数?

最常见的说法应该是,采用线程池,他可以有效降低线程创建释放的时间花销及资源开销,如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存以及“过度切换”(在JVM中采用的处理机制为时间片轮转,减少了线程间的相互切换) 。下面是获得cou数目的方法。int N_CPUS = Runtime.getRuntime().availableProcessors();最好的线程数计算方法:Ncpu = CPU的数量Ucpu = 目标CPU的使用率, 0 <= Ucpu <= 1,一般极端
原创
发布博客 2020.06.30 ·
593 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Nginx为什么快,为什么好用

相信大家平时用的最多的地方应该是做反向代理。不过人家可是不止这些东西。Nginx 是以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。以下是nginx的http连接和处理过程。HTTP 连接建立和请求处理过程如下:1.Nginx 启动时,Master 进程,加载配置文件。2.Master 进程,初始化监听的 Socket。3.Master 进程,Fork 出多个 Worker 进程。4.Worker 进程,竞争新的连接,获胜方通过三次握手,建立 Socket 连接,并处理请求。Ng
原创
发布博客 2020.06.30 ·
326 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多