2 阿生的果园

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 32w+

Spring Boot直观特点

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

2020-07-27 12:52:03

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

2020IDEA有个巨坑,这里一定要勾选,不然pom文件没错,但运行就各种找不到包,比如:连springboot启动类都找不到

2020-07-04 11:11:03

Java中的 volatile 关键字

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

2020-07-03 18:05:49

RabbitMQ的简单使用

RabbitMQ使用消费者和生产者模式。@Componentpublic class GoodsListener { @Autowired private GoodsHtmlService goodsHtmlService; @RabbitListener(bindings = @QueueBinding( value = @Queue(value = "leyou.create.web.queue", durable = "true"),

2020-07-01 22:42:54

索引是建的越多越好吗

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

2020-06-30 15:19:42

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

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

2020-06-30 09:18:15

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

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

2020-06-30 08:58:27

Nginx为什么快,为什么好用

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

2020-06-30 08:23:29

通过装饰模式来包裹被装饰的函数可以用类@decorate_class,也可以用函数@decorate_function

def decorate_function(original_function): def wrapper_function(*args,**kwargs): print('original_function name is {}'.format(original_function.__name__)) return original_function(*a...

2020-01-05 14:48:38

python手动拆分数据集

def data(fileName, fileOut): f = open(fileName) w = open(fileOut, 'w') flag=False doc=f.readlines() # pos=int(pos) for line in doc: line = line.strip() if lin...

2019-12-28 13:57:23

笔试编程题:小Q的歌单(python实现),用itertools

小Q有X首长度为A的不同的歌和Y首长度为B的不同的歌,现在小Q想用这些歌组成一个总长度正好为K的歌单,每首歌最多只能在歌单中出现一次,在不考虑歌单内歌曲的先后顺序的情况下,请问有多少种组成歌单的方法。输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含一个整数,表示歌单的总长度K(1<=K<=1000)。接下来的一行包含四个正整数,分别表示歌的第一种长度A(A<=...

2019-12-12 23:14:04

python中的sorted函数和operator.itemgetter()函数

nameRank = sorted(rankList.items(), key = operator.itemgetter(1))rankList 是一个字典,rankList.items() ,Python 字典 items() 方法以列表返回可遍历的(键, 值) 元组数组,就是这样 [(),()]sorted(iterable,function,reverse),上面的operator.i...

2019-07-18 15:11:04

windows neo4j数据库备份操作

先关闭neo4j执行备份命令graph01.db是数据库名,自己指定的,默认是graph.db重新导入数据库,用 neo4j-admin load --from=E:\neo4jdata\graph01.db.dump --database=graph.db --force...

2019-07-17 10:12:25

cypher语句,创建和删除节点,关系和属性总结

CREATE用来创建节点,关系和属性,例子如下:CREATE ( { }) -[ { }]-> ( { }),可以以逗号隔开。查询是用MATCH进行匹配(包括单纯节点,或者有关系链条),然后RETURN 自己需要的东西。MATCH (n:人物{name:‘刘备’}) SET n:皇帝:好人; 为刘备增加两个标签,分别为‘皇帝’,‘好人’。MATCH (n:人物{name:‘...

2019-04-12 14:19:10

cypher命名规范

Cypher是面向图数据库的、表达能力强大的查询语言。以下是命名规范:

2019-04-12 12:10:17

在neo4j中如何导入apoc的jar包

在neo4j中如何使用apoc将apoc的jar包放入plugins文件夹下,如图所示:neo4j跟apoc的版本号要对应,如上图所示均为3.5,刚开始我放入的是3.4版本的apoc,导致neo4j无法重启,错误如下:Neo4j相应版本的jar包可在此下载(更新中):https://github.com/neo4j-contrib/neo4j-apoc-procedures/releas...

2019-04-09 20:05:45
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。